[427020] Eliminate TypedElementCS.qualifiers (=> Xext ISE)
diff --git a/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/AttributeCS.java b/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/AttributeCS.java
index 0e1ade5..5e4e042 100644
--- a/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/AttributeCS.java
+++ b/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/AttributeCS.java
@@ -17,10 +17,42 @@
  * A representation of the model object '<em><b>Attribute CS</b></em>'.
  * <!-- end-user-doc -->
  *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.ocl.xtext.basecs.AttributeCS#isIsId <em>Is Id</em>}</li>
+ * </ul>
  *
  * @see org.eclipse.ocl.xtext.basecs.BaseCSPackage#getAttributeCS()
  * @model
  * @generated
  */
 public interface AttributeCS extends StructuralFeatureCS {
+
+	/**
+	 * Returns the value of the '<em><b>Is Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Is Id</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Is Id</em>' attribute.
+	 * @see #setIsId(boolean)
+	 * @see org.eclipse.ocl.xtext.basecs.BaseCSPackage#getAttributeCS_IsId()
+	 * @model dataType="org.eclipse.ocl.pivot.Boolean"
+	 * @generated
+	 */
+	boolean isIsId();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.ocl.xtext.basecs.AttributeCS#isIsId <em>Is Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Is Id</em>' attribute.
+	 * @see #isIsId()
+	 * @generated
+	 */
+	void setIsId(boolean value);
 } // AttributeCS
diff --git a/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/BaseCSPackage.java b/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/BaseCSPackage.java
index a47e334..bd3697e 100644
--- a/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/BaseCSPackage.java
+++ b/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/BaseCSPackage.java
@@ -831,13 +831,31 @@
 	int TYPED_ELEMENT_CS__NAME = NAMED_ELEMENT_CS__NAME;
 
 	/**
+	 * The feature id for the '<em><b>Is Not Unique</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT_CS__IS_NOT_UNIQUE = NAMED_ELEMENT_CS_FEATURE_COUNT + 0;
+
+	/**
 	 * The feature id for the '<em><b>Is Optional</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int TYPED_ELEMENT_CS__IS_OPTIONAL = NAMED_ELEMENT_CS_FEATURE_COUNT + 0;
+	int TYPED_ELEMENT_CS__IS_OPTIONAL = NAMED_ELEMENT_CS_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Is Ordered</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT_CS__IS_ORDERED = NAMED_ELEMENT_CS_FEATURE_COUNT + 2;
 
 	/**
 	 * The feature id for the '<em><b>Owned Type</b></em>' containment reference.
@@ -846,16 +864,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TYPED_ELEMENT_CS__OWNED_TYPE = NAMED_ELEMENT_CS_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Qualifiers</b></em>' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT_CS__QUALIFIERS = NAMED_ELEMENT_CS_FEATURE_COUNT + 2;
+	int TYPED_ELEMENT_CS__OWNED_TYPE = NAMED_ELEMENT_CS_FEATURE_COUNT + 3;
 
 	/**
 	 * The number of structural features of the '<em>Typed Element CS</em>' class.
@@ -864,7 +873,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TYPED_ELEMENT_CS_FEATURE_COUNT = NAMED_ELEMENT_CS_FEATURE_COUNT + 3;
+	int TYPED_ELEMENT_CS_FEATURE_COUNT = NAMED_ELEMENT_CS_FEATURE_COUNT + 4;
 
 	/**
 	 * The feature id for the '<em><b>Csi</b></em>' attribute.
@@ -921,6 +930,15 @@
 	int FEATURE_CS__NAME = TYPED_ELEMENT_CS__NAME;
 
 	/**
+	 * The feature id for the '<em><b>Is Not Unique</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FEATURE_CS__IS_NOT_UNIQUE = TYPED_ELEMENT_CS__IS_NOT_UNIQUE;
+
+	/**
 	 * The feature id for the '<em><b>Is Optional</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -930,6 +948,15 @@
 	int FEATURE_CS__IS_OPTIONAL = TYPED_ELEMENT_CS__IS_OPTIONAL;
 
 	/**
+	 * The feature id for the '<em><b>Is Ordered</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FEATURE_CS__IS_ORDERED = TYPED_ELEMENT_CS__IS_ORDERED;
+
+	/**
 	 * The feature id for the '<em><b>Owned Type</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -939,13 +966,31 @@
 	int FEATURE_CS__OWNED_TYPE = TYPED_ELEMENT_CS__OWNED_TYPE;
 
 	/**
-	 * The feature id for the '<em><b>Qualifiers</b></em>' attribute list.
+	 * The feature id for the '<em><b>Is Definition</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int FEATURE_CS__QUALIFIERS = TYPED_ELEMENT_CS__QUALIFIERS;
+	int FEATURE_CS__IS_DEFINITION = TYPED_ELEMENT_CS_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Is Derived</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FEATURE_CS__IS_DERIVED = TYPED_ELEMENT_CS_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Is Static</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FEATURE_CS__IS_STATIC = TYPED_ELEMENT_CS_FEATURE_COUNT + 2;
 
 	/**
 	 * The number of structural features of the '<em>Feature CS</em>' class.
@@ -954,7 +999,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int FEATURE_CS_FEATURE_COUNT = TYPED_ELEMENT_CS_FEATURE_COUNT + 0;
+	int FEATURE_CS_FEATURE_COUNT = TYPED_ELEMENT_CS_FEATURE_COUNT + 3;
 
 	/**
 	 * The feature id for the '<em><b>Csi</b></em>' attribute.
@@ -1011,6 +1056,15 @@
 	int STRUCTURAL_FEATURE_CS__NAME = FEATURE_CS__NAME;
 
 	/**
+	 * The feature id for the '<em><b>Is Not Unique</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURAL_FEATURE_CS__IS_NOT_UNIQUE = FEATURE_CS__IS_NOT_UNIQUE;
+
+	/**
 	 * The feature id for the '<em><b>Is Optional</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1020,6 +1074,15 @@
 	int STRUCTURAL_FEATURE_CS__IS_OPTIONAL = FEATURE_CS__IS_OPTIONAL;
 
 	/**
+	 * The feature id for the '<em><b>Is Ordered</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURAL_FEATURE_CS__IS_ORDERED = FEATURE_CS__IS_ORDERED;
+
+	/**
 	 * The feature id for the '<em><b>Owned Type</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1029,13 +1092,31 @@
 	int STRUCTURAL_FEATURE_CS__OWNED_TYPE = FEATURE_CS__OWNED_TYPE;
 
 	/**
-	 * The feature id for the '<em><b>Qualifiers</b></em>' attribute list.
+	 * The feature id for the '<em><b>Is Definition</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int STRUCTURAL_FEATURE_CS__QUALIFIERS = FEATURE_CS__QUALIFIERS;
+	int STRUCTURAL_FEATURE_CS__IS_DEFINITION = FEATURE_CS__IS_DEFINITION;
+
+	/**
+	 * The feature id for the '<em><b>Is Derived</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURAL_FEATURE_CS__IS_DERIVED = FEATURE_CS__IS_DERIVED;
+
+	/**
+	 * The feature id for the '<em><b>Is Static</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURAL_FEATURE_CS__IS_STATIC = FEATURE_CS__IS_STATIC;
 
 	/**
 	 * The feature id for the '<em><b>Default</b></em>' attribute.
@@ -1047,13 +1128,49 @@
 	int STRUCTURAL_FEATURE_CS__DEFAULT = FEATURE_CS_FEATURE_COUNT + 0;
 
 	/**
+	 * The feature id for the '<em><b>Is Readonly</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURAL_FEATURE_CS__IS_READONLY = FEATURE_CS_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Is Transient</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURAL_FEATURE_CS__IS_TRANSIENT = FEATURE_CS_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Is Unsettable</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURAL_FEATURE_CS__IS_UNSETTABLE = FEATURE_CS_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>Is Volatile</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURAL_FEATURE_CS__IS_VOLATILE = FEATURE_CS_FEATURE_COUNT + 4;
+
+	/**
 	 * The feature id for the '<em><b>Owned Default Expressions</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int STRUCTURAL_FEATURE_CS__OWNED_DEFAULT_EXPRESSIONS = FEATURE_CS_FEATURE_COUNT + 1;
+	int STRUCTURAL_FEATURE_CS__OWNED_DEFAULT_EXPRESSIONS = FEATURE_CS_FEATURE_COUNT + 5;
 
 	/**
 	 * The feature id for the '<em><b>Owning Class</b></em>' container reference.
@@ -1062,7 +1179,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STRUCTURAL_FEATURE_CS__OWNING_CLASS = FEATURE_CS_FEATURE_COUNT + 2;
+	int STRUCTURAL_FEATURE_CS__OWNING_CLASS = FEATURE_CS_FEATURE_COUNT + 6;
 
 	/**
 	 * The number of structural features of the '<em>Structural Feature CS</em>' class.
@@ -1071,7 +1188,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STRUCTURAL_FEATURE_CS_FEATURE_COUNT = FEATURE_CS_FEATURE_COUNT + 3;
+	int STRUCTURAL_FEATURE_CS_FEATURE_COUNT = FEATURE_CS_FEATURE_COUNT + 7;
 
 	/**
 	 * The feature id for the '<em><b>Csi</b></em>' attribute.
@@ -1128,6 +1245,15 @@
 	int ATTRIBUTE_CS__NAME = STRUCTURAL_FEATURE_CS__NAME;
 
 	/**
+	 * The feature id for the '<em><b>Is Not Unique</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ATTRIBUTE_CS__IS_NOT_UNIQUE = STRUCTURAL_FEATURE_CS__IS_NOT_UNIQUE;
+
+	/**
 	 * The feature id for the '<em><b>Is Optional</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1137,6 +1263,15 @@
 	int ATTRIBUTE_CS__IS_OPTIONAL = STRUCTURAL_FEATURE_CS__IS_OPTIONAL;
 
 	/**
+	 * The feature id for the '<em><b>Is Ordered</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ATTRIBUTE_CS__IS_ORDERED = STRUCTURAL_FEATURE_CS__IS_ORDERED;
+
+	/**
 	 * The feature id for the '<em><b>Owned Type</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1146,13 +1281,31 @@
 	int ATTRIBUTE_CS__OWNED_TYPE = STRUCTURAL_FEATURE_CS__OWNED_TYPE;
 
 	/**
-	 * The feature id for the '<em><b>Qualifiers</b></em>' attribute list.
+	 * The feature id for the '<em><b>Is Definition</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ATTRIBUTE_CS__QUALIFIERS = STRUCTURAL_FEATURE_CS__QUALIFIERS;
+	int ATTRIBUTE_CS__IS_DEFINITION = STRUCTURAL_FEATURE_CS__IS_DEFINITION;
+
+	/**
+	 * The feature id for the '<em><b>Is Derived</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ATTRIBUTE_CS__IS_DERIVED = STRUCTURAL_FEATURE_CS__IS_DERIVED;
+
+	/**
+	 * The feature id for the '<em><b>Is Static</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ATTRIBUTE_CS__IS_STATIC = STRUCTURAL_FEATURE_CS__IS_STATIC;
 
 	/**
 	 * The feature id for the '<em><b>Default</b></em>' attribute.
@@ -1164,6 +1317,42 @@
 	int ATTRIBUTE_CS__DEFAULT = STRUCTURAL_FEATURE_CS__DEFAULT;
 
 	/**
+	 * The feature id for the '<em><b>Is Readonly</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ATTRIBUTE_CS__IS_READONLY = STRUCTURAL_FEATURE_CS__IS_READONLY;
+
+	/**
+	 * The feature id for the '<em><b>Is Transient</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ATTRIBUTE_CS__IS_TRANSIENT = STRUCTURAL_FEATURE_CS__IS_TRANSIENT;
+
+	/**
+	 * The feature id for the '<em><b>Is Unsettable</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ATTRIBUTE_CS__IS_UNSETTABLE = STRUCTURAL_FEATURE_CS__IS_UNSETTABLE;
+
+	/**
+	 * The feature id for the '<em><b>Is Volatile</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ATTRIBUTE_CS__IS_VOLATILE = STRUCTURAL_FEATURE_CS__IS_VOLATILE;
+
+	/**
 	 * The feature id for the '<em><b>Owned Default Expressions</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1182,13 +1371,22 @@
 	int ATTRIBUTE_CS__OWNING_CLASS = STRUCTURAL_FEATURE_CS__OWNING_CLASS;
 
 	/**
+	 * The feature id for the '<em><b>Is Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ATTRIBUTE_CS__IS_ID = STRUCTURAL_FEATURE_CS_FEATURE_COUNT + 0;
+
+	/**
 	 * The number of structural features of the '<em>Attribute CS</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ATTRIBUTE_CS_FEATURE_COUNT = STRUCTURAL_FEATURE_CS_FEATURE_COUNT + 0;
+	int ATTRIBUTE_CS_FEATURE_COUNT = STRUCTURAL_FEATURE_CS_FEATURE_COUNT + 1;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.ocl.xtext.basecs.impl.ClassCSImpl <em>Class CS</em>}' class.
@@ -2594,6 +2792,15 @@
 	int OPERATION_CS__NAME = FEATURE_CS__NAME;
 
 	/**
+	 * The feature id for the '<em><b>Is Not Unique</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OPERATION_CS__IS_NOT_UNIQUE = FEATURE_CS__IS_NOT_UNIQUE;
+
+	/**
 	 * The feature id for the '<em><b>Is Optional</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -2603,6 +2810,15 @@
 	int OPERATION_CS__IS_OPTIONAL = FEATURE_CS__IS_OPTIONAL;
 
 	/**
+	 * The feature id for the '<em><b>Is Ordered</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OPERATION_CS__IS_ORDERED = FEATURE_CS__IS_ORDERED;
+
+	/**
 	 * The feature id for the '<em><b>Owned Type</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -2612,13 +2828,31 @@
 	int OPERATION_CS__OWNED_TYPE = FEATURE_CS__OWNED_TYPE;
 
 	/**
-	 * The feature id for the '<em><b>Qualifiers</b></em>' attribute list.
+	 * The feature id for the '<em><b>Is Definition</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int OPERATION_CS__QUALIFIERS = FEATURE_CS__QUALIFIERS;
+	int OPERATION_CS__IS_DEFINITION = FEATURE_CS__IS_DEFINITION;
+
+	/**
+	 * The feature id for the '<em><b>Is Derived</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OPERATION_CS__IS_DERIVED = FEATURE_CS__IS_DERIVED;
+
+	/**
+	 * The feature id for the '<em><b>Is Static</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OPERATION_CS__IS_STATIC = FEATURE_CS__IS_STATIC;
 
 	/**
 	 * The feature id for the '<em><b>Owned Signature</b></em>' containment reference.
@@ -2919,6 +3153,15 @@
 	int PARAMETER_CS__NAME = TYPED_ELEMENT_CS__NAME;
 
 	/**
+	 * The feature id for the '<em><b>Is Not Unique</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_CS__IS_NOT_UNIQUE = TYPED_ELEMENT_CS__IS_NOT_UNIQUE;
+
+	/**
 	 * The feature id for the '<em><b>Is Optional</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -2928,6 +3171,15 @@
 	int PARAMETER_CS__IS_OPTIONAL = TYPED_ELEMENT_CS__IS_OPTIONAL;
 
 	/**
+	 * The feature id for the '<em><b>Is Ordered</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_CS__IS_ORDERED = TYPED_ELEMENT_CS__IS_ORDERED;
+
+	/**
 	 * The feature id for the '<em><b>Owned Type</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -2937,15 +3189,6 @@
 	int PARAMETER_CS__OWNED_TYPE = TYPED_ELEMENT_CS__OWNED_TYPE;
 
 	/**
-	 * The feature id for the '<em><b>Qualifiers</b></em>' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_CS__QUALIFIERS = TYPED_ELEMENT_CS__QUALIFIERS;
-
-	/**
 	 * The feature id for the '<em><b>Owning Operation</b></em>' container reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -3282,6 +3525,15 @@
 	int REFERENCE_CS__NAME = STRUCTURAL_FEATURE_CS__NAME;
 
 	/**
+	 * The feature id for the '<em><b>Is Not Unique</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REFERENCE_CS__IS_NOT_UNIQUE = STRUCTURAL_FEATURE_CS__IS_NOT_UNIQUE;
+
+	/**
 	 * The feature id for the '<em><b>Is Optional</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -3291,6 +3543,15 @@
 	int REFERENCE_CS__IS_OPTIONAL = STRUCTURAL_FEATURE_CS__IS_OPTIONAL;
 
 	/**
+	 * The feature id for the '<em><b>Is Ordered</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REFERENCE_CS__IS_ORDERED = STRUCTURAL_FEATURE_CS__IS_ORDERED;
+
+	/**
 	 * The feature id for the '<em><b>Owned Type</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -3300,13 +3561,31 @@
 	int REFERENCE_CS__OWNED_TYPE = STRUCTURAL_FEATURE_CS__OWNED_TYPE;
 
 	/**
-	 * The feature id for the '<em><b>Qualifiers</b></em>' attribute list.
+	 * The feature id for the '<em><b>Is Definition</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int REFERENCE_CS__QUALIFIERS = STRUCTURAL_FEATURE_CS__QUALIFIERS;
+	int REFERENCE_CS__IS_DEFINITION = STRUCTURAL_FEATURE_CS__IS_DEFINITION;
+
+	/**
+	 * The feature id for the '<em><b>Is Derived</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REFERENCE_CS__IS_DERIVED = STRUCTURAL_FEATURE_CS__IS_DERIVED;
+
+	/**
+	 * The feature id for the '<em><b>Is Static</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REFERENCE_CS__IS_STATIC = STRUCTURAL_FEATURE_CS__IS_STATIC;
 
 	/**
 	 * The feature id for the '<em><b>Default</b></em>' attribute.
@@ -3318,6 +3597,42 @@
 	int REFERENCE_CS__DEFAULT = STRUCTURAL_FEATURE_CS__DEFAULT;
 
 	/**
+	 * The feature id for the '<em><b>Is Readonly</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REFERENCE_CS__IS_READONLY = STRUCTURAL_FEATURE_CS__IS_READONLY;
+
+	/**
+	 * The feature id for the '<em><b>Is Transient</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REFERENCE_CS__IS_TRANSIENT = STRUCTURAL_FEATURE_CS__IS_TRANSIENT;
+
+	/**
+	 * The feature id for the '<em><b>Is Unsettable</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REFERENCE_CS__IS_UNSETTABLE = STRUCTURAL_FEATURE_CS__IS_UNSETTABLE;
+
+	/**
+	 * The feature id for the '<em><b>Is Volatile</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REFERENCE_CS__IS_VOLATILE = STRUCTURAL_FEATURE_CS__IS_VOLATILE;
+
+	/**
 	 * The feature id for the '<em><b>Owned Default Expressions</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -3354,13 +3669,31 @@
 	int REFERENCE_CS__REFERRED_OPPOSITE = STRUCTURAL_FEATURE_CS_FEATURE_COUNT + 1;
 
 	/**
+	 * The feature id for the '<em><b>Is Composes</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REFERENCE_CS__IS_COMPOSES = STRUCTURAL_FEATURE_CS_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Is Resolve</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REFERENCE_CS__IS_RESOLVE = STRUCTURAL_FEATURE_CS_FEATURE_COUNT + 3;
+
+	/**
 	 * The number of structural features of the '<em>Reference CS</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int REFERENCE_CS_FEATURE_COUNT = STRUCTURAL_FEATURE_CS_FEATURE_COUNT + 2;
+	int REFERENCE_CS_FEATURE_COUNT = STRUCTURAL_FEATURE_CS_FEATURE_COUNT + 4;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.ocl.xtext.basecs.impl.RootCSImpl <em>Root CS</em>}' class.
@@ -4142,6 +4475,15 @@
 	int TUPLE_PART_CS__NAME = TYPED_ELEMENT_CS__NAME;
 
 	/**
+	 * The feature id for the '<em><b>Is Not Unique</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TUPLE_PART_CS__IS_NOT_UNIQUE = TYPED_ELEMENT_CS__IS_NOT_UNIQUE;
+
+	/**
 	 * The feature id for the '<em><b>Is Optional</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -4151,6 +4493,15 @@
 	int TUPLE_PART_CS__IS_OPTIONAL = TYPED_ELEMENT_CS__IS_OPTIONAL;
 
 	/**
+	 * The feature id for the '<em><b>Is Ordered</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TUPLE_PART_CS__IS_ORDERED = TYPED_ELEMENT_CS__IS_ORDERED;
+
+	/**
 	 * The feature id for the '<em><b>Owned Type</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -4160,15 +4511,6 @@
 	int TUPLE_PART_CS__OWNED_TYPE = TYPED_ELEMENT_CS__OWNED_TYPE;
 
 	/**
-	 * The feature id for the '<em><b>Qualifiers</b></em>' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TUPLE_PART_CS__QUALIFIERS = TYPED_ELEMENT_CS__QUALIFIERS;
-
-	/**
 	 * The number of structural features of the '<em>Tuple Part CS</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -4625,6 +4967,17 @@
 	EClass getAttributeCS();
 
 	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.ocl.xtext.basecs.AttributeCS#isIsId <em>Is Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Is Id</em>'.
+	 * @see org.eclipse.ocl.xtext.basecs.AttributeCS#isIsId()
+	 * @see #getAttributeCS()
+	 * @generated
+	 */
+	EAttribute getAttributeCS_IsId();
+
+	/**
 	 * Returns the meta object for class '{@link org.eclipse.ocl.xtext.basecs.ClassCS <em>Class CS</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -4900,6 +5253,39 @@
 	EClass getFeatureCS();
 
 	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.ocl.xtext.basecs.FeatureCS#isIsDefinition <em>Is Definition</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Is Definition</em>'.
+	 * @see org.eclipse.ocl.xtext.basecs.FeatureCS#isIsDefinition()
+	 * @see #getFeatureCS()
+	 * @generated
+	 */
+	EAttribute getFeatureCS_IsDefinition();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.ocl.xtext.basecs.FeatureCS#isIsDerived <em>Is Derived</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Is Derived</em>'.
+	 * @see org.eclipse.ocl.xtext.basecs.FeatureCS#isIsDerived()
+	 * @see #getFeatureCS()
+	 * @generated
+	 */
+	EAttribute getFeatureCS_IsDerived();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.ocl.xtext.basecs.FeatureCS#isIsStatic <em>Is Static</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Is Static</em>'.
+	 * @see org.eclipse.ocl.xtext.basecs.FeatureCS#isIsStatic()
+	 * @see #getFeatureCS()
+	 * @generated
+	 */
+	EAttribute getFeatureCS_IsStatic();
+
+	/**
 	 * Returns the meta object for class '{@link org.eclipse.ocl.xtext.basecs.ImportCS <em>Import CS</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -5518,6 +5904,28 @@
 	EReference getReferenceCS_ReferredOpposite();
 
 	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.ocl.xtext.basecs.ReferenceCS#isIsComposes <em>Is Composes</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Is Composes</em>'.
+	 * @see org.eclipse.ocl.xtext.basecs.ReferenceCS#isIsComposes()
+	 * @see #getReferenceCS()
+	 * @generated
+	 */
+	EAttribute getReferenceCS_IsComposes();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.ocl.xtext.basecs.ReferenceCS#isIsResolve <em>Is Resolve</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Is Resolve</em>'.
+	 * @see org.eclipse.ocl.xtext.basecs.ReferenceCS#isIsResolve()
+	 * @see #getReferenceCS()
+	 * @generated
+	 */
+	EAttribute getReferenceCS_IsResolve();
+
+	/**
 	 * Returns the meta object for the reference list '{@link org.eclipse.ocl.xtext.basecs.ReferenceCS#getReferredKeys <em>Referred Keys</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -5700,6 +6108,50 @@
 	EAttribute getStructuralFeatureCS_Default();
 
 	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.ocl.xtext.basecs.StructuralFeatureCS#isIsReadonly <em>Is Readonly</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Is Readonly</em>'.
+	 * @see org.eclipse.ocl.xtext.basecs.StructuralFeatureCS#isIsReadonly()
+	 * @see #getStructuralFeatureCS()
+	 * @generated
+	 */
+	EAttribute getStructuralFeatureCS_IsReadonly();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.ocl.xtext.basecs.StructuralFeatureCS#isIsTransient <em>Is Transient</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Is Transient</em>'.
+	 * @see org.eclipse.ocl.xtext.basecs.StructuralFeatureCS#isIsTransient()
+	 * @see #getStructuralFeatureCS()
+	 * @generated
+	 */
+	EAttribute getStructuralFeatureCS_IsTransient();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.ocl.xtext.basecs.StructuralFeatureCS#isIsUnsettable <em>Is Unsettable</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Is Unsettable</em>'.
+	 * @see org.eclipse.ocl.xtext.basecs.StructuralFeatureCS#isIsUnsettable()
+	 * @see #getStructuralFeatureCS()
+	 * @generated
+	 */
+	EAttribute getStructuralFeatureCS_IsUnsettable();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.ocl.xtext.basecs.StructuralFeatureCS#isIsVolatile <em>Is Volatile</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Is Volatile</em>'.
+	 * @see org.eclipse.ocl.xtext.basecs.StructuralFeatureCS#isIsVolatile()
+	 * @see #getStructuralFeatureCS()
+	 * @generated
+	 */
+	EAttribute getStructuralFeatureCS_IsVolatile();
+
+	/**
 	 * Returns the meta object for the containment reference list '{@link org.eclipse.ocl.xtext.basecs.StructuralFeatureCS#getOwnedDefaultExpressions <em>Owned Default Expressions</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -5953,6 +6405,17 @@
 	EClass getTypedElementCS();
 
 	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.ocl.xtext.basecs.TypedElementCS#isIsNotUnique <em>Is Not Unique</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Is Not Unique</em>'.
+	 * @see org.eclipse.ocl.xtext.basecs.TypedElementCS#isIsNotUnique()
+	 * @see #getTypedElementCS()
+	 * @generated
+	 */
+	EAttribute getTypedElementCS_IsNotUnique();
+
+	/**
 	 * Returns the meta object for the containment reference '{@link org.eclipse.ocl.xtext.basecs.TypedElementCS#getOwnedType <em>Owned Type</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -5964,17 +6427,6 @@
 	EReference getTypedElementCS_OwnedType();
 
 	/**
-	 * Returns the meta object for the attribute list '{@link org.eclipse.ocl.xtext.basecs.TypedElementCS#getQualifiers <em>Qualifiers</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute list '<em>Qualifiers</em>'.
-	 * @see org.eclipse.ocl.xtext.basecs.TypedElementCS#getQualifiers()
-	 * @see #getTypedElementCS()
-	 * @generated
-	 */
-	EAttribute getTypedElementCS_Qualifiers();
-
-	/**
 	 * Returns the meta object for the attribute '{@link org.eclipse.ocl.xtext.basecs.TypedElementCS#isIsOptional <em>Is Optional</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -5986,6 +6438,17 @@
 	EAttribute getTypedElementCS_IsOptional();
 
 	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.ocl.xtext.basecs.TypedElementCS#isIsOrdered <em>Is Ordered</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Is Ordered</em>'.
+	 * @see org.eclipse.ocl.xtext.basecs.TypedElementCS#isIsOrdered()
+	 * @see #getTypedElementCS()
+	 * @generated
+	 */
+	EAttribute getTypedElementCS_IsOrdered();
+
+	/**
 	 * Returns the meta object for class '{@link org.eclipse.ocl.xtext.basecs.TypedRefCS <em>Typed Ref CS</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -6213,6 +6676,14 @@
 		EClass ATTRIBUTE_CS = eINSTANCE.getAttributeCS();
 
 		/**
+		 * The meta object literal for the '<em><b>Is Id</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ATTRIBUTE_CS__IS_ID = eINSTANCE.getAttributeCS_IsId();
+
+		/**
 		 * The meta object literal for the '{@link org.eclipse.ocl.xtext.basecs.impl.ClassCSImpl <em>Class CS</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
@@ -6443,6 +6914,30 @@
 		EClass FEATURE_CS = eINSTANCE.getFeatureCS();
 
 		/**
+		 * The meta object literal for the '<em><b>Is Definition</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute FEATURE_CS__IS_DEFINITION = eINSTANCE.getFeatureCS_IsDefinition();
+
+		/**
+		 * The meta object literal for the '<em><b>Is Derived</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute FEATURE_CS__IS_DERIVED = eINSTANCE.getFeatureCS_IsDerived();
+
+		/**
+		 * The meta object literal for the '<em><b>Is Static</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute FEATURE_CS__IS_STATIC = eINSTANCE.getFeatureCS_IsStatic();
+
+		/**
 		 * The meta object literal for the '{@link org.eclipse.ocl.xtext.basecs.impl.ImportCSImpl <em>Import CS</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
@@ -6947,6 +7442,22 @@
 		EReference REFERENCE_CS__REFERRED_OPPOSITE = eINSTANCE.getReferenceCS_ReferredOpposite();
 
 		/**
+		 * The meta object literal for the '<em><b>Is Composes</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute REFERENCE_CS__IS_COMPOSES = eINSTANCE.getReferenceCS_IsComposes();
+
+		/**
+		 * The meta object literal for the '<em><b>Is Resolve</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute REFERENCE_CS__IS_RESOLVE = eINSTANCE.getReferenceCS_IsResolve();
+
+		/**
 		 * The meta object literal for the '<em><b>Referred Keys</b></em>' reference list feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
@@ -7093,6 +7604,38 @@
 		EAttribute STRUCTURAL_FEATURE_CS__DEFAULT = eINSTANCE.getStructuralFeatureCS_Default();
 
 		/**
+		 * The meta object literal for the '<em><b>Is Readonly</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute STRUCTURAL_FEATURE_CS__IS_READONLY = eINSTANCE.getStructuralFeatureCS_IsReadonly();
+
+		/**
+		 * The meta object literal for the '<em><b>Is Transient</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute STRUCTURAL_FEATURE_CS__IS_TRANSIENT = eINSTANCE.getStructuralFeatureCS_IsTransient();
+
+		/**
+		 * The meta object literal for the '<em><b>Is Unsettable</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute STRUCTURAL_FEATURE_CS__IS_UNSETTABLE = eINSTANCE.getStructuralFeatureCS_IsUnsettable();
+
+		/**
+		 * The meta object literal for the '<em><b>Is Volatile</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute STRUCTURAL_FEATURE_CS__IS_VOLATILE = eINSTANCE.getStructuralFeatureCS_IsVolatile();
+
+		/**
 		 * The meta object literal for the '<em><b>Owned Default Expressions</b></em>' containment reference list feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
@@ -7307,6 +7850,14 @@
 		EClass TYPED_ELEMENT_CS = eINSTANCE.getTypedElementCS();
 
 		/**
+		 * The meta object literal for the '<em><b>Is Not Unique</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute TYPED_ELEMENT_CS__IS_NOT_UNIQUE = eINSTANCE.getTypedElementCS_IsNotUnique();
+
+		/**
 		 * The meta object literal for the '<em><b>Owned Type</b></em>' containment reference feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
@@ -7315,14 +7866,6 @@
 		EReference TYPED_ELEMENT_CS__OWNED_TYPE = eINSTANCE.getTypedElementCS_OwnedType();
 
 		/**
-		 * The meta object literal for the '<em><b>Qualifiers</b></em>' attribute list feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute TYPED_ELEMENT_CS__QUALIFIERS = eINSTANCE.getTypedElementCS_Qualifiers();
-
-		/**
 		 * The meta object literal for the '<em><b>Is Optional</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
@@ -7331,6 +7874,14 @@
 		EAttribute TYPED_ELEMENT_CS__IS_OPTIONAL = eINSTANCE.getTypedElementCS_IsOptional();
 
 		/**
+		 * The meta object literal for the '<em><b>Is Ordered</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute TYPED_ELEMENT_CS__IS_ORDERED = eINSTANCE.getTypedElementCS_IsOrdered();
+
+		/**
 		 * The meta object literal for the '{@link org.eclipse.ocl.xtext.basecs.impl.TypedRefCSImpl <em>Typed Ref CS</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/FeatureCS.java b/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/FeatureCS.java
index 3090db0..e0a2d8e 100644
--- a/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/FeatureCS.java
+++ b/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/FeatureCS.java
@@ -18,6 +18,14 @@
  * A representation of the model object '<em><b>Feature CS</b></em>'.
  * <!-- end-user-doc -->
  *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.ocl.xtext.basecs.FeatureCS#isIsDefinition <em>Is Definition</em>}</li>
+ *   <li>{@link org.eclipse.ocl.xtext.basecs.FeatureCS#isIsDerived <em>Is Derived</em>}</li>
+ *   <li>{@link org.eclipse.ocl.xtext.basecs.FeatureCS#isIsStatic <em>Is Static</em>}</li>
+ * </ul>
  *
  * @see org.eclipse.ocl.xtext.basecs.BaseCSPackage#getFeatureCS()
  * @model abstract="true"
@@ -25,4 +33,82 @@
  */
 public interface FeatureCS extends TypedElementCS {
 
+	/**
+	 * Returns the value of the '<em><b>Is Definition</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Is Definition</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Is Definition</em>' attribute.
+	 * @see #setIsDefinition(boolean)
+	 * @see org.eclipse.ocl.xtext.basecs.BaseCSPackage#getFeatureCS_IsDefinition()
+	 * @model dataType="org.eclipse.ocl.pivot.Boolean"
+	 * @generated
+	 */
+	boolean isIsDefinition();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.ocl.xtext.basecs.FeatureCS#isIsDefinition <em>Is Definition</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Is Definition</em>' attribute.
+	 * @see #isIsDefinition()
+	 * @generated
+	 */
+	void setIsDefinition(boolean value);
+
+	/**
+	 * Returns the value of the '<em><b>Is Derived</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Is Derived</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Is Derived</em>' attribute.
+	 * @see #setIsDerived(boolean)
+	 * @see org.eclipse.ocl.xtext.basecs.BaseCSPackage#getFeatureCS_IsDerived()
+	 * @model dataType="org.eclipse.ocl.pivot.Boolean"
+	 * @generated
+	 */
+	boolean isIsDerived();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.ocl.xtext.basecs.FeatureCS#isIsDerived <em>Is Derived</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Is Derived</em>' attribute.
+	 * @see #isIsDerived()
+	 * @generated
+	 */
+	void setIsDerived(boolean value);
+
+	/**
+	 * Returns the value of the '<em><b>Is Static</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Is Static</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Is Static</em>' attribute.
+	 * @see #setIsStatic(boolean)
+	 * @see org.eclipse.ocl.xtext.basecs.BaseCSPackage#getFeatureCS_IsStatic()
+	 * @model dataType="org.eclipse.ocl.pivot.Boolean"
+	 * @generated
+	 */
+	boolean isIsStatic();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.ocl.xtext.basecs.FeatureCS#isIsStatic <em>Is Static</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Is Static</em>' attribute.
+	 * @see #isIsStatic()
+	 * @generated
+	 */
+	void setIsStatic(boolean value);
+
 } // FeatureCS
diff --git a/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/ReferenceCS.java b/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/ReferenceCS.java
index d3f551f..0ed6226 100644
--- a/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/ReferenceCS.java
+++ b/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/ReferenceCS.java
@@ -26,6 +26,8 @@
  * <ul>
  *   <li>{@link org.eclipse.ocl.xtext.basecs.ReferenceCS#getReferredKeys <em>Referred Keys</em>}</li>
  *   <li>{@link org.eclipse.ocl.xtext.basecs.ReferenceCS#getReferredOpposite <em>Referred Opposite</em>}</li>
+ *   <li>{@link org.eclipse.ocl.xtext.basecs.ReferenceCS#isIsComposes <em>Is Composes</em>}</li>
+ *   <li>{@link org.eclipse.ocl.xtext.basecs.ReferenceCS#isIsResolve <em>Is Resolve</em>}</li>
  * </ul>
  *
  * @see org.eclipse.ocl.xtext.basecs.BaseCSPackage#getReferenceCS()
@@ -60,6 +62,58 @@
 	void setReferredOpposite(Property value);
 
 	/**
+	 * Returns the value of the '<em><b>Is Composes</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Is Composes</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Is Composes</em>' attribute.
+	 * @see #setIsComposes(boolean)
+	 * @see org.eclipse.ocl.xtext.basecs.BaseCSPackage#getReferenceCS_IsComposes()
+	 * @model dataType="org.eclipse.ocl.pivot.Boolean"
+	 * @generated
+	 */
+	boolean isIsComposes();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.ocl.xtext.basecs.ReferenceCS#isIsComposes <em>Is Composes</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Is Composes</em>' attribute.
+	 * @see #isIsComposes()
+	 * @generated
+	 */
+	void setIsComposes(boolean value);
+
+	/**
+	 * Returns the value of the '<em><b>Is Resolve</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Is Resolve</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Is Resolve</em>' attribute.
+	 * @see #setIsResolve(boolean)
+	 * @see org.eclipse.ocl.xtext.basecs.BaseCSPackage#getReferenceCS_IsResolve()
+	 * @model dataType="org.eclipse.ocl.pivot.Boolean"
+	 * @generated
+	 */
+	boolean isIsResolve();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.ocl.xtext.basecs.ReferenceCS#isIsResolve <em>Is Resolve</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Is Resolve</em>' attribute.
+	 * @see #isIsResolve()
+	 * @generated
+	 */
+	void setIsResolve(boolean value);
+
+	/**
 	 * Returns the value of the '<em><b>Referred Keys</b></em>' reference list.
 	 * The list contents are of type {@link org.eclipse.ocl.pivot.Property}.
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/StructuralFeatureCS.java b/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/StructuralFeatureCS.java
index 4ea3e27..eeb9ba5 100644
--- a/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/StructuralFeatureCS.java
+++ b/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/StructuralFeatureCS.java
@@ -24,6 +24,10 @@
  * </p>
  * <ul>
  *   <li>{@link org.eclipse.ocl.xtext.basecs.StructuralFeatureCS#getDefault <em>Default</em>}</li>
+ *   <li>{@link org.eclipse.ocl.xtext.basecs.StructuralFeatureCS#isIsReadonly <em>Is Readonly</em>}</li>
+ *   <li>{@link org.eclipse.ocl.xtext.basecs.StructuralFeatureCS#isIsTransient <em>Is Transient</em>}</li>
+ *   <li>{@link org.eclipse.ocl.xtext.basecs.StructuralFeatureCS#isIsUnsettable <em>Is Unsettable</em>}</li>
+ *   <li>{@link org.eclipse.ocl.xtext.basecs.StructuralFeatureCS#isIsVolatile <em>Is Volatile</em>}</li>
  *   <li>{@link org.eclipse.ocl.xtext.basecs.StructuralFeatureCS#getOwnedDefaultExpressions <em>Owned Default Expressions</em>}</li>
  *   <li>{@link org.eclipse.ocl.xtext.basecs.StructuralFeatureCS#getOwningClass <em>Owning Class</em>}</li>
  * </ul>
@@ -89,6 +93,110 @@
 	void setDefault(String value);
 
 	/**
+	 * Returns the value of the '<em><b>Is Readonly</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Is Readonly</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Is Readonly</em>' attribute.
+	 * @see #setIsReadonly(boolean)
+	 * @see org.eclipse.ocl.xtext.basecs.BaseCSPackage#getStructuralFeatureCS_IsReadonly()
+	 * @model dataType="org.eclipse.ocl.pivot.Boolean"
+	 * @generated
+	 */
+	boolean isIsReadonly();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.ocl.xtext.basecs.StructuralFeatureCS#isIsReadonly <em>Is Readonly</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Is Readonly</em>' attribute.
+	 * @see #isIsReadonly()
+	 * @generated
+	 */
+	void setIsReadonly(boolean value);
+
+	/**
+	 * Returns the value of the '<em><b>Is Transient</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Is Transient</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Is Transient</em>' attribute.
+	 * @see #setIsTransient(boolean)
+	 * @see org.eclipse.ocl.xtext.basecs.BaseCSPackage#getStructuralFeatureCS_IsTransient()
+	 * @model dataType="org.eclipse.ocl.pivot.Boolean"
+	 * @generated
+	 */
+	boolean isIsTransient();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.ocl.xtext.basecs.StructuralFeatureCS#isIsTransient <em>Is Transient</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Is Transient</em>' attribute.
+	 * @see #isIsTransient()
+	 * @generated
+	 */
+	void setIsTransient(boolean value);
+
+	/**
+	 * Returns the value of the '<em><b>Is Unsettable</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Is Unsettable</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Is Unsettable</em>' attribute.
+	 * @see #setIsUnsettable(boolean)
+	 * @see org.eclipse.ocl.xtext.basecs.BaseCSPackage#getStructuralFeatureCS_IsUnsettable()
+	 * @model dataType="org.eclipse.ocl.pivot.Boolean"
+	 * @generated
+	 */
+	boolean isIsUnsettable();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.ocl.xtext.basecs.StructuralFeatureCS#isIsUnsettable <em>Is Unsettable</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Is Unsettable</em>' attribute.
+	 * @see #isIsUnsettable()
+	 * @generated
+	 */
+	void setIsUnsettable(boolean value);
+
+	/**
+	 * Returns the value of the '<em><b>Is Volatile</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Is Volatile</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Is Volatile</em>' attribute.
+	 * @see #setIsVolatile(boolean)
+	 * @see org.eclipse.ocl.xtext.basecs.BaseCSPackage#getStructuralFeatureCS_IsVolatile()
+	 * @model dataType="org.eclipse.ocl.pivot.Boolean"
+	 * @generated
+	 */
+	boolean isIsVolatile();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.ocl.xtext.basecs.StructuralFeatureCS#isIsVolatile <em>Is Volatile</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Is Volatile</em>' attribute.
+	 * @see #isIsVolatile()
+	 * @generated
+	 */
+	void setIsVolatile(boolean value);
+
+	/**
 	 * Returns the value of the '<em><b>Owned Default Expressions</b></em>' containment reference list.
 	 * The list contents are of type {@link org.eclipse.ocl.xtext.basecs.SpecificationCS}.
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/TypedElementCS.java b/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/TypedElementCS.java
index a09513c..0e30a13 100644
--- a/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/TypedElementCS.java
+++ b/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/TypedElementCS.java
@@ -10,8 +10,6 @@
  *******************************************************************************/
 package org.eclipse.ocl.xtext.basecs;
 
-import org.eclipse.emf.common.util.EList;
-
 
 /**
  * <!-- begin-user-doc -->
@@ -22,9 +20,10 @@
  * The following features are supported:
  * </p>
  * <ul>
+ *   <li>{@link org.eclipse.ocl.xtext.basecs.TypedElementCS#isIsNotUnique <em>Is Not Unique</em>}</li>
  *   <li>{@link org.eclipse.ocl.xtext.basecs.TypedElementCS#isIsOptional <em>Is Optional</em>}</li>
+ *   <li>{@link org.eclipse.ocl.xtext.basecs.TypedElementCS#isIsOrdered <em>Is Ordered</em>}</li>
  *   <li>{@link org.eclipse.ocl.xtext.basecs.TypedElementCS#getOwnedType <em>Owned Type</em>}</li>
- *   <li>{@link org.eclipse.ocl.xtext.basecs.TypedElementCS#getQualifiers <em>Qualifiers</em>}</li>
  * </ul>
  *
  * @see org.eclipse.ocl.xtext.basecs.BaseCSPackage#getTypedElementCS()
@@ -33,6 +32,33 @@
  */
 public interface TypedElementCS extends NamedElementCS {
 	/**
+	 * Returns the value of the '<em><b>Is Not Unique</b></em>' attribute.
+	 * The default value is <code>"false"</code>.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Is Not Unique</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Is Not Unique</em>' attribute.
+	 * @see #setIsNotUnique(boolean)
+	 * @see org.eclipse.ocl.xtext.basecs.BaseCSPackage#getTypedElementCS_IsNotUnique()
+	 * @model default="false" dataType="org.eclipse.ocl.pivot.Boolean"
+	 * @generated
+	 */
+	boolean isIsNotUnique();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.ocl.xtext.basecs.TypedElementCS#isIsNotUnique <em>Is Not Unique</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Is Not Unique</em>' attribute.
+	 * @see #isIsNotUnique()
+	 * @generated
+	 */
+	void setIsNotUnique(boolean value);
+
+	/**
 	 * Returns the value of the '<em><b>Owned Type</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <p>
@@ -59,22 +85,6 @@
 	void setOwnedType(TypedRefCS value);
 
 	/**
-	 * Returns the value of the '<em><b>Qualifiers</b></em>' attribute list.
-	 * The list contents are of type {@link java.lang.String}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Qualifier</em>' attribute list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Qualifiers</em>' attribute list.
-	 * @see org.eclipse.ocl.xtext.basecs.BaseCSPackage#getTypedElementCS_Qualifiers()
-	 * @model dataType="org.eclipse.ocl.pivot.String"
-	 * @generated
-	 */
-	EList<String> getQualifiers();
-
-	/**
 	 * Returns the value of the '<em><b>Is Optional</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <p>
@@ -100,4 +110,31 @@
 	 */
 	void setIsOptional(boolean value);
 
+	/**
+	 * Returns the value of the '<em><b>Is Ordered</b></em>' attribute.
+	 * The default value is <code>"false"</code>.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Is Ordered</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Is Ordered</em>' attribute.
+	 * @see #setIsOrdered(boolean)
+	 * @see org.eclipse.ocl.xtext.basecs.BaseCSPackage#getTypedElementCS_IsOrdered()
+	 * @model default="false" dataType="org.eclipse.ocl.pivot.Boolean"
+	 * @generated
+	 */
+	boolean isIsOrdered();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.ocl.xtext.basecs.TypedElementCS#isIsOrdered <em>Is Ordered</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Is Ordered</em>' attribute.
+	 * @see #isIsOrdered()
+	 * @generated
+	 */
+	void setIsOrdered(boolean value);
+
 } // TypedElementCS
diff --git a/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/impl/AttributeCSImpl.java b/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/impl/AttributeCSImpl.java
index 10770b4..41a8720 100644
--- a/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/impl/AttributeCSImpl.java
+++ b/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/impl/AttributeCSImpl.java
@@ -10,7 +10,9 @@
  *******************************************************************************/
 package org.eclipse.ocl.xtext.basecs.impl;
 
+import org.eclipse.emf.common.notify.Notification;
 import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
 import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.jdt.annotation.Nullable;
 import org.eclipse.ocl.xtext.basecs.AttributeCS;
@@ -22,12 +24,37 @@
  * An implementation of the model object '<em><b>Attribute CS</b></em>'.
  * <!-- end-user-doc -->
  * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.ocl.xtext.basecs.impl.AttributeCSImpl#isIsId <em>Is Id</em>}</li>
+ * </ul>
  *
  * @generated
  */
 public class AttributeCSImpl extends StructuralFeatureCSImpl implements AttributeCS
 {
 	/**
+	 * The default value of the '{@link #isIsId() <em>Is Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isIsId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean IS_ID_EDEFAULT = false;
+	/**
+	 * The cached value of the '{@link #isIsId() <em>Is Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isIsId()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean isId = IS_ID_EDEFAULT;
+
+	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -49,6 +76,108 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isIsId()
+	{
+		return isId;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setIsId(boolean newIsId)
+	{
+		boolean oldIsId = isId;
+		isId = newIsId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, BaseCSPackage.ATTRIBUTE_CS__IS_ID, oldIsId, isId));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString()
+	{
+		return super.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType)
+	{
+		switch (featureID)
+		{
+			case BaseCSPackage.ATTRIBUTE_CS__IS_ID:
+				return isIsId();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue)
+	{
+		switch (featureID)
+		{
+			case BaseCSPackage.ATTRIBUTE_CS__IS_ID:
+				setIsId((Boolean)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID)
+	{
+		switch (featureID)
+		{
+			case BaseCSPackage.ATTRIBUTE_CS__IS_ID:
+				setIsId(IS_ID_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID)
+	{
+		switch (featureID)
+		{
+			case BaseCSPackage.ATTRIBUTE_CS__IS_ID:
+				return isId != IS_ID_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
 	 * {@inheritDoc}
 	 * @generated
 	 */
diff --git a/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/impl/BaseCSPackageImpl.java b/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/impl/BaseCSPackageImpl.java
index 3a3532b..dd5a807 100644
--- a/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/impl/BaseCSPackageImpl.java
+++ b/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/impl/BaseCSPackageImpl.java
@@ -618,6 +618,17 @@
 	 * @generated
 	 */
 	@Override
+	public EAttribute getAttributeCS_IsId()
+	{
+		return (EAttribute)attributeCSEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
 	public EClass getClassCS()
 	{
 		return classCSEClass;
@@ -901,6 +912,39 @@
 	 * @generated
 	 */
 	@Override
+	public EAttribute getFeatureCS_IsDefinition()
+	{
+		return (EAttribute)featureCSEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getFeatureCS_IsDerived()
+	{
+		return (EAttribute)featureCSEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getFeatureCS_IsStatic()
+	{
+		return (EAttribute)featureCSEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
 	public EClass getImportCS() {
 		return importCSEClass;
 	}
@@ -1527,6 +1571,28 @@
 	 * @generated
 	 */
 	@Override
+	public EAttribute getReferenceCS_IsComposes()
+	{
+		return (EAttribute)referenceCSEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getReferenceCS_IsResolve()
+	{
+		return (EAttribute)referenceCSEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
 	public EReference getReferenceCS_ReferredKeys()
 	{
 		return (EReference)referenceCSEClass.getEStructuralFeatures().get(0);
@@ -1693,7 +1759,7 @@
 	@Override
 	public EReference getStructuralFeatureCS_OwningClass()
 	{
-		return (EReference)structuralFeatureCSEClass.getEStructuralFeatures().get(2);
+		return (EReference)structuralFeatureCSEClass.getEStructuralFeatures().get(6);
 	}
 
 	/**
@@ -1713,9 +1779,53 @@
 	 * @generated
 	 */
 	@Override
+	public EAttribute getStructuralFeatureCS_IsReadonly()
+	{
+		return (EAttribute)structuralFeatureCSEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getStructuralFeatureCS_IsTransient()
+	{
+		return (EAttribute)structuralFeatureCSEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getStructuralFeatureCS_IsUnsettable()
+	{
+		return (EAttribute)structuralFeatureCSEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getStructuralFeatureCS_IsVolatile()
+	{
+		return (EAttribute)structuralFeatureCSEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
 	public EReference getStructuralFeatureCS_OwnedDefaultExpressions()
 	{
-		return (EReference)structuralFeatureCSEClass.getEStructuralFeatures().get(1);
+		return (EReference)structuralFeatureCSEClass.getEStructuralFeatures().get(5);
 	}
 
 	/**
@@ -1965,8 +2075,9 @@
 	 * @generated
 	 */
 	@Override
-	public EReference getTypedElementCS_OwnedType() {
-		return (EReference)typedElementCSEClass.getEStructuralFeatures().get(1);
+	public EAttribute getTypedElementCS_IsNotUnique()
+	{
+		return (EAttribute)typedElementCSEClass.getEStructuralFeatures().get(0);
 	}
 
 	/**
@@ -1975,9 +2086,8 @@
 	 * @generated
 	 */
 	@Override
-	public EAttribute getTypedElementCS_Qualifiers()
-	{
-		return (EAttribute)typedElementCSEClass.getEStructuralFeatures().get(2);
+	public EReference getTypedElementCS_OwnedType() {
+		return (EReference)typedElementCSEClass.getEStructuralFeatures().get(3);
 	}
 
 	/**
@@ -1988,7 +2098,18 @@
 	@Override
 	public EAttribute getTypedElementCS_IsOptional()
 	{
-		return (EAttribute)typedElementCSEClass.getEStructuralFeatures().get(0);
+		return (EAttribute)typedElementCSEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getTypedElementCS_IsOrdered()
+	{
+		return (EAttribute)typedElementCSEClass.getEStructuralFeatures().get(2);
 	}
 
 	/**
@@ -2180,6 +2301,7 @@
 		createEReference(annotationElementCSEClass, ANNOTATION_ELEMENT_CS__OWNED_DETAILS);
 
 		attributeCSEClass = createEClass(ATTRIBUTE_CS);
+		createEAttribute(attributeCSEClass, ATTRIBUTE_CS__IS_ID);
 
 		classCSEClass = createEClass(CLASS_CS);
 		createEAttribute(classCSEClass, CLASS_CS__INSTANCE_CLASS_NAME);
@@ -2217,6 +2339,9 @@
 		createEAttribute(enumerationLiteralCSEClass, ENUMERATION_LITERAL_CS__VALUE);
 
 		featureCSEClass = createEClass(FEATURE_CS);
+		createEAttribute(featureCSEClass, FEATURE_CS__IS_DEFINITION);
+		createEAttribute(featureCSEClass, FEATURE_CS__IS_DERIVED);
+		createEAttribute(featureCSEClass, FEATURE_CS__IS_STATIC);
 
 		importCSEClass = createEClass(IMPORT_CS);
 		createEAttribute(importCSEClass, IMPORT_CS__IS_ALL);
@@ -2296,6 +2421,8 @@
 		referenceCSEClass = createEClass(REFERENCE_CS);
 		createEReference(referenceCSEClass, REFERENCE_CS__REFERRED_KEYS);
 		createEReference(referenceCSEClass, REFERENCE_CS__REFERRED_OPPOSITE);
+		createEAttribute(referenceCSEClass, REFERENCE_CS__IS_COMPOSES);
+		createEAttribute(referenceCSEClass, REFERENCE_CS__IS_RESOLVE);
 
 		rootCSEClass = createEClass(ROOT_CS);
 		createEReference(rootCSEClass, ROOT_CS__OWNED_IMPORTS);
@@ -2308,6 +2435,10 @@
 
 		structuralFeatureCSEClass = createEClass(STRUCTURAL_FEATURE_CS);
 		createEAttribute(structuralFeatureCSEClass, STRUCTURAL_FEATURE_CS__DEFAULT);
+		createEAttribute(structuralFeatureCSEClass, STRUCTURAL_FEATURE_CS__IS_READONLY);
+		createEAttribute(structuralFeatureCSEClass, STRUCTURAL_FEATURE_CS__IS_TRANSIENT);
+		createEAttribute(structuralFeatureCSEClass, STRUCTURAL_FEATURE_CS__IS_UNSETTABLE);
+		createEAttribute(structuralFeatureCSEClass, STRUCTURAL_FEATURE_CS__IS_VOLATILE);
 		createEReference(structuralFeatureCSEClass, STRUCTURAL_FEATURE_CS__OWNED_DEFAULT_EXPRESSIONS);
 		createEReference(structuralFeatureCSEClass, STRUCTURAL_FEATURE_CS__OWNING_CLASS);
 
@@ -2352,9 +2483,10 @@
 		typeRefCSEClass = createEClass(TYPE_REF_CS);
 
 		typedElementCSEClass = createEClass(TYPED_ELEMENT_CS);
+		createEAttribute(typedElementCSEClass, TYPED_ELEMENT_CS__IS_NOT_UNIQUE);
 		createEAttribute(typedElementCSEClass, TYPED_ELEMENT_CS__IS_OPTIONAL);
+		createEAttribute(typedElementCSEClass, TYPED_ELEMENT_CS__IS_ORDERED);
 		createEReference(typedElementCSEClass, TYPED_ELEMENT_CS__OWNED_TYPE);
-		createEAttribute(typedElementCSEClass, TYPED_ELEMENT_CS__QUALIFIERS);
 
 		typedRefCSEClass = createEClass(TYPED_REF_CS);
 		createEReference(typedRefCSEClass, TYPED_REF_CS__OWNED_MULTIPLICITY);
@@ -2489,6 +2621,7 @@
 		initEReference(getAnnotationElementCS_OwnedDetails(), this.getDetailCS(), null, "ownedDetails", null, 0, -1, AnnotationElementCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
 
 		initEClass(attributeCSEClass, AttributeCS.class, "AttributeCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getAttributeCS_IsId(), thePivotPackage.getBoolean(), "isId", null, 0, 1, AttributeCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
 
 		initEClass(classCSEClass, ClassCS.class, "ClassCS", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
 		initEAttribute(getClassCS_InstanceClassName(), thePivotPackage.getString(), "instanceClassName", null, 0, 1, ClassCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
@@ -2528,6 +2661,9 @@
 		initEAttribute(getEnumerationLiteralCS_Value(), ecorePackage.getEInt(), "value", null, 0, 1, EnumerationLiteralCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
 
 		initEClass(featureCSEClass, FeatureCS.class, "FeatureCS", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getFeatureCS_IsDefinition(), thePivotPackage.getBoolean(), "isDefinition", null, 0, 1, FeatureCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getFeatureCS_IsDerived(), thePivotPackage.getBoolean(), "isDerived", null, 0, 1, FeatureCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getFeatureCS_IsStatic(), thePivotPackage.getBoolean(), "isStatic", null, 0, 1, FeatureCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
 
 		initEClass(importCSEClass, ImportCS.class, "ImportCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
 		initEAttribute(getImportCS_IsAll(), thePivotPackage.getBoolean(), "isAll", "false", 0, 1, ImportCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
@@ -2611,6 +2747,8 @@
 		initEClass(referenceCSEClass, ReferenceCS.class, "ReferenceCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
 		initEReference(getReferenceCS_ReferredKeys(), thePivotPackage.getProperty(), null, "referredKeys", null, 0, -1, ReferenceCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
 		initEReference(getReferenceCS_ReferredOpposite(), thePivotPackage.getProperty(), null, "referredOpposite", null, 0, 1, ReferenceCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getReferenceCS_IsComposes(), thePivotPackage.getBoolean(), "isComposes", null, 0, 1, ReferenceCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getReferenceCS_IsResolve(), thePivotPackage.getBoolean(), "isResolve", null, 0, 1, ReferenceCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
 
 		initEClass(rootCSEClass, RootCS.class, "RootCS", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
 		initEReference(getRootCS_OwnedImports(), this.getImportCS(), null, "ownedImports", null, 0, -1, RootCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
@@ -2623,6 +2761,10 @@
 
 		initEClass(structuralFeatureCSEClass, StructuralFeatureCS.class, "StructuralFeatureCS", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
 		initEAttribute(getStructuralFeatureCS_Default(), thePivotPackage.getString(), "default", null, 0, 1, StructuralFeatureCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getStructuralFeatureCS_IsReadonly(), thePivotPackage.getBoolean(), "isReadonly", null, 0, 1, StructuralFeatureCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getStructuralFeatureCS_IsTransient(), thePivotPackage.getBoolean(), "isTransient", null, 0, 1, StructuralFeatureCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getStructuralFeatureCS_IsUnsettable(), thePivotPackage.getBoolean(), "isUnsettable", null, 0, 1, StructuralFeatureCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getStructuralFeatureCS_IsVolatile(), thePivotPackage.getBoolean(), "isVolatile", null, 0, 1, StructuralFeatureCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
 		initEReference(getStructuralFeatureCS_OwnedDefaultExpressions(), this.getSpecificationCS(), null, "ownedDefaultExpressions", null, 0, -1, StructuralFeatureCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
 		initEReference(getStructuralFeatureCS_OwningClass(), this.getStructuredClassCS(), this.getStructuredClassCS_OwnedProperties(), "owningClass", null, 0, 1, StructuralFeatureCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
 
@@ -2667,9 +2809,10 @@
 		initEClass(typeRefCSEClass, TypeRefCS.class, "TypeRefCS", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
 
 		initEClass(typedElementCSEClass, TypedElementCS.class, "TypedElementCS", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getTypedElementCS_IsNotUnique(), thePivotPackage.getBoolean(), "isNotUnique", "false", 0, 1, TypedElementCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
 		initEAttribute(getTypedElementCS_IsOptional(), thePivotPackage.getBoolean(), "isOptional", null, 0, 1, TypedElementCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getTypedElementCS_IsOrdered(), thePivotPackage.getBoolean(), "isOrdered", "false", 0, 1, TypedElementCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
 		initEReference(getTypedElementCS_OwnedType(), this.getTypedRefCS(), null, "ownedType", null, 0, 1, TypedElementCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getTypedElementCS_Qualifiers(), thePivotPackage.getString(), "qualifiers", null, 0, -1, TypedElementCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
 
 		initEClass(typedRefCSEClass, TypedRefCS.class, "TypedRefCS", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
 		initEReference(getTypedRefCS_OwnedMultiplicity(), this.getMultiplicityCS(), null, "ownedMultiplicity", null, 0, 1, TypedRefCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
diff --git a/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/impl/FeatureCSImpl.java b/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/impl/FeatureCSImpl.java
index 253c611..182840d 100644
--- a/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/impl/FeatureCSImpl.java
+++ b/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/impl/FeatureCSImpl.java
@@ -10,8 +10,10 @@
  */
 package org.eclipse.ocl.xtext.basecs.impl;
 
+import org.eclipse.emf.common.notify.Notification;
 import org.eclipse.emf.ecore.EClass;
 
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
 import org.eclipse.ocl.xtext.basecs.BaseCSPackage;
 import org.eclipse.ocl.xtext.basecs.FeatureCS;
 
@@ -20,12 +22,75 @@
  * An implementation of the model object '<em><b>Feature CS</b></em>'.
  * <!-- end-user-doc -->
  * <p>
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.ocl.xtext.basecs.impl.FeatureCSImpl#isIsDefinition <em>Is Definition</em>}</li>
+ *   <li>{@link org.eclipse.ocl.xtext.basecs.impl.FeatureCSImpl#isIsDerived <em>Is Derived</em>}</li>
+ *   <li>{@link org.eclipse.ocl.xtext.basecs.impl.FeatureCSImpl#isIsStatic <em>Is Static</em>}</li>
+ * </ul>
  *
  * @generated
  */
 public abstract class FeatureCSImpl extends TypedElementCSImpl implements FeatureCS
 {
 	/**
+	 * The default value of the '{@link #isIsDefinition() <em>Is Definition</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isIsDefinition()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean IS_DEFINITION_EDEFAULT = false;
+	/**
+	 * The cached value of the '{@link #isIsDefinition() <em>Is Definition</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isIsDefinition()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean isDefinition = IS_DEFINITION_EDEFAULT;
+	/**
+	 * The default value of the '{@link #isIsDerived() <em>Is Derived</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isIsDerived()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean IS_DERIVED_EDEFAULT = false;
+	/**
+	 * The cached value of the '{@link #isIsDerived() <em>Is Derived</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isIsDerived()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean isDerived = IS_DERIVED_EDEFAULT;
+	/**
+	 * The default value of the '{@link #isIsStatic() <em>Is Static</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isIsStatic()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean IS_STATIC_EDEFAULT = false;
+	/**
+	 * The cached value of the '{@link #isIsStatic() <em>Is Static</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isIsStatic()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean isStatic = IS_STATIC_EDEFAULT;
+
+	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -46,5 +111,177 @@
 		return BaseCSPackage.Literals.FEATURE_CS;
 	}
 
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isIsDefinition()
+	{
+		return isDefinition;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setIsDefinition(boolean newIsDefinition)
+	{
+		boolean oldIsDefinition = isDefinition;
+		isDefinition = newIsDefinition;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, BaseCSPackage.FEATURE_CS__IS_DEFINITION, oldIsDefinition, isDefinition));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isIsDerived()
+	{
+		return isDerived;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setIsDerived(boolean newIsDerived)
+	{
+		boolean oldIsDerived = isDerived;
+		isDerived = newIsDerived;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, BaseCSPackage.FEATURE_CS__IS_DERIVED, oldIsDerived, isDerived));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isIsStatic()
+	{
+		return isStatic;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setIsStatic(boolean newIsStatic)
+	{
+		boolean oldIsStatic = isStatic;
+		isStatic = newIsStatic;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, BaseCSPackage.FEATURE_CS__IS_STATIC, oldIsStatic, isStatic));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString()
+	{
+		return super.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType)
+	{
+		switch (featureID)
+		{
+			case BaseCSPackage.FEATURE_CS__IS_DEFINITION:
+				return isIsDefinition();
+			case BaseCSPackage.FEATURE_CS__IS_DERIVED:
+				return isIsDerived();
+			case BaseCSPackage.FEATURE_CS__IS_STATIC:
+				return isIsStatic();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue)
+	{
+		switch (featureID)
+		{
+			case BaseCSPackage.FEATURE_CS__IS_DEFINITION:
+				setIsDefinition((Boolean)newValue);
+				return;
+			case BaseCSPackage.FEATURE_CS__IS_DERIVED:
+				setIsDerived((Boolean)newValue);
+				return;
+			case BaseCSPackage.FEATURE_CS__IS_STATIC:
+				setIsStatic((Boolean)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID)
+	{
+		switch (featureID)
+		{
+			case BaseCSPackage.FEATURE_CS__IS_DEFINITION:
+				setIsDefinition(IS_DEFINITION_EDEFAULT);
+				return;
+			case BaseCSPackage.FEATURE_CS__IS_DERIVED:
+				setIsDerived(IS_DERIVED_EDEFAULT);
+				return;
+			case BaseCSPackage.FEATURE_CS__IS_STATIC:
+				setIsStatic(IS_STATIC_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID)
+	{
+		switch (featureID)
+		{
+			case BaseCSPackage.FEATURE_CS__IS_DEFINITION:
+				return isDefinition != IS_DEFINITION_EDEFAULT;
+			case BaseCSPackage.FEATURE_CS__IS_DERIVED:
+				return isDerived != IS_DERIVED_EDEFAULT;
+			case BaseCSPackage.FEATURE_CS__IS_STATIC:
+				return isStatic != IS_STATIC_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
 
 } //FeatureCSImpl
diff --git a/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/impl/ReferenceCSImpl.java b/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/impl/ReferenceCSImpl.java
index 018ca72..ead5942 100644
--- a/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/impl/ReferenceCSImpl.java
+++ b/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/impl/ReferenceCSImpl.java
@@ -36,6 +36,8 @@
  * <ul>
  *   <li>{@link org.eclipse.ocl.xtext.basecs.impl.ReferenceCSImpl#getReferredKeys <em>Referred Keys</em>}</li>
  *   <li>{@link org.eclipse.ocl.xtext.basecs.impl.ReferenceCSImpl#getReferredOpposite <em>Referred Opposite</em>}</li>
+ *   <li>{@link org.eclipse.ocl.xtext.basecs.impl.ReferenceCSImpl#isIsComposes <em>Is Composes</em>}</li>
+ *   <li>{@link org.eclipse.ocl.xtext.basecs.impl.ReferenceCSImpl#isIsResolve <em>Is Resolve</em>}</li>
  * </ul>
  *
  * @generated
@@ -63,6 +65,46 @@
 	protected Property referredOpposite;
 
 	/**
+	 * The default value of the '{@link #isIsComposes() <em>Is Composes</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isIsComposes()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean IS_COMPOSES_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isIsComposes() <em>Is Composes</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isIsComposes()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean isComposes = IS_COMPOSES_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #isIsResolve() <em>Is Resolve</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isIsResolve()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean IS_RESOLVE_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isIsResolve() <em>Is Resolve</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isIsResolve()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean isResolve = IS_RESOLVE_EDEFAULT;
+
+	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -134,6 +176,67 @@
 	 * @generated
 	 */
 	@Override
+	public boolean isIsComposes()
+	{
+		return isComposes;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setIsComposes(boolean newIsComposes)
+	{
+		boolean oldIsComposes = isComposes;
+		isComposes = newIsComposes;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, BaseCSPackage.REFERENCE_CS__IS_COMPOSES, oldIsComposes, isComposes));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isIsResolve()
+	{
+		return isResolve;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setIsResolve(boolean newIsResolve)
+	{
+		boolean oldIsResolve = isResolve;
+		isResolve = newIsResolve;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, BaseCSPackage.REFERENCE_CS__IS_RESOLVE, oldIsResolve, isResolve));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString()
+	{
+		return super.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
 	public EList<Property> getReferredKeys()
 	{
 		if (referredKeys == null)
@@ -158,6 +261,10 @@
 			case BaseCSPackage.REFERENCE_CS__REFERRED_OPPOSITE:
 				if (resolve) return getReferredOpposite();
 				return basicGetReferredOpposite();
+			case BaseCSPackage.REFERENCE_CS__IS_COMPOSES:
+				return isIsComposes();
+			case BaseCSPackage.REFERENCE_CS__IS_RESOLVE:
+				return isIsResolve();
 		}
 		return super.eGet(featureID, resolve, coreType);
 	}
@@ -180,6 +287,12 @@
 			case BaseCSPackage.REFERENCE_CS__REFERRED_OPPOSITE:
 				setReferredOpposite((Property)newValue);
 				return;
+			case BaseCSPackage.REFERENCE_CS__IS_COMPOSES:
+				setIsComposes((Boolean)newValue);
+				return;
+			case BaseCSPackage.REFERENCE_CS__IS_RESOLVE:
+				setIsResolve((Boolean)newValue);
+				return;
 		}
 		super.eSet(featureID, newValue);
 	}
@@ -200,6 +313,12 @@
 			case BaseCSPackage.REFERENCE_CS__REFERRED_OPPOSITE:
 				setReferredOpposite((Property)null);
 				return;
+			case BaseCSPackage.REFERENCE_CS__IS_COMPOSES:
+				setIsComposes(IS_COMPOSES_EDEFAULT);
+				return;
+			case BaseCSPackage.REFERENCE_CS__IS_RESOLVE:
+				setIsResolve(IS_RESOLVE_EDEFAULT);
+				return;
 		}
 		super.eUnset(featureID);
 	}
@@ -218,6 +337,10 @@
 				return referredKeys != null && !referredKeys.isEmpty();
 			case BaseCSPackage.REFERENCE_CS__REFERRED_OPPOSITE:
 				return referredOpposite != null;
+			case BaseCSPackage.REFERENCE_CS__IS_COMPOSES:
+				return isComposes != IS_COMPOSES_EDEFAULT;
+			case BaseCSPackage.REFERENCE_CS__IS_RESOLVE:
+				return isResolve != IS_RESOLVE_EDEFAULT;
 		}
 		return super.eIsSet(featureID);
 	}
diff --git a/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/impl/StructuralFeatureCSImpl.java b/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/impl/StructuralFeatureCSImpl.java
index fcc0837..8ca765e 100644
--- a/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/impl/StructuralFeatureCSImpl.java
+++ b/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/impl/StructuralFeatureCSImpl.java
@@ -37,6 +37,10 @@
  * </p>
  * <ul>
  *   <li>{@link org.eclipse.ocl.xtext.basecs.impl.StructuralFeatureCSImpl#getDefault <em>Default</em>}</li>
+ *   <li>{@link org.eclipse.ocl.xtext.basecs.impl.StructuralFeatureCSImpl#isIsReadonly <em>Is Readonly</em>}</li>
+ *   <li>{@link org.eclipse.ocl.xtext.basecs.impl.StructuralFeatureCSImpl#isIsTransient <em>Is Transient</em>}</li>
+ *   <li>{@link org.eclipse.ocl.xtext.basecs.impl.StructuralFeatureCSImpl#isIsUnsettable <em>Is Unsettable</em>}</li>
+ *   <li>{@link org.eclipse.ocl.xtext.basecs.impl.StructuralFeatureCSImpl#isIsVolatile <em>Is Volatile</em>}</li>
  *   <li>{@link org.eclipse.ocl.xtext.basecs.impl.StructuralFeatureCSImpl#getOwnedDefaultExpressions <em>Owned Default Expressions</em>}</li>
  *   <li>{@link org.eclipse.ocl.xtext.basecs.impl.StructuralFeatureCSImpl#getOwningClass <em>Owning Class</em>}</li>
  * </ul>
@@ -65,6 +69,86 @@
 	protected String default_ = DEFAULT_EDEFAULT;
 
 	/**
+	 * The default value of the '{@link #isIsReadonly() <em>Is Readonly</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isIsReadonly()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean IS_READONLY_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isIsReadonly() <em>Is Readonly</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isIsReadonly()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean isReadonly = IS_READONLY_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #isIsTransient() <em>Is Transient</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isIsTransient()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean IS_TRANSIENT_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isIsTransient() <em>Is Transient</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isIsTransient()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean isTransient = IS_TRANSIENT_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #isIsUnsettable() <em>Is Unsettable</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isIsUnsettable()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean IS_UNSETTABLE_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isIsUnsettable() <em>Is Unsettable</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isIsUnsettable()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean isUnsettable = IS_UNSETTABLE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #isIsVolatile() <em>Is Volatile</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isIsVolatile()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean IS_VOLATILE_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isIsVolatile() <em>Is Volatile</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isIsVolatile()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean isVolatile = IS_VOLATILE_EDEFAULT;
+
+	/**
 	 * The cached value of the '{@link #getOwnedDefaultExpressions() <em>Owned Default Expressions</em>}' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -169,6 +253,106 @@
 	 * @generated
 	 */
 	@Override
+	public boolean isIsReadonly()
+	{
+		return isReadonly;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setIsReadonly(boolean newIsReadonly)
+	{
+		boolean oldIsReadonly = isReadonly;
+		isReadonly = newIsReadonly;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, BaseCSPackage.STRUCTURAL_FEATURE_CS__IS_READONLY, oldIsReadonly, isReadonly));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isIsTransient()
+	{
+		return isTransient;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setIsTransient(boolean newIsTransient)
+	{
+		boolean oldIsTransient = isTransient;
+		isTransient = newIsTransient;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, BaseCSPackage.STRUCTURAL_FEATURE_CS__IS_TRANSIENT, oldIsTransient, isTransient));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isIsUnsettable()
+	{
+		return isUnsettable;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setIsUnsettable(boolean newIsUnsettable)
+	{
+		boolean oldIsUnsettable = isUnsettable;
+		isUnsettable = newIsUnsettable;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, BaseCSPackage.STRUCTURAL_FEATURE_CS__IS_UNSETTABLE, oldIsUnsettable, isUnsettable));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isIsVolatile()
+	{
+		return isVolatile;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setIsVolatile(boolean newIsVolatile)
+	{
+		boolean oldIsVolatile = isVolatile;
+		isVolatile = newIsVolatile;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, BaseCSPackage.STRUCTURAL_FEATURE_CS__IS_VOLATILE, oldIsVolatile, isVolatile));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
 	public EList<SpecificationCS> getOwnedDefaultExpressions()
 	{
 		if (ownedDefaultExpressions == null)
@@ -249,6 +433,14 @@
 		{
 			case BaseCSPackage.STRUCTURAL_FEATURE_CS__DEFAULT:
 				return getDefault();
+			case BaseCSPackage.STRUCTURAL_FEATURE_CS__IS_READONLY:
+				return isIsReadonly();
+			case BaseCSPackage.STRUCTURAL_FEATURE_CS__IS_TRANSIENT:
+				return isIsTransient();
+			case BaseCSPackage.STRUCTURAL_FEATURE_CS__IS_UNSETTABLE:
+				return isIsUnsettable();
+			case BaseCSPackage.STRUCTURAL_FEATURE_CS__IS_VOLATILE:
+				return isIsVolatile();
 			case BaseCSPackage.STRUCTURAL_FEATURE_CS__OWNED_DEFAULT_EXPRESSIONS:
 				return getOwnedDefaultExpressions();
 			case BaseCSPackage.STRUCTURAL_FEATURE_CS__OWNING_CLASS:
@@ -270,6 +462,18 @@
 			case BaseCSPackage.STRUCTURAL_FEATURE_CS__DEFAULT:
 				setDefault((String)newValue);
 				return;
+			case BaseCSPackage.STRUCTURAL_FEATURE_CS__IS_READONLY:
+				setIsReadonly((Boolean)newValue);
+				return;
+			case BaseCSPackage.STRUCTURAL_FEATURE_CS__IS_TRANSIENT:
+				setIsTransient((Boolean)newValue);
+				return;
+			case BaseCSPackage.STRUCTURAL_FEATURE_CS__IS_UNSETTABLE:
+				setIsUnsettable((Boolean)newValue);
+				return;
+			case BaseCSPackage.STRUCTURAL_FEATURE_CS__IS_VOLATILE:
+				setIsVolatile((Boolean)newValue);
+				return;
 			case BaseCSPackage.STRUCTURAL_FEATURE_CS__OWNED_DEFAULT_EXPRESSIONS:
 				getOwnedDefaultExpressions().clear();
 				getOwnedDefaultExpressions().addAll((Collection<? extends SpecificationCS>)newValue);
@@ -293,6 +497,18 @@
 			case BaseCSPackage.STRUCTURAL_FEATURE_CS__DEFAULT:
 				setDefault(DEFAULT_EDEFAULT);
 				return;
+			case BaseCSPackage.STRUCTURAL_FEATURE_CS__IS_READONLY:
+				setIsReadonly(IS_READONLY_EDEFAULT);
+				return;
+			case BaseCSPackage.STRUCTURAL_FEATURE_CS__IS_TRANSIENT:
+				setIsTransient(IS_TRANSIENT_EDEFAULT);
+				return;
+			case BaseCSPackage.STRUCTURAL_FEATURE_CS__IS_UNSETTABLE:
+				setIsUnsettable(IS_UNSETTABLE_EDEFAULT);
+				return;
+			case BaseCSPackage.STRUCTURAL_FEATURE_CS__IS_VOLATILE:
+				setIsVolatile(IS_VOLATILE_EDEFAULT);
+				return;
 			case BaseCSPackage.STRUCTURAL_FEATURE_CS__OWNED_DEFAULT_EXPRESSIONS:
 				getOwnedDefaultExpressions().clear();
 				return;
@@ -314,6 +530,14 @@
 		{
 			case BaseCSPackage.STRUCTURAL_FEATURE_CS__DEFAULT:
 				return DEFAULT_EDEFAULT == null ? default_ != null : !DEFAULT_EDEFAULT.equals(default_);
+			case BaseCSPackage.STRUCTURAL_FEATURE_CS__IS_READONLY:
+				return isReadonly != IS_READONLY_EDEFAULT;
+			case BaseCSPackage.STRUCTURAL_FEATURE_CS__IS_TRANSIENT:
+				return isTransient != IS_TRANSIENT_EDEFAULT;
+			case BaseCSPackage.STRUCTURAL_FEATURE_CS__IS_UNSETTABLE:
+				return isUnsettable != IS_UNSETTABLE_EDEFAULT;
+			case BaseCSPackage.STRUCTURAL_FEATURE_CS__IS_VOLATILE:
+				return isVolatile != IS_VOLATILE_EDEFAULT;
 			case BaseCSPackage.STRUCTURAL_FEATURE_CS__OWNED_DEFAULT_EXPRESSIONS:
 				return ownedDefaultExpressions != null && !ownedDefaultExpressions.isEmpty();
 			case BaseCSPackage.STRUCTURAL_FEATURE_CS__OWNING_CLASS:
diff --git a/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/impl/TypedElementCSImpl.java b/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/impl/TypedElementCSImpl.java
index a515295..6268113 100644
--- a/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/impl/TypedElementCSImpl.java
+++ b/plugins/org.eclipse.ocl.xtext.base/emf-gen/org/eclipse/ocl/xtext/basecs/impl/TypedElementCSImpl.java
@@ -10,15 +10,11 @@
  *******************************************************************************/
 package org.eclipse.ocl.xtext.basecs.impl;
 
-import java.util.Collection;
-
 import org.eclipse.emf.common.notify.Notification;
 import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.InternalEObject;
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
 import org.eclipse.ocl.xtext.basecs.BaseCSPackage;
 import org.eclipse.ocl.xtext.basecs.TypedElementCS;
 import org.eclipse.ocl.xtext.basecs.TypedRefCS;
@@ -32,9 +28,10 @@
  * The following features are implemented:
  * </p>
  * <ul>
+ *   <li>{@link org.eclipse.ocl.xtext.basecs.impl.TypedElementCSImpl#isIsNotUnique <em>Is Not Unique</em>}</li>
  *   <li>{@link org.eclipse.ocl.xtext.basecs.impl.TypedElementCSImpl#isIsOptional <em>Is Optional</em>}</li>
+ *   <li>{@link org.eclipse.ocl.xtext.basecs.impl.TypedElementCSImpl#isIsOrdered <em>Is Ordered</em>}</li>
  *   <li>{@link org.eclipse.ocl.xtext.basecs.impl.TypedElementCSImpl#getOwnedType <em>Owned Type</em>}</li>
- *   <li>{@link org.eclipse.ocl.xtext.basecs.impl.TypedElementCSImpl#getQualifiers <em>Qualifiers</em>}</li>
  * </ul>
  *
  * @generated
@@ -42,6 +39,26 @@
 public abstract class TypedElementCSImpl extends NamedElementCSImpl implements TypedElementCS
 {
 	/**
+	 * The default value of the '{@link #isIsNotUnique() <em>Is Not Unique</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isIsNotUnique()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean IS_NOT_UNIQUE_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isIsNotUnique() <em>Is Not Unique</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isIsNotUnique()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean isNotUnique = IS_NOT_UNIQUE_EDEFAULT;
+
+	/**
 	 * The default value of the '{@link #isIsOptional() <em>Is Optional</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -62,6 +79,26 @@
 	protected boolean isOptional = IS_OPTIONAL_EDEFAULT;
 
 	/**
+	 * The default value of the '{@link #isIsOrdered() <em>Is Ordered</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isIsOrdered()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean IS_ORDERED_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isIsOrdered() <em>Is Ordered</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isIsOrdered()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean isOrdered = IS_ORDERED_EDEFAULT;
+
+	/**
 	 * The cached value of the '{@link #getOwnedType() <em>Owned Type</em>}' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -72,16 +109,6 @@
 	protected TypedRefCS ownedType;
 
 	/**
-	 * The cached value of the '{@link #getQualifiers() <em>Qualifiers</em>}' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getQualifiers()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList<String> qualifiers;
-
-	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -108,6 +135,31 @@
 	 * @generated
 	 */
 	@Override
+	public boolean isIsNotUnique()
+	{
+		return isNotUnique;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setIsNotUnique(boolean newIsNotUnique)
+	{
+		boolean oldIsNotUnique = isNotUnique;
+		isNotUnique = newIsNotUnique;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, BaseCSPackage.TYPED_ELEMENT_CS__IS_NOT_UNIQUE, oldIsNotUnique, isNotUnique));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
 	public TypedRefCS getOwnedType()
 	{
 		return ownedType;
@@ -158,21 +210,6 @@
 	 * @generated
 	 */
 	@Override
-	public EList<String> getQualifiers()
-	{
-		if (qualifiers == null)
-		{
-			qualifiers = new EDataTypeUniqueEList<String>(String.class, this, BaseCSPackage.TYPED_ELEMENT_CS__QUALIFIERS);
-		}
-		return qualifiers;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
 	public boolean isIsOptional()
 	{
 		return isOptional;
@@ -198,6 +235,31 @@
 	 * @generated
 	 */
 	@Override
+	public boolean isIsOrdered()
+	{
+		return isOrdered;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setIsOrdered(boolean newIsOrdered)
+	{
+		boolean oldIsOrdered = isOrdered;
+		isOrdered = newIsOrdered;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, BaseCSPackage.TYPED_ELEMENT_CS__IS_ORDERED, oldIsOrdered, isOrdered));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
 	public String toString()
 	{
 		return super.toString();
@@ -229,12 +291,14 @@
 	{
 		switch (featureID)
 		{
+			case BaseCSPackage.TYPED_ELEMENT_CS__IS_NOT_UNIQUE:
+				return isIsNotUnique();
 			case BaseCSPackage.TYPED_ELEMENT_CS__IS_OPTIONAL:
 				return isIsOptional();
+			case BaseCSPackage.TYPED_ELEMENT_CS__IS_ORDERED:
+				return isIsOrdered();
 			case BaseCSPackage.TYPED_ELEMENT_CS__OWNED_TYPE:
 				return getOwnedType();
-			case BaseCSPackage.TYPED_ELEMENT_CS__QUALIFIERS:
-				return getQualifiers();
 		}
 		return super.eGet(featureID, resolve, coreType);
 	}
@@ -250,16 +314,18 @@
 	{
 		switch (featureID)
 		{
+			case BaseCSPackage.TYPED_ELEMENT_CS__IS_NOT_UNIQUE:
+				setIsNotUnique((Boolean)newValue);
+				return;
 			case BaseCSPackage.TYPED_ELEMENT_CS__IS_OPTIONAL:
 				setIsOptional((Boolean)newValue);
 				return;
+			case BaseCSPackage.TYPED_ELEMENT_CS__IS_ORDERED:
+				setIsOrdered((Boolean)newValue);
+				return;
 			case BaseCSPackage.TYPED_ELEMENT_CS__OWNED_TYPE:
 				setOwnedType((TypedRefCS)newValue);
 				return;
-			case BaseCSPackage.TYPED_ELEMENT_CS__QUALIFIERS:
-				getQualifiers().clear();
-				getQualifiers().addAll((Collection<? extends String>)newValue);
-				return;
 		}
 		super.eSet(featureID, newValue);
 	}
@@ -274,15 +340,18 @@
 	{
 		switch (featureID)
 		{
+			case BaseCSPackage.TYPED_ELEMENT_CS__IS_NOT_UNIQUE:
+				setIsNotUnique(IS_NOT_UNIQUE_EDEFAULT);
+				return;
 			case BaseCSPackage.TYPED_ELEMENT_CS__IS_OPTIONAL:
 				setIsOptional(IS_OPTIONAL_EDEFAULT);
 				return;
+			case BaseCSPackage.TYPED_ELEMENT_CS__IS_ORDERED:
+				setIsOrdered(IS_ORDERED_EDEFAULT);
+				return;
 			case BaseCSPackage.TYPED_ELEMENT_CS__OWNED_TYPE:
 				setOwnedType((TypedRefCS)null);
 				return;
-			case BaseCSPackage.TYPED_ELEMENT_CS__QUALIFIERS:
-				getQualifiers().clear();
-				return;
 		}
 		super.eUnset(featureID);
 	}
@@ -297,12 +366,14 @@
 	{
 		switch (featureID)
 		{
+			case BaseCSPackage.TYPED_ELEMENT_CS__IS_NOT_UNIQUE:
+				return isNotUnique != IS_NOT_UNIQUE_EDEFAULT;
 			case BaseCSPackage.TYPED_ELEMENT_CS__IS_OPTIONAL:
 				return isOptional != IS_OPTIONAL_EDEFAULT;
+			case BaseCSPackage.TYPED_ELEMENT_CS__IS_ORDERED:
+				return isOrdered != IS_ORDERED_EDEFAULT;
 			case BaseCSPackage.TYPED_ELEMENT_CS__OWNED_TYPE:
 				return ownedType != null;
-			case BaseCSPackage.TYPED_ELEMENT_CS__QUALIFIERS:
-				return qualifiers != null && !qualifiers.isEmpty();
 		}
 		return super.eIsSet(featureID);
 	}
diff --git a/plugins/org.eclipse.ocl.xtext.base/model/BaseCS.ecore b/plugins/org.eclipse.ocl.xtext.base/model/BaseCS.ecore
index e70aca8..ac673a1 100644
--- a/plugins/org.eclipse.ocl.xtext.base/model/BaseCS.ecore
+++ b/plugins/org.eclipse.ocl.xtext.base/model/BaseCS.ecore
@@ -16,7 +16,9 @@
     <eStructuralFeatures xsi:type="ecore:EReference" name="ownedDetails" upperBound="-1"
         eType="#//DetailCS" containment="true"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="AttributeCS" eSuperTypes="#//StructuralFeatureCS"/>
+  <eClassifiers xsi:type="ecore:EClass" name="AttributeCS" eSuperTypes="#//StructuralFeatureCS">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isId" eType="ecore:EDataType ../../org.eclipse.ocl.pivot.internal/model/Pivot.ecore#//Boolean"/>
+  </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ClassCS" abstract="true" eSuperTypes="#//NamedElementCS #//TypeCS #//TemplateableElementCS">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="instanceClassName" eType="ecore:EDataType ../../org.eclipse.ocl.pivot.internal/model/Pivot.ecore#//String"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="ownedConstraints" upperBound="-1"
@@ -62,7 +64,11 @@
   <eClassifiers xsi:type="ecore:EClass" name="EnumerationLiteralCS" eSuperTypes="#//NamedElementCS">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="FeatureCS" abstract="true" eSuperTypes="#//TypedElementCS"/>
+  <eClassifiers xsi:type="ecore:EClass" name="FeatureCS" abstract="true" eSuperTypes="#//TypedElementCS">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDefinition" eType="ecore:EDataType ../../org.eclipse.ocl.pivot.internal/model/Pivot.ecore#//Boolean"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDerived" eType="ecore:EDataType ../../org.eclipse.ocl.pivot.internal/model/Pivot.ecore#//Boolean"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isStatic" eType="ecore:EDataType ../../org.eclipse.ocl.pivot.internal/model/Pivot.ecore#//Boolean"/>
+  </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ImportCS" eSuperTypes="#//NamespaceCS">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="isAll" eType="ecore:EDataType ../../org.eclipse.ocl.pivot.internal/model/Pivot.ecore#//Boolean"
         defaultValueLiteral="false"/>
@@ -175,6 +181,8 @@
     <eStructuralFeatures xsi:type="ecore:EReference" name="referredKeys" upperBound="-1"
         eType="ecore:EClass ../../org.eclipse.ocl.pivot.internal/model/Pivot.ecore#//Property"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="referredOpposite" eType="ecore:EClass ../../org.eclipse.ocl.pivot.internal/model/Pivot.ecore#//Property"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isComposes" eType="ecore:EDataType ../../org.eclipse.ocl.pivot.internal/model/Pivot.ecore#//Boolean"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isResolve" eType="ecore:EDataType ../../org.eclipse.ocl.pivot.internal/model/Pivot.ecore#//Boolean"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="RootCS" abstract="true" eSuperTypes="#//ModelElementCS">
     <eStructuralFeatures xsi:type="ecore:EReference" name="ownedImports" upperBound="-1"
@@ -189,6 +197,10 @@
   <eClassifiers xsi:type="ecore:EClass" name="StructuralFeatureCS" abstract="true"
       eSuperTypes="#//FeatureCS">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="default" eType="ecore:EDataType ../../org.eclipse.ocl.pivot.internal/model/Pivot.ecore#//String"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isReadonly" eType="ecore:EDataType ../../org.eclipse.ocl.pivot.internal/model/Pivot.ecore#//Boolean"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isTransient" eType="ecore:EDataType ../../org.eclipse.ocl.pivot.internal/model/Pivot.ecore#//Boolean"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isUnsettable" eType="ecore:EDataType ../../org.eclipse.ocl.pivot.internal/model/Pivot.ecore#//Boolean"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isVolatile" eType="ecore:EDataType ../../org.eclipse.ocl.pivot.internal/model/Pivot.ecore#//Boolean"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="ownedDefaultExpressions"
         upperBound="-1" eType="#//SpecificationCS" containment="true"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="owningClass" eType="#//StructuredClassCS"
@@ -251,11 +263,13 @@
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="TypeRefCS" abstract="true" eSuperTypes="#//ElementRefCS"/>
   <eClassifiers xsi:type="ecore:EClass" name="TypedElementCS" abstract="true" eSuperTypes="#//NamedElementCS">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isNotUnique" eType="ecore:EDataType ../../org.eclipse.ocl.pivot.internal/model/Pivot.ecore#//Boolean"
+        defaultValueLiteral="false"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="isOptional" eType="ecore:EDataType ../../org.eclipse.ocl.pivot.internal/model/Pivot.ecore#//Boolean"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isOrdered" eType="ecore:EDataType ../../org.eclipse.ocl.pivot.internal/model/Pivot.ecore#//Boolean"
+        defaultValueLiteral="false"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="ownedType" eType="#//TypedRefCS"
         containment="true"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="qualifiers" upperBound="-1"
-        eType="ecore:EDataType ../../org.eclipse.ocl.pivot.internal/model/Pivot.ecore#//String"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="TypedRefCS" abstract="true" eSuperTypes="#//TypeRefCS">
     <eStructuralFeatures xsi:type="ecore:EReference" name="ownedMultiplicity" eType="#//MultiplicityCS"
diff --git a/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/as2cs/AS2CSConversion.java b/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/as2cs/AS2CSConversion.java
index 5544b87..a2b118d 100644
--- a/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/as2cs/AS2CSConversion.java
+++ b/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/as2cs/AS2CSConversion.java
@@ -418,43 +418,14 @@
 		}
 	}
 
-	public void refreshQualifiers(List<String> qualifiers, String trueString, String falseString, Boolean polarity) {
-		boolean isFalse = false;
-		boolean isTrue = false;
-		for (String qualifier : qualifiers) {
-			if (qualifier.equals(trueString)) {
-				if (isTrue || (polarity != Boolean.TRUE)) {
-					qualifiers.remove(qualifier);
-				}
-				isTrue = true;
-			}
-			if (qualifier.equals(falseString)) {
-				if (isTrue || (polarity != Boolean.FALSE)) {
-					qualifiers.remove(qualifier);
-				}
-				isFalse = true;
-			}
-		}
-		if (polarity == Boolean.TRUE) {
-			if (!isTrue) {
-				qualifiers.add(trueString);
-			}
-		}
-		else if (polarity == Boolean.FALSE) {
-			if (!isFalse) {
-				qualifiers.add(falseString);
-			}
-		}
-	}
-
 	public <T extends StructuralFeatureCS> T refreshStructuralFeature(@NonNull Class<T> csClass, /*@NonNull */EClass csEClass, @NonNull Property object) {
 		T csElement = refreshTypedElement(csClass, csEClass, object);
-		refreshQualifiers(csElement.getQualifiers(), "derived", object.isDerived());
-		refreshQualifiers(csElement.getQualifiers(), "readonly", object.isReadOnly());
-		refreshQualifiers(csElement.getQualifiers(), "static", object.isStatic());
-		refreshQualifiers(csElement.getQualifiers(), "transient", object.isTransient());
-		refreshQualifiers(csElement.getQualifiers(), "unsettable", object.isUnsettable());
-		refreshQualifiers(csElement.getQualifiers(), "volatile", object.isVolatile());
+		csElement.setIsDerived(object.isDerived());
+		csElement.setIsReadonly(object.isReadOnly());
+		csElement.setIsStatic(object.isStatic());
+		csElement.setIsTransient(object.isTransient());
+		csElement.setIsUnsettable(object.isUnsettable());
+		csElement.setIsVolatile(object.isVolatile());
 		csElement.setDefault(object.getDefaultValueString());
 		return csElement;
 	}
@@ -490,9 +461,8 @@
 				lower = collectionType.getLower().intValue();
 				Number upper2 = collectionType.getUpper();
 				upper = upper2 instanceof Unlimited ? -1 : upper2.intValue();
-				List<String> qualifiers = csElement.getQualifiers();
-				refreshQualifiers(qualifiers, "ordered", "!ordered", collectionType.isOrdered() ? Boolean.TRUE : null);
-				refreshQualifiers(qualifiers, "unique", "!unique", collectionType.isUnique() ? null : Boolean.FALSE);
+				csElement.setIsOrdered(collectionType.isOrdered());
+				csElement.setIsNotUnique(!collectionType.isUnique());
 			}
 			else {
 				lower = object.isRequired() ? 1 : 0;
diff --git a/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/as2cs/BaseDeclarationVisitor.java b/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/as2cs/BaseDeclarationVisitor.java
index 662442a..320cfb9 100644
--- a/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/as2cs/BaseDeclarationVisitor.java
+++ b/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/as2cs/BaseDeclarationVisitor.java
@@ -255,13 +255,13 @@
 		}
 		if (type instanceof DataType) {
 			AttributeCS csAttribute = context.refreshStructuralFeature(AttributeCS.class, BaseCSPackage.Literals.ATTRIBUTE_CS, object);
-			context.refreshQualifiers(csAttribute.getQualifiers(), "id", object.isID());
+			csAttribute.setIsId(object.isID());
 			csElement = csAttribute;
 		}
 		else {
 			ReferenceCS csReference = context.refreshStructuralFeature(ReferenceCS.class, BaseCSPackage.Literals.REFERENCE_CS, object);
-			context.refreshQualifiers(csReference.getQualifiers(), "composes", object.isComposite());
-			context.refreshQualifiers(csReference.getQualifiers(), "resolve", "!resolve", object.isResolveProxies() ? null : Boolean.FALSE);
+			csReference.setIsComposes(object.isComposite());
+			csReference.setIsResolve(object.isResolveProxies());
 			Property opposite = object.getOpposite();
 			if (opposite != null) {
 				if (!opposite.isImplicit()) {
diff --git a/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/cs2as/BaseCSContainmentVisitor.java b/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/cs2as/BaseCSContainmentVisitor.java
index 73bf47e..764a7d3 100644
--- a/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/cs2as/BaseCSContainmentVisitor.java
+++ b/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/cs2as/BaseCSContainmentVisitor.java
@@ -43,9 +43,9 @@
 import org.eclipse.ocl.pivot.manager.MetaModelManager;
 import org.eclipse.ocl.pivot.utilities.PivotUtil;
 import org.eclipse.ocl.xtext.base.utilities.BaseCSResource;
-import org.eclipse.ocl.xtext.base.utilities.ElementUtil;
 import org.eclipse.ocl.xtext.basecs.AnnotationCS;
 import org.eclipse.ocl.xtext.basecs.AnnotationElementCS;
+import org.eclipse.ocl.xtext.basecs.AttributeCS;
 import org.eclipse.ocl.xtext.basecs.BaseCSPackage;
 import org.eclipse.ocl.xtext.basecs.ClassCS;
 import org.eclipse.ocl.xtext.basecs.ConstraintCS;
@@ -69,6 +69,7 @@
 import org.eclipse.ocl.xtext.basecs.PathElementCS;
 import org.eclipse.ocl.xtext.basecs.PathNameCS;
 import org.eclipse.ocl.xtext.basecs.PrimitiveTypeRefCS;
+import org.eclipse.ocl.xtext.basecs.ReferenceCS;
 import org.eclipse.ocl.xtext.basecs.RootCS;
 import org.eclipse.ocl.xtext.basecs.RootPackageCS;
 import org.eclipse.ocl.xtext.basecs.SpecificationCS;
@@ -270,6 +271,16 @@
 	}
 
 	@Override
+	public Continuation<?> visitAttributeCS(@NonNull AttributeCS csElement) {
+		Continuation<?> continuation = visitStructuralFeatureCS(csElement);
+		Property pivotElement = PivotUtil.getPivot(Property.class, csElement);
+		if (pivotElement != null) {
+			pivotElement.setIsID(csElement.isIsId());
+		}
+		return continuation;
+	}
+
+	@Override
 	public Continuation<?> visitConstraintCS(@NonNull ConstraintCS csElement) {
 		@SuppressWarnings("null") @NonNull EClass eClass = PivotPackage.Literals.CONSTRAINT;
 		Constraint pivotElement = refreshNamedElement(Constraint.class, eClass, csElement);
@@ -423,6 +434,17 @@
 	}
 
 	@Override
+	public Continuation<?> visitReferenceCS(@NonNull ReferenceCS csElement) {
+		Continuation<?> continuation = visitStructuralFeatureCS(csElement);
+		Property pivotElement = PivotUtil.getPivot(Property.class, csElement);
+		if (pivotElement != null) {
+			pivotElement.setIsComposite(csElement.isIsComposes());
+			pivotElement.setIsResolveProxies(csElement.isIsResolve());
+		}
+		return continuation;
+	}
+
+	@Override
 	public Continuation<?> visitRootPackageCS(@NonNull RootPackageCS csElement) {
 		importPackages(csElement);
 		@SuppressWarnings("null") @NonNull EClass eClass = PivotPackage.Literals.MODEL;
@@ -465,16 +487,12 @@
 	public Continuation<?> visitStructuralFeatureCS(@NonNull StructuralFeatureCS csElement) {
 		@SuppressWarnings("null") @NonNull EClass eClass = PivotPackage.Literals.PROPERTY;
 		Property pivotElement = refreshNamedElement(Property.class, eClass, csElement);
-		List<String> qualifiers = csElement.getQualifiers();
-		pivotElement.setIsComposite(qualifiers.contains("composes"));
-		pivotElement.setIsDerived(qualifiers.contains("derived"));
-		pivotElement.setIsID(qualifiers.contains("id"));
-		pivotElement.setIsReadOnly(qualifiers.contains("readonly"));
-		pivotElement.setIsResolveProxies(ElementUtil.getQualifier(qualifiers, "resolve", "!resolve", true));
-		pivotElement.setIsStatic(qualifiers.contains("static"));
-		pivotElement.setIsTransient(qualifiers.contains("transient"));
-		pivotElement.setIsUnsettable(qualifiers.contains("unsettable"));
-		pivotElement.setIsVolatile(qualifiers.contains("volatile"));
+		pivotElement.setIsDerived(csElement.isIsDerived());
+		pivotElement.setIsReadOnly(csElement.isIsReadonly());
+		pivotElement.setIsStatic(csElement.isIsStatic());
+		pivotElement.setIsTransient(csElement.isIsTransient());
+		pivotElement.setIsUnsettable(csElement.isIsUnsettable());
+		pivotElement.setIsVolatile(csElement.isIsVolatile());
 		pivotElement.setDefaultValueString(csElement.getDefault());
 		List<SpecificationCS> csDefaultExpressions = csElement.getOwnedDefaultExpressions();
 		SpecificationCS csDefaultExpression = csDefaultExpressions.size() > 0 ? csDefaultExpressions.get(0) : null;
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 f8fa739..2fbcef8 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
@@ -750,8 +750,9 @@
 			boolean isUnique = false;
 			EObject eContainer = csElement.eContainer();
 			if (eContainer instanceof TypedElementCS) {
-				isOrdered = ElementUtil.isOrdered((TypedElementCS) eContainer);
-				isUnique = ElementUtil.isUnique((TypedElementCS) eContainer);
+				TypedElementCS csTypedElement = (TypedElementCS) eContainer;
+				isOrdered = csTypedElement.isIsOrdered();
+				isUnique = !csTypedElement.isIsNotUnique();
 			}
 			IntegerValue lowerValue = ValueUtil.integerValueOf(lower);
 			UnlimitedNaturalValue upperValue = upper != -1 ? ValueUtil.unlimitedNaturalValueOf(upper) : ValueUtil.UNLIMITED_VALUE;
diff --git a/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/utilities/ElementUtil.java b/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/utilities/ElementUtil.java
index 649856f..0031f71 100644
--- a/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/utilities/ElementUtil.java
+++ b/plugins/org.eclipse.ocl.xtext.base/src/org/eclipse/ocl/xtext/base/utilities/ElementUtil.java
@@ -120,21 +120,8 @@
 		if (upper == 1) {
 			return null;
 		}
-		List<String> qualifiers = csTypedElement.getQualifiers();
-		boolean isOrdered = true;
-		boolean isUnique = true;
-		if (qualifiers.contains("!ordered")) { //$NON-NLS-1$
-			isOrdered = false;
-		}
-		else if (qualifiers.contains("ordered")) { //$NON-NLS-1$
-			isOrdered = true;
-		}
-		if (qualifiers.contains("!unique")) { //$NON-NLS-1$
-			isUnique = false;
-		}
-		else if (qualifiers.contains("unique")) { //$NON-NLS-1$
-			isUnique = true;
-		}
+	boolean isOrdered = csTypedElement.isIsOrdered();
+		boolean isUnique = !csTypedElement.isIsNotUnique();
 		return getCollectionName(isOrdered, isUnique);
 	}
 
@@ -434,18 +421,6 @@
 		return false;
 	}
 
-	public static boolean isOrdered(@NonNull TypedElementCS csTypedElement) {
-		List<String> qualifiers = csTypedElement.getQualifiers();
-		assert qualifiers != null;
-		return getQualifier(qualifiers, "ordered", "!ordered", false);
-	}
-
-	public static boolean isUnique(@NonNull TypedElementCS csTypedElement) {
-		List<String> qualifiers = csTypedElement.getQualifiers();
-		assert qualifiers != null;
-		return getQualifier(qualifiers, "unique", "!unique", true);
-	}
-
 	public static boolean isSpecialization(@NonNull TemplateBindingCS csTemplateBinding) {
 		TypedTypeRefCS csTypedTypeRef = csTemplateBinding.getOwningElement();
 		Element type = csTypedTypeRef.getPivot();
diff --git a/plugins/org.eclipse.ocl.xtext.completeocl/emf-gen/org/eclipse/ocl/xtext/completeoclcs/CompleteOCLCSPackage.java b/plugins/org.eclipse.ocl.xtext.completeocl/emf-gen/org/eclipse/ocl/xtext/completeoclcs/CompleteOCLCSPackage.java
index 9c210d4..173729e 100644
--- a/plugins/org.eclipse.ocl.xtext.completeocl/emf-gen/org/eclipse/ocl/xtext/completeoclcs/CompleteOCLCSPackage.java
+++ b/plugins/org.eclipse.ocl.xtext.completeocl/emf-gen/org/eclipse/ocl/xtext/completeoclcs/CompleteOCLCSPackage.java
@@ -544,6 +544,15 @@
 	int DEF_CS__NAME = BaseCSPackage.TYPED_ELEMENT_CS__NAME;
 
 	/**
+	 * The feature id for the '<em><b>Is Not Unique</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEF_CS__IS_NOT_UNIQUE = BaseCSPackage.TYPED_ELEMENT_CS__IS_NOT_UNIQUE;
+
+	/**
 	 * The feature id for the '<em><b>Is Optional</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -553,6 +562,15 @@
 	int DEF_CS__IS_OPTIONAL = BaseCSPackage.TYPED_ELEMENT_CS__IS_OPTIONAL;
 
 	/**
+	 * The feature id for the '<em><b>Is Ordered</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEF_CS__IS_ORDERED = BaseCSPackage.TYPED_ELEMENT_CS__IS_ORDERED;
+
+	/**
 	 * The feature id for the '<em><b>Owned Type</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -562,15 +580,6 @@
 	int DEF_CS__OWNED_TYPE = BaseCSPackage.TYPED_ELEMENT_CS__OWNED_TYPE;
 
 	/**
-	 * The feature id for the '<em><b>Qualifiers</b></em>' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEF_CS__QUALIFIERS = BaseCSPackage.TYPED_ELEMENT_CS__QUALIFIERS;
-
-	/**
 	 * The feature id for the '<em><b>Is Static</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -671,6 +680,15 @@
 	int DEF_OPERATION_CS__NAME = DEF_CS__NAME;
 
 	/**
+	 * The feature id for the '<em><b>Is Not Unique</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEF_OPERATION_CS__IS_NOT_UNIQUE = DEF_CS__IS_NOT_UNIQUE;
+
+	/**
 	 * The feature id for the '<em><b>Is Optional</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -680,6 +698,15 @@
 	int DEF_OPERATION_CS__IS_OPTIONAL = DEF_CS__IS_OPTIONAL;
 
 	/**
+	 * The feature id for the '<em><b>Is Ordered</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEF_OPERATION_CS__IS_ORDERED = DEF_CS__IS_ORDERED;
+
+	/**
 	 * The feature id for the '<em><b>Owned Type</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -689,15 +716,6 @@
 	int DEF_OPERATION_CS__OWNED_TYPE = DEF_CS__OWNED_TYPE;
 
 	/**
-	 * The feature id for the '<em><b>Qualifiers</b></em>' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEF_OPERATION_CS__QUALIFIERS = DEF_CS__QUALIFIERS;
-
-	/**
 	 * The feature id for the '<em><b>Is Static</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -816,6 +834,15 @@
 	int DEF_PROPERTY_CS__NAME = DEF_CS__NAME;
 
 	/**
+	 * The feature id for the '<em><b>Is Not Unique</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEF_PROPERTY_CS__IS_NOT_UNIQUE = DEF_CS__IS_NOT_UNIQUE;
+
+	/**
 	 * The feature id for the '<em><b>Is Optional</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -825,6 +852,15 @@
 	int DEF_PROPERTY_CS__IS_OPTIONAL = DEF_CS__IS_OPTIONAL;
 
 	/**
+	 * The feature id for the '<em><b>Is Ordered</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEF_PROPERTY_CS__IS_ORDERED = DEF_CS__IS_ORDERED;
+
+	/**
 	 * The feature id for the '<em><b>Owned Type</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -834,15 +870,6 @@
 	int DEF_PROPERTY_CS__OWNED_TYPE = DEF_CS__OWNED_TYPE;
 
 	/**
-	 * The feature id for the '<em><b>Qualifiers</b></em>' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEF_PROPERTY_CS__QUALIFIERS = DEF_CS__QUALIFIERS;
-
-	/**
 	 * The feature id for the '<em><b>Is Static</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/AbstractOCLinEcoreProposalProvider.java b/plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/AbstractOCLinEcoreProposalProvider.java
index f1aec11..0d620b3 100644
--- a/plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/AbstractOCLinEcoreProposalProvider.java
+++ b/plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/AbstractOCLinEcoreProposalProvider.java
@@ -80,7 +80,10 @@
 	public void completeAnnotationCS_OwnedReferences(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
-	public void completeAttributeCS_Qualifiers(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void completeAttributeCS_IsStatic(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void completeAttributeCS_IsDefinition(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		// subclasses may override
 	}
 	public void completeAttributeCS_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
@@ -92,6 +95,30 @@
 	public void completeAttributeCS_Default(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
+	public void completeAttributeCS_IsDerived(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void completeAttributeCS_IsId(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void completeAttributeCS_IsOrdered(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void completeAttributeCS_IsReadonly(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void completeAttributeCS_IsTransient(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void completeAttributeCS_IsNotUnique(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void completeAttributeCS_IsUnsettable(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void completeAttributeCS_IsVolatile(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
 	public void completeAttributeCS_OwnedAnnotations(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
@@ -181,7 +208,10 @@
 	public void completeModelElementRefCS_OwnedPathName(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
-	public void completeOperationCS_Qualifiers(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void completeOperationCS_IsStatic(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void completeOperationCS_IsDefinition(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		// subclasses may override
 	}
 	public void completeOperationCS_OwnedSignature(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
@@ -199,6 +229,15 @@
 	public void completeOperationCS_OwnedExceptions(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
+	public void completeOperationCS_IsDerived(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void completeOperationCS_IsOrdered(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void completeOperationCS_IsNotUnique(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
 	public void completeOperationCS_OwnedAnnotations(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
@@ -235,13 +274,19 @@
 	public void completeParameterCS_OwnedType(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
-	public void completeParameterCS_Qualifiers(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void completeParameterCS_IsOrdered(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void completeParameterCS_IsNotUnique(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		// subclasses may override
 	}
 	public void completeParameterCS_OwnedAnnotations(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
-	public void completeReferenceCS_Qualifiers(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void completeReferenceCS_IsStatic(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void completeReferenceCS_IsDefinition(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		// subclasses may override
 	}
 	public void completeReferenceCS_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
@@ -256,6 +301,33 @@
 	public void completeReferenceCS_Default(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
+	public void completeReferenceCS_IsComposes(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void completeReferenceCS_IsDerived(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void completeReferenceCS_IsOrdered(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void completeReferenceCS_IsReadonly(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void completeReferenceCS_IsResolve(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void completeReferenceCS_IsTransient(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void completeReferenceCS_IsNotUnique(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void completeReferenceCS_IsUnsettable(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void completeReferenceCS_IsVolatile(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
 	public void completeReferenceCS_OwnedAnnotations(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
diff --git a/plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/OCLinEcoreParser.java b/plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/OCLinEcoreParser.java
index 4a999ff..e2313bb 100644
--- a/plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/OCLinEcoreParser.java
+++ b/plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/OCLinEcoreParser.java
@@ -43,8 +43,14 @@
 					put(grammarAccess.getAnnotationCSAccess().getAlternatives_4(), "rule__AnnotationCS__Alternatives_4");
 					put(grammarAccess.getAnnotationCSAccess().getAlternatives_4_0_1(), "rule__AnnotationCS__Alternatives_4_0_1");
 					put(grammarAccess.getAnnotationElementCSAccess().getAlternatives(), "rule__AnnotationElementCS__Alternatives");
-					put(grammarAccess.getAttributeCSAccess().getAlternatives_0(), "rule__AttributeCS__Alternatives_0");
+					put(grammarAccess.getAttributeCSAccess().getAlternatives_5_0_1_0(), "rule__AttributeCS__Alternatives_5_0_1_0");
 					put(grammarAccess.getAttributeCSAccess().getAlternatives_5_1_0(), "rule__AttributeCS__Alternatives_5_1_0");
+					put(grammarAccess.getAttributeCSAccess().getAlternatives_5_2_0(), "rule__AttributeCS__Alternatives_5_2_0");
+					put(grammarAccess.getAttributeCSAccess().getAlternatives_5_3_0(), "rule__AttributeCS__Alternatives_5_3_0");
+					put(grammarAccess.getAttributeCSAccess().getAlternatives_5_4_0(), "rule__AttributeCS__Alternatives_5_4_0");
+					put(grammarAccess.getAttributeCSAccess().getAlternatives_5_5_0(), "rule__AttributeCS__Alternatives_5_5_0");
+					put(grammarAccess.getAttributeCSAccess().getAlternatives_5_6_0(), "rule__AttributeCS__Alternatives_5_6_0");
+					put(grammarAccess.getAttributeCSAccess().getAlternatives_5_7_0_0(), "rule__AttributeCS__Alternatives_5_7_0_0");
 					put(grammarAccess.getAttributeCSAccess().getAlternatives_6(), "rule__AttributeCS__Alternatives_6");
 					put(grammarAccess.getAttributeCSAccess().getAlternatives_6_0_1(), "rule__AttributeCS__Alternatives_6_0_1");
 					put(grammarAccess.getClassCSAccess().getAlternatives(), "rule__ClassCS__Alternatives");
@@ -59,15 +65,24 @@
 					put(grammarAccess.getEnumerationLiteralCSAccess().getAlternatives_0(), "rule__EnumerationLiteralCS__Alternatives_0");
 					put(grammarAccess.getEnumerationLiteralCSAccess().getAlternatives_2(), "rule__EnumerationLiteralCS__Alternatives_2");
 					put(grammarAccess.getModelElementCSAccess().getAlternatives(), "rule__ModelElementCS__Alternatives");
-					put(grammarAccess.getOperationCSAccess().getAlternatives_0(), "rule__OperationCS__Alternatives_0");
+					put(grammarAccess.getOperationCSAccess().getAlternatives_9_0_1_0(), "rule__OperationCS__Alternatives_9_0_1_0");
 					put(grammarAccess.getOperationCSAccess().getAlternatives_9_1_0(), "rule__OperationCS__Alternatives_9_1_0");
+					put(grammarAccess.getOperationCSAccess().getAlternatives_9_2_0_0(), "rule__OperationCS__Alternatives_9_2_0_0");
 					put(grammarAccess.getOperationCSAccess().getAlternatives_10(), "rule__OperationCS__Alternatives_10");
 					put(grammarAccess.getOperationCSAccess().getAlternatives_10_0_1(), "rule__OperationCS__Alternatives_10_0_1");
 					put(grammarAccess.getPackageCSAccess().getAlternatives_4(), "rule__PackageCS__Alternatives_4");
 					put(grammarAccess.getPackageCSAccess().getAlternatives_4_0_1(), "rule__PackageCS__Alternatives_4_0_1");
-					put(grammarAccess.getParameterCSAccess().getAlternatives_2_1_0(), "rule__ParameterCS__Alternatives_2_1_0");
-					put(grammarAccess.getReferenceCSAccess().getAlternatives_0(), "rule__ReferenceCS__Alternatives_0");
+					put(grammarAccess.getParameterCSAccess().getAlternatives_2_0_1_0(), "rule__ParameterCS__Alternatives_2_0_1_0");
+					put(grammarAccess.getParameterCSAccess().getAlternatives_2_1_0_0(), "rule__ParameterCS__Alternatives_2_1_0_0");
+					put(grammarAccess.getReferenceCSAccess().getAlternatives_6_0_1_0(), "rule__ReferenceCS__Alternatives_6_0_1_0");
 					put(grammarAccess.getReferenceCSAccess().getAlternatives_6_1_0(), "rule__ReferenceCS__Alternatives_6_1_0");
+					put(grammarAccess.getReferenceCSAccess().getAlternatives_6_2_0(), "rule__ReferenceCS__Alternatives_6_2_0");
+					put(grammarAccess.getReferenceCSAccess().getAlternatives_6_3_0(), "rule__ReferenceCS__Alternatives_6_3_0");
+					put(grammarAccess.getReferenceCSAccess().getAlternatives_6_4_0(), "rule__ReferenceCS__Alternatives_6_4_0");
+					put(grammarAccess.getReferenceCSAccess().getAlternatives_6_5_0(), "rule__ReferenceCS__Alternatives_6_5_0");
+					put(grammarAccess.getReferenceCSAccess().getAlternatives_6_6_0(), "rule__ReferenceCS__Alternatives_6_6_0");
+					put(grammarAccess.getReferenceCSAccess().getAlternatives_6_7_0(), "rule__ReferenceCS__Alternatives_6_7_0");
+					put(grammarAccess.getReferenceCSAccess().getAlternatives_6_8_0_0(), "rule__ReferenceCS__Alternatives_6_8_0_0");
 					put(grammarAccess.getReferenceCSAccess().getAlternatives_7(), "rule__ReferenceCS__Alternatives_7");
 					put(grammarAccess.getReferenceCSAccess().getAlternatives_7_0_1(), "rule__ReferenceCS__Alternatives_7_0_1");
 					put(grammarAccess.getSpecificationCSAccess().getAlternatives(), "rule__SpecificationCS__Alternatives");
@@ -129,12 +144,18 @@
 					put(grammarAccess.getAnnotationCSAccess().getGroup_3_2(), "rule__AnnotationCS__Group_3_2__0");
 					put(grammarAccess.getAnnotationCSAccess().getGroup_4_0(), "rule__AnnotationCS__Group_4_0__0");
 					put(grammarAccess.getAttributeCSAccess().getGroup(), "rule__AttributeCS__Group__0");
-					put(grammarAccess.getAttributeCSAccess().getGroup_0_0(), "rule__AttributeCS__Group_0_0__0");
-					put(grammarAccess.getAttributeCSAccess().getGroup_0_1(), "rule__AttributeCS__Group_0_1__0");
 					put(grammarAccess.getAttributeCSAccess().getGroup_3(), "rule__AttributeCS__Group_3__0");
 					put(grammarAccess.getAttributeCSAccess().getGroup_4(), "rule__AttributeCS__Group_4__0");
-					put(grammarAccess.getAttributeCSAccess().getGroup_5(), "rule__AttributeCS__Group_5__0");
+					put(grammarAccess.getAttributeCSAccess().getGroup_5_0(), "rule__AttributeCS__Group_5_0__0");
+					put(grammarAccess.getAttributeCSAccess().getGroup_5_0_1(), "rule__AttributeCS__Group_5_0_1__0");
 					put(grammarAccess.getAttributeCSAccess().getGroup_5_1(), "rule__AttributeCS__Group_5_1__0");
+					put(grammarAccess.getAttributeCSAccess().getGroup_5_2(), "rule__AttributeCS__Group_5_2__0");
+					put(grammarAccess.getAttributeCSAccess().getGroup_5_3(), "rule__AttributeCS__Group_5_3__0");
+					put(grammarAccess.getAttributeCSAccess().getGroup_5_4(), "rule__AttributeCS__Group_5_4__0");
+					put(grammarAccess.getAttributeCSAccess().getGroup_5_5(), "rule__AttributeCS__Group_5_5__0");
+					put(grammarAccess.getAttributeCSAccess().getGroup_5_6(), "rule__AttributeCS__Group_5_6__0");
+					put(grammarAccess.getAttributeCSAccess().getGroup_5_7(), "rule__AttributeCS__Group_5_7__0");
+					put(grammarAccess.getAttributeCSAccess().getGroup_5_7_0(), "rule__AttributeCS__Group_5_7_0__0");
 					put(grammarAccess.getAttributeCSAccess().getGroup_6_0(), "rule__AttributeCS__Group_6_0__0");
 					put(grammarAccess.getAttributeCSAccess().getGroup_6_0_1_1(), "rule__AttributeCS__Group_6_0_1_1__0");
 					put(grammarAccess.getAttributeCSAccess().getGroup_6_0_1_2(), "rule__AttributeCS__Group_6_0_1_2__0");
@@ -160,15 +181,16 @@
 					put(grammarAccess.getLibraryCSAccess().getGroup_1(), "rule__LibraryCS__Group_1__0");
 					put(grammarAccess.getModelElementRefCSAccess().getGroup(), "rule__ModelElementRefCS__Group__0");
 					put(grammarAccess.getOperationCSAccess().getGroup(), "rule__OperationCS__Group__0");
-					put(grammarAccess.getOperationCSAccess().getGroup_0_0(), "rule__OperationCS__Group_0_0__0");
-					put(grammarAccess.getOperationCSAccess().getGroup_0_1(), "rule__OperationCS__Group_0_1__0");
 					put(grammarAccess.getOperationCSAccess().getGroup_5(), "rule__OperationCS__Group_5__0");
 					put(grammarAccess.getOperationCSAccess().getGroup_5_1(), "rule__OperationCS__Group_5_1__0");
 					put(grammarAccess.getOperationCSAccess().getGroup_7(), "rule__OperationCS__Group_7__0");
 					put(grammarAccess.getOperationCSAccess().getGroup_8(), "rule__OperationCS__Group_8__0");
 					put(grammarAccess.getOperationCSAccess().getGroup_8_2(), "rule__OperationCS__Group_8_2__0");
-					put(grammarAccess.getOperationCSAccess().getGroup_9(), "rule__OperationCS__Group_9__0");
+					put(grammarAccess.getOperationCSAccess().getGroup_9_0(), "rule__OperationCS__Group_9_0__0");
+					put(grammarAccess.getOperationCSAccess().getGroup_9_0_1(), "rule__OperationCS__Group_9_0_1__0");
 					put(grammarAccess.getOperationCSAccess().getGroup_9_1(), "rule__OperationCS__Group_9_1__0");
+					put(grammarAccess.getOperationCSAccess().getGroup_9_2(), "rule__OperationCS__Group_9_2__0");
+					put(grammarAccess.getOperationCSAccess().getGroup_9_2_0(), "rule__OperationCS__Group_9_2_0__0");
 					put(grammarAccess.getOperationCSAccess().getGroup_10_0(), "rule__OperationCS__Group_10_0__0");
 					put(grammarAccess.getOperationCSAccess().getGroup_10_0_1_2(), "rule__OperationCS__Group_10_0_1_2__0");
 					put(grammarAccess.getPackageCSAccess().getGroup(), "rule__PackageCS__Group__0");
@@ -177,17 +199,26 @@
 					put(grammarAccess.getPackageCSAccess().getGroup_4_0(), "rule__PackageCS__Group_4_0__0");
 					put(grammarAccess.getParameterCSAccess().getGroup(), "rule__ParameterCS__Group__0");
 					put(grammarAccess.getParameterCSAccess().getGroup_1(), "rule__ParameterCS__Group_1__0");
-					put(grammarAccess.getParameterCSAccess().getGroup_2(), "rule__ParameterCS__Group_2__0");
+					put(grammarAccess.getParameterCSAccess().getGroup_2_0(), "rule__ParameterCS__Group_2_0__0");
+					put(grammarAccess.getParameterCSAccess().getGroup_2_0_1(), "rule__ParameterCS__Group_2_0_1__0");
 					put(grammarAccess.getParameterCSAccess().getGroup_2_1(), "rule__ParameterCS__Group_2_1__0");
+					put(grammarAccess.getParameterCSAccess().getGroup_2_1_0(), "rule__ParameterCS__Group_2_1_0__0");
 					put(grammarAccess.getParameterCSAccess().getGroup_3(), "rule__ParameterCS__Group_3__0");
 					put(grammarAccess.getReferenceCSAccess().getGroup(), "rule__ReferenceCS__Group__0");
-					put(grammarAccess.getReferenceCSAccess().getGroup_0_0(), "rule__ReferenceCS__Group_0_0__0");
-					put(grammarAccess.getReferenceCSAccess().getGroup_0_1(), "rule__ReferenceCS__Group_0_1__0");
 					put(grammarAccess.getReferenceCSAccess().getGroup_3(), "rule__ReferenceCS__Group_3__0");
 					put(grammarAccess.getReferenceCSAccess().getGroup_4(), "rule__ReferenceCS__Group_4__0");
 					put(grammarAccess.getReferenceCSAccess().getGroup_5(), "rule__ReferenceCS__Group_5__0");
-					put(grammarAccess.getReferenceCSAccess().getGroup_6(), "rule__ReferenceCS__Group_6__0");
+					put(grammarAccess.getReferenceCSAccess().getGroup_6_0(), "rule__ReferenceCS__Group_6_0__0");
+					put(grammarAccess.getReferenceCSAccess().getGroup_6_0_1(), "rule__ReferenceCS__Group_6_0_1__0");
 					put(grammarAccess.getReferenceCSAccess().getGroup_6_1(), "rule__ReferenceCS__Group_6_1__0");
+					put(grammarAccess.getReferenceCSAccess().getGroup_6_2(), "rule__ReferenceCS__Group_6_2__0");
+					put(grammarAccess.getReferenceCSAccess().getGroup_6_3(), "rule__ReferenceCS__Group_6_3__0");
+					put(grammarAccess.getReferenceCSAccess().getGroup_6_4(), "rule__ReferenceCS__Group_6_4__0");
+					put(grammarAccess.getReferenceCSAccess().getGroup_6_5(), "rule__ReferenceCS__Group_6_5__0");
+					put(grammarAccess.getReferenceCSAccess().getGroup_6_6(), "rule__ReferenceCS__Group_6_6__0");
+					put(grammarAccess.getReferenceCSAccess().getGroup_6_7(), "rule__ReferenceCS__Group_6_7__0");
+					put(grammarAccess.getReferenceCSAccess().getGroup_6_8(), "rule__ReferenceCS__Group_6_8__0");
+					put(grammarAccess.getReferenceCSAccess().getGroup_6_8_0(), "rule__ReferenceCS__Group_6_8_0__0");
 					put(grammarAccess.getReferenceCSAccess().getGroup_7_0(), "rule__ReferenceCS__Group_7_0__0");
 					put(grammarAccess.getReferenceCSAccess().getGroup_7_0_1_1(), "rule__ReferenceCS__Group_7_0_1_1__0");
 					put(grammarAccess.getReferenceCSAccess().getGroup_7_0_1_1_2(), "rule__ReferenceCS__Group_7_0_1_1_2__0");
@@ -319,29 +350,19 @@
 					put(grammarAccess.getAnnotationCSAccess().getOwnedAnnotationsAssignment_4_0_1_0(), "rule__AnnotationCS__OwnedAnnotationsAssignment_4_0_1_0");
 					put(grammarAccess.getAnnotationCSAccess().getOwnedContentsAssignment_4_0_1_1(), "rule__AnnotationCS__OwnedContentsAssignment_4_0_1_1");
 					put(grammarAccess.getAnnotationCSAccess().getOwnedReferencesAssignment_4_0_1_2(), "rule__AnnotationCS__OwnedReferencesAssignment_4_0_1_2");
-					put(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_0_0_0(), "rule__AttributeCS__QualifiersAssignment_0_0_0");
-					put(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_0_0_1(), "rule__AttributeCS__QualifiersAssignment_0_0_1");
-					put(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_0_1_0(), "rule__AttributeCS__QualifiersAssignment_0_1_0");
-					put(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_0_1_1(), "rule__AttributeCS__QualifiersAssignment_0_1_1");
+					put(grammarAccess.getAttributeCSAccess().getIsStaticAssignment_0_0(), "rule__AttributeCS__IsStaticAssignment_0_0");
+					put(grammarAccess.getAttributeCSAccess().getIsDefinitionAssignment_0_1(), "rule__AttributeCS__IsDefinitionAssignment_0_1");
 					put(grammarAccess.getAttributeCSAccess().getNameAssignment_2(), "rule__AttributeCS__NameAssignment_2");
 					put(grammarAccess.getAttributeCSAccess().getOwnedTypeAssignment_3_1(), "rule__AttributeCS__OwnedTypeAssignment_3_1");
 					put(grammarAccess.getAttributeCSAccess().getDefaultAssignment_4_1(), "rule__AttributeCS__DefaultAssignment_4_1");
-					put(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_0(), "rule__AttributeCS__QualifiersAssignment_5_1_0_0");
-					put(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_1(), "rule__AttributeCS__QualifiersAssignment_5_1_0_1");
-					put(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_2(), "rule__AttributeCS__QualifiersAssignment_5_1_0_2");
-					put(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_3(), "rule__AttributeCS__QualifiersAssignment_5_1_0_3");
-					put(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_4(), "rule__AttributeCS__QualifiersAssignment_5_1_0_4");
-					put(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_5(), "rule__AttributeCS__QualifiersAssignment_5_1_0_5");
-					put(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_6(), "rule__AttributeCS__QualifiersAssignment_5_1_0_6");
-					put(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_7(), "rule__AttributeCS__QualifiersAssignment_5_1_0_7");
-					put(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_8(), "rule__AttributeCS__QualifiersAssignment_5_1_0_8");
-					put(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_9(), "rule__AttributeCS__QualifiersAssignment_5_1_0_9");
-					put(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_10(), "rule__AttributeCS__QualifiersAssignment_5_1_0_10");
-					put(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_11(), "rule__AttributeCS__QualifiersAssignment_5_1_0_11");
-					put(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_12(), "rule__AttributeCS__QualifiersAssignment_5_1_0_12");
-					put(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_13(), "rule__AttributeCS__QualifiersAssignment_5_1_0_13");
-					put(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_14(), "rule__AttributeCS__QualifiersAssignment_5_1_0_14");
-					put(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_15(), "rule__AttributeCS__QualifiersAssignment_5_1_0_15");
+					put(grammarAccess.getAttributeCSAccess().getIsDerivedAssignment_5_0_1_0_0(), "rule__AttributeCS__IsDerivedAssignment_5_0_1_0_0");
+					put(grammarAccess.getAttributeCSAccess().getIsIdAssignment_5_1_0_0(), "rule__AttributeCS__IsIdAssignment_5_1_0_0");
+					put(grammarAccess.getAttributeCSAccess().getIsOrderedAssignment_5_2_0_0(), "rule__AttributeCS__IsOrderedAssignment_5_2_0_0");
+					put(grammarAccess.getAttributeCSAccess().getIsReadonlyAssignment_5_3_0_0(), "rule__AttributeCS__IsReadonlyAssignment_5_3_0_0");
+					put(grammarAccess.getAttributeCSAccess().getIsTransientAssignment_5_4_0_0(), "rule__AttributeCS__IsTransientAssignment_5_4_0_0");
+					put(grammarAccess.getAttributeCSAccess().getIsNotUniqueAssignment_5_5_0_0(), "rule__AttributeCS__IsNotUniqueAssignment_5_5_0_0");
+					put(grammarAccess.getAttributeCSAccess().getIsUnsettableAssignment_5_6_0_0(), "rule__AttributeCS__IsUnsettableAssignment_5_6_0_0");
+					put(grammarAccess.getAttributeCSAccess().getIsVolatileAssignment_5_7_0_0_0(), "rule__AttributeCS__IsVolatileAssignment_5_7_0_0_0");
 					put(grammarAccess.getAttributeCSAccess().getOwnedAnnotationsAssignment_6_0_1_0(), "rule__AttributeCS__OwnedAnnotationsAssignment_6_0_1_0");
 					put(grammarAccess.getAttributeCSAccess().getOwnedDefaultExpressionsAssignment_6_0_1_1_3(), "rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_1_3");
 					put(grammarAccess.getAttributeCSAccess().getOwnedDefaultExpressionsAssignment_6_0_1_2_3(), "rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_2_3");
@@ -374,10 +395,8 @@
 					put(grammarAccess.getLibraryCSAccess().getNameAssignment_1_0(), "rule__LibraryCS__NameAssignment_1_0");
 					put(grammarAccess.getLibraryCSAccess().getReferredPackageAssignment_2(), "rule__LibraryCS__ReferredPackageAssignment_2");
 					put(grammarAccess.getModelElementRefCSAccess().getOwnedPathNameAssignment_1(), "rule__ModelElementRefCS__OwnedPathNameAssignment_1");
-					put(grammarAccess.getOperationCSAccess().getQualifiersAssignment_0_0_0(), "rule__OperationCS__QualifiersAssignment_0_0_0");
-					put(grammarAccess.getOperationCSAccess().getQualifiersAssignment_0_0_1(), "rule__OperationCS__QualifiersAssignment_0_0_1");
-					put(grammarAccess.getOperationCSAccess().getQualifiersAssignment_0_1_0(), "rule__OperationCS__QualifiersAssignment_0_1_0");
-					put(grammarAccess.getOperationCSAccess().getQualifiersAssignment_0_1_1(), "rule__OperationCS__QualifiersAssignment_0_1_1");
+					put(grammarAccess.getOperationCSAccess().getIsStaticAssignment_0_0(), "rule__OperationCS__IsStaticAssignment_0_0");
+					put(grammarAccess.getOperationCSAccess().getIsDefinitionAssignment_0_1(), "rule__OperationCS__IsDefinitionAssignment_0_1");
 					put(grammarAccess.getOperationCSAccess().getOwnedSignatureAssignment_2(), "rule__OperationCS__OwnedSignatureAssignment_2");
 					put(grammarAccess.getOperationCSAccess().getNameAssignment_3(), "rule__OperationCS__NameAssignment_3");
 					put(grammarAccess.getOperationCSAccess().getOwnedParametersAssignment_5_0(), "rule__OperationCS__OwnedParametersAssignment_5_0");
@@ -385,12 +404,9 @@
 					put(grammarAccess.getOperationCSAccess().getOwnedTypeAssignment_7_1(), "rule__OperationCS__OwnedTypeAssignment_7_1");
 					put(grammarAccess.getOperationCSAccess().getOwnedExceptionsAssignment_8_1(), "rule__OperationCS__OwnedExceptionsAssignment_8_1");
 					put(grammarAccess.getOperationCSAccess().getOwnedExceptionsAssignment_8_2_1(), "rule__OperationCS__OwnedExceptionsAssignment_8_2_1");
-					put(grammarAccess.getOperationCSAccess().getQualifiersAssignment_9_1_0_0(), "rule__OperationCS__QualifiersAssignment_9_1_0_0");
-					put(grammarAccess.getOperationCSAccess().getQualifiersAssignment_9_1_0_1(), "rule__OperationCS__QualifiersAssignment_9_1_0_1");
-					put(grammarAccess.getOperationCSAccess().getQualifiersAssignment_9_1_0_2(), "rule__OperationCS__QualifiersAssignment_9_1_0_2");
-					put(grammarAccess.getOperationCSAccess().getQualifiersAssignment_9_1_0_3(), "rule__OperationCS__QualifiersAssignment_9_1_0_3");
-					put(grammarAccess.getOperationCSAccess().getQualifiersAssignment_9_1_0_4(), "rule__OperationCS__QualifiersAssignment_9_1_0_4");
-					put(grammarAccess.getOperationCSAccess().getQualifiersAssignment_9_1_0_5(), "rule__OperationCS__QualifiersAssignment_9_1_0_5");
+					put(grammarAccess.getOperationCSAccess().getIsDerivedAssignment_9_0_1_0_0(), "rule__OperationCS__IsDerivedAssignment_9_0_1_0_0");
+					put(grammarAccess.getOperationCSAccess().getIsOrderedAssignment_9_1_0_0(), "rule__OperationCS__IsOrderedAssignment_9_1_0_0");
+					put(grammarAccess.getOperationCSAccess().getIsNotUniqueAssignment_9_2_0_0_0(), "rule__OperationCS__IsNotUniqueAssignment_9_2_0_0_0");
 					put(grammarAccess.getOperationCSAccess().getOwnedAnnotationsAssignment_10_0_1_0(), "rule__OperationCS__OwnedAnnotationsAssignment_10_0_1_0");
 					put(grammarAccess.getOperationCSAccess().getOwnedPreconditionsAssignment_10_0_1_1(), "rule__OperationCS__OwnedPreconditionsAssignment_10_0_1_1");
 					put(grammarAccess.getOperationCSAccess().getOwnedBodyExpressionsAssignment_10_0_1_2_3(), "rule__OperationCS__OwnedBodyExpressionsAssignment_10_0_1_2_3");
@@ -403,37 +419,24 @@
 					put(grammarAccess.getPackageCSAccess().getOwnedClassesAssignment_4_0_1_2(), "rule__PackageCS__OwnedClassesAssignment_4_0_1_2");
 					put(grammarAccess.getParameterCSAccess().getNameAssignment_0(), "rule__ParameterCS__NameAssignment_0");
 					put(grammarAccess.getParameterCSAccess().getOwnedTypeAssignment_1_1(), "rule__ParameterCS__OwnedTypeAssignment_1_1");
-					put(grammarAccess.getParameterCSAccess().getQualifiersAssignment_2_1_0_0(), "rule__ParameterCS__QualifiersAssignment_2_1_0_0");
-					put(grammarAccess.getParameterCSAccess().getQualifiersAssignment_2_1_0_1(), "rule__ParameterCS__QualifiersAssignment_2_1_0_1");
-					put(grammarAccess.getParameterCSAccess().getQualifiersAssignment_2_1_0_2(), "rule__ParameterCS__QualifiersAssignment_2_1_0_2");
-					put(grammarAccess.getParameterCSAccess().getQualifiersAssignment_2_1_0_3(), "rule__ParameterCS__QualifiersAssignment_2_1_0_3");
+					put(grammarAccess.getParameterCSAccess().getIsOrderedAssignment_2_0_1_0_0(), "rule__ParameterCS__IsOrderedAssignment_2_0_1_0_0");
+					put(grammarAccess.getParameterCSAccess().getIsNotUniqueAssignment_2_1_0_0_0(), "rule__ParameterCS__IsNotUniqueAssignment_2_1_0_0_0");
 					put(grammarAccess.getParameterCSAccess().getOwnedAnnotationsAssignment_3_1(), "rule__ParameterCS__OwnedAnnotationsAssignment_3_1");
-					put(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_0_0_0(), "rule__ReferenceCS__QualifiersAssignment_0_0_0");
-					put(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_0_0_1(), "rule__ReferenceCS__QualifiersAssignment_0_0_1");
-					put(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_0_1_0(), "rule__ReferenceCS__QualifiersAssignment_0_1_0");
-					put(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_0_1_1(), "rule__ReferenceCS__QualifiersAssignment_0_1_1");
+					put(grammarAccess.getReferenceCSAccess().getIsStaticAssignment_0_0(), "rule__ReferenceCS__IsStaticAssignment_0_0");
+					put(grammarAccess.getReferenceCSAccess().getIsDefinitionAssignment_0_1(), "rule__ReferenceCS__IsDefinitionAssignment_0_1");
 					put(grammarAccess.getReferenceCSAccess().getNameAssignment_2(), "rule__ReferenceCS__NameAssignment_2");
 					put(grammarAccess.getReferenceCSAccess().getReferredOppositeAssignment_3_1(), "rule__ReferenceCS__ReferredOppositeAssignment_3_1");
 					put(grammarAccess.getReferenceCSAccess().getOwnedTypeAssignment_4_1(), "rule__ReferenceCS__OwnedTypeAssignment_4_1");
 					put(grammarAccess.getReferenceCSAccess().getDefaultAssignment_5_1(), "rule__ReferenceCS__DefaultAssignment_5_1");
-					put(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_0(), "rule__ReferenceCS__QualifiersAssignment_6_1_0_0");
-					put(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_1(), "rule__ReferenceCS__QualifiersAssignment_6_1_0_1");
-					put(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_2(), "rule__ReferenceCS__QualifiersAssignment_6_1_0_2");
-					put(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_3(), "rule__ReferenceCS__QualifiersAssignment_6_1_0_3");
-					put(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_4(), "rule__ReferenceCS__QualifiersAssignment_6_1_0_4");
-					put(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_5(), "rule__ReferenceCS__QualifiersAssignment_6_1_0_5");
-					put(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_6(), "rule__ReferenceCS__QualifiersAssignment_6_1_0_6");
-					put(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_7(), "rule__ReferenceCS__QualifiersAssignment_6_1_0_7");
-					put(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_8(), "rule__ReferenceCS__QualifiersAssignment_6_1_0_8");
-					put(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_9(), "rule__ReferenceCS__QualifiersAssignment_6_1_0_9");
-					put(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_10(), "rule__ReferenceCS__QualifiersAssignment_6_1_0_10");
-					put(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_11(), "rule__ReferenceCS__QualifiersAssignment_6_1_0_11");
-					put(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_12(), "rule__ReferenceCS__QualifiersAssignment_6_1_0_12");
-					put(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_13(), "rule__ReferenceCS__QualifiersAssignment_6_1_0_13");
-					put(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_14(), "rule__ReferenceCS__QualifiersAssignment_6_1_0_14");
-					put(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_15(), "rule__ReferenceCS__QualifiersAssignment_6_1_0_15");
-					put(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_16(), "rule__ReferenceCS__QualifiersAssignment_6_1_0_16");
-					put(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_17(), "rule__ReferenceCS__QualifiersAssignment_6_1_0_17");
+					put(grammarAccess.getReferenceCSAccess().getIsComposesAssignment_6_0_1_0_0(), "rule__ReferenceCS__IsComposesAssignment_6_0_1_0_0");
+					put(grammarAccess.getReferenceCSAccess().getIsDerivedAssignment_6_1_0_0(), "rule__ReferenceCS__IsDerivedAssignment_6_1_0_0");
+					put(grammarAccess.getReferenceCSAccess().getIsOrderedAssignment_6_2_0_0(), "rule__ReferenceCS__IsOrderedAssignment_6_2_0_0");
+					put(grammarAccess.getReferenceCSAccess().getIsReadonlyAssignment_6_3_0_0(), "rule__ReferenceCS__IsReadonlyAssignment_6_3_0_0");
+					put(grammarAccess.getReferenceCSAccess().getIsResolveAssignment_6_4_0_0(), "rule__ReferenceCS__IsResolveAssignment_6_4_0_0");
+					put(grammarAccess.getReferenceCSAccess().getIsTransientAssignment_6_5_0_0(), "rule__ReferenceCS__IsTransientAssignment_6_5_0_0");
+					put(grammarAccess.getReferenceCSAccess().getIsNotUniqueAssignment_6_6_0_0(), "rule__ReferenceCS__IsNotUniqueAssignment_6_6_0_0");
+					put(grammarAccess.getReferenceCSAccess().getIsUnsettableAssignment_6_7_0_0(), "rule__ReferenceCS__IsUnsettableAssignment_6_7_0_0");
+					put(grammarAccess.getReferenceCSAccess().getIsVolatileAssignment_6_8_0_0_0(), "rule__ReferenceCS__IsVolatileAssignment_6_8_0_0_0");
 					put(grammarAccess.getReferenceCSAccess().getOwnedAnnotationsAssignment_7_0_1_0(), "rule__ReferenceCS__OwnedAnnotationsAssignment_7_0_1_0");
 					put(grammarAccess.getReferenceCSAccess().getReferredKeysAssignment_7_0_1_1_1(), "rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_1");
 					put(grammarAccess.getReferenceCSAccess().getReferredKeysAssignment_7_0_1_1_2_1(), "rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_2_1");
@@ -576,6 +579,13 @@
 					put(grammarAccess.getTypedTypeRefCSAccess().getOwnedBindingAssignment_1(), "rule__TypedTypeRefCS__OwnedBindingAssignment_1");
 					put(grammarAccess.getWildcardTypeRefCSAccess().getOwnedExtendsAssignment_2_0_1(), "rule__WildcardTypeRefCS__OwnedExtendsAssignment_2_0_1");
 					put(grammarAccess.getWildcardTypeRefCSAccess().getOwnedSuperAssignment_2_1_1(), "rule__WildcardTypeRefCS__OwnedSuperAssignment_2_1_1");
+					put(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), "rule__AttributeCS__UnorderedGroup_0");
+					put(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), "rule__AttributeCS__UnorderedGroup_5");
+					put(grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), "rule__OperationCS__UnorderedGroup_0");
+					put(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), "rule__OperationCS__UnorderedGroup_9");
+					put(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), "rule__ParameterCS__UnorderedGroup_2");
+					put(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), "rule__ReferenceCS__UnorderedGroup_0");
+					put(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), "rule__ReferenceCS__UnorderedGroup_6");
 				}
 			};
 		}
diff --git a/plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g b/plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g
index b7ad363..cca0226 100644
--- a/plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g
+++ b/plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g
@@ -3499,21 +3499,23 @@
 	restoreStackSize(stackSize);

 }

 

-rule__AttributeCS__Alternatives_0

+rule__AttributeCS__Alternatives_5_0_1_0

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getAttributeCSAccess().getGroup_0_0()); }

-(rule__AttributeCS__Group_0_0__0)

-{ after(grammarAccess.getAttributeCSAccess().getGroup_0_0()); }

+{ before(grammarAccess.getAttributeCSAccess().getIsDerivedAssignment_5_0_1_0_0()); }

+(rule__AttributeCS__IsDerivedAssignment_5_0_1_0_0)

+{ after(grammarAccess.getAttributeCSAccess().getIsDerivedAssignment_5_0_1_0_0()); }

 )

 

     |(

-{ before(grammarAccess.getAttributeCSAccess().getGroup_0_1()); }

-(rule__AttributeCS__Group_0_1__0)

-{ after(grammarAccess.getAttributeCSAccess().getGroup_0_1()); }

+{ before(grammarAccess.getAttributeCSAccess().getDerivedKeyword_5_0_1_0_1()); }

+

+	'!derived' 

+

+{ after(grammarAccess.getAttributeCSAccess().getDerivedKeyword_5_0_1_0_1()); }

 )

 

 ;

@@ -3527,99 +3529,161 @@
     }

 :

 (

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_0()); }

-(rule__AttributeCS__QualifiersAssignment_5_1_0_0)

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_0()); }

+{ before(grammarAccess.getAttributeCSAccess().getIsIdAssignment_5_1_0_0()); }

+(rule__AttributeCS__IsIdAssignment_5_1_0_0)

+{ after(grammarAccess.getAttributeCSAccess().getIsIdAssignment_5_1_0_0()); }

 )

 

     |(

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_1()); }

-(rule__AttributeCS__QualifiersAssignment_5_1_0_1)

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_1()); }

+{ before(grammarAccess.getAttributeCSAccess().getIdKeyword_5_1_0_1()); }

+

+	'!id' 

+

+{ after(grammarAccess.getAttributeCSAccess().getIdKeyword_5_1_0_1()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__AttributeCS__Alternatives_5_2_0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getAttributeCSAccess().getIsOrderedAssignment_5_2_0_0()); }

+(rule__AttributeCS__IsOrderedAssignment_5_2_0_0)

+{ after(grammarAccess.getAttributeCSAccess().getIsOrderedAssignment_5_2_0_0()); }

 )

 

     |(

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_2()); }

-(rule__AttributeCS__QualifiersAssignment_5_1_0_2)

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_2()); }

+{ before(grammarAccess.getAttributeCSAccess().getOrderedKeyword_5_2_0_1()); }

+

+	'!ordered' 

+

+{ after(grammarAccess.getAttributeCSAccess().getOrderedKeyword_5_2_0_1()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__AttributeCS__Alternatives_5_3_0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getAttributeCSAccess().getIsReadonlyAssignment_5_3_0_0()); }

+(rule__AttributeCS__IsReadonlyAssignment_5_3_0_0)

+{ after(grammarAccess.getAttributeCSAccess().getIsReadonlyAssignment_5_3_0_0()); }

 )

 

     |(

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_3()); }

-(rule__AttributeCS__QualifiersAssignment_5_1_0_3)

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_3()); }

+{ before(grammarAccess.getAttributeCSAccess().getReadonlyKeyword_5_3_0_1()); }

+

+	'!readonly' 

+

+{ after(grammarAccess.getAttributeCSAccess().getReadonlyKeyword_5_3_0_1()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__AttributeCS__Alternatives_5_4_0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getAttributeCSAccess().getIsTransientAssignment_5_4_0_0()); }

+(rule__AttributeCS__IsTransientAssignment_5_4_0_0)

+{ after(grammarAccess.getAttributeCSAccess().getIsTransientAssignment_5_4_0_0()); }

 )

 

     |(

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_4()); }

-(rule__AttributeCS__QualifiersAssignment_5_1_0_4)

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_4()); }

+{ before(grammarAccess.getAttributeCSAccess().getTransientKeyword_5_4_0_1()); }

+

+	'!transient' 

+

+{ after(grammarAccess.getAttributeCSAccess().getTransientKeyword_5_4_0_1()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__AttributeCS__Alternatives_5_5_0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getAttributeCSAccess().getIsNotUniqueAssignment_5_5_0_0()); }

+(rule__AttributeCS__IsNotUniqueAssignment_5_5_0_0)

+{ after(grammarAccess.getAttributeCSAccess().getIsNotUniqueAssignment_5_5_0_0()); }

 )

 

     |(

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_5()); }

-(rule__AttributeCS__QualifiersAssignment_5_1_0_5)

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_5()); }

+{ before(grammarAccess.getAttributeCSAccess().getUniqueKeyword_5_5_0_1()); }

+

+	'unique' 

+

+{ after(grammarAccess.getAttributeCSAccess().getUniqueKeyword_5_5_0_1()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__AttributeCS__Alternatives_5_6_0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getAttributeCSAccess().getIsUnsettableAssignment_5_6_0_0()); }

+(rule__AttributeCS__IsUnsettableAssignment_5_6_0_0)

+{ after(grammarAccess.getAttributeCSAccess().getIsUnsettableAssignment_5_6_0_0()); }

 )

 

     |(

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_6()); }

-(rule__AttributeCS__QualifiersAssignment_5_1_0_6)

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_6()); }

+{ before(grammarAccess.getAttributeCSAccess().getUnsettableKeyword_5_6_0_1()); }

+

+	'!unsettable' 

+

+{ after(grammarAccess.getAttributeCSAccess().getUnsettableKeyword_5_6_0_1()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__AttributeCS__Alternatives_5_7_0_0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getAttributeCSAccess().getIsVolatileAssignment_5_7_0_0_0()); }

+(rule__AttributeCS__IsVolatileAssignment_5_7_0_0_0)

+{ after(grammarAccess.getAttributeCSAccess().getIsVolatileAssignment_5_7_0_0_0()); }

 )

 

     |(

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_7()); }

-(rule__AttributeCS__QualifiersAssignment_5_1_0_7)

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_7()); }

-)

+{ before(grammarAccess.getAttributeCSAccess().getVolatileKeyword_5_7_0_0_1()); }

 

-    |(

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_8()); }

-(rule__AttributeCS__QualifiersAssignment_5_1_0_8)

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_8()); }

-)

+	'!volatile' 

 

-    |(

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_9()); }

-(rule__AttributeCS__QualifiersAssignment_5_1_0_9)

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_9()); }

-)

-

-    |(

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_10()); }

-(rule__AttributeCS__QualifiersAssignment_5_1_0_10)

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_10()); }

-)

-

-    |(

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_11()); }

-(rule__AttributeCS__QualifiersAssignment_5_1_0_11)

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_11()); }

-)

-

-    |(

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_12()); }

-(rule__AttributeCS__QualifiersAssignment_5_1_0_12)

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_12()); }

-)

-

-    |(

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_13()); }

-(rule__AttributeCS__QualifiersAssignment_5_1_0_13)

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_13()); }

-)

-

-    |(

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_14()); }

-(rule__AttributeCS__QualifiersAssignment_5_1_0_14)

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_14()); }

-)

-

-    |(

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_15()); }

-(rule__AttributeCS__QualifiersAssignment_5_1_0_15)

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_15()); }

+{ after(grammarAccess.getAttributeCSAccess().getVolatileKeyword_5_7_0_0_1()); }

 )

 

 ;

@@ -3983,21 +4047,23 @@
 	restoreStackSize(stackSize);

 }

 

-rule__OperationCS__Alternatives_0

+rule__OperationCS__Alternatives_9_0_1_0

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getOperationCSAccess().getGroup_0_0()); }

-(rule__OperationCS__Group_0_0__0)

-{ after(grammarAccess.getOperationCSAccess().getGroup_0_0()); }

+{ before(grammarAccess.getOperationCSAccess().getIsDerivedAssignment_9_0_1_0_0()); }

+(rule__OperationCS__IsDerivedAssignment_9_0_1_0_0)

+{ after(grammarAccess.getOperationCSAccess().getIsDerivedAssignment_9_0_1_0_0()); }

 )

 

     |(

-{ before(grammarAccess.getOperationCSAccess().getGroup_0_1()); }

-(rule__OperationCS__Group_0_1__0)

-{ after(grammarAccess.getOperationCSAccess().getGroup_0_1()); }

+{ before(grammarAccess.getOperationCSAccess().getDerivedKeyword_9_0_1_0_1()); }

+

+	'!derived' 

+

+{ after(grammarAccess.getOperationCSAccess().getDerivedKeyword_9_0_1_0_1()); }

 )

 

 ;

@@ -4011,39 +4077,41 @@
     }

 :

 (

-{ before(grammarAccess.getOperationCSAccess().getQualifiersAssignment_9_1_0_0()); }

-(rule__OperationCS__QualifiersAssignment_9_1_0_0)

-{ after(grammarAccess.getOperationCSAccess().getQualifiersAssignment_9_1_0_0()); }

+{ before(grammarAccess.getOperationCSAccess().getIsOrderedAssignment_9_1_0_0()); }

+(rule__OperationCS__IsOrderedAssignment_9_1_0_0)

+{ after(grammarAccess.getOperationCSAccess().getIsOrderedAssignment_9_1_0_0()); }

 )

 

     |(

-{ before(grammarAccess.getOperationCSAccess().getQualifiersAssignment_9_1_0_1()); }

-(rule__OperationCS__QualifiersAssignment_9_1_0_1)

-{ after(grammarAccess.getOperationCSAccess().getQualifiersAssignment_9_1_0_1()); }

+{ before(grammarAccess.getOperationCSAccess().getOrderedKeyword_9_1_0_1()); }

+

+	'!ordered' 

+

+{ after(grammarAccess.getOperationCSAccess().getOrderedKeyword_9_1_0_1()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__OperationCS__Alternatives_9_2_0_0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getOperationCSAccess().getIsNotUniqueAssignment_9_2_0_0_0()); }

+(rule__OperationCS__IsNotUniqueAssignment_9_2_0_0_0)

+{ after(grammarAccess.getOperationCSAccess().getIsNotUniqueAssignment_9_2_0_0_0()); }

 )

 

     |(

-{ before(grammarAccess.getOperationCSAccess().getQualifiersAssignment_9_1_0_2()); }

-(rule__OperationCS__QualifiersAssignment_9_1_0_2)

-{ after(grammarAccess.getOperationCSAccess().getQualifiersAssignment_9_1_0_2()); }

-)

+{ before(grammarAccess.getOperationCSAccess().getUniqueKeyword_9_2_0_0_1()); }

 

-    |(

-{ before(grammarAccess.getOperationCSAccess().getQualifiersAssignment_9_1_0_3()); }

-(rule__OperationCS__QualifiersAssignment_9_1_0_3)

-{ after(grammarAccess.getOperationCSAccess().getQualifiersAssignment_9_1_0_3()); }

-)

+	'unique' 

 

-    |(

-{ before(grammarAccess.getOperationCSAccess().getQualifiersAssignment_9_1_0_4()); }

-(rule__OperationCS__QualifiersAssignment_9_1_0_4)

-{ after(grammarAccess.getOperationCSAccess().getQualifiersAssignment_9_1_0_4()); }

-)

-

-    |(

-{ before(grammarAccess.getOperationCSAccess().getQualifiersAssignment_9_1_0_5()); }

-(rule__OperationCS__QualifiersAssignment_9_1_0_5)

-{ after(grammarAccess.getOperationCSAccess().getQualifiersAssignment_9_1_0_5()); }

+{ after(grammarAccess.getOperationCSAccess().getUniqueKeyword_9_2_0_0_1()); }

 )

 

 ;

@@ -4161,33 +4229,23 @@
 	restoreStackSize(stackSize);

 }

 

-rule__ParameterCS__Alternatives_2_1_0

+rule__ParameterCS__Alternatives_2_0_1_0

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getParameterCSAccess().getQualifiersAssignment_2_1_0_0()); }

-(rule__ParameterCS__QualifiersAssignment_2_1_0_0)

-{ after(grammarAccess.getParameterCSAccess().getQualifiersAssignment_2_1_0_0()); }

+{ before(grammarAccess.getParameterCSAccess().getIsOrderedAssignment_2_0_1_0_0()); }

+(rule__ParameterCS__IsOrderedAssignment_2_0_1_0_0)

+{ after(grammarAccess.getParameterCSAccess().getIsOrderedAssignment_2_0_1_0_0()); }

 )

 

     |(

-{ before(grammarAccess.getParameterCSAccess().getQualifiersAssignment_2_1_0_1()); }

-(rule__ParameterCS__QualifiersAssignment_2_1_0_1)

-{ after(grammarAccess.getParameterCSAccess().getQualifiersAssignment_2_1_0_1()); }

-)

+{ before(grammarAccess.getParameterCSAccess().getOrderedKeyword_2_0_1_0_1()); }

 

-    |(

-{ before(grammarAccess.getParameterCSAccess().getQualifiersAssignment_2_1_0_2()); }

-(rule__ParameterCS__QualifiersAssignment_2_1_0_2)

-{ after(grammarAccess.getParameterCSAccess().getQualifiersAssignment_2_1_0_2()); }

-)

+	'!ordered' 

 

-    |(

-{ before(grammarAccess.getParameterCSAccess().getQualifiersAssignment_2_1_0_3()); }

-(rule__ParameterCS__QualifiersAssignment_2_1_0_3)

-{ after(grammarAccess.getParameterCSAccess().getQualifiersAssignment_2_1_0_3()); }

+{ after(grammarAccess.getParameterCSAccess().getOrderedKeyword_2_0_1_0_1()); }

 )

 

 ;

@@ -4195,21 +4253,47 @@
 	restoreStackSize(stackSize);

 }

 

-rule__ReferenceCS__Alternatives_0

+rule__ParameterCS__Alternatives_2_1_0_0

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getReferenceCSAccess().getGroup_0_0()); }

-(rule__ReferenceCS__Group_0_0__0)

-{ after(grammarAccess.getReferenceCSAccess().getGroup_0_0()); }

+{ before(grammarAccess.getParameterCSAccess().getIsNotUniqueAssignment_2_1_0_0_0()); }

+(rule__ParameterCS__IsNotUniqueAssignment_2_1_0_0_0)

+{ after(grammarAccess.getParameterCSAccess().getIsNotUniqueAssignment_2_1_0_0_0()); }

 )

 

     |(

-{ before(grammarAccess.getReferenceCSAccess().getGroup_0_1()); }

-(rule__ReferenceCS__Group_0_1__0)

-{ after(grammarAccess.getReferenceCSAccess().getGroup_0_1()); }

+{ before(grammarAccess.getParameterCSAccess().getUniqueKeyword_2_1_0_0_1()); }

+

+	'unique' 

+

+{ after(grammarAccess.getParameterCSAccess().getUniqueKeyword_2_1_0_0_1()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__ReferenceCS__Alternatives_6_0_1_0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getReferenceCSAccess().getIsComposesAssignment_6_0_1_0_0()); }

+(rule__ReferenceCS__IsComposesAssignment_6_0_1_0_0)

+{ after(grammarAccess.getReferenceCSAccess().getIsComposesAssignment_6_0_1_0_0()); }

+)

+

+    |(

+{ before(grammarAccess.getReferenceCSAccess().getComposesKeyword_6_0_1_0_1()); }

+

+	'!composes' 

+

+{ after(grammarAccess.getReferenceCSAccess().getComposesKeyword_6_0_1_0_1()); }

 )

 

 ;

@@ -4223,111 +4307,185 @@
     }

 :

 (

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_0()); }

-(rule__ReferenceCS__QualifiersAssignment_6_1_0_0)

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_0()); }

+{ before(grammarAccess.getReferenceCSAccess().getIsDerivedAssignment_6_1_0_0()); }

+(rule__ReferenceCS__IsDerivedAssignment_6_1_0_0)

+{ after(grammarAccess.getReferenceCSAccess().getIsDerivedAssignment_6_1_0_0()); }

 )

 

     |(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_1()); }

-(rule__ReferenceCS__QualifiersAssignment_6_1_0_1)

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_1()); }

+{ before(grammarAccess.getReferenceCSAccess().getDerivedKeyword_6_1_0_1()); }

+

+	'!derived' 

+

+{ after(grammarAccess.getReferenceCSAccess().getDerivedKeyword_6_1_0_1()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__ReferenceCS__Alternatives_6_2_0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getReferenceCSAccess().getIsOrderedAssignment_6_2_0_0()); }

+(rule__ReferenceCS__IsOrderedAssignment_6_2_0_0)

+{ after(grammarAccess.getReferenceCSAccess().getIsOrderedAssignment_6_2_0_0()); }

 )

 

     |(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_2()); }

-(rule__ReferenceCS__QualifiersAssignment_6_1_0_2)

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_2()); }

+{ before(grammarAccess.getReferenceCSAccess().getOrderedKeyword_6_2_0_1()); }

+

+	'!ordered' 

+

+{ after(grammarAccess.getReferenceCSAccess().getOrderedKeyword_6_2_0_1()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__ReferenceCS__Alternatives_6_3_0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getReferenceCSAccess().getIsReadonlyAssignment_6_3_0_0()); }

+(rule__ReferenceCS__IsReadonlyAssignment_6_3_0_0)

+{ after(grammarAccess.getReferenceCSAccess().getIsReadonlyAssignment_6_3_0_0()); }

 )

 

     |(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_3()); }

-(rule__ReferenceCS__QualifiersAssignment_6_1_0_3)

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_3()); }

+{ before(grammarAccess.getReferenceCSAccess().getReadonlyKeyword_6_3_0_1()); }

+

+	'!readonly' 

+

+{ after(grammarAccess.getReferenceCSAccess().getReadonlyKeyword_6_3_0_1()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__ReferenceCS__Alternatives_6_4_0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getReferenceCSAccess().getIsResolveAssignment_6_4_0_0()); }

+(rule__ReferenceCS__IsResolveAssignment_6_4_0_0)

+{ after(grammarAccess.getReferenceCSAccess().getIsResolveAssignment_6_4_0_0()); }

 )

 

     |(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_4()); }

-(rule__ReferenceCS__QualifiersAssignment_6_1_0_4)

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_4()); }

+{ before(grammarAccess.getReferenceCSAccess().getResolveKeyword_6_4_0_1()); }

+

+	'!resolve' 

+

+{ after(grammarAccess.getReferenceCSAccess().getResolveKeyword_6_4_0_1()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__ReferenceCS__Alternatives_6_5_0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getReferenceCSAccess().getIsTransientAssignment_6_5_0_0()); }

+(rule__ReferenceCS__IsTransientAssignment_6_5_0_0)

+{ after(grammarAccess.getReferenceCSAccess().getIsTransientAssignment_6_5_0_0()); }

 )

 

     |(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_5()); }

-(rule__ReferenceCS__QualifiersAssignment_6_1_0_5)

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_5()); }

+{ before(grammarAccess.getReferenceCSAccess().getTransientKeyword_6_5_0_1()); }

+

+	'!transient' 

+

+{ after(grammarAccess.getReferenceCSAccess().getTransientKeyword_6_5_0_1()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__ReferenceCS__Alternatives_6_6_0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getReferenceCSAccess().getIsNotUniqueAssignment_6_6_0_0()); }

+(rule__ReferenceCS__IsNotUniqueAssignment_6_6_0_0)

+{ after(grammarAccess.getReferenceCSAccess().getIsNotUniqueAssignment_6_6_0_0()); }

 )

 

     |(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_6()); }

-(rule__ReferenceCS__QualifiersAssignment_6_1_0_6)

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_6()); }

+{ before(grammarAccess.getReferenceCSAccess().getUniqueKeyword_6_6_0_1()); }

+

+	'unique' 

+

+{ after(grammarAccess.getReferenceCSAccess().getUniqueKeyword_6_6_0_1()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__ReferenceCS__Alternatives_6_7_0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getReferenceCSAccess().getIsUnsettableAssignment_6_7_0_0()); }

+(rule__ReferenceCS__IsUnsettableAssignment_6_7_0_0)

+{ after(grammarAccess.getReferenceCSAccess().getIsUnsettableAssignment_6_7_0_0()); }

 )

 

     |(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_7()); }

-(rule__ReferenceCS__QualifiersAssignment_6_1_0_7)

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_7()); }

+{ before(grammarAccess.getReferenceCSAccess().getUnsettableKeyword_6_7_0_1()); }

+

+	'!unsettable' 

+

+{ after(grammarAccess.getReferenceCSAccess().getUnsettableKeyword_6_7_0_1()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__ReferenceCS__Alternatives_6_8_0_0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getReferenceCSAccess().getIsVolatileAssignment_6_8_0_0_0()); }

+(rule__ReferenceCS__IsVolatileAssignment_6_8_0_0_0)

+{ after(grammarAccess.getReferenceCSAccess().getIsVolatileAssignment_6_8_0_0_0()); }

 )

 

     |(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_8()); }

-(rule__ReferenceCS__QualifiersAssignment_6_1_0_8)

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_8()); }

-)

+{ before(grammarAccess.getReferenceCSAccess().getVolatileKeyword_6_8_0_0_1()); }

 

-    |(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_9()); }

-(rule__ReferenceCS__QualifiersAssignment_6_1_0_9)

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_9()); }

-)

+	'!volatile' 

 

-    |(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_10()); }

-(rule__ReferenceCS__QualifiersAssignment_6_1_0_10)

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_10()); }

-)

-

-    |(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_11()); }

-(rule__ReferenceCS__QualifiersAssignment_6_1_0_11)

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_11()); }

-)

-

-    |(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_12()); }

-(rule__ReferenceCS__QualifiersAssignment_6_1_0_12)

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_12()); }

-)

-

-    |(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_13()); }

-(rule__ReferenceCS__QualifiersAssignment_6_1_0_13)

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_13()); }

-)

-

-    |(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_14()); }

-(rule__ReferenceCS__QualifiersAssignment_6_1_0_14)

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_14()); }

-)

-

-    |(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_15()); }

-(rule__ReferenceCS__QualifiersAssignment_6_1_0_15)

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_15()); }

-)

-

-    |(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_16()); }

-(rule__ReferenceCS__QualifiersAssignment_6_1_0_16)

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_16()); }

-)

-

-    |(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_17()); }

-(rule__ReferenceCS__QualifiersAssignment_6_1_0_17)

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_17()); }

+{ after(grammarAccess.getReferenceCSAccess().getVolatileKeyword_6_8_0_0_1()); }

 )

 

 ;

@@ -7378,9 +7536,9 @@
     }

 :

 (

-{ before(grammarAccess.getAttributeCSAccess().getAlternatives_0()); }

-(rule__AttributeCS__Alternatives_0)?

-{ after(grammarAccess.getAttributeCSAccess().getAlternatives_0()); }

+{ before(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0()); }

+(rule__AttributeCS__UnorderedGroup_0)

+{ after(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0()); }

 )

 

 ;

@@ -7525,9 +7683,9 @@
     }

 :

 (

-{ before(grammarAccess.getAttributeCSAccess().getGroup_5()); }

-(rule__AttributeCS__Group_5__0)?

-{ after(grammarAccess.getAttributeCSAccess().getGroup_5()); }

+{ before(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5()); }

+(rule__AttributeCS__UnorderedGroup_5)?

+{ after(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5()); }

 )

 

 ;

@@ -7578,128 +7736,6 @@
 

 

 

-rule__AttributeCS__Group_0_0__0

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-	rule__AttributeCS__Group_0_0__0__Impl

-	rule__AttributeCS__Group_0_0__1

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__AttributeCS__Group_0_0__0__Impl

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_0_0_0()); }

-(rule__AttributeCS__QualifiersAssignment_0_0_0)

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_0_0_0()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-

-rule__AttributeCS__Group_0_0__1

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-	rule__AttributeCS__Group_0_0__1__Impl

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__AttributeCS__Group_0_0__1__Impl

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_0_0_1()); }

-(rule__AttributeCS__QualifiersAssignment_0_0_1)?

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_0_0_1()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-

-

-

-

-

-rule__AttributeCS__Group_0_1__0

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-	rule__AttributeCS__Group_0_1__0__Impl

-	rule__AttributeCS__Group_0_1__1

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__AttributeCS__Group_0_1__0__Impl

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_0_1_0()); }

-(rule__AttributeCS__QualifiersAssignment_0_1_0)

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_0_1_0()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-

-rule__AttributeCS__Group_0_1__1

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-	rule__AttributeCS__Group_0_1__1__Impl

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__AttributeCS__Group_0_1__1__Impl

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_0_1_1()); }

-(rule__AttributeCS__QualifiersAssignment_0_1_1)?

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_0_1_1()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-

-

-

-

-

 rule__AttributeCS__Group_3__0

     @init {

 		int stackSize = keepStackSize();

@@ -7826,29 +7862,29 @@
 

 

 

-rule__AttributeCS__Group_5__0

+rule__AttributeCS__Group_5_0__0

     @init {

 		int stackSize = keepStackSize();

     }

 :

-	rule__AttributeCS__Group_5__0__Impl

-	rule__AttributeCS__Group_5__1

+	rule__AttributeCS__Group_5_0__0__Impl

+	rule__AttributeCS__Group_5_0__1

 ;

 finally {

 	restoreStackSize(stackSize);

 }

 

-rule__AttributeCS__Group_5__0__Impl

+rule__AttributeCS__Group_5_0__0__Impl

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getAttributeCSAccess().getLeftCurlyBracketKeyword_5_0()); }

+{ before(grammarAccess.getAttributeCSAccess().getLeftCurlyBracketKeyword_5_0_0()); }

 

 	'{' 

 

-{ after(grammarAccess.getAttributeCSAccess().getLeftCurlyBracketKeyword_5_0()); }

+{ after(grammarAccess.getAttributeCSAccess().getLeftCurlyBracketKeyword_5_0_0()); }

 )

 

 ;

@@ -7857,34 +7893,26 @@
 }

 

 

-rule__AttributeCS__Group_5__1

+rule__AttributeCS__Group_5_0__1

     @init {

 		int stackSize = keepStackSize();

     }

 :

-	rule__AttributeCS__Group_5__1__Impl

-	rule__AttributeCS__Group_5__2

+	rule__AttributeCS__Group_5_0__1__Impl

 ;

 finally {

 	restoreStackSize(stackSize);

 }

 

-rule__AttributeCS__Group_5__1__Impl

+rule__AttributeCS__Group_5_0__1__Impl

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-(

-{ before(grammarAccess.getAttributeCSAccess().getGroup_5_1()); }

-(rule__AttributeCS__Group_5_1__0)

-{ after(grammarAccess.getAttributeCSAccess().getGroup_5_1()); }

-)

-(

-{ before(grammarAccess.getAttributeCSAccess().getGroup_5_1()); }

-(rule__AttributeCS__Group_5_1__0)*

-{ after(grammarAccess.getAttributeCSAccess().getGroup_5_1()); }

-)

+{ before(grammarAccess.getAttributeCSAccess().getGroup_5_0_1()); }

+(rule__AttributeCS__Group_5_0_1__0)?

+{ after(grammarAccess.getAttributeCSAccess().getGroup_5_0_1()); }

 )

 

 ;

@@ -7893,28 +7921,31 @@
 }

 

 

-rule__AttributeCS__Group_5__2

+

+

+

+

+rule__AttributeCS__Group_5_0_1__0

     @init {

 		int stackSize = keepStackSize();

     }

 :

-	rule__AttributeCS__Group_5__2__Impl

+	rule__AttributeCS__Group_5_0_1__0__Impl

+	rule__AttributeCS__Group_5_0_1__1

 ;

 finally {

 	restoreStackSize(stackSize);

 }

 

-rule__AttributeCS__Group_5__2__Impl

+rule__AttributeCS__Group_5_0_1__0__Impl

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getAttributeCSAccess().getRightCurlyBracketKeyword_5_2()); }

-

-	'}' 

-

-{ after(grammarAccess.getAttributeCSAccess().getRightCurlyBracketKeyword_5_2()); }

+{ before(grammarAccess.getAttributeCSAccess().getAlternatives_5_0_1_0()); }

+(rule__AttributeCS__Alternatives_5_0_1_0)

+{ after(grammarAccess.getAttributeCSAccess().getAlternatives_5_0_1_0()); }

 )

 

 ;

@@ -7923,6 +7954,34 @@
 }

 

 

+rule__AttributeCS__Group_5_0_1__1

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__AttributeCS__Group_5_0_1__1__Impl

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__AttributeCS__Group_5_0_1__1__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getAttributeCSAccess().getCommaKeyword_5_0_1_1()); }

+(

+	',' 

+)?

+{ after(grammarAccess.getAttributeCSAccess().getCommaKeyword_5_0_1_1()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

 

 

 

@@ -7992,6 +8051,447 @@
 

 

 

+rule__AttributeCS__Group_5_2__0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__AttributeCS__Group_5_2__0__Impl

+	rule__AttributeCS__Group_5_2__1

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__AttributeCS__Group_5_2__0__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getAttributeCSAccess().getAlternatives_5_2_0()); }

+(rule__AttributeCS__Alternatives_5_2_0)

+{ after(grammarAccess.getAttributeCSAccess().getAlternatives_5_2_0()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+rule__AttributeCS__Group_5_2__1

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__AttributeCS__Group_5_2__1__Impl

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__AttributeCS__Group_5_2__1__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getAttributeCSAccess().getCommaKeyword_5_2_1()); }

+(

+	',' 

+)?

+{ after(grammarAccess.getAttributeCSAccess().getCommaKeyword_5_2_1()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+

+

+

+

+rule__AttributeCS__Group_5_3__0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__AttributeCS__Group_5_3__0__Impl

+	rule__AttributeCS__Group_5_3__1

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__AttributeCS__Group_5_3__0__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getAttributeCSAccess().getAlternatives_5_3_0()); }

+(rule__AttributeCS__Alternatives_5_3_0)

+{ after(grammarAccess.getAttributeCSAccess().getAlternatives_5_3_0()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+rule__AttributeCS__Group_5_3__1

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__AttributeCS__Group_5_3__1__Impl

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__AttributeCS__Group_5_3__1__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getAttributeCSAccess().getCommaKeyword_5_3_1()); }

+(

+	',' 

+)?

+{ after(grammarAccess.getAttributeCSAccess().getCommaKeyword_5_3_1()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+

+

+

+

+rule__AttributeCS__Group_5_4__0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__AttributeCS__Group_5_4__0__Impl

+	rule__AttributeCS__Group_5_4__1

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__AttributeCS__Group_5_4__0__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getAttributeCSAccess().getAlternatives_5_4_0()); }

+(rule__AttributeCS__Alternatives_5_4_0)

+{ after(grammarAccess.getAttributeCSAccess().getAlternatives_5_4_0()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+rule__AttributeCS__Group_5_4__1

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__AttributeCS__Group_5_4__1__Impl

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__AttributeCS__Group_5_4__1__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getAttributeCSAccess().getCommaKeyword_5_4_1()); }

+(

+	',' 

+)?

+{ after(grammarAccess.getAttributeCSAccess().getCommaKeyword_5_4_1()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+

+

+

+

+rule__AttributeCS__Group_5_5__0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__AttributeCS__Group_5_5__0__Impl

+	rule__AttributeCS__Group_5_5__1

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__AttributeCS__Group_5_5__0__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getAttributeCSAccess().getAlternatives_5_5_0()); }

+(rule__AttributeCS__Alternatives_5_5_0)

+{ after(grammarAccess.getAttributeCSAccess().getAlternatives_5_5_0()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+rule__AttributeCS__Group_5_5__1

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__AttributeCS__Group_5_5__1__Impl

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__AttributeCS__Group_5_5__1__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getAttributeCSAccess().getCommaKeyword_5_5_1()); }

+(

+	',' 

+)?

+{ after(grammarAccess.getAttributeCSAccess().getCommaKeyword_5_5_1()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+

+

+

+

+rule__AttributeCS__Group_5_6__0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__AttributeCS__Group_5_6__0__Impl

+	rule__AttributeCS__Group_5_6__1

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__AttributeCS__Group_5_6__0__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getAttributeCSAccess().getAlternatives_5_6_0()); }

+(rule__AttributeCS__Alternatives_5_6_0)

+{ after(grammarAccess.getAttributeCSAccess().getAlternatives_5_6_0()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+rule__AttributeCS__Group_5_6__1

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__AttributeCS__Group_5_6__1__Impl

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__AttributeCS__Group_5_6__1__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getAttributeCSAccess().getCommaKeyword_5_6_1()); }

+(

+	',' 

+)?

+{ after(grammarAccess.getAttributeCSAccess().getCommaKeyword_5_6_1()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+

+

+

+

+rule__AttributeCS__Group_5_7__0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__AttributeCS__Group_5_7__0__Impl

+	rule__AttributeCS__Group_5_7__1

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__AttributeCS__Group_5_7__0__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getAttributeCSAccess().getGroup_5_7_0()); }

+(rule__AttributeCS__Group_5_7_0__0)?

+{ after(grammarAccess.getAttributeCSAccess().getGroup_5_7_0()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+rule__AttributeCS__Group_5_7__1

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__AttributeCS__Group_5_7__1__Impl

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__AttributeCS__Group_5_7__1__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getAttributeCSAccess().getRightCurlyBracketKeyword_5_7_1()); }

+

+	'}' 

+

+{ after(grammarAccess.getAttributeCSAccess().getRightCurlyBracketKeyword_5_7_1()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+

+

+

+

+rule__AttributeCS__Group_5_7_0__0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__AttributeCS__Group_5_7_0__0__Impl

+	rule__AttributeCS__Group_5_7_0__1

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__AttributeCS__Group_5_7_0__0__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getAttributeCSAccess().getAlternatives_5_7_0_0()); }

+(rule__AttributeCS__Alternatives_5_7_0_0)

+{ after(grammarAccess.getAttributeCSAccess().getAlternatives_5_7_0_0()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+rule__AttributeCS__Group_5_7_0__1

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__AttributeCS__Group_5_7_0__1__Impl

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__AttributeCS__Group_5_7_0__1__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getAttributeCSAccess().getCommaKeyword_5_7_0_1()); }

+(

+	',' 

+)?

+{ after(grammarAccess.getAttributeCSAccess().getCommaKeyword_5_7_0_1()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+

+

+

+

 rule__AttributeCS__Group_6_0__0

     @init {

 		int stackSize = keepStackSize();

@@ -10606,9 +11106,9 @@
     }

 :

 (

-{ before(grammarAccess.getOperationCSAccess().getAlternatives_0()); }

-(rule__OperationCS__Alternatives_0)?

-{ after(grammarAccess.getOperationCSAccess().getAlternatives_0()); }

+{ before(grammarAccess.getOperationCSAccess().getUnorderedGroup_0()); }

+(rule__OperationCS__UnorderedGroup_0)

+{ after(grammarAccess.getOperationCSAccess().getUnorderedGroup_0()); }

 )

 

 ;

@@ -10873,9 +11373,9 @@
     }

 :

 (

-{ before(grammarAccess.getOperationCSAccess().getGroup_9()); }

-(rule__OperationCS__Group_9__0)?

-{ after(grammarAccess.getOperationCSAccess().getGroup_9()); }

+{ before(grammarAccess.getOperationCSAccess().getUnorderedGroup_9()); }

+(rule__OperationCS__UnorderedGroup_9)?

+{ after(grammarAccess.getOperationCSAccess().getUnorderedGroup_9()); }

 )

 

 ;

@@ -10934,128 +11434,6 @@
 

 

 

-rule__OperationCS__Group_0_0__0

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-	rule__OperationCS__Group_0_0__0__Impl

-	rule__OperationCS__Group_0_0__1

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__OperationCS__Group_0_0__0__Impl

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getOperationCSAccess().getQualifiersAssignment_0_0_0()); }

-(rule__OperationCS__QualifiersAssignment_0_0_0)

-{ after(grammarAccess.getOperationCSAccess().getQualifiersAssignment_0_0_0()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-

-rule__OperationCS__Group_0_0__1

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-	rule__OperationCS__Group_0_0__1__Impl

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__OperationCS__Group_0_0__1__Impl

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getOperationCSAccess().getQualifiersAssignment_0_0_1()); }

-(rule__OperationCS__QualifiersAssignment_0_0_1)?

-{ after(grammarAccess.getOperationCSAccess().getQualifiersAssignment_0_0_1()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-

-

-

-

-

-rule__OperationCS__Group_0_1__0

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-	rule__OperationCS__Group_0_1__0__Impl

-	rule__OperationCS__Group_0_1__1

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__OperationCS__Group_0_1__0__Impl

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getOperationCSAccess().getQualifiersAssignment_0_1_0()); }

-(rule__OperationCS__QualifiersAssignment_0_1_0)

-{ after(grammarAccess.getOperationCSAccess().getQualifiersAssignment_0_1_0()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-

-rule__OperationCS__Group_0_1__1

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-	rule__OperationCS__Group_0_1__1__Impl

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__OperationCS__Group_0_1__1__Impl

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getOperationCSAccess().getQualifiersAssignment_0_1_1()); }

-(rule__OperationCS__QualifiersAssignment_0_1_1)?

-{ after(grammarAccess.getOperationCSAccess().getQualifiersAssignment_0_1_1()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-

-

-

-

-

 rule__OperationCS__Group_5__0

     @init {

 		int stackSize = keepStackSize();

@@ -11400,29 +11778,29 @@
 

 

 

-rule__OperationCS__Group_9__0

+rule__OperationCS__Group_9_0__0

     @init {

 		int stackSize = keepStackSize();

     }

 :

-	rule__OperationCS__Group_9__0__Impl

-	rule__OperationCS__Group_9__1

+	rule__OperationCS__Group_9_0__0__Impl

+	rule__OperationCS__Group_9_0__1

 ;

 finally {

 	restoreStackSize(stackSize);

 }

 

-rule__OperationCS__Group_9__0__Impl

+rule__OperationCS__Group_9_0__0__Impl

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getOperationCSAccess().getLeftCurlyBracketKeyword_9_0()); }

+{ before(grammarAccess.getOperationCSAccess().getLeftCurlyBracketKeyword_9_0_0()); }

 

 	'{' 

 

-{ after(grammarAccess.getOperationCSAccess().getLeftCurlyBracketKeyword_9_0()); }

+{ after(grammarAccess.getOperationCSAccess().getLeftCurlyBracketKeyword_9_0_0()); }

 )

 

 ;

@@ -11431,34 +11809,26 @@
 }

 

 

-rule__OperationCS__Group_9__1

+rule__OperationCS__Group_9_0__1

     @init {

 		int stackSize = keepStackSize();

     }

 :

-	rule__OperationCS__Group_9__1__Impl

-	rule__OperationCS__Group_9__2

+	rule__OperationCS__Group_9_0__1__Impl

 ;

 finally {

 	restoreStackSize(stackSize);

 }

 

-rule__OperationCS__Group_9__1__Impl

+rule__OperationCS__Group_9_0__1__Impl

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-(

-{ before(grammarAccess.getOperationCSAccess().getGroup_9_1()); }

-(rule__OperationCS__Group_9_1__0)

-{ after(grammarAccess.getOperationCSAccess().getGroup_9_1()); }

-)

-(

-{ before(grammarAccess.getOperationCSAccess().getGroup_9_1()); }

-(rule__OperationCS__Group_9_1__0)*

-{ after(grammarAccess.getOperationCSAccess().getGroup_9_1()); }

-)

+{ before(grammarAccess.getOperationCSAccess().getGroup_9_0_1()); }

+(rule__OperationCS__Group_9_0_1__0)?

+{ after(grammarAccess.getOperationCSAccess().getGroup_9_0_1()); }

 )

 

 ;

@@ -11467,28 +11837,31 @@
 }

 

 

-rule__OperationCS__Group_9__2

+

+

+

+

+rule__OperationCS__Group_9_0_1__0

     @init {

 		int stackSize = keepStackSize();

     }

 :

-	rule__OperationCS__Group_9__2__Impl

+	rule__OperationCS__Group_9_0_1__0__Impl

+	rule__OperationCS__Group_9_0_1__1

 ;

 finally {

 	restoreStackSize(stackSize);

 }

 

-rule__OperationCS__Group_9__2__Impl

+rule__OperationCS__Group_9_0_1__0__Impl

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getOperationCSAccess().getRightCurlyBracketKeyword_9_2()); }

-

-	'}' 

-

-{ after(grammarAccess.getOperationCSAccess().getRightCurlyBracketKeyword_9_2()); }

+{ before(grammarAccess.getOperationCSAccess().getAlternatives_9_0_1_0()); }

+(rule__OperationCS__Alternatives_9_0_1_0)

+{ after(grammarAccess.getOperationCSAccess().getAlternatives_9_0_1_0()); }

 )

 

 ;

@@ -11497,6 +11870,34 @@
 }

 

 

+rule__OperationCS__Group_9_0_1__1

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__OperationCS__Group_9_0_1__1__Impl

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__OperationCS__Group_9_0_1__1__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getOperationCSAccess().getCommaKeyword_9_0_1_1()); }

+(

+	',' 

+)?

+{ after(grammarAccess.getOperationCSAccess().getCommaKeyword_9_0_1_1()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

 

 

 

@@ -11566,6 +11967,132 @@
 

 

 

+rule__OperationCS__Group_9_2__0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__OperationCS__Group_9_2__0__Impl

+	rule__OperationCS__Group_9_2__1

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__OperationCS__Group_9_2__0__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getOperationCSAccess().getGroup_9_2_0()); }

+(rule__OperationCS__Group_9_2_0__0)?

+{ after(grammarAccess.getOperationCSAccess().getGroup_9_2_0()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+rule__OperationCS__Group_9_2__1

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__OperationCS__Group_9_2__1__Impl

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__OperationCS__Group_9_2__1__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getOperationCSAccess().getRightCurlyBracketKeyword_9_2_1()); }

+

+	'}' 

+

+{ after(grammarAccess.getOperationCSAccess().getRightCurlyBracketKeyword_9_2_1()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+

+

+

+

+rule__OperationCS__Group_9_2_0__0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__OperationCS__Group_9_2_0__0__Impl

+	rule__OperationCS__Group_9_2_0__1

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__OperationCS__Group_9_2_0__0__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getOperationCSAccess().getAlternatives_9_2_0_0()); }

+(rule__OperationCS__Alternatives_9_2_0_0)

+{ after(grammarAccess.getOperationCSAccess().getAlternatives_9_2_0_0()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+rule__OperationCS__Group_9_2_0__1

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__OperationCS__Group_9_2_0__1__Impl

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__OperationCS__Group_9_2_0__1__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getOperationCSAccess().getCommaKeyword_9_2_0_1()); }

+(

+	',' 

+)?

+{ after(grammarAccess.getOperationCSAccess().getCommaKeyword_9_2_0_1()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+

+

+

+

 rule__OperationCS__Group_10_0__0

     @init {

 		int stackSize = keepStackSize();

@@ -12276,9 +12803,9 @@
     }

 :

 (

-{ before(grammarAccess.getParameterCSAccess().getGroup_2()); }

-(rule__ParameterCS__Group_2__0)?

-{ after(grammarAccess.getParameterCSAccess().getGroup_2()); }

+{ before(grammarAccess.getParameterCSAccess().getUnorderedGroup_2()); }

+(rule__ParameterCS__UnorderedGroup_2)?

+{ after(grammarAccess.getParameterCSAccess().getUnorderedGroup_2()); }

 )

 

 ;

@@ -12386,29 +12913,29 @@
 

 

 

-rule__ParameterCS__Group_2__0

+rule__ParameterCS__Group_2_0__0

     @init {

 		int stackSize = keepStackSize();

     }

 :

-	rule__ParameterCS__Group_2__0__Impl

-	rule__ParameterCS__Group_2__1

+	rule__ParameterCS__Group_2_0__0__Impl

+	rule__ParameterCS__Group_2_0__1

 ;

 finally {

 	restoreStackSize(stackSize);

 }

 

-rule__ParameterCS__Group_2__0__Impl

+rule__ParameterCS__Group_2_0__0__Impl

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getParameterCSAccess().getLeftCurlyBracketKeyword_2_0()); }

+{ before(grammarAccess.getParameterCSAccess().getLeftCurlyBracketKeyword_2_0_0()); }

 

 	'{' 

 

-{ after(grammarAccess.getParameterCSAccess().getLeftCurlyBracketKeyword_2_0()); }

+{ after(grammarAccess.getParameterCSAccess().getLeftCurlyBracketKeyword_2_0_0()); }

 )

 

 ;

@@ -12417,34 +12944,26 @@
 }

 

 

-rule__ParameterCS__Group_2__1

+rule__ParameterCS__Group_2_0__1

     @init {

 		int stackSize = keepStackSize();

     }

 :

-	rule__ParameterCS__Group_2__1__Impl

-	rule__ParameterCS__Group_2__2

+	rule__ParameterCS__Group_2_0__1__Impl

 ;

 finally {

 	restoreStackSize(stackSize);

 }

 

-rule__ParameterCS__Group_2__1__Impl

+rule__ParameterCS__Group_2_0__1__Impl

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-(

-{ before(grammarAccess.getParameterCSAccess().getGroup_2_1()); }

-(rule__ParameterCS__Group_2_1__0)

-{ after(grammarAccess.getParameterCSAccess().getGroup_2_1()); }

-)

-(

-{ before(grammarAccess.getParameterCSAccess().getGroup_2_1()); }

-(rule__ParameterCS__Group_2_1__0)*

-{ after(grammarAccess.getParameterCSAccess().getGroup_2_1()); }

-)

+{ before(grammarAccess.getParameterCSAccess().getGroup_2_0_1()); }

+(rule__ParameterCS__Group_2_0_1__0)?

+{ after(grammarAccess.getParameterCSAccess().getGroup_2_0_1()); }

 )

 

 ;

@@ -12453,28 +12972,31 @@
 }

 

 

-rule__ParameterCS__Group_2__2

+

+

+

+

+rule__ParameterCS__Group_2_0_1__0

     @init {

 		int stackSize = keepStackSize();

     }

 :

-	rule__ParameterCS__Group_2__2__Impl

+	rule__ParameterCS__Group_2_0_1__0__Impl

+	rule__ParameterCS__Group_2_0_1__1

 ;

 finally {

 	restoreStackSize(stackSize);

 }

 

-rule__ParameterCS__Group_2__2__Impl

+rule__ParameterCS__Group_2_0_1__0__Impl

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getParameterCSAccess().getRightCurlyBracketKeyword_2_2()); }

-

-	'}' 

-

-{ after(grammarAccess.getParameterCSAccess().getRightCurlyBracketKeyword_2_2()); }

+{ before(grammarAccess.getParameterCSAccess().getAlternatives_2_0_1_0()); }

+(rule__ParameterCS__Alternatives_2_0_1_0)

+{ after(grammarAccess.getParameterCSAccess().getAlternatives_2_0_1_0()); }

 )

 

 ;

@@ -12483,6 +13005,34 @@
 }

 

 

+rule__ParameterCS__Group_2_0_1__1

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__ParameterCS__Group_2_0_1__1__Impl

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__ParameterCS__Group_2_0_1__1__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getParameterCSAccess().getCommaKeyword_2_0_1_1()); }

+(

+	',' 

+)?

+{ after(grammarAccess.getParameterCSAccess().getCommaKeyword_2_0_1_1()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

 

 

 

@@ -12507,9 +13057,9 @@
     }

 :

 (

-{ before(grammarAccess.getParameterCSAccess().getAlternatives_2_1_0()); }

-(rule__ParameterCS__Alternatives_2_1_0)

-{ after(grammarAccess.getParameterCSAccess().getAlternatives_2_1_0()); }

+{ before(grammarAccess.getParameterCSAccess().getGroup_2_1_0()); }

+(rule__ParameterCS__Group_2_1_0__0)?

+{ after(grammarAccess.getParameterCSAccess().getGroup_2_1_0()); }

 )

 

 ;

@@ -12535,11 +13085,74 @@
     }

 :

 (

-{ before(grammarAccess.getParameterCSAccess().getCommaKeyword_2_1_1()); }

+{ before(grammarAccess.getParameterCSAccess().getRightCurlyBracketKeyword_2_1_1()); }

+

+	'}' 

+

+{ after(grammarAccess.getParameterCSAccess().getRightCurlyBracketKeyword_2_1_1()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+

+

+

+

+rule__ParameterCS__Group_2_1_0__0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__ParameterCS__Group_2_1_0__0__Impl

+	rule__ParameterCS__Group_2_1_0__1

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__ParameterCS__Group_2_1_0__0__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getParameterCSAccess().getAlternatives_2_1_0_0()); }

+(rule__ParameterCS__Alternatives_2_1_0_0)

+{ after(grammarAccess.getParameterCSAccess().getAlternatives_2_1_0_0()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+rule__ParameterCS__Group_2_1_0__1

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__ParameterCS__Group_2_1_0__1__Impl

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__ParameterCS__Group_2_1_0__1__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getParameterCSAccess().getCommaKeyword_2_1_0_1()); }

 (

 	',' 

 )?

-{ after(grammarAccess.getParameterCSAccess().getCommaKeyword_2_1_1()); }

+{ after(grammarAccess.getParameterCSAccess().getCommaKeyword_2_1_0_1()); }

 )

 

 ;

@@ -12666,9 +13279,9 @@
     }

 :

 (

-{ before(grammarAccess.getReferenceCSAccess().getAlternatives_0()); }

-(rule__ReferenceCS__Alternatives_0)?

-{ after(grammarAccess.getReferenceCSAccess().getAlternatives_0()); }

+{ before(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0()); }

+(rule__ReferenceCS__UnorderedGroup_0)

+{ after(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0()); }

 )

 

 ;

@@ -12842,9 +13455,9 @@
     }

 :

 (

-{ before(grammarAccess.getReferenceCSAccess().getGroup_6()); }

-(rule__ReferenceCS__Group_6__0)?

-{ after(grammarAccess.getReferenceCSAccess().getGroup_6()); }

+{ before(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6()); }

+(rule__ReferenceCS__UnorderedGroup_6)?

+{ after(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6()); }

 )

 

 ;

@@ -12897,128 +13510,6 @@
 

 

 

-rule__ReferenceCS__Group_0_0__0

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-	rule__ReferenceCS__Group_0_0__0__Impl

-	rule__ReferenceCS__Group_0_0__1

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__ReferenceCS__Group_0_0__0__Impl

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_0_0_0()); }

-(rule__ReferenceCS__QualifiersAssignment_0_0_0)

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_0_0_0()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-

-rule__ReferenceCS__Group_0_0__1

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-	rule__ReferenceCS__Group_0_0__1__Impl

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__ReferenceCS__Group_0_0__1__Impl

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_0_0_1()); }

-(rule__ReferenceCS__QualifiersAssignment_0_0_1)?

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_0_0_1()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-

-

-

-

-

-rule__ReferenceCS__Group_0_1__0

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-	rule__ReferenceCS__Group_0_1__0__Impl

-	rule__ReferenceCS__Group_0_1__1

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__ReferenceCS__Group_0_1__0__Impl

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_0_1_0()); }

-(rule__ReferenceCS__QualifiersAssignment_0_1_0)

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_0_1_0()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-

-rule__ReferenceCS__Group_0_1__1

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-	rule__ReferenceCS__Group_0_1__1__Impl

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__ReferenceCS__Group_0_1__1__Impl

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_0_1_1()); }

-(rule__ReferenceCS__QualifiersAssignment_0_1_1)?

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_0_1_1()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-

-

-

-

-

 rule__ReferenceCS__Group_3__0

     @init {

 		int stackSize = keepStackSize();

@@ -13208,29 +13699,29 @@
 

 

 

-rule__ReferenceCS__Group_6__0

+rule__ReferenceCS__Group_6_0__0

     @init {

 		int stackSize = keepStackSize();

     }

 :

-	rule__ReferenceCS__Group_6__0__Impl

-	rule__ReferenceCS__Group_6__1

+	rule__ReferenceCS__Group_6_0__0__Impl

+	rule__ReferenceCS__Group_6_0__1

 ;

 finally {

 	restoreStackSize(stackSize);

 }

 

-rule__ReferenceCS__Group_6__0__Impl

+rule__ReferenceCS__Group_6_0__0__Impl

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_6_0()); }

+{ before(grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_6_0_0()); }

 

 	'{' 

 

-{ after(grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_6_0()); }

+{ after(grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_6_0_0()); }

 )

 

 ;

@@ -13239,34 +13730,26 @@
 }

 

 

-rule__ReferenceCS__Group_6__1

+rule__ReferenceCS__Group_6_0__1

     @init {

 		int stackSize = keepStackSize();

     }

 :

-	rule__ReferenceCS__Group_6__1__Impl

-	rule__ReferenceCS__Group_6__2

+	rule__ReferenceCS__Group_6_0__1__Impl

 ;

 finally {

 	restoreStackSize(stackSize);

 }

 

-rule__ReferenceCS__Group_6__1__Impl

+rule__ReferenceCS__Group_6_0__1__Impl

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-(

-{ before(grammarAccess.getReferenceCSAccess().getGroup_6_1()); }

-(rule__ReferenceCS__Group_6_1__0)

-{ after(grammarAccess.getReferenceCSAccess().getGroup_6_1()); }

-)

-(

-{ before(grammarAccess.getReferenceCSAccess().getGroup_6_1()); }

-(rule__ReferenceCS__Group_6_1__0)*

-{ after(grammarAccess.getReferenceCSAccess().getGroup_6_1()); }

-)

+{ before(grammarAccess.getReferenceCSAccess().getGroup_6_0_1()); }

+(rule__ReferenceCS__Group_6_0_1__0)?

+{ after(grammarAccess.getReferenceCSAccess().getGroup_6_0_1()); }

 )

 

 ;

@@ -13275,28 +13758,31 @@
 }

 

 

-rule__ReferenceCS__Group_6__2

+

+

+

+

+rule__ReferenceCS__Group_6_0_1__0

     @init {

 		int stackSize = keepStackSize();

     }

 :

-	rule__ReferenceCS__Group_6__2__Impl

+	rule__ReferenceCS__Group_6_0_1__0__Impl

+	rule__ReferenceCS__Group_6_0_1__1

 ;

 finally {

 	restoreStackSize(stackSize);

 }

 

-rule__ReferenceCS__Group_6__2__Impl

+rule__ReferenceCS__Group_6_0_1__0__Impl

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_6_2()); }

-

-	'}' 

-

-{ after(grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_6_2()); }

+{ before(grammarAccess.getReferenceCSAccess().getAlternatives_6_0_1_0()); }

+(rule__ReferenceCS__Alternatives_6_0_1_0)

+{ after(grammarAccess.getReferenceCSAccess().getAlternatives_6_0_1_0()); }

 )

 

 ;

@@ -13305,6 +13791,34 @@
 }

 

 

+rule__ReferenceCS__Group_6_0_1__1

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__ReferenceCS__Group_6_0_1__1__Impl

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__ReferenceCS__Group_6_0_1__1__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getReferenceCSAccess().getCommaKeyword_6_0_1_1()); }

+(

+	',' 

+)?

+{ after(grammarAccess.getReferenceCSAccess().getCommaKeyword_6_0_1_1()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

 

 

 

@@ -13374,6 +13888,510 @@
 

 

 

+rule__ReferenceCS__Group_6_2__0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__ReferenceCS__Group_6_2__0__Impl

+	rule__ReferenceCS__Group_6_2__1

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__ReferenceCS__Group_6_2__0__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getReferenceCSAccess().getAlternatives_6_2_0()); }

+(rule__ReferenceCS__Alternatives_6_2_0)

+{ after(grammarAccess.getReferenceCSAccess().getAlternatives_6_2_0()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+rule__ReferenceCS__Group_6_2__1

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__ReferenceCS__Group_6_2__1__Impl

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__ReferenceCS__Group_6_2__1__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getReferenceCSAccess().getCommaKeyword_6_2_1()); }

+(

+	',' 

+)?

+{ after(grammarAccess.getReferenceCSAccess().getCommaKeyword_6_2_1()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+

+

+

+

+rule__ReferenceCS__Group_6_3__0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__ReferenceCS__Group_6_3__0__Impl

+	rule__ReferenceCS__Group_6_3__1

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__ReferenceCS__Group_6_3__0__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getReferenceCSAccess().getAlternatives_6_3_0()); }

+(rule__ReferenceCS__Alternatives_6_3_0)

+{ after(grammarAccess.getReferenceCSAccess().getAlternatives_6_3_0()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+rule__ReferenceCS__Group_6_3__1

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__ReferenceCS__Group_6_3__1__Impl

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__ReferenceCS__Group_6_3__1__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getReferenceCSAccess().getCommaKeyword_6_3_1()); }

+(

+	',' 

+)?

+{ after(grammarAccess.getReferenceCSAccess().getCommaKeyword_6_3_1()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+

+

+

+

+rule__ReferenceCS__Group_6_4__0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__ReferenceCS__Group_6_4__0__Impl

+	rule__ReferenceCS__Group_6_4__1

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__ReferenceCS__Group_6_4__0__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getReferenceCSAccess().getAlternatives_6_4_0()); }

+(rule__ReferenceCS__Alternatives_6_4_0)

+{ after(grammarAccess.getReferenceCSAccess().getAlternatives_6_4_0()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+rule__ReferenceCS__Group_6_4__1

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__ReferenceCS__Group_6_4__1__Impl

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__ReferenceCS__Group_6_4__1__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getReferenceCSAccess().getCommaKeyword_6_4_1()); }

+(

+	',' 

+)?

+{ after(grammarAccess.getReferenceCSAccess().getCommaKeyword_6_4_1()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+

+

+

+

+rule__ReferenceCS__Group_6_5__0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__ReferenceCS__Group_6_5__0__Impl

+	rule__ReferenceCS__Group_6_5__1

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__ReferenceCS__Group_6_5__0__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getReferenceCSAccess().getAlternatives_6_5_0()); }

+(rule__ReferenceCS__Alternatives_6_5_0)

+{ after(grammarAccess.getReferenceCSAccess().getAlternatives_6_5_0()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+rule__ReferenceCS__Group_6_5__1

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__ReferenceCS__Group_6_5__1__Impl

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__ReferenceCS__Group_6_5__1__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getReferenceCSAccess().getCommaKeyword_6_5_1()); }

+(

+	',' 

+)?

+{ after(grammarAccess.getReferenceCSAccess().getCommaKeyword_6_5_1()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+

+

+

+

+rule__ReferenceCS__Group_6_6__0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__ReferenceCS__Group_6_6__0__Impl

+	rule__ReferenceCS__Group_6_6__1

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__ReferenceCS__Group_6_6__0__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getReferenceCSAccess().getAlternatives_6_6_0()); }

+(rule__ReferenceCS__Alternatives_6_6_0)

+{ after(grammarAccess.getReferenceCSAccess().getAlternatives_6_6_0()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+rule__ReferenceCS__Group_6_6__1

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__ReferenceCS__Group_6_6__1__Impl

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__ReferenceCS__Group_6_6__1__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getReferenceCSAccess().getCommaKeyword_6_6_1()); }

+(

+	',' 

+)?

+{ after(grammarAccess.getReferenceCSAccess().getCommaKeyword_6_6_1()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+

+

+

+

+rule__ReferenceCS__Group_6_7__0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__ReferenceCS__Group_6_7__0__Impl

+	rule__ReferenceCS__Group_6_7__1

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__ReferenceCS__Group_6_7__0__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getReferenceCSAccess().getAlternatives_6_7_0()); }

+(rule__ReferenceCS__Alternatives_6_7_0)

+{ after(grammarAccess.getReferenceCSAccess().getAlternatives_6_7_0()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+rule__ReferenceCS__Group_6_7__1

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__ReferenceCS__Group_6_7__1__Impl

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__ReferenceCS__Group_6_7__1__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getReferenceCSAccess().getCommaKeyword_6_7_1()); }

+(

+	',' 

+)?

+{ after(grammarAccess.getReferenceCSAccess().getCommaKeyword_6_7_1()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+

+

+

+

+rule__ReferenceCS__Group_6_8__0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__ReferenceCS__Group_6_8__0__Impl

+	rule__ReferenceCS__Group_6_8__1

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__ReferenceCS__Group_6_8__0__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getReferenceCSAccess().getGroup_6_8_0()); }

+(rule__ReferenceCS__Group_6_8_0__0)?

+{ after(grammarAccess.getReferenceCSAccess().getGroup_6_8_0()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+rule__ReferenceCS__Group_6_8__1

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__ReferenceCS__Group_6_8__1__Impl

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__ReferenceCS__Group_6_8__1__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_6_8_1()); }

+

+	'}' 

+

+{ after(grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_6_8_1()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+

+

+

+

+rule__ReferenceCS__Group_6_8_0__0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__ReferenceCS__Group_6_8_0__0__Impl

+	rule__ReferenceCS__Group_6_8_0__1

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__ReferenceCS__Group_6_8_0__0__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getReferenceCSAccess().getAlternatives_6_8_0_0()); }

+(rule__ReferenceCS__Alternatives_6_8_0_0)

+{ after(grammarAccess.getReferenceCSAccess().getAlternatives_6_8_0_0()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+rule__ReferenceCS__Group_6_8_0__1

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__ReferenceCS__Group_6_8_0__1__Impl

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+rule__ReferenceCS__Group_6_8_0__1__Impl

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+(

+{ before(grammarAccess.getReferenceCSAccess().getCommaKeyword_6_8_0_1()); }

+(

+	',' 

+)?

+{ after(grammarAccess.getReferenceCSAccess().getCommaKeyword_6_8_0_1()); }

+)

+

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+

+

+

+

 rule__ReferenceCS__Group_7_0__0

     @init {

 		int stackSize = keepStackSize();

@@ -22905,6 +23923,1130 @@
 

 

 

+rule__AttributeCS__UnorderedGroup_0

+    @init {

+    	int stackSize = keepStackSize();

+		getUnorderedGroupHelper().enter(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0());

+    }

+:

+	rule__AttributeCS__UnorderedGroup_0__0

+	?

+	

+;

+finally {

+	getUnorderedGroupHelper().leave(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0());

+	restoreStackSize(stackSize);

+}

+

+

+rule__AttributeCS__UnorderedGroup_0__Impl

+	@init {

+		int stackSize = keepStackSize();

+		boolean selected = false;

+    }

+:

+		(

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 0)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 0);

+	 				}

+	 				{

+	 				  selected = true;

+	 				}

+					(

+					

+						{ before(grammarAccess.getAttributeCSAccess().getIsStaticAssignment_0_0()); }

+						(rule__AttributeCS__IsStaticAssignment_0_0)

+						{ after(grammarAccess.getAttributeCSAccess().getIsStaticAssignment_0_0()); }

+					)

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 1)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 1);

+	 				}

+	 				{

+	 				  selected = true;

+	 				}

+					(

+					

+						{ before(grammarAccess.getAttributeCSAccess().getIsDefinitionAssignment_0_1()); }

+						(rule__AttributeCS__IsDefinitionAssignment_0_1)

+						{ after(grammarAccess.getAttributeCSAccess().getIsDefinitionAssignment_0_1()); }

+					)

+ 				)

+			)  

+

+		)

+;

+finally {

+	if (selected)

+		getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0());

+	restoreStackSize(stackSize);

+}

+

+

+rule__AttributeCS__UnorderedGroup_0__0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__AttributeCS__UnorderedGroup_0__Impl

+	rule__AttributeCS__UnorderedGroup_0__1?

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+rule__AttributeCS__UnorderedGroup_0__1

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__AttributeCS__UnorderedGroup_0__Impl

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+

+

+

+

+rule__AttributeCS__UnorderedGroup_5

+    @init {

+    	int stackSize = keepStackSize();

+		getUnorderedGroupHelper().enter(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5());

+    }

+:

+	rule__AttributeCS__UnorderedGroup_5__0

+	

+	{getUnorderedGroupHelper().canLeave(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5())}?

+	

+;

+finally {

+	getUnorderedGroupHelper().leave(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5());

+	restoreStackSize(stackSize);

+}

+

+

+rule__AttributeCS__UnorderedGroup_5__Impl

+	@init {

+		int stackSize = keepStackSize();

+		boolean selected = false;

+    }

+:

+		(

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0);

+	 				}

+	 				{

+	 				  selected = true;

+	 				}

+					(

+					

+						{ before(grammarAccess.getAttributeCSAccess().getGroup_5_0()); }

+						(rule__AttributeCS__Group_5_0__0)

+						{ after(grammarAccess.getAttributeCSAccess().getGroup_5_0()); }

+					)

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1);

+	 				}

+	 				{

+	 				  selected = true;

+	 				}

+					(

+					

+						{ before(grammarAccess.getAttributeCSAccess().getGroup_5_1()); }

+						(rule__AttributeCS__Group_5_1__0)

+						{ after(grammarAccess.getAttributeCSAccess().getGroup_5_1()); }

+					)

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2);

+	 				}

+	 				{

+	 				  selected = true;

+	 				}

+					(

+					

+						{ before(grammarAccess.getAttributeCSAccess().getGroup_5_2()); }

+						(rule__AttributeCS__Group_5_2__0)

+						{ after(grammarAccess.getAttributeCSAccess().getGroup_5_2()); }

+					)

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3);

+	 				}

+	 				{

+	 				  selected = true;

+	 				}

+					(

+					

+						{ before(grammarAccess.getAttributeCSAccess().getGroup_5_3()); }

+						(rule__AttributeCS__Group_5_3__0)

+						{ after(grammarAccess.getAttributeCSAccess().getGroup_5_3()); }

+					)

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4);

+	 				}

+	 				{

+	 				  selected = true;

+	 				}

+					(

+					

+						{ before(grammarAccess.getAttributeCSAccess().getGroup_5_4()); }

+						(rule__AttributeCS__Group_5_4__0)

+						{ after(grammarAccess.getAttributeCSAccess().getGroup_5_4()); }

+					)

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5);

+	 				}

+	 				{

+	 				  selected = true;

+	 				}

+					(

+					

+						{ before(grammarAccess.getAttributeCSAccess().getGroup_5_5()); }

+						(rule__AttributeCS__Group_5_5__0)

+						{ after(grammarAccess.getAttributeCSAccess().getGroup_5_5()); }

+					)

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6);

+	 				}

+	 				{

+	 				  selected = true;

+	 				}

+					(

+					

+						{ before(grammarAccess.getAttributeCSAccess().getGroup_5_6()); }

+						(rule__AttributeCS__Group_5_6__0)

+						{ after(grammarAccess.getAttributeCSAccess().getGroup_5_6()); }

+					)

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7);

+	 				}

+	 				{

+	 				  selected = true;

+	 				}

+					(

+					

+						{ before(grammarAccess.getAttributeCSAccess().getGroup_5_7()); }

+						(rule__AttributeCS__Group_5_7__0)

+						{ after(grammarAccess.getAttributeCSAccess().getGroup_5_7()); }

+					)

+ 				)

+			)  

+

+		)

+;

+finally {

+	if (selected)

+		getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5());

+	restoreStackSize(stackSize);

+}

+

+

+rule__AttributeCS__UnorderedGroup_5__0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__AttributeCS__UnorderedGroup_5__Impl

+	rule__AttributeCS__UnorderedGroup_5__1?

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+rule__AttributeCS__UnorderedGroup_5__1

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__AttributeCS__UnorderedGroup_5__Impl

+	rule__AttributeCS__UnorderedGroup_5__2?

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+rule__AttributeCS__UnorderedGroup_5__2

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__AttributeCS__UnorderedGroup_5__Impl

+	rule__AttributeCS__UnorderedGroup_5__3?

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+rule__AttributeCS__UnorderedGroup_5__3

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__AttributeCS__UnorderedGroup_5__Impl

+	rule__AttributeCS__UnorderedGroup_5__4?

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+rule__AttributeCS__UnorderedGroup_5__4

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__AttributeCS__UnorderedGroup_5__Impl

+	rule__AttributeCS__UnorderedGroup_5__5?

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+rule__AttributeCS__UnorderedGroup_5__5

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__AttributeCS__UnorderedGroup_5__Impl

+	rule__AttributeCS__UnorderedGroup_5__6?

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+rule__AttributeCS__UnorderedGroup_5__6

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__AttributeCS__UnorderedGroup_5__Impl

+	rule__AttributeCS__UnorderedGroup_5__7?

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+rule__AttributeCS__UnorderedGroup_5__7

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__AttributeCS__UnorderedGroup_5__Impl

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+rule__OperationCS__UnorderedGroup_0

+    @init {

+    	int stackSize = keepStackSize();

+		getUnorderedGroupHelper().enter(grammarAccess.getOperationCSAccess().getUnorderedGroup_0());

+    }

+:

+	rule__OperationCS__UnorderedGroup_0__0

+	?

+	

+;

+finally {

+	getUnorderedGroupHelper().leave(grammarAccess.getOperationCSAccess().getUnorderedGroup_0());

+	restoreStackSize(stackSize);

+}

+

+

+rule__OperationCS__UnorderedGroup_0__Impl

+	@init {

+		int stackSize = keepStackSize();

+		boolean selected = false;

+    }

+:

+		(

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 0)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 0);

+	 				}

+	 				{

+	 				  selected = true;

+	 				}

+					(

+					

+						{ before(grammarAccess.getOperationCSAccess().getIsStaticAssignment_0_0()); }

+						(rule__OperationCS__IsStaticAssignment_0_0)

+						{ after(grammarAccess.getOperationCSAccess().getIsStaticAssignment_0_0()); }

+					)

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 1)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 1);

+	 				}

+	 				{

+	 				  selected = true;

+	 				}

+					(

+					

+						{ before(grammarAccess.getOperationCSAccess().getIsDefinitionAssignment_0_1()); }

+						(rule__OperationCS__IsDefinitionAssignment_0_1)

+						{ after(grammarAccess.getOperationCSAccess().getIsDefinitionAssignment_0_1()); }

+					)

+ 				)

+			)  

+

+		)

+;

+finally {

+	if (selected)

+		getUnorderedGroupHelper().returnFromSelection(grammarAccess.getOperationCSAccess().getUnorderedGroup_0());

+	restoreStackSize(stackSize);

+}

+

+

+rule__OperationCS__UnorderedGroup_0__0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__OperationCS__UnorderedGroup_0__Impl

+	rule__OperationCS__UnorderedGroup_0__1?

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+rule__OperationCS__UnorderedGroup_0__1

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__OperationCS__UnorderedGroup_0__Impl

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+

+

+

+

+rule__OperationCS__UnorderedGroup_9

+    @init {

+    	int stackSize = keepStackSize();

+		getUnorderedGroupHelper().enter(grammarAccess.getOperationCSAccess().getUnorderedGroup_9());

+    }

+:

+	rule__OperationCS__UnorderedGroup_9__0

+	

+	{getUnorderedGroupHelper().canLeave(grammarAccess.getOperationCSAccess().getUnorderedGroup_9())}?

+	

+;

+finally {

+	getUnorderedGroupHelper().leave(grammarAccess.getOperationCSAccess().getUnorderedGroup_9());

+	restoreStackSize(stackSize);

+}

+

+

+rule__OperationCS__UnorderedGroup_9__Impl

+	@init {

+		int stackSize = keepStackSize();

+		boolean selected = false;

+    }

+:

+		(

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 0)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 0);

+	 				}

+	 				{

+	 				  selected = true;

+	 				}

+					(

+					

+						{ before(grammarAccess.getOperationCSAccess().getGroup_9_0()); }

+						(rule__OperationCS__Group_9_0__0)

+						{ after(grammarAccess.getOperationCSAccess().getGroup_9_0()); }

+					)

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 1)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 1);

+	 				}

+	 				{

+	 				  selected = true;

+	 				}

+					(

+					

+						{ before(grammarAccess.getOperationCSAccess().getGroup_9_1()); }

+						(rule__OperationCS__Group_9_1__0)

+						{ after(grammarAccess.getOperationCSAccess().getGroup_9_1()); }

+					)

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 2)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 2);

+	 				}

+	 				{

+	 				  selected = true;

+	 				}

+					(

+					

+						{ before(grammarAccess.getOperationCSAccess().getGroup_9_2()); }

+						(rule__OperationCS__Group_9_2__0)

+						{ after(grammarAccess.getOperationCSAccess().getGroup_9_2()); }

+					)

+ 				)

+			)  

+

+		)

+;

+finally {

+	if (selected)

+		getUnorderedGroupHelper().returnFromSelection(grammarAccess.getOperationCSAccess().getUnorderedGroup_9());

+	restoreStackSize(stackSize);

+}

+

+

+rule__OperationCS__UnorderedGroup_9__0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__OperationCS__UnorderedGroup_9__Impl

+	rule__OperationCS__UnorderedGroup_9__1?

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+rule__OperationCS__UnorderedGroup_9__1

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__OperationCS__UnorderedGroup_9__Impl

+	rule__OperationCS__UnorderedGroup_9__2?

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+rule__OperationCS__UnorderedGroup_9__2

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__OperationCS__UnorderedGroup_9__Impl

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+

+

+

+

+

+

+rule__ParameterCS__UnorderedGroup_2

+    @init {

+    	int stackSize = keepStackSize();

+		getUnorderedGroupHelper().enter(grammarAccess.getParameterCSAccess().getUnorderedGroup_2());

+    }

+:

+	rule__ParameterCS__UnorderedGroup_2__0

+	

+	{getUnorderedGroupHelper().canLeave(grammarAccess.getParameterCSAccess().getUnorderedGroup_2())}?

+	

+;

+finally {

+	getUnorderedGroupHelper().leave(grammarAccess.getParameterCSAccess().getUnorderedGroup_2());

+	restoreStackSize(stackSize);

+}

+

+

+rule__ParameterCS__UnorderedGroup_2__Impl

+	@init {

+		int stackSize = keepStackSize();

+		boolean selected = false;

+    }

+:

+		(

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0);

+	 				}

+	 				{

+	 				  selected = true;

+	 				}

+					(

+					

+						{ before(grammarAccess.getParameterCSAccess().getGroup_2_0()); }

+						(rule__ParameterCS__Group_2_0__0)

+						{ after(grammarAccess.getParameterCSAccess().getGroup_2_0()); }

+					)

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 1)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 1);

+	 				}

+	 				{

+	 				  selected = true;

+	 				}

+					(

+					

+						{ before(grammarAccess.getParameterCSAccess().getGroup_2_1()); }

+						(rule__ParameterCS__Group_2_1__0)

+						{ after(grammarAccess.getParameterCSAccess().getGroup_2_1()); }

+					)

+ 				)

+			)  

+

+		)

+;

+finally {

+	if (selected)

+		getUnorderedGroupHelper().returnFromSelection(grammarAccess.getParameterCSAccess().getUnorderedGroup_2());

+	restoreStackSize(stackSize);

+}

+

+

+rule__ParameterCS__UnorderedGroup_2__0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__ParameterCS__UnorderedGroup_2__Impl

+	rule__ParameterCS__UnorderedGroup_2__1?

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+rule__ParameterCS__UnorderedGroup_2__1

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__ParameterCS__UnorderedGroup_2__Impl

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+

+

+

+

+rule__ReferenceCS__UnorderedGroup_0

+    @init {

+    	int stackSize = keepStackSize();

+		getUnorderedGroupHelper().enter(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0());

+    }

+:

+	rule__ReferenceCS__UnorderedGroup_0__0

+	?

+	

+;

+finally {

+	getUnorderedGroupHelper().leave(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0());

+	restoreStackSize(stackSize);

+}

+

+

+rule__ReferenceCS__UnorderedGroup_0__Impl

+	@init {

+		int stackSize = keepStackSize();

+		boolean selected = false;

+    }

+:

+		(

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 0)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 0);

+	 				}

+	 				{

+	 				  selected = true;

+	 				}

+					(

+					

+						{ before(grammarAccess.getReferenceCSAccess().getIsStaticAssignment_0_0()); }

+						(rule__ReferenceCS__IsStaticAssignment_0_0)

+						{ after(grammarAccess.getReferenceCSAccess().getIsStaticAssignment_0_0()); }

+					)

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 1)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 1);

+	 				}

+	 				{

+	 				  selected = true;

+	 				}

+					(

+					

+						{ before(grammarAccess.getReferenceCSAccess().getIsDefinitionAssignment_0_1()); }

+						(rule__ReferenceCS__IsDefinitionAssignment_0_1)

+						{ after(grammarAccess.getReferenceCSAccess().getIsDefinitionAssignment_0_1()); }

+					)

+ 				)

+			)  

+

+		)

+;

+finally {

+	if (selected)

+		getUnorderedGroupHelper().returnFromSelection(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0());

+	restoreStackSize(stackSize);

+}

+

+

+rule__ReferenceCS__UnorderedGroup_0__0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__ReferenceCS__UnorderedGroup_0__Impl

+	rule__ReferenceCS__UnorderedGroup_0__1?

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+rule__ReferenceCS__UnorderedGroup_0__1

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__ReferenceCS__UnorderedGroup_0__Impl

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+

+

+

+

+rule__ReferenceCS__UnorderedGroup_6

+    @init {

+    	int stackSize = keepStackSize();

+		getUnorderedGroupHelper().enter(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6());

+    }

+:

+	rule__ReferenceCS__UnorderedGroup_6__0

+	

+	{getUnorderedGroupHelper().canLeave(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6())}?

+	

+;

+finally {

+	getUnorderedGroupHelper().leave(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6());

+	restoreStackSize(stackSize);

+}

+

+

+rule__ReferenceCS__UnorderedGroup_6__Impl

+	@init {

+		int stackSize = keepStackSize();

+		boolean selected = false;

+    }

+:

+		(

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0);

+	 				}

+	 				{

+	 				  selected = true;

+	 				}

+					(

+					

+						{ before(grammarAccess.getReferenceCSAccess().getGroup_6_0()); }

+						(rule__ReferenceCS__Group_6_0__0)

+						{ after(grammarAccess.getReferenceCSAccess().getGroup_6_0()); }

+					)

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1);

+	 				}

+	 				{

+	 				  selected = true;

+	 				}

+					(

+					

+						{ before(grammarAccess.getReferenceCSAccess().getGroup_6_1()); }

+						(rule__ReferenceCS__Group_6_1__0)

+						{ after(grammarAccess.getReferenceCSAccess().getGroup_6_1()); }

+					)

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2);

+	 				}

+	 				{

+	 				  selected = true;

+	 				}

+					(

+					

+						{ before(grammarAccess.getReferenceCSAccess().getGroup_6_2()); }

+						(rule__ReferenceCS__Group_6_2__0)

+						{ after(grammarAccess.getReferenceCSAccess().getGroup_6_2()); }

+					)

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3);

+	 				}

+	 				{

+	 				  selected = true;

+	 				}

+					(

+					

+						{ before(grammarAccess.getReferenceCSAccess().getGroup_6_3()); }

+						(rule__ReferenceCS__Group_6_3__0)

+						{ after(grammarAccess.getReferenceCSAccess().getGroup_6_3()); }

+					)

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4);

+	 				}

+	 				{

+	 				  selected = true;

+	 				}

+					(

+					

+						{ before(grammarAccess.getReferenceCSAccess().getGroup_6_4()); }

+						(rule__ReferenceCS__Group_6_4__0)

+						{ after(grammarAccess.getReferenceCSAccess().getGroup_6_4()); }

+					)

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5);

+	 				}

+	 				{

+	 				  selected = true;

+	 				}

+					(

+					

+						{ before(grammarAccess.getReferenceCSAccess().getGroup_6_5()); }

+						(rule__ReferenceCS__Group_6_5__0)

+						{ after(grammarAccess.getReferenceCSAccess().getGroup_6_5()); }

+					)

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6);

+	 				}

+	 				{

+	 				  selected = true;

+	 				}

+					(

+					

+						{ before(grammarAccess.getReferenceCSAccess().getGroup_6_6()); }

+						(rule__ReferenceCS__Group_6_6__0)

+						{ after(grammarAccess.getReferenceCSAccess().getGroup_6_6()); }

+					)

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7);

+	 				}

+	 				{

+	 				  selected = true;

+	 				}

+					(

+					

+						{ before(grammarAccess.getReferenceCSAccess().getGroup_6_7()); }

+						(rule__ReferenceCS__Group_6_7__0)

+						{ after(grammarAccess.getReferenceCSAccess().getGroup_6_7()); }

+					)

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8);

+	 				}

+	 				{

+	 				  selected = true;

+	 				}

+					(

+					

+						{ before(grammarAccess.getReferenceCSAccess().getGroup_6_8()); }

+						(rule__ReferenceCS__Group_6_8__0)

+						{ after(grammarAccess.getReferenceCSAccess().getGroup_6_8()); }

+					)

+ 				)

+			)  

+

+		)

+;

+finally {

+	if (selected)

+		getUnorderedGroupHelper().returnFromSelection(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6());

+	restoreStackSize(stackSize);

+}

+

+

+rule__ReferenceCS__UnorderedGroup_6__0

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__ReferenceCS__UnorderedGroup_6__Impl

+	rule__ReferenceCS__UnorderedGroup_6__1?

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+rule__ReferenceCS__UnorderedGroup_6__1

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__ReferenceCS__UnorderedGroup_6__Impl

+	rule__ReferenceCS__UnorderedGroup_6__2?

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+rule__ReferenceCS__UnorderedGroup_6__2

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__ReferenceCS__UnorderedGroup_6__Impl

+	rule__ReferenceCS__UnorderedGroup_6__3?

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+rule__ReferenceCS__UnorderedGroup_6__3

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__ReferenceCS__UnorderedGroup_6__Impl

+	rule__ReferenceCS__UnorderedGroup_6__4?

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+rule__ReferenceCS__UnorderedGroup_6__4

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__ReferenceCS__UnorderedGroup_6__Impl

+	rule__ReferenceCS__UnorderedGroup_6__5?

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+rule__ReferenceCS__UnorderedGroup_6__5

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__ReferenceCS__UnorderedGroup_6__Impl

+	rule__ReferenceCS__UnorderedGroup_6__6?

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+rule__ReferenceCS__UnorderedGroup_6__6

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__ReferenceCS__UnorderedGroup_6__Impl

+	rule__ReferenceCS__UnorderedGroup_6__7?

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+rule__ReferenceCS__UnorderedGroup_6__7

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__ReferenceCS__UnorderedGroup_6__Impl

+	rule__ReferenceCS__UnorderedGroup_6__8?

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+rule__ReferenceCS__UnorderedGroup_6__8

+    @init {

+		int stackSize = keepStackSize();

+    }

+:

+	rule__ReferenceCS__UnorderedGroup_6__Impl

+;

+finally {

+	restoreStackSize(stackSize);

+}

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

 rule__TopLevelCS__OwnedLibrariesAssignment_2

     @init {

 		int stackSize = keepStackSize();

@@ -23268,22 +25410,22 @@
 	restoreStackSize(stackSize);

 }

 

-rule__AttributeCS__QualifiersAssignment_0_0_0

+rule__AttributeCS__IsStaticAssignment_0_0

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersStaticKeyword_0_0_0_0()); }

+{ before(grammarAccess.getAttributeCSAccess().getIsStaticStaticKeyword_0_0_0()); }

 (

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersStaticKeyword_0_0_0_0()); }

+{ before(grammarAccess.getAttributeCSAccess().getIsStaticStaticKeyword_0_0_0()); }

 

 	'static' 

 

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersStaticKeyword_0_0_0_0()); }

+{ after(grammarAccess.getAttributeCSAccess().getIsStaticStaticKeyword_0_0_0()); }

 )

 

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersStaticKeyword_0_0_0_0()); }

+{ after(grammarAccess.getAttributeCSAccess().getIsStaticStaticKeyword_0_0_0()); }

 )

 

 ;

@@ -23291,68 +25433,22 @@
 	restoreStackSize(stackSize);

 }

 

-rule__AttributeCS__QualifiersAssignment_0_0_1

+rule__AttributeCS__IsDefinitionAssignment_0_1

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersDefinitionKeyword_0_0_1_0()); }

+{ before(grammarAccess.getAttributeCSAccess().getIsDefinitionDefinitionKeyword_0_1_0()); }

 (

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersDefinitionKeyword_0_0_1_0()); }

+{ before(grammarAccess.getAttributeCSAccess().getIsDefinitionDefinitionKeyword_0_1_0()); }

 

 	'definition' 

 

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersDefinitionKeyword_0_0_1_0()); }

+{ after(grammarAccess.getAttributeCSAccess().getIsDefinitionDefinitionKeyword_0_1_0()); }

 )

 

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersDefinitionKeyword_0_0_1_0()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__AttributeCS__QualifiersAssignment_0_1_0

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersDefinitionKeyword_0_1_0_0()); }

-(

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersDefinitionKeyword_0_1_0_0()); }

-

-	'definition' 

-

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersDefinitionKeyword_0_1_0_0()); }

-)

-

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersDefinitionKeyword_0_1_0_0()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__AttributeCS__QualifiersAssignment_0_1_1

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersStaticKeyword_0_1_1_0()); }

-(

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersStaticKeyword_0_1_1_0()); }

-

-	'static' 

-

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersStaticKeyword_0_1_1_0()); }

-)

-

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersStaticKeyword_0_1_1_0()); }

+{ after(grammarAccess.getAttributeCSAccess().getIsDefinitionDefinitionKeyword_0_1_0()); }

 )

 

 ;

@@ -23405,22 +25501,22 @@
 	restoreStackSize(stackSize);

 }

 

-rule__AttributeCS__QualifiersAssignment_5_1_0_0

+rule__AttributeCS__IsDerivedAssignment_5_0_1_0_0

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersDerivedKeyword_5_1_0_0_0()); }

+{ before(grammarAccess.getAttributeCSAccess().getIsDerivedDerivedKeyword_5_0_1_0_0_0()); }

 (

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersDerivedKeyword_5_1_0_0_0()); }

+{ before(grammarAccess.getAttributeCSAccess().getIsDerivedDerivedKeyword_5_0_1_0_0_0()); }

 

 	'derived' 

 

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersDerivedKeyword_5_1_0_0_0()); }

+{ after(grammarAccess.getAttributeCSAccess().getIsDerivedDerivedKeyword_5_0_1_0_0_0()); }

 )

 

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersDerivedKeyword_5_1_0_0_0()); }

+{ after(grammarAccess.getAttributeCSAccess().getIsDerivedDerivedKeyword_5_0_1_0_0_0()); }

 )

 

 ;

@@ -23428,45 +25524,22 @@
 	restoreStackSize(stackSize);

 }

 

-rule__AttributeCS__QualifiersAssignment_5_1_0_1

+rule__AttributeCS__IsIdAssignment_5_1_0_0

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersDerivedKeyword_5_1_0_1_0()); }

+{ before(grammarAccess.getAttributeCSAccess().getIsIdIdKeyword_5_1_0_0_0()); }

 (

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersDerivedKeyword_5_1_0_1_0()); }

-

-	'!derived' 

-

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersDerivedKeyword_5_1_0_1_0()); }

-)

-

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersDerivedKeyword_5_1_0_1_0()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__AttributeCS__QualifiersAssignment_5_1_0_2

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersIdKeyword_5_1_0_2_0()); }

-(

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersIdKeyword_5_1_0_2_0()); }

+{ before(grammarAccess.getAttributeCSAccess().getIsIdIdKeyword_5_1_0_0_0()); }

 

 	'id' 

 

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersIdKeyword_5_1_0_2_0()); }

+{ after(grammarAccess.getAttributeCSAccess().getIsIdIdKeyword_5_1_0_0_0()); }

 )

 

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersIdKeyword_5_1_0_2_0()); }

+{ after(grammarAccess.getAttributeCSAccess().getIsIdIdKeyword_5_1_0_0_0()); }

 )

 

 ;

@@ -23474,45 +25547,22 @@
 	restoreStackSize(stackSize);

 }

 

-rule__AttributeCS__QualifiersAssignment_5_1_0_3

+rule__AttributeCS__IsOrderedAssignment_5_2_0_0

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersIdKeyword_5_1_0_3_0()); }

+{ before(grammarAccess.getAttributeCSAccess().getIsOrderedOrderedKeyword_5_2_0_0_0()); }

 (

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersIdKeyword_5_1_0_3_0()); }

-

-	'!id' 

-

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersIdKeyword_5_1_0_3_0()); }

-)

-

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersIdKeyword_5_1_0_3_0()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__AttributeCS__QualifiersAssignment_5_1_0_4

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersOrderedKeyword_5_1_0_4_0()); }

-(

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersOrderedKeyword_5_1_0_4_0()); }

+{ before(grammarAccess.getAttributeCSAccess().getIsOrderedOrderedKeyword_5_2_0_0_0()); }

 

 	'ordered' 

 

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersOrderedKeyword_5_1_0_4_0()); }

+{ after(grammarAccess.getAttributeCSAccess().getIsOrderedOrderedKeyword_5_2_0_0_0()); }

 )

 

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersOrderedKeyword_5_1_0_4_0()); }

+{ after(grammarAccess.getAttributeCSAccess().getIsOrderedOrderedKeyword_5_2_0_0_0()); }

 )

 

 ;

@@ -23520,45 +25570,22 @@
 	restoreStackSize(stackSize);

 }

 

-rule__AttributeCS__QualifiersAssignment_5_1_0_5

+rule__AttributeCS__IsReadonlyAssignment_5_3_0_0

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersOrderedKeyword_5_1_0_5_0()); }

+{ before(grammarAccess.getAttributeCSAccess().getIsReadonlyReadonlyKeyword_5_3_0_0_0()); }

 (

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersOrderedKeyword_5_1_0_5_0()); }

-

-	'!ordered' 

-

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersOrderedKeyword_5_1_0_5_0()); }

-)

-

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersOrderedKeyword_5_1_0_5_0()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__AttributeCS__QualifiersAssignment_5_1_0_6

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersReadonlyKeyword_5_1_0_6_0()); }

-(

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersReadonlyKeyword_5_1_0_6_0()); }

+{ before(grammarAccess.getAttributeCSAccess().getIsReadonlyReadonlyKeyword_5_3_0_0_0()); }

 

 	'readonly' 

 

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersReadonlyKeyword_5_1_0_6_0()); }

+{ after(grammarAccess.getAttributeCSAccess().getIsReadonlyReadonlyKeyword_5_3_0_0_0()); }

 )

 

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersReadonlyKeyword_5_1_0_6_0()); }

+{ after(grammarAccess.getAttributeCSAccess().getIsReadonlyReadonlyKeyword_5_3_0_0_0()); }

 )

 

 ;

@@ -23566,45 +25593,22 @@
 	restoreStackSize(stackSize);

 }

 

-rule__AttributeCS__QualifiersAssignment_5_1_0_7

+rule__AttributeCS__IsTransientAssignment_5_4_0_0

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersReadonlyKeyword_5_1_0_7_0()); }

+{ before(grammarAccess.getAttributeCSAccess().getIsTransientTransientKeyword_5_4_0_0_0()); }

 (

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersReadonlyKeyword_5_1_0_7_0()); }

-

-	'!readonly' 

-

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersReadonlyKeyword_5_1_0_7_0()); }

-)

-

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersReadonlyKeyword_5_1_0_7_0()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__AttributeCS__QualifiersAssignment_5_1_0_8

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersTransientKeyword_5_1_0_8_0()); }

-(

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersTransientKeyword_5_1_0_8_0()); }

+{ before(grammarAccess.getAttributeCSAccess().getIsTransientTransientKeyword_5_4_0_0_0()); }

 

 	'transient' 

 

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersTransientKeyword_5_1_0_8_0()); }

+{ after(grammarAccess.getAttributeCSAccess().getIsTransientTransientKeyword_5_4_0_0_0()); }

 )

 

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersTransientKeyword_5_1_0_8_0()); }

+{ after(grammarAccess.getAttributeCSAccess().getIsTransientTransientKeyword_5_4_0_0_0()); }

 )

 

 ;

@@ -23612,68 +25616,22 @@
 	restoreStackSize(stackSize);

 }

 

-rule__AttributeCS__QualifiersAssignment_5_1_0_9

+rule__AttributeCS__IsNotUniqueAssignment_5_5_0_0

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersTransientKeyword_5_1_0_9_0()); }

+{ before(grammarAccess.getAttributeCSAccess().getIsNotUniqueUniqueKeyword_5_5_0_0_0()); }

 (

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersTransientKeyword_5_1_0_9_0()); }

-

-	'!transient' 

-

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersTransientKeyword_5_1_0_9_0()); }

-)

-

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersTransientKeyword_5_1_0_9_0()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__AttributeCS__QualifiersAssignment_5_1_0_10

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersUniqueKeyword_5_1_0_10_0()); }

-(

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersUniqueKeyword_5_1_0_10_0()); }

-

-	'unique' 

-

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersUniqueKeyword_5_1_0_10_0()); }

-)

-

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersUniqueKeyword_5_1_0_10_0()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__AttributeCS__QualifiersAssignment_5_1_0_11

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersUniqueKeyword_5_1_0_11_0()); }

-(

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersUniqueKeyword_5_1_0_11_0()); }

+{ before(grammarAccess.getAttributeCSAccess().getIsNotUniqueUniqueKeyword_5_5_0_0_0()); }

 

 	'!unique' 

 

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersUniqueKeyword_5_1_0_11_0()); }

+{ after(grammarAccess.getAttributeCSAccess().getIsNotUniqueUniqueKeyword_5_5_0_0_0()); }

 )

 

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersUniqueKeyword_5_1_0_11_0()); }

+{ after(grammarAccess.getAttributeCSAccess().getIsNotUniqueUniqueKeyword_5_5_0_0_0()); }

 )

 

 ;

@@ -23681,22 +25639,22 @@
 	restoreStackSize(stackSize);

 }

 

-rule__AttributeCS__QualifiersAssignment_5_1_0_12

+rule__AttributeCS__IsUnsettableAssignment_5_6_0_0

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersUnsettableKeyword_5_1_0_12_0()); }

+{ before(grammarAccess.getAttributeCSAccess().getIsUnsettableUnsettableKeyword_5_6_0_0_0()); }

 (

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersUnsettableKeyword_5_1_0_12_0()); }

+{ before(grammarAccess.getAttributeCSAccess().getIsUnsettableUnsettableKeyword_5_6_0_0_0()); }

 

 	'unsettable' 

 

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersUnsettableKeyword_5_1_0_12_0()); }

+{ after(grammarAccess.getAttributeCSAccess().getIsUnsettableUnsettableKeyword_5_6_0_0_0()); }

 )

 

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersUnsettableKeyword_5_1_0_12_0()); }

+{ after(grammarAccess.getAttributeCSAccess().getIsUnsettableUnsettableKeyword_5_6_0_0_0()); }

 )

 

 ;

@@ -23704,68 +25662,22 @@
 	restoreStackSize(stackSize);

 }

 

-rule__AttributeCS__QualifiersAssignment_5_1_0_13

+rule__AttributeCS__IsVolatileAssignment_5_7_0_0_0

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersUnsettableKeyword_5_1_0_13_0()); }

+{ before(grammarAccess.getAttributeCSAccess().getIsVolatileVolatileKeyword_5_7_0_0_0_0()); }

 (

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersUnsettableKeyword_5_1_0_13_0()); }

-

-	'!unsettable' 

-

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersUnsettableKeyword_5_1_0_13_0()); }

-)

-

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersUnsettableKeyword_5_1_0_13_0()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__AttributeCS__QualifiersAssignment_5_1_0_14

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersVolatileKeyword_5_1_0_14_0()); }

-(

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersVolatileKeyword_5_1_0_14_0()); }

+{ before(grammarAccess.getAttributeCSAccess().getIsVolatileVolatileKeyword_5_7_0_0_0_0()); }

 

 	'volatile' 

 

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersVolatileKeyword_5_1_0_14_0()); }

+{ after(grammarAccess.getAttributeCSAccess().getIsVolatileVolatileKeyword_5_7_0_0_0_0()); }

 )

 

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersVolatileKeyword_5_1_0_14_0()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__AttributeCS__QualifiersAssignment_5_1_0_15

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersVolatileKeyword_5_1_0_15_0()); }

-(

-{ before(grammarAccess.getAttributeCSAccess().getQualifiersVolatileKeyword_5_1_0_15_0()); }

-

-	'!volatile' 

-

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersVolatileKeyword_5_1_0_15_0()); }

-)

-

-{ after(grammarAccess.getAttributeCSAccess().getQualifiersVolatileKeyword_5_1_0_15_0()); }

+{ after(grammarAccess.getAttributeCSAccess().getIsVolatileVolatileKeyword_5_7_0_0_0_0()); }

 )

 

 ;

@@ -24291,22 +26203,22 @@
 	restoreStackSize(stackSize);

 }

 

-rule__OperationCS__QualifiersAssignment_0_0_0

+rule__OperationCS__IsStaticAssignment_0_0

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getOperationCSAccess().getQualifiersStaticKeyword_0_0_0_0()); }

+{ before(grammarAccess.getOperationCSAccess().getIsStaticStaticKeyword_0_0_0()); }

 (

-{ before(grammarAccess.getOperationCSAccess().getQualifiersStaticKeyword_0_0_0_0()); }

+{ before(grammarAccess.getOperationCSAccess().getIsStaticStaticKeyword_0_0_0()); }

 

 	'static' 

 

-{ after(grammarAccess.getOperationCSAccess().getQualifiersStaticKeyword_0_0_0_0()); }

+{ after(grammarAccess.getOperationCSAccess().getIsStaticStaticKeyword_0_0_0()); }

 )

 

-{ after(grammarAccess.getOperationCSAccess().getQualifiersStaticKeyword_0_0_0_0()); }

+{ after(grammarAccess.getOperationCSAccess().getIsStaticStaticKeyword_0_0_0()); }

 )

 

 ;

@@ -24314,68 +26226,22 @@
 	restoreStackSize(stackSize);

 }

 

-rule__OperationCS__QualifiersAssignment_0_0_1

+rule__OperationCS__IsDefinitionAssignment_0_1

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getOperationCSAccess().getQualifiersDefinitionKeyword_0_0_1_0()); }

+{ before(grammarAccess.getOperationCSAccess().getIsDefinitionDefinitionKeyword_0_1_0()); }

 (

-{ before(grammarAccess.getOperationCSAccess().getQualifiersDefinitionKeyword_0_0_1_0()); }

+{ before(grammarAccess.getOperationCSAccess().getIsDefinitionDefinitionKeyword_0_1_0()); }

 

 	'definition' 

 

-{ after(grammarAccess.getOperationCSAccess().getQualifiersDefinitionKeyword_0_0_1_0()); }

+{ after(grammarAccess.getOperationCSAccess().getIsDefinitionDefinitionKeyword_0_1_0()); }

 )

 

-{ after(grammarAccess.getOperationCSAccess().getQualifiersDefinitionKeyword_0_0_1_0()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__OperationCS__QualifiersAssignment_0_1_0

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getOperationCSAccess().getQualifiersDefinitionKeyword_0_1_0_0()); }

-(

-{ before(grammarAccess.getOperationCSAccess().getQualifiersDefinitionKeyword_0_1_0_0()); }

-

-	'definition' 

-

-{ after(grammarAccess.getOperationCSAccess().getQualifiersDefinitionKeyword_0_1_0_0()); }

-)

-

-{ after(grammarAccess.getOperationCSAccess().getQualifiersDefinitionKeyword_0_1_0_0()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__OperationCS__QualifiersAssignment_0_1_1

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getOperationCSAccess().getQualifiersStaticKeyword_0_1_1_0()); }

-(

-{ before(grammarAccess.getOperationCSAccess().getQualifiersStaticKeyword_0_1_1_0()); }

-

-	'static' 

-

-{ after(grammarAccess.getOperationCSAccess().getQualifiersStaticKeyword_0_1_1_0()); }

-)

-

-{ after(grammarAccess.getOperationCSAccess().getQualifiersStaticKeyword_0_1_1_0()); }

+{ after(grammarAccess.getOperationCSAccess().getIsDefinitionDefinitionKeyword_0_1_0()); }

 )

 

 ;

@@ -24488,22 +26354,22 @@
 	restoreStackSize(stackSize);

 }

 

-rule__OperationCS__QualifiersAssignment_9_1_0_0

+rule__OperationCS__IsDerivedAssignment_9_0_1_0_0

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getOperationCSAccess().getQualifiersDerivedKeyword_9_1_0_0_0()); }

+{ before(grammarAccess.getOperationCSAccess().getIsDerivedDerivedKeyword_9_0_1_0_0_0()); }

 (

-{ before(grammarAccess.getOperationCSAccess().getQualifiersDerivedKeyword_9_1_0_0_0()); }

+{ before(grammarAccess.getOperationCSAccess().getIsDerivedDerivedKeyword_9_0_1_0_0_0()); }

 

 	'derived' 

 

-{ after(grammarAccess.getOperationCSAccess().getQualifiersDerivedKeyword_9_1_0_0_0()); }

+{ after(grammarAccess.getOperationCSAccess().getIsDerivedDerivedKeyword_9_0_1_0_0_0()); }

 )

 

-{ after(grammarAccess.getOperationCSAccess().getQualifiersDerivedKeyword_9_1_0_0_0()); }

+{ after(grammarAccess.getOperationCSAccess().getIsDerivedDerivedKeyword_9_0_1_0_0_0()); }

 )

 

 ;

@@ -24511,45 +26377,22 @@
 	restoreStackSize(stackSize);

 }

 

-rule__OperationCS__QualifiersAssignment_9_1_0_1

+rule__OperationCS__IsOrderedAssignment_9_1_0_0

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getOperationCSAccess().getQualifiersDerivedKeyword_9_1_0_1_0()); }

+{ before(grammarAccess.getOperationCSAccess().getIsOrderedOrderedKeyword_9_1_0_0_0()); }

 (

-{ before(grammarAccess.getOperationCSAccess().getQualifiersDerivedKeyword_9_1_0_1_0()); }

-

-	'!derived' 

-

-{ after(grammarAccess.getOperationCSAccess().getQualifiersDerivedKeyword_9_1_0_1_0()); }

-)

-

-{ after(grammarAccess.getOperationCSAccess().getQualifiersDerivedKeyword_9_1_0_1_0()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__OperationCS__QualifiersAssignment_9_1_0_2

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getOperationCSAccess().getQualifiersOrderedKeyword_9_1_0_2_0()); }

-(

-{ before(grammarAccess.getOperationCSAccess().getQualifiersOrderedKeyword_9_1_0_2_0()); }

+{ before(grammarAccess.getOperationCSAccess().getIsOrderedOrderedKeyword_9_1_0_0_0()); }

 

 	'ordered' 

 

-{ after(grammarAccess.getOperationCSAccess().getQualifiersOrderedKeyword_9_1_0_2_0()); }

+{ after(grammarAccess.getOperationCSAccess().getIsOrderedOrderedKeyword_9_1_0_0_0()); }

 )

 

-{ after(grammarAccess.getOperationCSAccess().getQualifiersOrderedKeyword_9_1_0_2_0()); }

+{ after(grammarAccess.getOperationCSAccess().getIsOrderedOrderedKeyword_9_1_0_0_0()); }

 )

 

 ;

@@ -24557,68 +26400,22 @@
 	restoreStackSize(stackSize);

 }

 

-rule__OperationCS__QualifiersAssignment_9_1_0_3

+rule__OperationCS__IsNotUniqueAssignment_9_2_0_0_0

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getOperationCSAccess().getQualifiersOrderedKeyword_9_1_0_3_0()); }

+{ before(grammarAccess.getOperationCSAccess().getIsNotUniqueUniqueKeyword_9_2_0_0_0_0()); }

 (

-{ before(grammarAccess.getOperationCSAccess().getQualifiersOrderedKeyword_9_1_0_3_0()); }

-

-	'!ordered' 

-

-{ after(grammarAccess.getOperationCSAccess().getQualifiersOrderedKeyword_9_1_0_3_0()); }

-)

-

-{ after(grammarAccess.getOperationCSAccess().getQualifiersOrderedKeyword_9_1_0_3_0()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__OperationCS__QualifiersAssignment_9_1_0_4

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getOperationCSAccess().getQualifiersUniqueKeyword_9_1_0_4_0()); }

-(

-{ before(grammarAccess.getOperationCSAccess().getQualifiersUniqueKeyword_9_1_0_4_0()); }

-

-	'unique' 

-

-{ after(grammarAccess.getOperationCSAccess().getQualifiersUniqueKeyword_9_1_0_4_0()); }

-)

-

-{ after(grammarAccess.getOperationCSAccess().getQualifiersUniqueKeyword_9_1_0_4_0()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__OperationCS__QualifiersAssignment_9_1_0_5

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getOperationCSAccess().getQualifiersUniqueKeyword_9_1_0_5_0()); }

-(

-{ before(grammarAccess.getOperationCSAccess().getQualifiersUniqueKeyword_9_1_0_5_0()); }

+{ before(grammarAccess.getOperationCSAccess().getIsNotUniqueUniqueKeyword_9_2_0_0_0_0()); }

 

 	'!unique' 

 

-{ after(grammarAccess.getOperationCSAccess().getQualifiersUniqueKeyword_9_1_0_5_0()); }

+{ after(grammarAccess.getOperationCSAccess().getIsNotUniqueUniqueKeyword_9_2_0_0_0_0()); }

 )

 

-{ after(grammarAccess.getOperationCSAccess().getQualifiersUniqueKeyword_9_1_0_5_0()); }

+{ after(grammarAccess.getOperationCSAccess().getIsNotUniqueUniqueKeyword_9_2_0_0_0_0()); }

 )

 

 ;

@@ -24806,22 +26603,22 @@
 	restoreStackSize(stackSize);

 }

 

-rule__ParameterCS__QualifiersAssignment_2_1_0_0

+rule__ParameterCS__IsOrderedAssignment_2_0_1_0_0

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getParameterCSAccess().getQualifiersOrderedKeyword_2_1_0_0_0()); }

+{ before(grammarAccess.getParameterCSAccess().getIsOrderedOrderedKeyword_2_0_1_0_0_0()); }

 (

-{ before(grammarAccess.getParameterCSAccess().getQualifiersOrderedKeyword_2_1_0_0_0()); }

+{ before(grammarAccess.getParameterCSAccess().getIsOrderedOrderedKeyword_2_0_1_0_0_0()); }

 

 	'ordered' 

 

-{ after(grammarAccess.getParameterCSAccess().getQualifiersOrderedKeyword_2_1_0_0_0()); }

+{ after(grammarAccess.getParameterCSAccess().getIsOrderedOrderedKeyword_2_0_1_0_0_0()); }

 )

 

-{ after(grammarAccess.getParameterCSAccess().getQualifiersOrderedKeyword_2_1_0_0_0()); }

+{ after(grammarAccess.getParameterCSAccess().getIsOrderedOrderedKeyword_2_0_1_0_0_0()); }

 )

 

 ;

@@ -24829,68 +26626,22 @@
 	restoreStackSize(stackSize);

 }

 

-rule__ParameterCS__QualifiersAssignment_2_1_0_1

+rule__ParameterCS__IsNotUniqueAssignment_2_1_0_0_0

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getParameterCSAccess().getQualifiersOrderedKeyword_2_1_0_1_0()); }

+{ before(grammarAccess.getParameterCSAccess().getIsNotUniqueUniqueKeyword_2_1_0_0_0_0()); }

 (

-{ before(grammarAccess.getParameterCSAccess().getQualifiersOrderedKeyword_2_1_0_1_0()); }

-

-	'!ordered' 

-

-{ after(grammarAccess.getParameterCSAccess().getQualifiersOrderedKeyword_2_1_0_1_0()); }

-)

-

-{ after(grammarAccess.getParameterCSAccess().getQualifiersOrderedKeyword_2_1_0_1_0()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__ParameterCS__QualifiersAssignment_2_1_0_2

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getParameterCSAccess().getQualifiersUniqueKeyword_2_1_0_2_0()); }

-(

-{ before(grammarAccess.getParameterCSAccess().getQualifiersUniqueKeyword_2_1_0_2_0()); }

-

-	'unique' 

-

-{ after(grammarAccess.getParameterCSAccess().getQualifiersUniqueKeyword_2_1_0_2_0()); }

-)

-

-{ after(grammarAccess.getParameterCSAccess().getQualifiersUniqueKeyword_2_1_0_2_0()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__ParameterCS__QualifiersAssignment_2_1_0_3

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getParameterCSAccess().getQualifiersUniqueKeyword_2_1_0_3_0()); }

-(

-{ before(grammarAccess.getParameterCSAccess().getQualifiersUniqueKeyword_2_1_0_3_0()); }

+{ before(grammarAccess.getParameterCSAccess().getIsNotUniqueUniqueKeyword_2_1_0_0_0_0()); }

 

 	'!unique' 

 

-{ after(grammarAccess.getParameterCSAccess().getQualifiersUniqueKeyword_2_1_0_3_0()); }

+{ after(grammarAccess.getParameterCSAccess().getIsNotUniqueUniqueKeyword_2_1_0_0_0_0()); }

 )

 

-{ after(grammarAccess.getParameterCSAccess().getQualifiersUniqueKeyword_2_1_0_3_0()); }

+{ after(grammarAccess.getParameterCSAccess().getIsNotUniqueUniqueKeyword_2_1_0_0_0_0()); }

 )

 

 ;

@@ -24913,22 +26664,22 @@
 	restoreStackSize(stackSize);

 }

 

-rule__ReferenceCS__QualifiersAssignment_0_0_0

+rule__ReferenceCS__IsStaticAssignment_0_0

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersStaticKeyword_0_0_0_0()); }

+{ before(grammarAccess.getReferenceCSAccess().getIsStaticStaticKeyword_0_0_0()); }

 (

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersStaticKeyword_0_0_0_0()); }

+{ before(grammarAccess.getReferenceCSAccess().getIsStaticStaticKeyword_0_0_0()); }

 

 	'static' 

 

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersStaticKeyword_0_0_0_0()); }

+{ after(grammarAccess.getReferenceCSAccess().getIsStaticStaticKeyword_0_0_0()); }

 )

 

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersStaticKeyword_0_0_0_0()); }

+{ after(grammarAccess.getReferenceCSAccess().getIsStaticStaticKeyword_0_0_0()); }

 )

 

 ;

@@ -24936,68 +26687,22 @@
 	restoreStackSize(stackSize);

 }

 

-rule__ReferenceCS__QualifiersAssignment_0_0_1

+rule__ReferenceCS__IsDefinitionAssignment_0_1

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersDefinitionKeyword_0_0_1_0()); }

+{ before(grammarAccess.getReferenceCSAccess().getIsDefinitionDefinitionKeyword_0_1_0()); }

 (

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersDefinitionKeyword_0_0_1_0()); }

+{ before(grammarAccess.getReferenceCSAccess().getIsDefinitionDefinitionKeyword_0_1_0()); }

 

 	'definition' 

 

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersDefinitionKeyword_0_0_1_0()); }

+{ after(grammarAccess.getReferenceCSAccess().getIsDefinitionDefinitionKeyword_0_1_0()); }

 )

 

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersDefinitionKeyword_0_0_1_0()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__ReferenceCS__QualifiersAssignment_0_1_0

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersDefinitionKeyword_0_1_0_0()); }

-(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersDefinitionKeyword_0_1_0_0()); }

-

-	'definition' 

-

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersDefinitionKeyword_0_1_0_0()); }

-)

-

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersDefinitionKeyword_0_1_0_0()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__ReferenceCS__QualifiersAssignment_0_1_1

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersStaticKeyword_0_1_1_0()); }

-(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersStaticKeyword_0_1_1_0()); }

-

-	'static' 

-

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersStaticKeyword_0_1_1_0()); }

-)

-

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersStaticKeyword_0_1_1_0()); }

+{ after(grammarAccess.getReferenceCSAccess().getIsDefinitionDefinitionKeyword_0_1_0()); }

 )

 

 ;

@@ -25069,22 +26774,22 @@
 	restoreStackSize(stackSize);

 }

 

-rule__ReferenceCS__QualifiersAssignment_6_1_0_0

+rule__ReferenceCS__IsComposesAssignment_6_0_1_0_0

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersComposesKeyword_6_1_0_0_0()); }

+{ before(grammarAccess.getReferenceCSAccess().getIsComposesComposesKeyword_6_0_1_0_0_0()); }

 (

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersComposesKeyword_6_1_0_0_0()); }

+{ before(grammarAccess.getReferenceCSAccess().getIsComposesComposesKeyword_6_0_1_0_0_0()); }

 

 	'composes' 

 

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersComposesKeyword_6_1_0_0_0()); }

+{ after(grammarAccess.getReferenceCSAccess().getIsComposesComposesKeyword_6_0_1_0_0_0()); }

 )

 

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersComposesKeyword_6_1_0_0_0()); }

+{ after(grammarAccess.getReferenceCSAccess().getIsComposesComposesKeyword_6_0_1_0_0_0()); }

 )

 

 ;

@@ -25092,45 +26797,22 @@
 	restoreStackSize(stackSize);

 }

 

-rule__ReferenceCS__QualifiersAssignment_6_1_0_1

+rule__ReferenceCS__IsDerivedAssignment_6_1_0_0

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersComposesKeyword_6_1_0_1_0()); }

+{ before(grammarAccess.getReferenceCSAccess().getIsDerivedDerivedKeyword_6_1_0_0_0()); }

 (

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersComposesKeyword_6_1_0_1_0()); }

-

-	'!composes' 

-

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersComposesKeyword_6_1_0_1_0()); }

-)

-

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersComposesKeyword_6_1_0_1_0()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__ReferenceCS__QualifiersAssignment_6_1_0_2

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersDerivedKeyword_6_1_0_2_0()); }

-(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersDerivedKeyword_6_1_0_2_0()); }

+{ before(grammarAccess.getReferenceCSAccess().getIsDerivedDerivedKeyword_6_1_0_0_0()); }

 

 	'derived' 

 

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersDerivedKeyword_6_1_0_2_0()); }

+{ after(grammarAccess.getReferenceCSAccess().getIsDerivedDerivedKeyword_6_1_0_0_0()); }

 )

 

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersDerivedKeyword_6_1_0_2_0()); }

+{ after(grammarAccess.getReferenceCSAccess().getIsDerivedDerivedKeyword_6_1_0_0_0()); }

 )

 

 ;

@@ -25138,45 +26820,22 @@
 	restoreStackSize(stackSize);

 }

 

-rule__ReferenceCS__QualifiersAssignment_6_1_0_3

+rule__ReferenceCS__IsOrderedAssignment_6_2_0_0

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersDerivedKeyword_6_1_0_3_0()); }

+{ before(grammarAccess.getReferenceCSAccess().getIsOrderedOrderedKeyword_6_2_0_0_0()); }

 (

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersDerivedKeyword_6_1_0_3_0()); }

-

-	'!derived' 

-

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersDerivedKeyword_6_1_0_3_0()); }

-)

-

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersDerivedKeyword_6_1_0_3_0()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__ReferenceCS__QualifiersAssignment_6_1_0_4

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersOrderedKeyword_6_1_0_4_0()); }

-(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersOrderedKeyword_6_1_0_4_0()); }

+{ before(grammarAccess.getReferenceCSAccess().getIsOrderedOrderedKeyword_6_2_0_0_0()); }

 

 	'ordered' 

 

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersOrderedKeyword_6_1_0_4_0()); }

+{ after(grammarAccess.getReferenceCSAccess().getIsOrderedOrderedKeyword_6_2_0_0_0()); }

 )

 

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersOrderedKeyword_6_1_0_4_0()); }

+{ after(grammarAccess.getReferenceCSAccess().getIsOrderedOrderedKeyword_6_2_0_0_0()); }

 )

 

 ;

@@ -25184,45 +26843,22 @@
 	restoreStackSize(stackSize);

 }

 

-rule__ReferenceCS__QualifiersAssignment_6_1_0_5

+rule__ReferenceCS__IsReadonlyAssignment_6_3_0_0

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersOrderedKeyword_6_1_0_5_0()); }

+{ before(grammarAccess.getReferenceCSAccess().getIsReadonlyReadonlyKeyword_6_3_0_0_0()); }

 (

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersOrderedKeyword_6_1_0_5_0()); }

-

-	'!ordered' 

-

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersOrderedKeyword_6_1_0_5_0()); }

-)

-

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersOrderedKeyword_6_1_0_5_0()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__ReferenceCS__QualifiersAssignment_6_1_0_6

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersReadonlyKeyword_6_1_0_6_0()); }

-(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersReadonlyKeyword_6_1_0_6_0()); }

+{ before(grammarAccess.getReferenceCSAccess().getIsReadonlyReadonlyKeyword_6_3_0_0_0()); }

 

 	'readonly' 

 

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersReadonlyKeyword_6_1_0_6_0()); }

+{ after(grammarAccess.getReferenceCSAccess().getIsReadonlyReadonlyKeyword_6_3_0_0_0()); }

 )

 

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersReadonlyKeyword_6_1_0_6_0()); }

+{ after(grammarAccess.getReferenceCSAccess().getIsReadonlyReadonlyKeyword_6_3_0_0_0()); }

 )

 

 ;

@@ -25230,45 +26866,22 @@
 	restoreStackSize(stackSize);

 }

 

-rule__ReferenceCS__QualifiersAssignment_6_1_0_7

+rule__ReferenceCS__IsResolveAssignment_6_4_0_0

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersReadonlyKeyword_6_1_0_7_0()); }

+{ before(grammarAccess.getReferenceCSAccess().getIsResolveResolveKeyword_6_4_0_0_0()); }

 (

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersReadonlyKeyword_6_1_0_7_0()); }

-

-	'!readonly' 

-

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersReadonlyKeyword_6_1_0_7_0()); }

-)

-

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersReadonlyKeyword_6_1_0_7_0()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__ReferenceCS__QualifiersAssignment_6_1_0_8

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersResolveKeyword_6_1_0_8_0()); }

-(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersResolveKeyword_6_1_0_8_0()); }

+{ before(grammarAccess.getReferenceCSAccess().getIsResolveResolveKeyword_6_4_0_0_0()); }

 

 	'resolve' 

 

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersResolveKeyword_6_1_0_8_0()); }

+{ after(grammarAccess.getReferenceCSAccess().getIsResolveResolveKeyword_6_4_0_0_0()); }

 )

 

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersResolveKeyword_6_1_0_8_0()); }

+{ after(grammarAccess.getReferenceCSAccess().getIsResolveResolveKeyword_6_4_0_0_0()); }

 )

 

 ;

@@ -25276,45 +26889,22 @@
 	restoreStackSize(stackSize);

 }

 

-rule__ReferenceCS__QualifiersAssignment_6_1_0_9

+rule__ReferenceCS__IsTransientAssignment_6_5_0_0

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersResolveKeyword_6_1_0_9_0()); }

+{ before(grammarAccess.getReferenceCSAccess().getIsTransientTransientKeyword_6_5_0_0_0()); }

 (

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersResolveKeyword_6_1_0_9_0()); }

-

-	'!resolve' 

-

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersResolveKeyword_6_1_0_9_0()); }

-)

-

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersResolveKeyword_6_1_0_9_0()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__ReferenceCS__QualifiersAssignment_6_1_0_10

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersTransientKeyword_6_1_0_10_0()); }

-(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersTransientKeyword_6_1_0_10_0()); }

+{ before(grammarAccess.getReferenceCSAccess().getIsTransientTransientKeyword_6_5_0_0_0()); }

 

 	'transient' 

 

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersTransientKeyword_6_1_0_10_0()); }

+{ after(grammarAccess.getReferenceCSAccess().getIsTransientTransientKeyword_6_5_0_0_0()); }

 )

 

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersTransientKeyword_6_1_0_10_0()); }

+{ after(grammarAccess.getReferenceCSAccess().getIsTransientTransientKeyword_6_5_0_0_0()); }

 )

 

 ;

@@ -25322,68 +26912,22 @@
 	restoreStackSize(stackSize);

 }

 

-rule__ReferenceCS__QualifiersAssignment_6_1_0_11

+rule__ReferenceCS__IsNotUniqueAssignment_6_6_0_0

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersTransientKeyword_6_1_0_11_0()); }

+{ before(grammarAccess.getReferenceCSAccess().getIsNotUniqueUniqueKeyword_6_6_0_0_0()); }

 (

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersTransientKeyword_6_1_0_11_0()); }

-

-	'!transient' 

-

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersTransientKeyword_6_1_0_11_0()); }

-)

-

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersTransientKeyword_6_1_0_11_0()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__ReferenceCS__QualifiersAssignment_6_1_0_12

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersUniqueKeyword_6_1_0_12_0()); }

-(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersUniqueKeyword_6_1_0_12_0()); }

-

-	'unique' 

-

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersUniqueKeyword_6_1_0_12_0()); }

-)

-

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersUniqueKeyword_6_1_0_12_0()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__ReferenceCS__QualifiersAssignment_6_1_0_13

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersUniqueKeyword_6_1_0_13_0()); }

-(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersUniqueKeyword_6_1_0_13_0()); }

+{ before(grammarAccess.getReferenceCSAccess().getIsNotUniqueUniqueKeyword_6_6_0_0_0()); }

 

 	'!unique' 

 

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersUniqueKeyword_6_1_0_13_0()); }

+{ after(grammarAccess.getReferenceCSAccess().getIsNotUniqueUniqueKeyword_6_6_0_0_0()); }

 )

 

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersUniqueKeyword_6_1_0_13_0()); }

+{ after(grammarAccess.getReferenceCSAccess().getIsNotUniqueUniqueKeyword_6_6_0_0_0()); }

 )

 

 ;

@@ -25391,22 +26935,22 @@
 	restoreStackSize(stackSize);

 }

 

-rule__ReferenceCS__QualifiersAssignment_6_1_0_14

+rule__ReferenceCS__IsUnsettableAssignment_6_7_0_0

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersUnsettableKeyword_6_1_0_14_0()); }

+{ before(grammarAccess.getReferenceCSAccess().getIsUnsettableUnsettableKeyword_6_7_0_0_0()); }

 (

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersUnsettableKeyword_6_1_0_14_0()); }

+{ before(grammarAccess.getReferenceCSAccess().getIsUnsettableUnsettableKeyword_6_7_0_0_0()); }

 

 	'unsettable' 

 

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersUnsettableKeyword_6_1_0_14_0()); }

+{ after(grammarAccess.getReferenceCSAccess().getIsUnsettableUnsettableKeyword_6_7_0_0_0()); }

 )

 

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersUnsettableKeyword_6_1_0_14_0()); }

+{ after(grammarAccess.getReferenceCSAccess().getIsUnsettableUnsettableKeyword_6_7_0_0_0()); }

 )

 

 ;

@@ -25414,68 +26958,22 @@
 	restoreStackSize(stackSize);

 }

 

-rule__ReferenceCS__QualifiersAssignment_6_1_0_15

+rule__ReferenceCS__IsVolatileAssignment_6_8_0_0_0

     @init {

 		int stackSize = keepStackSize();

     }

 :

 (

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersUnsettableKeyword_6_1_0_15_0()); }

+{ before(grammarAccess.getReferenceCSAccess().getIsVolatileVolatileKeyword_6_8_0_0_0_0()); }

 (

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersUnsettableKeyword_6_1_0_15_0()); }

-

-	'!unsettable' 

-

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersUnsettableKeyword_6_1_0_15_0()); }

-)

-

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersUnsettableKeyword_6_1_0_15_0()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__ReferenceCS__QualifiersAssignment_6_1_0_16

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersVolatileKeyword_6_1_0_16_0()); }

-(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersVolatileKeyword_6_1_0_16_0()); }

+{ before(grammarAccess.getReferenceCSAccess().getIsVolatileVolatileKeyword_6_8_0_0_0_0()); }

 

 	'volatile' 

 

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersVolatileKeyword_6_1_0_16_0()); }

+{ after(grammarAccess.getReferenceCSAccess().getIsVolatileVolatileKeyword_6_8_0_0_0_0()); }

 )

 

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersVolatileKeyword_6_1_0_16_0()); }

-)

-

-;

-finally {

-	restoreStackSize(stackSize);

-}

-

-rule__ReferenceCS__QualifiersAssignment_6_1_0_17

-    @init {

-		int stackSize = keepStackSize();

-    }

-:

-(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersVolatileKeyword_6_1_0_17_0()); }

-(

-{ before(grammarAccess.getReferenceCSAccess().getQualifiersVolatileKeyword_6_1_0_17_0()); }

-

-	'!volatile' 

-

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersVolatileKeyword_6_1_0_17_0()); }

-)

-

-{ after(grammarAccess.getReferenceCSAccess().getQualifiersVolatileKeyword_6_1_0_17_0()); }

+{ after(grammarAccess.getReferenceCSAccess().getIsVolatileVolatileKeyword_6_8_0_0_0_0()); }

 )

 

 ;

diff --git a/plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.tokens b/plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.tokens
index d41b23c..d3e740d 100644
--- a/plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.tokens
+++ b/plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.tokens
@@ -1,61 +1,61 @@
-'!composes'=129

-'!derived'=120

-'!id'=121

-'!ordered'=122

-'!readonly'=123

-'!resolve'=130

-'!serializable'=54

-'!transient'=124

-'!unique'=125

-'!unsettable'=126

-'!volatile'=127

-'#'=101

-'&&'=119

-'('=95

-')'=96

-'*'=63

-'+'=65

-'++'=104

-','=98

-'-'=61

-'->'=77

-'.'=76

-'..'=103

-'/'=64

-':'=97

-'::'=102

-'::*'=128

+'!composes'=62

+'!derived'=54

+'!id'=55

+'!ordered'=56

+'!readonly'=57

+'!resolve'=63

+'!serializable'=61

+'!transient'=58

+'!unique'=129

+'!unsettable'=59

+'!volatile'=60

+'#'=110

+'&&'=128

+'('=104

+')'=105

+'*'=72

+'+'=74

+'++'=113

+','=107

+'-'=70

+'->'=86

+'.'=85

+'..'=112

+'/'=73

+':'=106

+'::'=111

+'::*'=130

 ';'=53

-'<'=67

-'<='=69

-'<>'=71

-'='=70

-'>'=66

-'>='=68

-'?'=94

-'?->'=79

-'?.'=78

+'<'=76

+'<='=78

+'<>'=80

+'='=79

+'>'=75

+'>='=77

+'?'=103

+'?->'=88

+'?.'=87

 '@'=133

-'Bag'=90

-'Boolean'=81

-'Collection'=92

-'Integer'=82

-'Lambda'=105

-'OclAny'=86

-'OclInvalid'=87

-'OclVoid'=88

-'OrderedSet'=93

-'Real'=83

-'Sequence'=91

-'Set'=89

-'String'=84

-'Tuple'=80

-'UnlimitedNatural'=85

-'['=109

-']'=110

+'Bag'=99

+'Boolean'=90

+'Collection'=101

+'Integer'=91

+'Lambda'=114

+'OclAny'=95

+'OclInvalid'=96

+'OclVoid'=97

+'OrderedSet'=102

+'Real'=92

+'Sequence'=100

+'Set'=98

+'String'=93

+'Tuple'=89

+'UnlimitedNatural'=94

+'['=118

+']'=119

 'abstract'=17

-'and'=72

-'annotation'=55

+'and'=81

+'annotation'=64

 'attribute'=18

 'body'=19

 'callable'=20

@@ -65,57 +65,57 @@
 'definition'=24

 'derivation'=25

 'derived'=26

-'documentation'=56

-'else'=114

-'elseif'=116

-'endif'=115

+'documentation'=65

+'else'=123

+'elseif'=125

+'endif'=124

 'enum'=27

 'extends'=28

 'false'=132

 'id'=29

-'if'=112

-'implies'=75

+'if'=121

+'implies'=84

 'import'=30

-'in'=111

+'in'=120

 'initial'=31

 'interface'=32

-'invalid'=106

-'invariant'=57

+'invalid'=115

+'invariant'=66

 'key'=33

-'let'=117

+'let'=126

 'library'=34

-'literal'=58

+'literal'=67

 'module'=35

-'not'=62

-'null'=107

+'not'=71

+'null'=116

 'operation'=36

-'or'=73

+'or'=82

 'ordered'=37

 'package'=38

 'postcondition'=39

-'pre'=108

+'pre'=117

 'precondition'=40

 'primitive'=41

 'property'=42

 'readonly'=43

 'reference'=44

 'resolve'=45

-'self'=118

-'serializable'=59

+'self'=127

+'serializable'=68

 'static'=46

 'super'=47

-'sysml'=60

-'then'=113

+'sysml'=69

+'then'=122

 'throws'=48

 'transient'=49

 'true'=131

 'unique'=50

 'unsettable'=51

 'volatile'=52

-'xor'=74

-'{'=99

+'xor'=83

+'{'=108

 '|'=134

-'}'=100

+'}'=109

 RULE_ANY_OTHER=16

 RULE_DOUBLE_QUOTED_STRING=12

 RULE_ESCAPED_CHARACTER=10

diff --git a/plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcoreLexer.java b/plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcoreLexer.java
index 5105f63..8d1cddf 100644
--- a/plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcoreLexer.java
+++ b/plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcoreLexer.java
@@ -939,10 +939,10 @@
         try {
             int _type = T__54;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:48:7: ( '!serializable' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:48:9: '!serializable'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:48:7: ( '!derived' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:48:9: '!derived'
             {
-            match("!serializable"); 
+            match("!derived"); 
 
 
             }
@@ -960,10 +960,10 @@
         try {
             int _type = T__55;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:49:7: ( 'annotation' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:49:9: 'annotation'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:49:7: ( '!id' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:49:9: '!id'
             {
-            match("annotation"); 
+            match("!id"); 
 
 
             }
@@ -981,10 +981,10 @@
         try {
             int _type = T__56;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:50:7: ( 'documentation' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:50:9: 'documentation'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:50:7: ( '!ordered' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:50:9: '!ordered'
             {
-            match("documentation"); 
+            match("!ordered"); 
 
 
             }
@@ -1002,10 +1002,10 @@
         try {
             int _type = T__57;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:51:7: ( 'invariant' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:51:9: 'invariant'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:51:7: ( '!readonly' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:51:9: '!readonly'
             {
-            match("invariant"); 
+            match("!readonly"); 
 
 
             }
@@ -1023,10 +1023,10 @@
         try {
             int _type = T__58;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:52:7: ( 'literal' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:52:9: 'literal'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:52:7: ( '!transient' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:52:9: '!transient'
             {
-            match("literal"); 
+            match("!transient"); 
 
 
             }
@@ -1044,10 +1044,10 @@
         try {
             int _type = T__59;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:53:7: ( 'serializable' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:53:9: 'serializable'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:53:7: ( '!unsettable' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:53:9: '!unsettable'
             {
-            match("serializable"); 
+            match("!unsettable"); 
 
 
             }
@@ -1065,10 +1065,10 @@
         try {
             int _type = T__60;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:54:7: ( 'sysml' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:54:9: 'sysml'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:54:7: ( '!volatile' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:54:9: '!volatile'
             {
-            match("sysml"); 
+            match("!volatile"); 
 
 
             }
@@ -1086,10 +1086,11 @@
         try {
             int _type = T__61;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:55:7: ( '-' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:55:9: '-'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:55:7: ( '!serializable' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:55:9: '!serializable'
             {
-            match('-'); 
+            match("!serializable"); 
+
 
             }
 
@@ -1106,10 +1107,10 @@
         try {
             int _type = T__62;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:56:7: ( 'not' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:56:9: 'not'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:56:7: ( '!composes' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:56:9: '!composes'
             {
-            match("not"); 
+            match("!composes"); 
 
 
             }
@@ -1127,10 +1128,11 @@
         try {
             int _type = T__63;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:57:7: ( '*' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:57:9: '*'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:57:7: ( '!resolve' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:57:9: '!resolve'
             {
-            match('*'); 
+            match("!resolve"); 
+
 
             }
 
@@ -1147,10 +1149,11 @@
         try {
             int _type = T__64;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:58:7: ( '/' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:58:9: '/'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:58:7: ( 'annotation' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:58:9: 'annotation'
             {
-            match('/'); 
+            match("annotation"); 
+
 
             }
 
@@ -1167,10 +1170,11 @@
         try {
             int _type = T__65;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:59:7: ( '+' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:59:9: '+'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:59:7: ( 'documentation' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:59:9: 'documentation'
             {
-            match('+'); 
+            match("documentation"); 
+
 
             }
 
@@ -1187,10 +1191,11 @@
         try {
             int _type = T__66;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:60:7: ( '>' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:60:9: '>'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:60:7: ( 'invariant' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:60:9: 'invariant'
             {
-            match('>'); 
+            match("invariant"); 
+
 
             }
 
@@ -1207,10 +1212,11 @@
         try {
             int _type = T__67;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:61:7: ( '<' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:61:9: '<'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:61:7: ( 'literal' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:61:9: 'literal'
             {
-            match('<'); 
+            match("literal"); 
+
 
             }
 
@@ -1227,10 +1233,10 @@
         try {
             int _type = T__68;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:62:7: ( '>=' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:62:9: '>='
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:62:7: ( 'serializable' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:62:9: 'serializable'
             {
-            match(">="); 
+            match("serializable"); 
 
 
             }
@@ -1248,10 +1254,10 @@
         try {
             int _type = T__69;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:63:7: ( '<=' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:63:9: '<='
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:63:7: ( 'sysml' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:63:9: 'sysml'
             {
-            match("<="); 
+            match("sysml"); 
 
 
             }
@@ -1269,10 +1275,10 @@
         try {
             int _type = T__70;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:64:7: ( '=' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:64:9: '='
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:64:7: ( '-' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:64:9: '-'
             {
-            match('='); 
+            match('-'); 
 
             }
 
@@ -1289,10 +1295,10 @@
         try {
             int _type = T__71;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:65:7: ( '<>' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:65:9: '<>'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:65:7: ( 'not' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:65:9: 'not'
             {
-            match("<>"); 
+            match("not"); 
 
 
             }
@@ -1310,11 +1316,10 @@
         try {
             int _type = T__72;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:66:7: ( 'and' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:66:9: 'and'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:66:7: ( '*' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:66:9: '*'
             {
-            match("and"); 
-
+            match('*'); 
 
             }
 
@@ -1331,11 +1336,10 @@
         try {
             int _type = T__73;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:67:7: ( 'or' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:67:9: 'or'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:67:7: ( '/' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:67:9: '/'
             {
-            match("or"); 
-
+            match('/'); 
 
             }
 
@@ -1352,11 +1356,10 @@
         try {
             int _type = T__74;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:68:7: ( 'xor' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:68:9: 'xor'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:68:7: ( '+' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:68:9: '+'
             {
-            match("xor"); 
-
+            match('+'); 
 
             }
 
@@ -1373,11 +1376,10 @@
         try {
             int _type = T__75;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:69:7: ( 'implies' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:69:9: 'implies'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:69:7: ( '>' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:69:9: '>'
             {
-            match("implies"); 
-
+            match('>'); 
 
             }
 
@@ -1394,10 +1396,10 @@
         try {
             int _type = T__76;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:70:7: ( '.' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:70:9: '.'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:70:7: ( '<' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:70:9: '<'
             {
-            match('.'); 
+            match('<'); 
 
             }
 
@@ -1414,10 +1416,10 @@
         try {
             int _type = T__77;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:71:7: ( '->' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:71:9: '->'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:71:7: ( '>=' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:71:9: '>='
             {
-            match("->"); 
+            match(">="); 
 
 
             }
@@ -1435,10 +1437,10 @@
         try {
             int _type = T__78;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:72:7: ( '?.' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:72:9: '?.'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:72:7: ( '<=' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:72:9: '<='
             {
-            match("?."); 
+            match("<="); 
 
 
             }
@@ -1456,11 +1458,10 @@
         try {
             int _type = T__79;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:73:7: ( '?->' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:73:9: '?->'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:73:7: ( '=' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:73:9: '='
             {
-            match("?->"); 
-
+            match('='); 
 
             }
 
@@ -1477,10 +1478,10 @@
         try {
             int _type = T__80;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:74:7: ( 'Tuple' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:74:9: 'Tuple'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:74:7: ( '<>' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:74:9: '<>'
             {
-            match("Tuple"); 
+            match("<>"); 
 
 
             }
@@ -1498,10 +1499,10 @@
         try {
             int _type = T__81;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:75:7: ( 'Boolean' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:75:9: 'Boolean'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:75:7: ( 'and' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:75:9: 'and'
             {
-            match("Boolean"); 
+            match("and"); 
 
 
             }
@@ -1519,10 +1520,10 @@
         try {
             int _type = T__82;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:76:7: ( 'Integer' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:76:9: 'Integer'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:76:7: ( 'or' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:76:9: 'or'
             {
-            match("Integer"); 
+            match("or"); 
 
 
             }
@@ -1540,10 +1541,10 @@
         try {
             int _type = T__83;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:77:7: ( 'Real' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:77:9: 'Real'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:77:7: ( 'xor' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:77:9: 'xor'
             {
-            match("Real"); 
+            match("xor"); 
 
 
             }
@@ -1561,10 +1562,10 @@
         try {
             int _type = T__84;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:78:7: ( 'String' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:78:9: 'String'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:78:7: ( 'implies' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:78:9: 'implies'
             {
-            match("String"); 
+            match("implies"); 
 
 
             }
@@ -1582,11 +1583,10 @@
         try {
             int _type = T__85;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:79:7: ( 'UnlimitedNatural' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:79:9: 'UnlimitedNatural'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:79:7: ( '.' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:79:9: '.'
             {
-            match("UnlimitedNatural"); 
-
+            match('.'); 
 
             }
 
@@ -1603,10 +1603,10 @@
         try {
             int _type = T__86;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:80:7: ( 'OclAny' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:80:9: 'OclAny'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:80:7: ( '->' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:80:9: '->'
             {
-            match("OclAny"); 
+            match("->"); 
 
 
             }
@@ -1624,10 +1624,10 @@
         try {
             int _type = T__87;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:81:7: ( 'OclInvalid' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:81:9: 'OclInvalid'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:81:7: ( '?.' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:81:9: '?.'
             {
-            match("OclInvalid"); 
+            match("?."); 
 
 
             }
@@ -1645,10 +1645,10 @@
         try {
             int _type = T__88;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:82:7: ( 'OclVoid' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:82:9: 'OclVoid'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:82:7: ( '?->' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:82:9: '?->'
             {
-            match("OclVoid"); 
+            match("?->"); 
 
 
             }
@@ -1666,10 +1666,10 @@
         try {
             int _type = T__89;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:83:7: ( 'Set' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:83:9: 'Set'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:83:7: ( 'Tuple' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:83:9: 'Tuple'
             {
-            match("Set"); 
+            match("Tuple"); 
 
 
             }
@@ -1687,10 +1687,10 @@
         try {
             int _type = T__90;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:84:7: ( 'Bag' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:84:9: 'Bag'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:84:7: ( 'Boolean' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:84:9: 'Boolean'
             {
-            match("Bag"); 
+            match("Boolean"); 
 
 
             }
@@ -1708,10 +1708,10 @@
         try {
             int _type = T__91;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:85:7: ( 'Sequence' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:85:9: 'Sequence'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:85:7: ( 'Integer' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:85:9: 'Integer'
             {
-            match("Sequence"); 
+            match("Integer"); 
 
 
             }
@@ -1729,10 +1729,10 @@
         try {
             int _type = T__92;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:86:7: ( 'Collection' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:86:9: 'Collection'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:86:7: ( 'Real' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:86:9: 'Real'
             {
-            match("Collection"); 
+            match("Real"); 
 
 
             }
@@ -1750,10 +1750,10 @@
         try {
             int _type = T__93;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:87:7: ( 'OrderedSet' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:87:9: 'OrderedSet'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:87:7: ( 'String' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:87:9: 'String'
             {
-            match("OrderedSet"); 
+            match("String"); 
 
 
             }
@@ -1771,10 +1771,11 @@
         try {
             int _type = T__94;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:88:7: ( '?' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:88:9: '?'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:88:7: ( 'UnlimitedNatural' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:88:9: 'UnlimitedNatural'
             {
-            match('?'); 
+            match("UnlimitedNatural"); 
+
 
             }
 
@@ -1791,10 +1792,11 @@
         try {
             int _type = T__95;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:89:7: ( '(' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:89:9: '('
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:89:7: ( 'OclAny' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:89:9: 'OclAny'
             {
-            match('('); 
+            match("OclAny"); 
+
 
             }
 
@@ -1811,10 +1813,11 @@
         try {
             int _type = T__96;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:90:7: ( ')' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:90:9: ')'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:90:7: ( 'OclInvalid' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:90:9: 'OclInvalid'
             {
-            match(')'); 
+            match("OclInvalid"); 
+
 
             }
 
@@ -1831,10 +1834,11 @@
         try {
             int _type = T__97;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:91:7: ( ':' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:91:9: ':'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:91:7: ( 'OclVoid' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:91:9: 'OclVoid'
             {
-            match(':'); 
+            match("OclVoid"); 
+
 
             }
 
@@ -1851,10 +1855,11 @@
         try {
             int _type = T__98;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:92:7: ( ',' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:92:9: ','
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:92:7: ( 'Set' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:92:9: 'Set'
             {
-            match(','); 
+            match("Set"); 
+
 
             }
 
@@ -1871,10 +1876,11 @@
         try {
             int _type = T__99;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:93:7: ( '{' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:93:9: '{'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:93:7: ( 'Bag' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:93:9: 'Bag'
             {
-            match('{'); 
+            match("Bag"); 
+
 
             }
 
@@ -1891,10 +1897,11 @@
         try {
             int _type = T__100;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:94:8: ( '}' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:94:10: '}'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:94:8: ( 'Sequence' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:94:10: 'Sequence'
             {
-            match('}'); 
+            match("Sequence"); 
+
 
             }
 
@@ -1911,10 +1918,11 @@
         try {
             int _type = T__101;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:95:8: ( '#' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:95:10: '#'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:95:8: ( 'Collection' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:95:10: 'Collection'
             {
-            match('#'); 
+            match("Collection"); 
+
 
             }
 
@@ -1931,10 +1939,10 @@
         try {
             int _type = T__102;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:96:8: ( '::' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:96:10: '::'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:96:8: ( 'OrderedSet' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:96:10: 'OrderedSet'
             {
-            match("::"); 
+            match("OrderedSet"); 
 
 
             }
@@ -1952,11 +1960,10 @@
         try {
             int _type = T__103;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:97:8: ( '..' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:97:10: '..'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:97:8: ( '?' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:97:10: '?'
             {
-            match(".."); 
-
+            match('?'); 
 
             }
 
@@ -1973,11 +1980,10 @@
         try {
             int _type = T__104;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:98:8: ( '++' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:98:10: '++'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:98:8: ( '(' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:98:10: '('
             {
-            match("++"); 
-
+            match('('); 
 
             }
 
@@ -1994,11 +2000,10 @@
         try {
             int _type = T__105;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:99:8: ( 'Lambda' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:99:10: 'Lambda'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:99:8: ( ')' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:99:10: ')'
             {
-            match("Lambda"); 
-
+            match(')'); 
 
             }
 
@@ -2015,11 +2020,10 @@
         try {
             int _type = T__106;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:100:8: ( 'invalid' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:100:10: 'invalid'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:100:8: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:100:10: ':'
             {
-            match("invalid"); 
-
+            match(':'); 
 
             }
 
@@ -2036,11 +2040,10 @@
         try {
             int _type = T__107;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:101:8: ( 'null' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:101:10: 'null'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:101:8: ( ',' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:101:10: ','
             {
-            match("null"); 
-
+            match(','); 
 
             }
 
@@ -2057,11 +2060,10 @@
         try {
             int _type = T__108;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:102:8: ( 'pre' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:102:10: 'pre'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:102:8: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:102:10: '{'
             {
-            match("pre"); 
-
+            match('{'); 
 
             }
 
@@ -2078,10 +2080,10 @@
         try {
             int _type = T__109;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:103:8: ( '[' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:103:10: '['
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:103:8: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:103:10: '}'
             {
-            match('['); 
+            match('}'); 
 
             }
 
@@ -2098,10 +2100,10 @@
         try {
             int _type = T__110;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:104:8: ( ']' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:104:10: ']'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:104:8: ( '#' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:104:10: '#'
             {
-            match(']'); 
+            match('#'); 
 
             }
 
@@ -2118,10 +2120,10 @@
         try {
             int _type = T__111;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:105:8: ( 'in' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:105:10: 'in'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:105:8: ( '::' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:105:10: '::'
             {
-            match("in"); 
+            match("::"); 
 
 
             }
@@ -2139,10 +2141,10 @@
         try {
             int _type = T__112;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:106:8: ( 'if' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:106:10: 'if'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:106:8: ( '..' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:106:10: '..'
             {
-            match("if"); 
+            match(".."); 
 
 
             }
@@ -2160,10 +2162,10 @@
         try {
             int _type = T__113;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:107:8: ( 'then' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:107:10: 'then'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:107:8: ( '++' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:107:10: '++'
             {
-            match("then"); 
+            match("++"); 
 
 
             }
@@ -2181,10 +2183,10 @@
         try {
             int _type = T__114;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:108:8: ( 'else' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:108:10: 'else'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:108:8: ( 'Lambda' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:108:10: 'Lambda'
             {
-            match("else"); 
+            match("Lambda"); 
 
 
             }
@@ -2202,10 +2204,10 @@
         try {
             int _type = T__115;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:109:8: ( 'endif' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:109:10: 'endif'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:109:8: ( 'invalid' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:109:10: 'invalid'
             {
-            match("endif"); 
+            match("invalid"); 
 
 
             }
@@ -2223,10 +2225,10 @@
         try {
             int _type = T__116;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:110:8: ( 'elseif' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:110:10: 'elseif'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:110:8: ( 'null' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:110:10: 'null'
             {
-            match("elseif"); 
+            match("null"); 
 
 
             }
@@ -2244,10 +2246,10 @@
         try {
             int _type = T__117;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:111:8: ( 'let' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:111:10: 'let'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:111:8: ( 'pre' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:111:10: 'pre'
             {
-            match("let"); 
+            match("pre"); 
 
 
             }
@@ -2265,11 +2267,10 @@
         try {
             int _type = T__118;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:112:8: ( 'self' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:112:10: 'self'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:112:8: ( '[' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:112:10: '['
             {
-            match("self"); 
-
+            match('['); 
 
             }
 
@@ -2286,11 +2287,10 @@
         try {
             int _type = T__119;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:113:8: ( '&&' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:113:10: '&&'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:113:8: ( ']' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:113:10: ']'
             {
-            match("&&"); 
-
+            match(']'); 
 
             }
 
@@ -2307,10 +2307,10 @@
         try {
             int _type = T__120;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:114:8: ( '!derived' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:114:10: '!derived'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:114:8: ( 'in' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:114:10: 'in'
             {
-            match("!derived"); 
+            match("in"); 
 
 
             }
@@ -2328,10 +2328,10 @@
         try {
             int _type = T__121;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:115:8: ( '!id' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:115:10: '!id'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:115:8: ( 'if' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:115:10: 'if'
             {
-            match("!id"); 
+            match("if"); 
 
 
             }
@@ -2349,10 +2349,10 @@
         try {
             int _type = T__122;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:116:8: ( '!ordered' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:116:10: '!ordered'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:116:8: ( 'then' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:116:10: 'then'
             {
-            match("!ordered"); 
+            match("then"); 
 
 
             }
@@ -2370,10 +2370,10 @@
         try {
             int _type = T__123;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:117:8: ( '!readonly' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:117:10: '!readonly'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:117:8: ( 'else' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:117:10: 'else'
             {
-            match("!readonly"); 
+            match("else"); 
 
 
             }
@@ -2391,10 +2391,10 @@
         try {
             int _type = T__124;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:118:8: ( '!transient' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:118:10: '!transient'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:118:8: ( 'endif' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:118:10: 'endif'
             {
-            match("!transient"); 
+            match("endif"); 
 
 
             }
@@ -2412,10 +2412,10 @@
         try {
             int _type = T__125;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:119:8: ( '!unique' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:119:10: '!unique'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:119:8: ( 'elseif' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:119:10: 'elseif'
             {
-            match("!unique"); 
+            match("elseif"); 
 
 
             }
@@ -2433,10 +2433,10 @@
         try {
             int _type = T__126;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:120:8: ( '!unsettable' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:120:10: '!unsettable'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:120:8: ( 'let' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:120:10: 'let'
             {
-            match("!unsettable"); 
+            match("let"); 
 
 
             }
@@ -2454,10 +2454,10 @@
         try {
             int _type = T__127;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:121:8: ( '!volatile' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:121:10: '!volatile'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:121:8: ( 'self' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:121:10: 'self'
             {
-            match("!volatile"); 
+            match("self"); 
 
 
             }
@@ -2475,10 +2475,10 @@
         try {
             int _type = T__128;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:122:8: ( '::*' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:122:10: '::*'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:122:8: ( '&&' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:122:10: '&&'
             {
-            match("::*"); 
+            match("&&"); 
 
 
             }
@@ -2496,10 +2496,10 @@
         try {
             int _type = T__129;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:123:8: ( '!composes' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:123:10: '!composes'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:123:8: ( '!unique' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:123:10: '!unique'
             {
-            match("!composes"); 
+            match("!unique"); 
 
 
             }
@@ -2517,10 +2517,10 @@
         try {
             int _type = T__130;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:124:8: ( '!resolve' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:124:10: '!resolve'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:124:8: ( '::*' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:124:10: '::*'
             {
-            match("!resolve"); 
+            match("::*"); 
 
 
             }
@@ -2620,8 +2620,8 @@
         try {
             int _type = RULE_UNQUOTED_STRING;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27706:22: ( '\\u00A3$%^\\u00A3$%^' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27706:24: '\\u00A3$%^\\u00A3$%^'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29204:22: ( '\\u00A3$%^\\u00A3$%^' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29204:24: '\\u00A3$%^\\u00A3$%^'
             {
             match("\u00A3$%^\u00A3$%^"); 
 
@@ -2639,8 +2639,8 @@
     // $ANTLR start "RULE_ESCAPED_CHARACTER"
     public final void mRULE_ESCAPED_CHARACTER() throws RecognitionException {
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27708:33: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27708:35: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29206:33: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29206:35: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
             {
             match('\\'); 
             if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) {
@@ -2664,8 +2664,8 @@
     // $ANTLR start "RULE_LETTER_CHARACTER"
     public final void mRULE_LETTER_CHARACTER() throws RecognitionException {
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27710:32: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27710:34: ( 'a' .. 'z' | 'A' .. 'Z' | '_' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29208:32: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29208:34: ( 'a' .. 'z' | 'A' .. 'Z' | '_' )
             {
             if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
                 input.consume();
@@ -2690,11 +2690,11 @@
         try {
             int _type = RULE_DOUBLE_QUOTED_STRING;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27712:27: ( '\"' ( RULE_ESCAPED_CHARACTER | ~ ( ( '\\\\' | '\"' ) ) )* '\"' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27712:29: '\"' ( RULE_ESCAPED_CHARACTER | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29210:27: ( '\"' ( RULE_ESCAPED_CHARACTER | ~ ( ( '\\\\' | '\"' ) ) )* '\"' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29210:29: '\"' ( RULE_ESCAPED_CHARACTER | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
             {
             match('\"'); 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27712:33: ( RULE_ESCAPED_CHARACTER | ~ ( ( '\\\\' | '\"' ) ) )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29210:33: ( RULE_ESCAPED_CHARACTER | ~ ( ( '\\\\' | '\"' ) ) )*
             loop1:
             do {
                 int alt1=3;
@@ -2710,14 +2710,14 @@
 
                 switch (alt1) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27712:34: RULE_ESCAPED_CHARACTER
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29210:34: RULE_ESCAPED_CHARACTER
             	    {
             	    mRULE_ESCAPED_CHARACTER(); 
 
             	    }
             	    break;
             	case 2 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27712:57: ~ ( ( '\\\\' | '\"' ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29210:57: ~ ( ( '\\\\' | '\"' ) )
             	    {
             	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
             	        input.consume();
@@ -2754,11 +2754,11 @@
         try {
             int _type = RULE_SINGLE_QUOTED_STRING;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27714:27: ( '\\'' ( RULE_ESCAPED_CHARACTER | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27714:29: '\\'' ( RULE_ESCAPED_CHARACTER | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29212:27: ( '\\'' ( RULE_ESCAPED_CHARACTER | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29212:29: '\\'' ( RULE_ESCAPED_CHARACTER | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
             {
             match('\''); 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27714:34: ( RULE_ESCAPED_CHARACTER | ~ ( ( '\\\\' | '\\'' ) ) )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29212:34: ( RULE_ESCAPED_CHARACTER | ~ ( ( '\\\\' | '\\'' ) ) )*
             loop2:
             do {
                 int alt2=3;
@@ -2774,14 +2774,14 @@
 
                 switch (alt2) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27714:35: RULE_ESCAPED_CHARACTER
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29212:35: RULE_ESCAPED_CHARACTER
             	    {
             	    mRULE_ESCAPED_CHARACTER(); 
 
             	    }
             	    break;
             	case 2 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27714:58: ~ ( ( '\\\\' | '\\'' ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29212:58: ~ ( ( '\\\\' | '\\'' ) )
             	    {
             	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
             	        input.consume();
@@ -2818,12 +2818,12 @@
         try {
             int _type = RULE_ML_SINGLE_QUOTED_STRING;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27716:30: ( '/\\'' ( options {greedy=false; } : . )* '\\'/' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27716:32: '/\\'' ( options {greedy=false; } : . )* '\\'/'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29214:30: ( '/\\'' ( options {greedy=false; } : . )* '\\'/' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29214:32: '/\\'' ( options {greedy=false; } : . )* '\\'/'
             {
             match("/'"); 
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27716:38: ( options {greedy=false; } : . )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29214:38: ( options {greedy=false; } : . )*
             loop3:
             do {
                 int alt3=2;
@@ -2848,7 +2848,7 @@
 
                 switch (alt3) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27716:66: .
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29214:66: .
             	    {
             	    matchAny(); 
 
@@ -2878,11 +2878,11 @@
         try {
             int _type = RULE_SIMPLE_ID;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27718:16: ( RULE_LETTER_CHARACTER ( RULE_LETTER_CHARACTER | '0' .. '9' )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27718:18: RULE_LETTER_CHARACTER ( RULE_LETTER_CHARACTER | '0' .. '9' )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29216:16: ( RULE_LETTER_CHARACTER ( RULE_LETTER_CHARACTER | '0' .. '9' )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29216:18: RULE_LETTER_CHARACTER ( RULE_LETTER_CHARACTER | '0' .. '9' )*
             {
             mRULE_LETTER_CHARACTER(); 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27718:40: ( RULE_LETTER_CHARACTER | '0' .. '9' )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29216:40: ( RULE_LETTER_CHARACTER | '0' .. '9' )*
             loop4:
             do {
                 int alt4=2;
@@ -2931,8 +2931,8 @@
         try {
             int _type = RULE_ESCAPED_ID;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27720:17: ( '_' RULE_SINGLE_QUOTED_STRING )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27720:19: '_' RULE_SINGLE_QUOTED_STRING
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29218:17: ( '_' RULE_SINGLE_QUOTED_STRING )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29218:19: '_' RULE_SINGLE_QUOTED_STRING
             {
             match('_'); 
             mRULE_SINGLE_QUOTED_STRING(); 
@@ -2952,10 +2952,10 @@
         try {
             int _type = RULE_INT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27722:10: ( ( '0' .. '9' )+ )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27722:12: ( '0' .. '9' )+
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29220:10: ( ( '0' .. '9' )+ )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29220:12: ( '0' .. '9' )+
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27722:12: ( '0' .. '9' )+
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29220:12: ( '0' .. '9' )+
             int cnt5=0;
             loop5:
             do {
@@ -2969,7 +2969,7 @@
 
                 switch (alt5) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27722:13: '0' .. '9'
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29220:13: '0' .. '9'
             	    {
             	    matchRange('0','9'); 
 
@@ -3001,12 +3001,12 @@
         try {
             int _type = RULE_ML_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27724:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27724:19: '/*' ( options {greedy=false; } : . )* '*/'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29222:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29222:19: '/*' ( options {greedy=false; } : . )* '*/'
             {
             match("/*"); 
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27724:24: ( options {greedy=false; } : . )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29222:24: ( options {greedy=false; } : . )*
             loop6:
             do {
                 int alt6=2;
@@ -3031,7 +3031,7 @@
 
                 switch (alt6) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27724:52: .
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29222:52: .
             	    {
             	    matchAny(); 
 
@@ -3061,12 +3061,12 @@
         try {
             int _type = RULE_SL_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27726:17: ( '--' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27726:19: '--' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29224:17: ( '--' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29224:19: '--' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
             {
             match("--"); 
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27726:24: (~ ( ( '\\n' | '\\r' ) ) )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29224:24: (~ ( ( '\\n' | '\\r' ) ) )*
             loop7:
             do {
                 int alt7=2;
@@ -3079,7 +3079,7 @@
 
                 switch (alt7) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27726:24: ~ ( ( '\\n' | '\\r' ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29224:24: ~ ( ( '\\n' | '\\r' ) )
             	    {
             	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
             	        input.consume();
@@ -3099,7 +3099,7 @@
                 }
             } while (true);
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27726:40: ( ( '\\r' )? '\\n' )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29224:40: ( ( '\\r' )? '\\n' )?
             int alt9=2;
             int LA9_0 = input.LA(1);
 
@@ -3108,9 +3108,9 @@
             }
             switch (alt9) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27726:41: ( '\\r' )? '\\n'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29224:41: ( '\\r' )? '\\n'
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27726:41: ( '\\r' )?
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29224:41: ( '\\r' )?
                     int alt8=2;
                     int LA8_0 = input.LA(1);
 
@@ -3119,7 +3119,7 @@
                     }
                     switch (alt8) {
                         case 1 :
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27726:41: '\\r'
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29224:41: '\\r'
                             {
                             match('\r'); 
 
@@ -3151,10 +3151,10 @@
         try {
             int _type = RULE_WS;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27728:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27728:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29226:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29226:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27728:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29226:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             int cnt10=0;
             loop10:
             do {
@@ -3208,8 +3208,8 @@
         try {
             int _type = RULE_ANY_OTHER;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27730:16: ( . )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27730:18: .
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29228:16: ( . )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29228:18: .
             {
             matchAny(); 
 
@@ -4177,7 +4177,7 @@
         "\2\0\1\47\4\uffff\1\163\1\164\1\144\1\uffff\1\144\1\154\1\141\1"+
         "\155\1\164\1\146\1\143\1\144\1\164\1\163\1\60\1\160\2\60\1\171\1"+
         "\142\1\164\1\144\1\145\1\60\1\143\1\163\1\145\2\141\1\160\1\154"+
-        "\1\163\1\145\1\141\1\151\1\154\5\uffff\1\145\1\uffff\1\156\5\uffff"+
+        "\1\163\1\145\1\141\1\151\1\154\4\uffff\1\145\1\uffff\1\156\6\uffff"+
         "\1\164\1\154\14\uffff\1\162\5\uffff\1\160\1\157\1\147\1\164\1\141"+
         "\1\162\1\161\2\154\1\144\1\154\2\uffff\1\52\5\uffff\1\155\3\uffff"+
         "\1\154\10\uffff\1\164\1\162\1\157\1\60\1\171\1\154\1\163\1\160\1"+
@@ -4223,8 +4223,8 @@
         "\uffff\1\44\2\uffff\1\47\4\uffff\1\163\1\164\1\156\1\uffff\1\144"+
         "\1\154\1\141\1\155\1\164\1\162\1\143\1\165\1\164\1\163\1\172\1\160"+
         "\2\172\1\171\2\164\1\144\1\145\1\172\1\143\1\163\1\157\1\163\1\141"+
-        "\1\160\1\162\1\163\1\162\1\165\1\163\1\154\5\uffff\1\145\1\uffff"+
-        "\1\156\5\uffff\1\164\1\154\14\uffff\1\162\5\uffff\1\160\1\157\1"+
+        "\1\160\1\162\1\163\1\162\1\165\1\163\1\154\4\uffff\1\145\1\uffff"+
+        "\1\156\6\uffff\1\164\1\154\14\uffff\1\162\5\uffff\1\160\1\157\1"+
         "\147\1\164\1\141\1\162\1\164\2\154\1\144\1\154\2\uffff\1\52\5\uffff"+
         "\1\155\3\uffff\1\154\10\uffff\1\164\1\162\1\157\1\172\1\171\1\154"+
         "\1\163\1\160\1\141\2\151\1\165\1\155\1\151\2\145\1\uffff\1\157\1"+
@@ -4263,28 +4263,28 @@
         "\1\164\3\uffff\2\156\2\172\1\165\2\172\2\uffff\1\162\2\uffff\1\141"+
         "\1\154\1\172\1\uffff";
     static final String DFA11_acceptS =
-        "\21\uffff\1\45\3\uffff\1\57\4\uffff\1\66\13\uffff\1\117\1\120\1"+
-        "\uffff\1\122\1\123\1\124\1\125\1\uffff\1\135\1\136\2\uffff\1\165"+
+        "\21\uffff\1\45\3\uffff\1\70\4\uffff\1\77\13\uffff\1\130\1\131\1"+
+        "\uffff\1\133\1\134\1\135\1\136\1\uffff\1\146\1\147\2\uffff\1\165"+
         "\1\166\4\uffff\1\173\1\175\1\u0080\1\u0081\3\uffff\1\173\40\uffff"+
-        "\1\45\1\46\1\150\1\151\1\152\1\uffff\1\154\1\uffff\1\157\1\161\1"+
-        "\75\1\177\1\55\2\uffff\1\57\1\172\1\176\1\60\1\130\1\61\1\64\1\62"+
-        "\1\65\1\67\1\63\1\66\1\uffff\1\127\1\74\1\76\1\77\1\116\13\uffff"+
-        "\1\117\1\120\1\uffff\1\121\1\122\1\123\1\124\1\125\1\uffff\1\135"+
-        "\1\136\1\147\1\uffff\1\165\1\166\1\167\1\170\1\171\1\174\1\175\1"+
-        "\u0080\20\uffff\1\15\4\uffff\1\137\1\140\7\uffff\1\71\45\uffff\1"+
-        "\160\1\126\5\uffff\1\70\21\uffff\1\21\2\uffff\1\145\6\uffff\1\134"+
-        "\21\uffff\1\153\1\162\1\155\1\156\1\56\1\uffff\1\72\2\uffff\1\112"+
-        "\3\uffff\1\111\14\uffff\1\3\7\uffff\1\13\3\uffff\1\142\26\uffff"+
-        "\1\146\2\uffff\1\141\1\uffff\1\163\3\uffff\1\133\3\uffff\1\103\16"+
-        "\uffff\1\5\6\uffff\1\143\26\uffff\1\37\1\uffff\1\54\5\uffff\1\100"+
-        "\13\uffff\1\164\13\uffff\1\144\1\16\7\uffff\1\23\12\uffff\1\36\1"+
-        "\uffff\1\40\1\uffff\1\42\4\uffff\1\104\2\uffff\1\106\4\uffff\1\131"+
-        "\10\uffff\1\12\1\uffff\1\14\1\73\1\17\2\uffff\1\132\1\22\1\52\1"+
-        "\uffff\1\25\1\26\6\uffff\1\35\4\uffff\1\101\1\102\3\uffff\1\110"+
+        "\1\45\1\46\1\47\1\50\1\uffff\1\52\1\uffff\1\54\1\55\1\56\1\106\1"+
+        "\177\1\66\2\uffff\1\70\1\172\1\176\1\71\1\141\1\72\1\75\1\73\1\76"+
+        "\1\100\1\74\1\77\1\uffff\1\140\1\105\1\107\1\110\1\127\13\uffff"+
+        "\1\130\1\131\1\uffff\1\132\1\133\1\134\1\135\1\136\1\uffff\1\146"+
+        "\1\147\1\160\1\uffff\1\165\1\166\1\167\1\170\1\171\1\174\1\175\1"+
+        "\u0080\20\uffff\1\15\4\uffff\1\150\1\151\7\uffff\1\102\45\uffff"+
+        "\1\162\1\137\5\uffff\1\101\21\uffff\1\21\2\uffff\1\156\6\uffff\1"+
+        "\145\21\uffff\1\51\1\57\1\53\1\161\1\67\1\uffff\1\103\2\uffff\1"+
+        "\123\3\uffff\1\122\14\uffff\1\3\7\uffff\1\13\3\uffff\1\153\26\uffff"+
+        "\1\157\2\uffff\1\152\1\uffff\1\163\3\uffff\1\144\3\uffff\1\114\16"+
+        "\uffff\1\5\6\uffff\1\154\26\uffff\1\37\1\uffff\1\65\5\uffff\1\111"+
+        "\13\uffff\1\164\13\uffff\1\155\1\16\7\uffff\1\23\12\uffff\1\36\1"+
+        "\uffff\1\40\1\uffff\1\42\4\uffff\1\115\2\uffff\1\117\4\uffff\1\142"+
+        "\10\uffff\1\12\1\uffff\1\14\1\104\1\17\2\uffff\1\143\1\22\1\63\1"+
+        "\uffff\1\25\1\26\6\uffff\1\35\4\uffff\1\112\1\113\3\uffff\1\121"+
         "\2\uffff\1\1\2\uffff\1\4\1\6\1\7\11\uffff\1\32\1\33\4\uffff\1\44"+
-        "\1\113\4\uffff\1\2\4\uffff\1\20\1\51\1\24\2\uffff\1\31\1\34\1\uffff"+
-        "\1\41\5\uffff\1\47\1\10\1\11\4\uffff\1\43\1\uffff\1\107\1\115\1"+
-        "\114\7\uffff\1\30\1\53\1\uffff\1\50\1\27\3\uffff\1\105";
+        "\1\124\4\uffff\1\2\4\uffff\1\20\1\62\1\24\2\uffff\1\31\1\34\1\uffff"+
+        "\1\41\5\uffff\1\60\1\10\1\11\4\uffff\1\43\1\uffff\1\120\1\126\1"+
+        "\125\7\uffff\1\30\1\64\1\uffff\1\61\1\27\3\uffff\1\116";
     static final String DFA11_specialS =
         "\1\2\64\uffff\1\0\1\1\u0212\uffff}>";
     static final String[] DFA11_transitionS = {
@@ -4312,8 +4312,8 @@
             "\1\136",
             "\1\137",
             "",
-            "\1\151\1\142\4\uffff\1\143\5\uffff\1\144\2\uffff\1\145\1\141"+
-            "\1\146\1\147\1\150",
+            "\1\151\1\141\4\uffff\1\142\5\uffff\1\143\2\uffff\1\144\1\150"+
+            "\1\145\1\146\1\147",
             "\1\153\20\uffff\1\152",
             "\1\155\5\uffff\1\156",
             "",
@@ -4397,7 +4397,6 @@
             "",
             "",
             "",
-            "",
             "\1\u00d4",
             "",
             "\1\u00d5",
@@ -4406,6 +4405,7 @@
             "",
             "",
             "",
+            "",
             "\1\u00d6",
             "\1\u00d7",
             "",
@@ -4511,7 +4511,7 @@
             "\1\u0118",
             "\1\u0119",
             "\1\u011a\21\uffff\1\u011b",
-            "\1\u011c\11\uffff\1\u011d",
+            "\1\u011d\11\uffff\1\u011c",
             "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77",
             "\1\u011f",
             "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77",
diff --git a/plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcoreParser.java b/plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcoreParser.java
index 2f43e39..a644490 100644
--- a/plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcoreParser.java
+++ b/plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcoreParser.java
@@ -23,7 +23,7 @@
 @SuppressWarnings("all")
 public class InternalOCLinEcoreParser extends AbstractInternalContentAssistParser {
     public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_INT", "RULE_SINGLE_QUOTED_STRING", "RULE_ML_SINGLE_QUOTED_STRING", "RULE_SIMPLE_ID", "RULE_ESCAPED_ID", "RULE_UNQUOTED_STRING", "RULE_ESCAPED_CHARACTER", "RULE_LETTER_CHARACTER", "RULE_DOUBLE_QUOTED_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'abstract'", "'attribute'", "'body'", "'callable'", "'class'", "'composes'", "'datatype'", "'definition'", "'derivation'", "'derived'", "'enum'", "'extends'", "'id'", "'import'", "'initial'", "'interface'", "'key'", "'library'", "'module'", "'operation'", "'ordered'", "'package'", "'postcondition'", "'precondition'", "'primitive'", "'property'", "'readonly'", "'reference'", "'resolve'", "'static'", "'super'", "'throws'", "'transient'", "'unique'", "'unsettable'", "'volatile'", "';'", "'!serializable'", "'annotation'", "'documentation'", "'invariant'", "'literal'", "'serializable'", "'sysml'", "'-'", "'not'", "'*'", "'/'", "'+'", "'>'", "'<'", "'>='", "'<='", "'='", "'<>'", "'and'", "'or'", "'xor'", "'implies'", "'.'", "'->'", "'?.'", "'?->'", "'Tuple'", "'Boolean'", "'Integer'", "'Real'", "'String'", "'UnlimitedNatural'", "'OclAny'", "'OclInvalid'", "'OclVoid'", "'Set'", "'Bag'", "'Sequence'", "'Collection'", "'OrderedSet'", "'?'", "'('", "')'", "':'", "','", "'{'", "'}'", "'#'", "'::'", "'..'", "'++'", "'Lambda'", "'invalid'", "'null'", "'pre'", "'['", "']'", "'in'", "'if'", "'then'", "'else'", "'endif'", "'elseif'", "'let'", "'self'", "'&&'", "'!derived'", "'!id'", "'!ordered'", "'!readonly'", "'!transient'", "'!unique'", "'!unsettable'", "'!volatile'", "'::*'", "'!composes'", "'!resolve'", "'true'", "'false'", "'@'", "'|'"
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_INT", "RULE_SINGLE_QUOTED_STRING", "RULE_ML_SINGLE_QUOTED_STRING", "RULE_SIMPLE_ID", "RULE_ESCAPED_ID", "RULE_UNQUOTED_STRING", "RULE_ESCAPED_CHARACTER", "RULE_LETTER_CHARACTER", "RULE_DOUBLE_QUOTED_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'abstract'", "'attribute'", "'body'", "'callable'", "'class'", "'composes'", "'datatype'", "'definition'", "'derivation'", "'derived'", "'enum'", "'extends'", "'id'", "'import'", "'initial'", "'interface'", "'key'", "'library'", "'module'", "'operation'", "'ordered'", "'package'", "'postcondition'", "'precondition'", "'primitive'", "'property'", "'readonly'", "'reference'", "'resolve'", "'static'", "'super'", "'throws'", "'transient'", "'unique'", "'unsettable'", "'volatile'", "';'", "'!derived'", "'!id'", "'!ordered'", "'!readonly'", "'!transient'", "'!unsettable'", "'!volatile'", "'!serializable'", "'!composes'", "'!resolve'", "'annotation'", "'documentation'", "'invariant'", "'literal'", "'serializable'", "'sysml'", "'-'", "'not'", "'*'", "'/'", "'+'", "'>'", "'<'", "'>='", "'<='", "'='", "'<>'", "'and'", "'or'", "'xor'", "'implies'", "'.'", "'->'", "'?.'", "'?->'", "'Tuple'", "'Boolean'", "'Integer'", "'Real'", "'String'", "'UnlimitedNatural'", "'OclAny'", "'OclInvalid'", "'OclVoid'", "'Set'", "'Bag'", "'Sequence'", "'Collection'", "'OrderedSet'", "'?'", "'('", "')'", "':'", "','", "'{'", "'}'", "'#'", "'::'", "'..'", "'++'", "'Lambda'", "'invalid'", "'null'", "'pre'", "'['", "']'", "'in'", "'if'", "'then'", "'else'", "'endif'", "'elseif'", "'let'", "'self'", "'&&'", "'!unique'", "'::*'", "'true'", "'false'", "'@'", "'|'"
     };
     public static final int T__29=29;
     public static final int T__28=28;
@@ -10195,7 +10195,7 @@
             int alt3=2;
             int LA3_0 = input.LA(1);
 
-            if ( (LA3_0==97) ) {
+            if ( (LA3_0==106) ) {
                 alt3=1;
             }
             else if ( (LA3_0==53) ) {
@@ -10285,7 +10285,7 @@
             int alt4=2;
             int LA4_0 = input.LA(1);
 
-            if ( ((LA4_0>=RULE_SIMPLE_ID && LA4_0<=RULE_ESCAPED_ID)||(LA4_0>=17 && LA4_0<=52)||(LA4_0>=55 && LA4_0<=60)) ) {
+            if ( ((LA4_0>=RULE_SIMPLE_ID && LA4_0<=RULE_ESCAPED_ID)||(LA4_0>=17 && LA4_0<=52)||(LA4_0>=64 && LA4_0<=69)) ) {
                 alt4=1;
             }
             else if ( (LA4_0==RULE_SINGLE_QUOTED_STRING) ) {
@@ -10369,7 +10369,7 @@
             int alt5=2;
             int LA5_0 = input.LA(1);
 
-            if ( (LA5_0==99) ) {
+            if ( (LA5_0==108) ) {
                 alt5=1;
             }
             else if ( (LA5_0==53) ) {
@@ -10458,9 +10458,9 @@
             // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3450:1: ( ( ( rule__AnnotationCS__OwnedAnnotationsAssignment_4_0_1_0 ) ) | ( ( rule__AnnotationCS__OwnedContentsAssignment_4_0_1_1 ) ) | ( ( rule__AnnotationCS__OwnedReferencesAssignment_4_0_1_2 ) ) )
             int alt6=3;
             switch ( input.LA(1) ) {
-            case 55:
-            case 56:
-            case 60:
+            case 64:
+            case 65:
+            case 69:
                 {
                 alt6=1;
                 }
@@ -10502,7 +10502,7 @@
             case 50:
             case 51:
             case 52:
-            case 58:
+            case 67:
                 {
                 alt6=2;
                 }
@@ -10511,10 +10511,10 @@
                 {
                 int LA6_3 = input.LA(2);
 
-                if ( ((LA6_3>=RULE_SIMPLE_ID && LA6_3<=RULE_ESCAPED_ID)||(LA6_3>=17 && LA6_3<=52)||(LA6_3>=55 && LA6_3<=60)) ) {
+                if ( ((LA6_3>=RULE_SIMPLE_ID && LA6_3<=RULE_ESCAPED_ID)||(LA6_3>=17 && LA6_3<=52)||(LA6_3>=64 && LA6_3<=69)) ) {
                     alt6=3;
                 }
-                else if ( (LA6_3==53||LA6_3==70||LA6_3==99) ) {
+                else if ( (LA6_3==53||LA6_3==79||LA6_3==108) ) {
                     alt6=2;
                 }
                 else {
@@ -10649,17 +10649,17 @@
             // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3478:1: ( ( ruleAnnotationCS ) | ( ruleDocumentationCS ) | ( ruleSysMLCS ) )
             int alt7=3;
             switch ( input.LA(1) ) {
-            case 55:
+            case 64:
                 {
                 alt7=1;
                 }
                 break;
-            case 56:
+            case 65:
                 {
                 alt7=2;
                 }
                 break;
-            case 60:
+            case 69:
                 {
                 alt7=3;
                 }
@@ -10759,21 +10759,21 @@
     // $ANTLR end "rule__AnnotationElementCS__Alternatives"
 
 
-    // $ANTLR start "rule__AttributeCS__Alternatives_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3502:1: rule__AttributeCS__Alternatives_0 : ( ( ( rule__AttributeCS__Group_0_0__0 ) ) | ( ( rule__AttributeCS__Group_0_1__0 ) ) );
-    public final void rule__AttributeCS__Alternatives_0() throws RecognitionException {
+    // $ANTLR start "rule__AttributeCS__Alternatives_5_0_1_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3502:1: rule__AttributeCS__Alternatives_5_0_1_0 : ( ( ( rule__AttributeCS__IsDerivedAssignment_5_0_1_0_0 ) ) | ( '!derived' ) );
+    public final void rule__AttributeCS__Alternatives_5_0_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3506:1: ( ( ( rule__AttributeCS__Group_0_0__0 ) ) | ( ( rule__AttributeCS__Group_0_1__0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3506:1: ( ( ( rule__AttributeCS__IsDerivedAssignment_5_0_1_0_0 ) ) | ( '!derived' ) )
             int alt8=2;
             int LA8_0 = input.LA(1);
 
-            if ( (LA8_0==46) ) {
+            if ( (LA8_0==26) ) {
                 alt8=1;
             }
-            else if ( (LA8_0==24) ) {
+            else if ( (LA8_0==54) ) {
                 alt8=2;
             }
             else {
@@ -10785,19 +10785,19 @@
             }
             switch (alt8) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3507:1: ( ( rule__AttributeCS__Group_0_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3507:1: ( ( rule__AttributeCS__IsDerivedAssignment_5_0_1_0_0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3507:1: ( ( rule__AttributeCS__Group_0_0__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3508:1: ( rule__AttributeCS__Group_0_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3507:1: ( ( rule__AttributeCS__IsDerivedAssignment_5_0_1_0_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3508:1: ( rule__AttributeCS__IsDerivedAssignment_5_0_1_0_0 )
                     {
                     if ( state.backtracking==0 ) {
-                       before(grammarAccess.getAttributeCSAccess().getGroup_0_0()); 
+                       before(grammarAccess.getAttributeCSAccess().getIsDerivedAssignment_5_0_1_0_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3509:1: ( rule__AttributeCS__Group_0_0__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3509:2: rule__AttributeCS__Group_0_0__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3509:1: ( rule__AttributeCS__IsDerivedAssignment_5_0_1_0_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3509:2: rule__AttributeCS__IsDerivedAssignment_5_0_1_0_0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_0_0__0_in_rule__AttributeCS__Alternatives_07552);
-                    rule__AttributeCS__Group_0_0__0();
+                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__IsDerivedAssignment_5_0_1_0_0_in_rule__AttributeCS__Alternatives_5_0_1_07552);
+                    rule__AttributeCS__IsDerivedAssignment_5_0_1_0_0();
 
                     state._fsp--;
                     if (state.failed) return ;
@@ -10805,7 +10805,7 @@
                     }
 
                     if ( state.backtracking==0 ) {
-                       after(grammarAccess.getAttributeCSAccess().getGroup_0_0()); 
+                       after(grammarAccess.getAttributeCSAccess().getIsDerivedAssignment_5_0_1_0_0()); 
                     }
 
                     }
@@ -10814,27 +10814,17 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3513:6: ( ( rule__AttributeCS__Group_0_1__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3513:6: ( '!derived' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3513:6: ( ( rule__AttributeCS__Group_0_1__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3514:1: ( rule__AttributeCS__Group_0_1__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3513:6: ( '!derived' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3514:1: '!derived'
                     {
                     if ( state.backtracking==0 ) {
-                       before(grammarAccess.getAttributeCSAccess().getGroup_0_1()); 
+                       before(grammarAccess.getAttributeCSAccess().getDerivedKeyword_5_0_1_0_1()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3515:1: ( rule__AttributeCS__Group_0_1__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3515:2: rule__AttributeCS__Group_0_1__0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_0_1__0_in_rule__AttributeCS__Alternatives_07570);
-                    rule__AttributeCS__Group_0_1__0();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
+                    match(input,54,FollowSets000.FOLLOW_54_in_rule__AttributeCS__Alternatives_5_0_1_07571); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
-                       after(grammarAccess.getAttributeCSAccess().getGroup_0_1()); 
+                       after(grammarAccess.getAttributeCSAccess().getDerivedKeyword_5_0_1_0_1()); 
                     }
 
                     }
@@ -10856,122 +10846,48 @@
         }
         return ;
     }
-    // $ANTLR end "rule__AttributeCS__Alternatives_0"
+    // $ANTLR end "rule__AttributeCS__Alternatives_5_0_1_0"
 
 
     // $ANTLR start "rule__AttributeCS__Alternatives_5_1_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3524:1: rule__AttributeCS__Alternatives_5_1_0 : ( ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_0 ) ) | ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_1 ) ) | ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_2 ) ) | ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_3 ) ) | ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_4 ) ) | ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_5 ) ) | ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_6 ) ) | ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_7 ) ) | ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_8 ) ) | ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_9 ) ) | ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_10 ) ) | ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_11 ) ) | ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_12 ) ) | ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_13 ) ) | ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_14 ) ) | ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_15 ) ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3526:1: rule__AttributeCS__Alternatives_5_1_0 : ( ( ( rule__AttributeCS__IsIdAssignment_5_1_0_0 ) ) | ( '!id' ) );
     public final void rule__AttributeCS__Alternatives_5_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3528:1: ( ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_0 ) ) | ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_1 ) ) | ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_2 ) ) | ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_3 ) ) | ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_4 ) ) | ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_5 ) ) | ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_6 ) ) | ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_7 ) ) | ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_8 ) ) | ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_9 ) ) | ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_10 ) ) | ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_11 ) ) | ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_12 ) ) | ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_13 ) ) | ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_14 ) ) | ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_15 ) ) )
-            int alt9=16;
-            switch ( input.LA(1) ) {
-            case 26:
-                {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3530:1: ( ( ( rule__AttributeCS__IsIdAssignment_5_1_0_0 ) ) | ( '!id' ) )
+            int alt9=2;
+            int LA9_0 = input.LA(1);
+
+            if ( (LA9_0==29) ) {
                 alt9=1;
-                }
-                break;
-            case 120:
-                {
+            }
+            else if ( (LA9_0==55) ) {
                 alt9=2;
-                }
-                break;
-            case 29:
-                {
-                alt9=3;
-                }
-                break;
-            case 121:
-                {
-                alt9=4;
-                }
-                break;
-            case 37:
-                {
-                alt9=5;
-                }
-                break;
-            case 122:
-                {
-                alt9=6;
-                }
-                break;
-            case 43:
-                {
-                alt9=7;
-                }
-                break;
-            case 123:
-                {
-                alt9=8;
-                }
-                break;
-            case 49:
-                {
-                alt9=9;
-                }
-                break;
-            case 124:
-                {
-                alt9=10;
-                }
-                break;
-            case 50:
-                {
-                alt9=11;
-                }
-                break;
-            case 125:
-                {
-                alt9=12;
-                }
-                break;
-            case 51:
-                {
-                alt9=13;
-                }
-                break;
-            case 126:
-                {
-                alt9=14;
-                }
-                break;
-            case 52:
-                {
-                alt9=15;
-                }
-                break;
-            case 127:
-                {
-                alt9=16;
-                }
-                break;
-            default:
+            }
+            else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
                     new NoViableAltException("", 9, 0, input);
 
                 throw nvae;
             }
-
             switch (alt9) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3529:1: ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3531:1: ( ( rule__AttributeCS__IsIdAssignment_5_1_0_0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3529:1: ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3530:1: ( rule__AttributeCS__QualifiersAssignment_5_1_0_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3531:1: ( ( rule__AttributeCS__IsIdAssignment_5_1_0_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3532:1: ( rule__AttributeCS__IsIdAssignment_5_1_0_0 )
                     {
                     if ( state.backtracking==0 ) {
-                       before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_0()); 
+                       before(grammarAccess.getAttributeCSAccess().getIsIdAssignment_5_1_0_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3531:1: ( rule__AttributeCS__QualifiersAssignment_5_1_0_0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3531:2: rule__AttributeCS__QualifiersAssignment_5_1_0_0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3533:1: ( rule__AttributeCS__IsIdAssignment_5_1_0_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3533:2: rule__AttributeCS__IsIdAssignment_5_1_0_0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__QualifiersAssignment_5_1_0_0_in_rule__AttributeCS__Alternatives_5_1_07603);
-                    rule__AttributeCS__QualifiersAssignment_5_1_0_0();
+                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__IsIdAssignment_5_1_0_0_in_rule__AttributeCS__Alternatives_5_1_07605);
+                    rule__AttributeCS__IsIdAssignment_5_1_0_0();
 
                     state._fsp--;
                     if (state.failed) return ;
@@ -10979,7 +10895,7 @@
                     }
 
                     if ( state.backtracking==0 ) {
-                       after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_0()); 
+                       after(grammarAccess.getAttributeCSAccess().getIsIdAssignment_5_1_0_0()); 
                     }
 
                     }
@@ -10988,433 +10904,17 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3535:6: ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_1 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3537:6: ( '!id' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3535:6: ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_1 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3536:1: ( rule__AttributeCS__QualifiersAssignment_5_1_0_1 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3537:6: ( '!id' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3538:1: '!id'
                     {
                     if ( state.backtracking==0 ) {
-                       before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_1()); 
+                       before(grammarAccess.getAttributeCSAccess().getIdKeyword_5_1_0_1()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3537:1: ( rule__AttributeCS__QualifiersAssignment_5_1_0_1 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3537:2: rule__AttributeCS__QualifiersAssignment_5_1_0_1
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__QualifiersAssignment_5_1_0_1_in_rule__AttributeCS__Alternatives_5_1_07621);
-                    rule__AttributeCS__QualifiersAssignment_5_1_0_1();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
+                    match(input,55,FollowSets000.FOLLOW_55_in_rule__AttributeCS__Alternatives_5_1_07624); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
-                       after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_1()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 3 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3541:6: ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_2 ) )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3541:6: ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_2 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3542:1: ( rule__AttributeCS__QualifiersAssignment_5_1_0_2 )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_2()); 
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3543:1: ( rule__AttributeCS__QualifiersAssignment_5_1_0_2 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3543:2: rule__AttributeCS__QualifiersAssignment_5_1_0_2
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__QualifiersAssignment_5_1_0_2_in_rule__AttributeCS__Alternatives_5_1_07639);
-                    rule__AttributeCS__QualifiersAssignment_5_1_0_2();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_2()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 4 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3547:6: ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_3 ) )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3547:6: ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_3 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3548:1: ( rule__AttributeCS__QualifiersAssignment_5_1_0_3 )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_3()); 
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3549:1: ( rule__AttributeCS__QualifiersAssignment_5_1_0_3 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3549:2: rule__AttributeCS__QualifiersAssignment_5_1_0_3
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__QualifiersAssignment_5_1_0_3_in_rule__AttributeCS__Alternatives_5_1_07657);
-                    rule__AttributeCS__QualifiersAssignment_5_1_0_3();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_3()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 5 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3553:6: ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_4 ) )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3553:6: ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_4 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3554:1: ( rule__AttributeCS__QualifiersAssignment_5_1_0_4 )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_4()); 
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3555:1: ( rule__AttributeCS__QualifiersAssignment_5_1_0_4 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3555:2: rule__AttributeCS__QualifiersAssignment_5_1_0_4
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__QualifiersAssignment_5_1_0_4_in_rule__AttributeCS__Alternatives_5_1_07675);
-                    rule__AttributeCS__QualifiersAssignment_5_1_0_4();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_4()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 6 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3559:6: ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_5 ) )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3559:6: ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_5 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3560:1: ( rule__AttributeCS__QualifiersAssignment_5_1_0_5 )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_5()); 
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3561:1: ( rule__AttributeCS__QualifiersAssignment_5_1_0_5 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3561:2: rule__AttributeCS__QualifiersAssignment_5_1_0_5
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__QualifiersAssignment_5_1_0_5_in_rule__AttributeCS__Alternatives_5_1_07693);
-                    rule__AttributeCS__QualifiersAssignment_5_1_0_5();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_5()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 7 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3565:6: ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_6 ) )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3565:6: ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_6 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3566:1: ( rule__AttributeCS__QualifiersAssignment_5_1_0_6 )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_6()); 
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3567:1: ( rule__AttributeCS__QualifiersAssignment_5_1_0_6 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3567:2: rule__AttributeCS__QualifiersAssignment_5_1_0_6
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__QualifiersAssignment_5_1_0_6_in_rule__AttributeCS__Alternatives_5_1_07711);
-                    rule__AttributeCS__QualifiersAssignment_5_1_0_6();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_6()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 8 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3571:6: ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_7 ) )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3571:6: ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_7 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3572:1: ( rule__AttributeCS__QualifiersAssignment_5_1_0_7 )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_7()); 
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3573:1: ( rule__AttributeCS__QualifiersAssignment_5_1_0_7 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3573:2: rule__AttributeCS__QualifiersAssignment_5_1_0_7
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__QualifiersAssignment_5_1_0_7_in_rule__AttributeCS__Alternatives_5_1_07729);
-                    rule__AttributeCS__QualifiersAssignment_5_1_0_7();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_7()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 9 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3577:6: ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_8 ) )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3577:6: ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_8 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3578:1: ( rule__AttributeCS__QualifiersAssignment_5_1_0_8 )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_8()); 
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3579:1: ( rule__AttributeCS__QualifiersAssignment_5_1_0_8 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3579:2: rule__AttributeCS__QualifiersAssignment_5_1_0_8
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__QualifiersAssignment_5_1_0_8_in_rule__AttributeCS__Alternatives_5_1_07747);
-                    rule__AttributeCS__QualifiersAssignment_5_1_0_8();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_8()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 10 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3583:6: ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_9 ) )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3583:6: ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_9 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3584:1: ( rule__AttributeCS__QualifiersAssignment_5_1_0_9 )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_9()); 
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3585:1: ( rule__AttributeCS__QualifiersAssignment_5_1_0_9 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3585:2: rule__AttributeCS__QualifiersAssignment_5_1_0_9
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__QualifiersAssignment_5_1_0_9_in_rule__AttributeCS__Alternatives_5_1_07765);
-                    rule__AttributeCS__QualifiersAssignment_5_1_0_9();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_9()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 11 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3589:6: ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_10 ) )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3589:6: ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_10 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3590:1: ( rule__AttributeCS__QualifiersAssignment_5_1_0_10 )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_10()); 
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3591:1: ( rule__AttributeCS__QualifiersAssignment_5_1_0_10 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3591:2: rule__AttributeCS__QualifiersAssignment_5_1_0_10
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__QualifiersAssignment_5_1_0_10_in_rule__AttributeCS__Alternatives_5_1_07783);
-                    rule__AttributeCS__QualifiersAssignment_5_1_0_10();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_10()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 12 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3595:6: ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_11 ) )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3595:6: ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_11 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3596:1: ( rule__AttributeCS__QualifiersAssignment_5_1_0_11 )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_11()); 
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3597:1: ( rule__AttributeCS__QualifiersAssignment_5_1_0_11 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3597:2: rule__AttributeCS__QualifiersAssignment_5_1_0_11
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__QualifiersAssignment_5_1_0_11_in_rule__AttributeCS__Alternatives_5_1_07801);
-                    rule__AttributeCS__QualifiersAssignment_5_1_0_11();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_11()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 13 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3601:6: ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_12 ) )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3601:6: ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_12 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3602:1: ( rule__AttributeCS__QualifiersAssignment_5_1_0_12 )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_12()); 
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3603:1: ( rule__AttributeCS__QualifiersAssignment_5_1_0_12 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3603:2: rule__AttributeCS__QualifiersAssignment_5_1_0_12
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__QualifiersAssignment_5_1_0_12_in_rule__AttributeCS__Alternatives_5_1_07819);
-                    rule__AttributeCS__QualifiersAssignment_5_1_0_12();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_12()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 14 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3607:6: ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_13 ) )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3607:6: ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_13 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3608:1: ( rule__AttributeCS__QualifiersAssignment_5_1_0_13 )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_13()); 
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3609:1: ( rule__AttributeCS__QualifiersAssignment_5_1_0_13 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3609:2: rule__AttributeCS__QualifiersAssignment_5_1_0_13
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__QualifiersAssignment_5_1_0_13_in_rule__AttributeCS__Alternatives_5_1_07837);
-                    rule__AttributeCS__QualifiersAssignment_5_1_0_13();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_13()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 15 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3613:6: ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_14 ) )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3613:6: ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_14 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3614:1: ( rule__AttributeCS__QualifiersAssignment_5_1_0_14 )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_14()); 
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3615:1: ( rule__AttributeCS__QualifiersAssignment_5_1_0_14 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3615:2: rule__AttributeCS__QualifiersAssignment_5_1_0_14
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__QualifiersAssignment_5_1_0_14_in_rule__AttributeCS__Alternatives_5_1_07855);
-                    rule__AttributeCS__QualifiersAssignment_5_1_0_14();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_14()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 16 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3619:6: ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_15 ) )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3619:6: ( ( rule__AttributeCS__QualifiersAssignment_5_1_0_15 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3620:1: ( rule__AttributeCS__QualifiersAssignment_5_1_0_15 )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_15()); 
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3621:1: ( rule__AttributeCS__QualifiersAssignment_5_1_0_15 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3621:2: rule__AttributeCS__QualifiersAssignment_5_1_0_15
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__QualifiersAssignment_5_1_0_15_in_rule__AttributeCS__Alternatives_5_1_07873);
-                    rule__AttributeCS__QualifiersAssignment_5_1_0_15();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_5_1_0_15()); 
+                       after(grammarAccess.getAttributeCSAccess().getIdKeyword_5_1_0_1()); 
                     }
 
                     }
@@ -11439,21 +10939,21 @@
     // $ANTLR end "rule__AttributeCS__Alternatives_5_1_0"
 
 
-    // $ANTLR start "rule__AttributeCS__Alternatives_6"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3630:1: rule__AttributeCS__Alternatives_6 : ( ( ( rule__AttributeCS__Group_6_0__0 ) ) | ( ';' ) );
-    public final void rule__AttributeCS__Alternatives_6() throws RecognitionException {
+    // $ANTLR start "rule__AttributeCS__Alternatives_5_2_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3550:1: rule__AttributeCS__Alternatives_5_2_0 : ( ( ( rule__AttributeCS__IsOrderedAssignment_5_2_0_0 ) ) | ( '!ordered' ) );
+    public final void rule__AttributeCS__Alternatives_5_2_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3634:1: ( ( ( rule__AttributeCS__Group_6_0__0 ) ) | ( ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3554:1: ( ( ( rule__AttributeCS__IsOrderedAssignment_5_2_0_0 ) ) | ( '!ordered' ) )
             int alt10=2;
             int LA10_0 = input.LA(1);
 
-            if ( (LA10_0==99) ) {
+            if ( (LA10_0==37) ) {
                 alt10=1;
             }
-            else if ( (LA10_0==53) ) {
+            else if ( (LA10_0==56) ) {
                 alt10=2;
             }
             else {
@@ -11465,18 +10965,558 @@
             }
             switch (alt10) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3635:1: ( ( rule__AttributeCS__Group_6_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3555:1: ( ( rule__AttributeCS__IsOrderedAssignment_5_2_0_0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3635:1: ( ( rule__AttributeCS__Group_6_0__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3636:1: ( rule__AttributeCS__Group_6_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3555:1: ( ( rule__AttributeCS__IsOrderedAssignment_5_2_0_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3556:1: ( rule__AttributeCS__IsOrderedAssignment_5_2_0_0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getAttributeCSAccess().getIsOrderedAssignment_5_2_0_0()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3557:1: ( rule__AttributeCS__IsOrderedAssignment_5_2_0_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3557:2: rule__AttributeCS__IsOrderedAssignment_5_2_0_0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__IsOrderedAssignment_5_2_0_0_in_rule__AttributeCS__Alternatives_5_2_07658);
+                    rule__AttributeCS__IsOrderedAssignment_5_2_0_0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getAttributeCSAccess().getIsOrderedAssignment_5_2_0_0()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3561:6: ( '!ordered' )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3561:6: ( '!ordered' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3562:1: '!ordered'
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getAttributeCSAccess().getOrderedKeyword_5_2_0_1()); 
+                    }
+                    match(input,56,FollowSets000.FOLLOW_56_in_rule__AttributeCS__Alternatives_5_2_07677); if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getAttributeCSAccess().getOrderedKeyword_5_2_0_1()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__Alternatives_5_2_0"
+
+
+    // $ANTLR start "rule__AttributeCS__Alternatives_5_3_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3574:1: rule__AttributeCS__Alternatives_5_3_0 : ( ( ( rule__AttributeCS__IsReadonlyAssignment_5_3_0_0 ) ) | ( '!readonly' ) );
+    public final void rule__AttributeCS__Alternatives_5_3_0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3578:1: ( ( ( rule__AttributeCS__IsReadonlyAssignment_5_3_0_0 ) ) | ( '!readonly' ) )
+            int alt11=2;
+            int LA11_0 = input.LA(1);
+
+            if ( (LA11_0==43) ) {
+                alt11=1;
+            }
+            else if ( (LA11_0==57) ) {
+                alt11=2;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 11, 0, input);
+
+                throw nvae;
+            }
+            switch (alt11) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3579:1: ( ( rule__AttributeCS__IsReadonlyAssignment_5_3_0_0 ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3579:1: ( ( rule__AttributeCS__IsReadonlyAssignment_5_3_0_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3580:1: ( rule__AttributeCS__IsReadonlyAssignment_5_3_0_0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getAttributeCSAccess().getIsReadonlyAssignment_5_3_0_0()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3581:1: ( rule__AttributeCS__IsReadonlyAssignment_5_3_0_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3581:2: rule__AttributeCS__IsReadonlyAssignment_5_3_0_0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__IsReadonlyAssignment_5_3_0_0_in_rule__AttributeCS__Alternatives_5_3_07711);
+                    rule__AttributeCS__IsReadonlyAssignment_5_3_0_0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getAttributeCSAccess().getIsReadonlyAssignment_5_3_0_0()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3585:6: ( '!readonly' )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3585:6: ( '!readonly' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3586:1: '!readonly'
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getAttributeCSAccess().getReadonlyKeyword_5_3_0_1()); 
+                    }
+                    match(input,57,FollowSets000.FOLLOW_57_in_rule__AttributeCS__Alternatives_5_3_07730); if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getAttributeCSAccess().getReadonlyKeyword_5_3_0_1()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__Alternatives_5_3_0"
+
+
+    // $ANTLR start "rule__AttributeCS__Alternatives_5_4_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3598:1: rule__AttributeCS__Alternatives_5_4_0 : ( ( ( rule__AttributeCS__IsTransientAssignment_5_4_0_0 ) ) | ( '!transient' ) );
+    public final void rule__AttributeCS__Alternatives_5_4_0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3602:1: ( ( ( rule__AttributeCS__IsTransientAssignment_5_4_0_0 ) ) | ( '!transient' ) )
+            int alt12=2;
+            int LA12_0 = input.LA(1);
+
+            if ( (LA12_0==49) ) {
+                alt12=1;
+            }
+            else if ( (LA12_0==58) ) {
+                alt12=2;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 12, 0, input);
+
+                throw nvae;
+            }
+            switch (alt12) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3603:1: ( ( rule__AttributeCS__IsTransientAssignment_5_4_0_0 ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3603:1: ( ( rule__AttributeCS__IsTransientAssignment_5_4_0_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3604:1: ( rule__AttributeCS__IsTransientAssignment_5_4_0_0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getAttributeCSAccess().getIsTransientAssignment_5_4_0_0()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3605:1: ( rule__AttributeCS__IsTransientAssignment_5_4_0_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3605:2: rule__AttributeCS__IsTransientAssignment_5_4_0_0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__IsTransientAssignment_5_4_0_0_in_rule__AttributeCS__Alternatives_5_4_07764);
+                    rule__AttributeCS__IsTransientAssignment_5_4_0_0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getAttributeCSAccess().getIsTransientAssignment_5_4_0_0()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3609:6: ( '!transient' )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3609:6: ( '!transient' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3610:1: '!transient'
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getAttributeCSAccess().getTransientKeyword_5_4_0_1()); 
+                    }
+                    match(input,58,FollowSets000.FOLLOW_58_in_rule__AttributeCS__Alternatives_5_4_07783); if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getAttributeCSAccess().getTransientKeyword_5_4_0_1()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__Alternatives_5_4_0"
+
+
+    // $ANTLR start "rule__AttributeCS__Alternatives_5_5_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3622:1: rule__AttributeCS__Alternatives_5_5_0 : ( ( ( rule__AttributeCS__IsNotUniqueAssignment_5_5_0_0 ) ) | ( 'unique' ) );
+    public final void rule__AttributeCS__Alternatives_5_5_0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3626:1: ( ( ( rule__AttributeCS__IsNotUniqueAssignment_5_5_0_0 ) ) | ( 'unique' ) )
+            int alt13=2;
+            int LA13_0 = input.LA(1);
+
+            if ( (LA13_0==129) ) {
+                alt13=1;
+            }
+            else if ( (LA13_0==50) ) {
+                alt13=2;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 13, 0, input);
+
+                throw nvae;
+            }
+            switch (alt13) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3627:1: ( ( rule__AttributeCS__IsNotUniqueAssignment_5_5_0_0 ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3627:1: ( ( rule__AttributeCS__IsNotUniqueAssignment_5_5_0_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3628:1: ( rule__AttributeCS__IsNotUniqueAssignment_5_5_0_0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getAttributeCSAccess().getIsNotUniqueAssignment_5_5_0_0()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3629:1: ( rule__AttributeCS__IsNotUniqueAssignment_5_5_0_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3629:2: rule__AttributeCS__IsNotUniqueAssignment_5_5_0_0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__IsNotUniqueAssignment_5_5_0_0_in_rule__AttributeCS__Alternatives_5_5_07817);
+                    rule__AttributeCS__IsNotUniqueAssignment_5_5_0_0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getAttributeCSAccess().getIsNotUniqueAssignment_5_5_0_0()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3633:6: ( 'unique' )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3633:6: ( 'unique' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3634:1: 'unique'
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getAttributeCSAccess().getUniqueKeyword_5_5_0_1()); 
+                    }
+                    match(input,50,FollowSets000.FOLLOW_50_in_rule__AttributeCS__Alternatives_5_5_07836); if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getAttributeCSAccess().getUniqueKeyword_5_5_0_1()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__Alternatives_5_5_0"
+
+
+    // $ANTLR start "rule__AttributeCS__Alternatives_5_6_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3646:1: rule__AttributeCS__Alternatives_5_6_0 : ( ( ( rule__AttributeCS__IsUnsettableAssignment_5_6_0_0 ) ) | ( '!unsettable' ) );
+    public final void rule__AttributeCS__Alternatives_5_6_0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3650:1: ( ( ( rule__AttributeCS__IsUnsettableAssignment_5_6_0_0 ) ) | ( '!unsettable' ) )
+            int alt14=2;
+            int LA14_0 = input.LA(1);
+
+            if ( (LA14_0==51) ) {
+                alt14=1;
+            }
+            else if ( (LA14_0==59) ) {
+                alt14=2;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 14, 0, input);
+
+                throw nvae;
+            }
+            switch (alt14) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3651:1: ( ( rule__AttributeCS__IsUnsettableAssignment_5_6_0_0 ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3651:1: ( ( rule__AttributeCS__IsUnsettableAssignment_5_6_0_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3652:1: ( rule__AttributeCS__IsUnsettableAssignment_5_6_0_0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getAttributeCSAccess().getIsUnsettableAssignment_5_6_0_0()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3653:1: ( rule__AttributeCS__IsUnsettableAssignment_5_6_0_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3653:2: rule__AttributeCS__IsUnsettableAssignment_5_6_0_0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__IsUnsettableAssignment_5_6_0_0_in_rule__AttributeCS__Alternatives_5_6_07870);
+                    rule__AttributeCS__IsUnsettableAssignment_5_6_0_0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getAttributeCSAccess().getIsUnsettableAssignment_5_6_0_0()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3657:6: ( '!unsettable' )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3657:6: ( '!unsettable' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3658:1: '!unsettable'
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getAttributeCSAccess().getUnsettableKeyword_5_6_0_1()); 
+                    }
+                    match(input,59,FollowSets000.FOLLOW_59_in_rule__AttributeCS__Alternatives_5_6_07889); if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getAttributeCSAccess().getUnsettableKeyword_5_6_0_1()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__Alternatives_5_6_0"
+
+
+    // $ANTLR start "rule__AttributeCS__Alternatives_5_7_0_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3670:1: rule__AttributeCS__Alternatives_5_7_0_0 : ( ( ( rule__AttributeCS__IsVolatileAssignment_5_7_0_0_0 ) ) | ( '!volatile' ) );
+    public final void rule__AttributeCS__Alternatives_5_7_0_0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3674:1: ( ( ( rule__AttributeCS__IsVolatileAssignment_5_7_0_0_0 ) ) | ( '!volatile' ) )
+            int alt15=2;
+            int LA15_0 = input.LA(1);
+
+            if ( (LA15_0==52) ) {
+                alt15=1;
+            }
+            else if ( (LA15_0==60) ) {
+                alt15=2;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 15, 0, input);
+
+                throw nvae;
+            }
+            switch (alt15) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3675:1: ( ( rule__AttributeCS__IsVolatileAssignment_5_7_0_0_0 ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3675:1: ( ( rule__AttributeCS__IsVolatileAssignment_5_7_0_0_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3676:1: ( rule__AttributeCS__IsVolatileAssignment_5_7_0_0_0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getAttributeCSAccess().getIsVolatileAssignment_5_7_0_0_0()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3677:1: ( rule__AttributeCS__IsVolatileAssignment_5_7_0_0_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3677:2: rule__AttributeCS__IsVolatileAssignment_5_7_0_0_0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__IsVolatileAssignment_5_7_0_0_0_in_rule__AttributeCS__Alternatives_5_7_0_07923);
+                    rule__AttributeCS__IsVolatileAssignment_5_7_0_0_0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getAttributeCSAccess().getIsVolatileAssignment_5_7_0_0_0()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3681:6: ( '!volatile' )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3681:6: ( '!volatile' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3682:1: '!volatile'
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getAttributeCSAccess().getVolatileKeyword_5_7_0_0_1()); 
+                    }
+                    match(input,60,FollowSets000.FOLLOW_60_in_rule__AttributeCS__Alternatives_5_7_0_07942); if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getAttributeCSAccess().getVolatileKeyword_5_7_0_0_1()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__Alternatives_5_7_0_0"
+
+
+    // $ANTLR start "rule__AttributeCS__Alternatives_6"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3694:1: rule__AttributeCS__Alternatives_6 : ( ( ( rule__AttributeCS__Group_6_0__0 ) ) | ( ';' ) );
+    public final void rule__AttributeCS__Alternatives_6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3698:1: ( ( ( rule__AttributeCS__Group_6_0__0 ) ) | ( ';' ) )
+            int alt16=2;
+            int LA16_0 = input.LA(1);
+
+            if ( (LA16_0==108) ) {
+                alt16=1;
+            }
+            else if ( (LA16_0==53) ) {
+                alt16=2;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 16, 0, input);
+
+                throw nvae;
+            }
+            switch (alt16) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3699:1: ( ( rule__AttributeCS__Group_6_0__0 ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3699:1: ( ( rule__AttributeCS__Group_6_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3700:1: ( rule__AttributeCS__Group_6_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getAttributeCSAccess().getGroup_6_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3637:1: ( rule__AttributeCS__Group_6_0__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3637:2: rule__AttributeCS__Group_6_0__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3701:1: ( rule__AttributeCS__Group_6_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3701:2: rule__AttributeCS__Group_6_0__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0__0_in_rule__AttributeCS__Alternatives_67906);
+                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0__0_in_rule__AttributeCS__Alternatives_67976);
                     rule__AttributeCS__Group_6_0__0();
 
                     state._fsp--;
@@ -11494,15 +11534,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3641:6: ( ';' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3705:6: ( ';' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3641:6: ( ';' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3642:1: ';'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3705:6: ( ';' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3706:1: ';'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_1()); 
                     }
-                    match(input,53,FollowSets000.FOLLOW_53_in_rule__AttributeCS__Alternatives_67925); if (state.failed) return ;
+                    match(input,53,FollowSets000.FOLLOW_53_in_rule__AttributeCS__Alternatives_67995); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_1()); 
                     }
@@ -11530,54 +11570,54 @@
 
 
     // $ANTLR start "rule__AttributeCS__Alternatives_6_0_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3654:1: rule__AttributeCS__Alternatives_6_0_1 : ( ( ( rule__AttributeCS__OwnedAnnotationsAssignment_6_0_1_0 ) ) | ( ( rule__AttributeCS__Group_6_0_1_1__0 ) ) | ( ( rule__AttributeCS__Group_6_0_1_2__0 ) ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3718:1: rule__AttributeCS__Alternatives_6_0_1 : ( ( ( rule__AttributeCS__OwnedAnnotationsAssignment_6_0_1_0 ) ) | ( ( rule__AttributeCS__Group_6_0_1_1__0 ) ) | ( ( rule__AttributeCS__Group_6_0_1_2__0 ) ) );
     public final void rule__AttributeCS__Alternatives_6_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3658:1: ( ( ( rule__AttributeCS__OwnedAnnotationsAssignment_6_0_1_0 ) ) | ( ( rule__AttributeCS__Group_6_0_1_1__0 ) ) | ( ( rule__AttributeCS__Group_6_0_1_2__0 ) ) )
-            int alt11=3;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3722:1: ( ( ( rule__AttributeCS__OwnedAnnotationsAssignment_6_0_1_0 ) ) | ( ( rule__AttributeCS__Group_6_0_1_1__0 ) ) | ( ( rule__AttributeCS__Group_6_0_1_2__0 ) ) )
+            int alt17=3;
             switch ( input.LA(1) ) {
-            case 55:
-            case 56:
-            case 60:
+            case 64:
+            case 65:
+            case 69:
                 {
-                alt11=1;
+                alt17=1;
                 }
                 break;
             case 25:
                 {
-                alt11=2;
+                alt17=2;
                 }
                 break;
             case 31:
                 {
-                alt11=3;
+                alt17=3;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 11, 0, input);
+                    new NoViableAltException("", 17, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt11) {
+            switch (alt17) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3659:1: ( ( rule__AttributeCS__OwnedAnnotationsAssignment_6_0_1_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3723:1: ( ( rule__AttributeCS__OwnedAnnotationsAssignment_6_0_1_0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3659:1: ( ( rule__AttributeCS__OwnedAnnotationsAssignment_6_0_1_0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3660:1: ( rule__AttributeCS__OwnedAnnotationsAssignment_6_0_1_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3723:1: ( ( rule__AttributeCS__OwnedAnnotationsAssignment_6_0_1_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3724:1: ( rule__AttributeCS__OwnedAnnotationsAssignment_6_0_1_0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getAttributeCSAccess().getOwnedAnnotationsAssignment_6_0_1_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3661:1: ( rule__AttributeCS__OwnedAnnotationsAssignment_6_0_1_0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3661:2: rule__AttributeCS__OwnedAnnotationsAssignment_6_0_1_0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3725:1: ( rule__AttributeCS__OwnedAnnotationsAssignment_6_0_1_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3725:2: rule__AttributeCS__OwnedAnnotationsAssignment_6_0_1_0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__OwnedAnnotationsAssignment_6_0_1_0_in_rule__AttributeCS__Alternatives_6_0_17959);
+                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__OwnedAnnotationsAssignment_6_0_1_0_in_rule__AttributeCS__Alternatives_6_0_18029);
                     rule__AttributeCS__OwnedAnnotationsAssignment_6_0_1_0();
 
                     state._fsp--;
@@ -11595,18 +11635,18 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3665:6: ( ( rule__AttributeCS__Group_6_0_1_1__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3729:6: ( ( rule__AttributeCS__Group_6_0_1_1__0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3665:6: ( ( rule__AttributeCS__Group_6_0_1_1__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3666:1: ( rule__AttributeCS__Group_6_0_1_1__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3729:6: ( ( rule__AttributeCS__Group_6_0_1_1__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3730:1: ( rule__AttributeCS__Group_6_0_1_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getAttributeCSAccess().getGroup_6_0_1_1()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3667:1: ( rule__AttributeCS__Group_6_0_1_1__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3667:2: rule__AttributeCS__Group_6_0_1_1__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3731:1: ( rule__AttributeCS__Group_6_0_1_1__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3731:2: rule__AttributeCS__Group_6_0_1_1__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_1__0_in_rule__AttributeCS__Alternatives_6_0_17977);
+                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_1__0_in_rule__AttributeCS__Alternatives_6_0_18047);
                     rule__AttributeCS__Group_6_0_1_1__0();
 
                     state._fsp--;
@@ -11624,18 +11664,18 @@
                     }
                     break;
                 case 3 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3671:6: ( ( rule__AttributeCS__Group_6_0_1_2__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3735:6: ( ( rule__AttributeCS__Group_6_0_1_2__0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3671:6: ( ( rule__AttributeCS__Group_6_0_1_2__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3672:1: ( rule__AttributeCS__Group_6_0_1_2__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3735:6: ( ( rule__AttributeCS__Group_6_0_1_2__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3736:1: ( rule__AttributeCS__Group_6_0_1_2__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getAttributeCSAccess().getGroup_6_0_1_2()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3673:1: ( rule__AttributeCS__Group_6_0_1_2__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3673:2: rule__AttributeCS__Group_6_0_1_2__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3737:1: ( rule__AttributeCS__Group_6_0_1_2__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3737:2: rule__AttributeCS__Group_6_0_1_2__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_2__0_in_rule__AttributeCS__Alternatives_6_0_17995);
+                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_2__0_in_rule__AttributeCS__Alternatives_6_0_18065);
                     rule__AttributeCS__Group_6_0_1_2__0();
 
                     state._fsp--;
@@ -11670,51 +11710,51 @@
 
 
     // $ANTLR start "rule__ClassCS__Alternatives"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3682:1: rule__ClassCS__Alternatives : ( ( ruleStructuredClassCS ) | ( ruleDataTypeCS ) | ( ruleEnumerationCS ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3746:1: rule__ClassCS__Alternatives : ( ( ruleStructuredClassCS ) | ( ruleDataTypeCS ) | ( ruleEnumerationCS ) );
     public final void rule__ClassCS__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3686:1: ( ( ruleStructuredClassCS ) | ( ruleDataTypeCS ) | ( ruleEnumerationCS ) )
-            int alt12=3;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3750:1: ( ( ruleStructuredClassCS ) | ( ruleDataTypeCS ) | ( ruleEnumerationCS ) )
+            int alt18=3;
             switch ( input.LA(1) ) {
             case 17:
             case 21:
                 {
-                alt12=1;
+                alt18=1;
                 }
                 break;
             case 23:
             case 41:
                 {
-                alt12=2;
+                alt18=2;
                 }
                 break;
             case 27:
                 {
-                alt12=3;
+                alt18=3;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 12, 0, input);
+                    new NoViableAltException("", 18, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt12) {
+            switch (alt18) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3687:1: ( ruleStructuredClassCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3751:1: ( ruleStructuredClassCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3687:1: ( ruleStructuredClassCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3688:1: ruleStructuredClassCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3751:1: ( ruleStructuredClassCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3752:1: ruleStructuredClassCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getClassCSAccess().getStructuredClassCSParserRuleCall_0()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleStructuredClassCS_in_rule__ClassCS__Alternatives8028);
+                    pushFollow(FollowSets000.FOLLOW_ruleStructuredClassCS_in_rule__ClassCS__Alternatives8098);
                     ruleStructuredClassCS();
 
                     state._fsp--;
@@ -11729,15 +11769,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3693:6: ( ruleDataTypeCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3757:6: ( ruleDataTypeCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3693:6: ( ruleDataTypeCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3694:1: ruleDataTypeCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3757:6: ( ruleDataTypeCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3758:1: ruleDataTypeCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getClassCSAccess().getDataTypeCSParserRuleCall_1()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleDataTypeCS_in_rule__ClassCS__Alternatives8045);
+                    pushFollow(FollowSets000.FOLLOW_ruleDataTypeCS_in_rule__ClassCS__Alternatives8115);
                     ruleDataTypeCS();
 
                     state._fsp--;
@@ -11752,15 +11792,15 @@
                     }
                     break;
                 case 3 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3699:6: ( ruleEnumerationCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3763:6: ( ruleEnumerationCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3699:6: ( ruleEnumerationCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3700:1: ruleEnumerationCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3763:6: ( ruleEnumerationCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3764:1: ruleEnumerationCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getClassCSAccess().getEnumerationCSParserRuleCall_2()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleEnumerationCS_in_rule__ClassCS__Alternatives8062);
+                    pushFollow(FollowSets000.FOLLOW_ruleEnumerationCS_in_rule__ClassCS__Alternatives8132);
                     ruleEnumerationCS();
 
                     state._fsp--;
@@ -11792,43 +11832,43 @@
 
 
     // $ANTLR start "rule__DataTypeCS__Alternatives_5_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3710:1: rule__DataTypeCS__Alternatives_5_1 : ( ( ( rule__DataTypeCS__IsSerializableAssignment_5_1_0 ) ) | ( '!serializable' ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3774:1: rule__DataTypeCS__Alternatives_5_1 : ( ( ( rule__DataTypeCS__IsSerializableAssignment_5_1_0 ) ) | ( '!serializable' ) );
     public final void rule__DataTypeCS__Alternatives_5_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3714:1: ( ( ( rule__DataTypeCS__IsSerializableAssignment_5_1_0 ) ) | ( '!serializable' ) )
-            int alt13=2;
-            int LA13_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3778:1: ( ( ( rule__DataTypeCS__IsSerializableAssignment_5_1_0 ) ) | ( '!serializable' ) )
+            int alt19=2;
+            int LA19_0 = input.LA(1);
 
-            if ( (LA13_0==59) ) {
-                alt13=1;
+            if ( (LA19_0==68) ) {
+                alt19=1;
             }
-            else if ( (LA13_0==54) ) {
-                alt13=2;
+            else if ( (LA19_0==61) ) {
+                alt19=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 13, 0, input);
+                    new NoViableAltException("", 19, 0, input);
 
                 throw nvae;
             }
-            switch (alt13) {
+            switch (alt19) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3715:1: ( ( rule__DataTypeCS__IsSerializableAssignment_5_1_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3779:1: ( ( rule__DataTypeCS__IsSerializableAssignment_5_1_0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3715:1: ( ( rule__DataTypeCS__IsSerializableAssignment_5_1_0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3716:1: ( rule__DataTypeCS__IsSerializableAssignment_5_1_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3779:1: ( ( rule__DataTypeCS__IsSerializableAssignment_5_1_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3780:1: ( rule__DataTypeCS__IsSerializableAssignment_5_1_0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getDataTypeCSAccess().getIsSerializableAssignment_5_1_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3717:1: ( rule__DataTypeCS__IsSerializableAssignment_5_1_0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3717:2: rule__DataTypeCS__IsSerializableAssignment_5_1_0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3781:1: ( rule__DataTypeCS__IsSerializableAssignment_5_1_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3781:2: rule__DataTypeCS__IsSerializableAssignment_5_1_0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__IsSerializableAssignment_5_1_0_in_rule__DataTypeCS__Alternatives_5_18094);
+                    pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__IsSerializableAssignment_5_1_0_in_rule__DataTypeCS__Alternatives_5_18164);
                     rule__DataTypeCS__IsSerializableAssignment_5_1_0();
 
                     state._fsp--;
@@ -11846,15 +11886,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3721:6: ( '!serializable' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3785:6: ( '!serializable' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3721:6: ( '!serializable' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3722:1: '!serializable'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3785:6: ( '!serializable' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3786:1: '!serializable'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getDataTypeCSAccess().getSerializableKeyword_5_1_1()); 
                     }
-                    match(input,54,FollowSets000.FOLLOW_54_in_rule__DataTypeCS__Alternatives_5_18113); if (state.failed) return ;
+                    match(input,61,FollowSets000.FOLLOW_61_in_rule__DataTypeCS__Alternatives_5_18183); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getDataTypeCSAccess().getSerializableKeyword_5_1_1()); 
                     }
@@ -11882,43 +11922,43 @@
 
 
     // $ANTLR start "rule__DataTypeCS__Alternatives_6"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3734:1: rule__DataTypeCS__Alternatives_6 : ( ( ( rule__DataTypeCS__Group_6_0__0 ) ) | ( ';' ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3798:1: rule__DataTypeCS__Alternatives_6 : ( ( ( rule__DataTypeCS__Group_6_0__0 ) ) | ( ';' ) );
     public final void rule__DataTypeCS__Alternatives_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3738:1: ( ( ( rule__DataTypeCS__Group_6_0__0 ) ) | ( ';' ) )
-            int alt14=2;
-            int LA14_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3802:1: ( ( ( rule__DataTypeCS__Group_6_0__0 ) ) | ( ';' ) )
+            int alt20=2;
+            int LA20_0 = input.LA(1);
 
-            if ( (LA14_0==99) ) {
-                alt14=1;
+            if ( (LA20_0==108) ) {
+                alt20=1;
             }
-            else if ( (LA14_0==53) ) {
-                alt14=2;
+            else if ( (LA20_0==53) ) {
+                alt20=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 14, 0, input);
+                    new NoViableAltException("", 20, 0, input);
 
                 throw nvae;
             }
-            switch (alt14) {
+            switch (alt20) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3739:1: ( ( rule__DataTypeCS__Group_6_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3803:1: ( ( rule__DataTypeCS__Group_6_0__0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3739:1: ( ( rule__DataTypeCS__Group_6_0__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3740:1: ( rule__DataTypeCS__Group_6_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3803:1: ( ( rule__DataTypeCS__Group_6_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3804:1: ( rule__DataTypeCS__Group_6_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getDataTypeCSAccess().getGroup_6_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3741:1: ( rule__DataTypeCS__Group_6_0__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3741:2: rule__DataTypeCS__Group_6_0__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3805:1: ( rule__DataTypeCS__Group_6_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3805:2: rule__DataTypeCS__Group_6_0__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group_6_0__0_in_rule__DataTypeCS__Alternatives_68147);
+                    pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group_6_0__0_in_rule__DataTypeCS__Alternatives_68217);
                     rule__DataTypeCS__Group_6_0__0();
 
                     state._fsp--;
@@ -11936,15 +11976,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3745:6: ( ';' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3809:6: ( ';' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3745:6: ( ';' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3746:1: ';'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3809:6: ( ';' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3810:1: ';'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getDataTypeCSAccess().getSemicolonKeyword_6_1()); 
                     }
-                    match(input,53,FollowSets000.FOLLOW_53_in_rule__DataTypeCS__Alternatives_68166); if (state.failed) return ;
+                    match(input,53,FollowSets000.FOLLOW_53_in_rule__DataTypeCS__Alternatives_68236); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getDataTypeCSAccess().getSemicolonKeyword_6_1()); 
                     }
@@ -11972,43 +12012,43 @@
 
 
     // $ANTLR start "rule__DataTypeCS__Alternatives_6_0_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3758:1: rule__DataTypeCS__Alternatives_6_0_1 : ( ( ( rule__DataTypeCS__OwnedAnnotationsAssignment_6_0_1_0 ) ) | ( ( rule__DataTypeCS__OwnedConstraintsAssignment_6_0_1_1 ) ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3822:1: rule__DataTypeCS__Alternatives_6_0_1 : ( ( ( rule__DataTypeCS__OwnedAnnotationsAssignment_6_0_1_0 ) ) | ( ( rule__DataTypeCS__OwnedConstraintsAssignment_6_0_1_1 ) ) );
     public final void rule__DataTypeCS__Alternatives_6_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3762:1: ( ( ( rule__DataTypeCS__OwnedAnnotationsAssignment_6_0_1_0 ) ) | ( ( rule__DataTypeCS__OwnedConstraintsAssignment_6_0_1_1 ) ) )
-            int alt15=2;
-            int LA15_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3826:1: ( ( ( rule__DataTypeCS__OwnedAnnotationsAssignment_6_0_1_0 ) ) | ( ( rule__DataTypeCS__OwnedConstraintsAssignment_6_0_1_1 ) ) )
+            int alt21=2;
+            int LA21_0 = input.LA(1);
 
-            if ( ((LA15_0>=55 && LA15_0<=56)||LA15_0==60) ) {
-                alt15=1;
+            if ( ((LA21_0>=64 && LA21_0<=65)||LA21_0==69) ) {
+                alt21=1;
             }
-            else if ( (LA15_0==20||LA15_0==57) ) {
-                alt15=2;
+            else if ( (LA21_0==20||LA21_0==66) ) {
+                alt21=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 15, 0, input);
+                    new NoViableAltException("", 21, 0, input);
 
                 throw nvae;
             }
-            switch (alt15) {
+            switch (alt21) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3763:1: ( ( rule__DataTypeCS__OwnedAnnotationsAssignment_6_0_1_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3827:1: ( ( rule__DataTypeCS__OwnedAnnotationsAssignment_6_0_1_0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3763:1: ( ( rule__DataTypeCS__OwnedAnnotationsAssignment_6_0_1_0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3764:1: ( rule__DataTypeCS__OwnedAnnotationsAssignment_6_0_1_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3827:1: ( ( rule__DataTypeCS__OwnedAnnotationsAssignment_6_0_1_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3828:1: ( rule__DataTypeCS__OwnedAnnotationsAssignment_6_0_1_0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getDataTypeCSAccess().getOwnedAnnotationsAssignment_6_0_1_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3765:1: ( rule__DataTypeCS__OwnedAnnotationsAssignment_6_0_1_0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3765:2: rule__DataTypeCS__OwnedAnnotationsAssignment_6_0_1_0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3829:1: ( rule__DataTypeCS__OwnedAnnotationsAssignment_6_0_1_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3829:2: rule__DataTypeCS__OwnedAnnotationsAssignment_6_0_1_0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__OwnedAnnotationsAssignment_6_0_1_0_in_rule__DataTypeCS__Alternatives_6_0_18200);
+                    pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__OwnedAnnotationsAssignment_6_0_1_0_in_rule__DataTypeCS__Alternatives_6_0_18270);
                     rule__DataTypeCS__OwnedAnnotationsAssignment_6_0_1_0();
 
                     state._fsp--;
@@ -12026,18 +12066,18 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3769:6: ( ( rule__DataTypeCS__OwnedConstraintsAssignment_6_0_1_1 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3833:6: ( ( rule__DataTypeCS__OwnedConstraintsAssignment_6_0_1_1 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3769:6: ( ( rule__DataTypeCS__OwnedConstraintsAssignment_6_0_1_1 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3770:1: ( rule__DataTypeCS__OwnedConstraintsAssignment_6_0_1_1 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3833:6: ( ( rule__DataTypeCS__OwnedConstraintsAssignment_6_0_1_1 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3834:1: ( rule__DataTypeCS__OwnedConstraintsAssignment_6_0_1_1 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getDataTypeCSAccess().getOwnedConstraintsAssignment_6_0_1_1()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3771:1: ( rule__DataTypeCS__OwnedConstraintsAssignment_6_0_1_1 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3771:2: rule__DataTypeCS__OwnedConstraintsAssignment_6_0_1_1
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3835:1: ( rule__DataTypeCS__OwnedConstraintsAssignment_6_0_1_1 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3835:2: rule__DataTypeCS__OwnedConstraintsAssignment_6_0_1_1
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__OwnedConstraintsAssignment_6_0_1_1_in_rule__DataTypeCS__Alternatives_6_0_18218);
+                    pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__OwnedConstraintsAssignment_6_0_1_1_in_rule__DataTypeCS__Alternatives_6_0_18288);
                     rule__DataTypeCS__OwnedConstraintsAssignment_6_0_1_1();
 
                     state._fsp--;
@@ -12072,40 +12112,40 @@
 
 
     // $ANTLR start "rule__DetailCS__NameAlternatives_0_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3780:1: rule__DetailCS__NameAlternatives_0_0 : ( ( ruleUnrestrictedName ) | ( RULE_SINGLE_QUOTED_STRING ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3844:1: rule__DetailCS__NameAlternatives_0_0 : ( ( ruleUnrestrictedName ) | ( RULE_SINGLE_QUOTED_STRING ) );
     public final void rule__DetailCS__NameAlternatives_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3784:1: ( ( ruleUnrestrictedName ) | ( RULE_SINGLE_QUOTED_STRING ) )
-            int alt16=2;
-            int LA16_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3848:1: ( ( ruleUnrestrictedName ) | ( RULE_SINGLE_QUOTED_STRING ) )
+            int alt22=2;
+            int LA22_0 = input.LA(1);
 
-            if ( ((LA16_0>=RULE_SIMPLE_ID && LA16_0<=RULE_ESCAPED_ID)||(LA16_0>=17 && LA16_0<=52)||(LA16_0>=55 && LA16_0<=60)) ) {
-                alt16=1;
+            if ( ((LA22_0>=RULE_SIMPLE_ID && LA22_0<=RULE_ESCAPED_ID)||(LA22_0>=17 && LA22_0<=52)||(LA22_0>=64 && LA22_0<=69)) ) {
+                alt22=1;
             }
-            else if ( (LA16_0==RULE_SINGLE_QUOTED_STRING) ) {
-                alt16=2;
+            else if ( (LA22_0==RULE_SINGLE_QUOTED_STRING) ) {
+                alt22=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 16, 0, input);
+                    new NoViableAltException("", 22, 0, input);
 
                 throw nvae;
             }
-            switch (alt16) {
+            switch (alt22) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3785:1: ( ruleUnrestrictedName )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3849:1: ( ruleUnrestrictedName )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3785:1: ( ruleUnrestrictedName )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3786:1: ruleUnrestrictedName
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3849:1: ( ruleUnrestrictedName )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3850:1: ruleUnrestrictedName
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getDetailCSAccess().getNameUnrestrictedNameParserRuleCall_0_0_0()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_rule__DetailCS__NameAlternatives_0_08251);
+                    pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_rule__DetailCS__NameAlternatives_0_08321);
                     ruleUnrestrictedName();
 
                     state._fsp--;
@@ -12120,15 +12160,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3791:6: ( RULE_SINGLE_QUOTED_STRING )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3855:6: ( RULE_SINGLE_QUOTED_STRING )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3791:6: ( RULE_SINGLE_QUOTED_STRING )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3792:1: RULE_SINGLE_QUOTED_STRING
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3855:6: ( RULE_SINGLE_QUOTED_STRING )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3856:1: RULE_SINGLE_QUOTED_STRING
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getDetailCSAccess().getNameSINGLE_QUOTED_STRINGTerminalRuleCall_0_0_1()); 
                     }
-                    match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_rule__DetailCS__NameAlternatives_0_08268); if (state.failed) return ;
+                    match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_rule__DetailCS__NameAlternatives_0_08338); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getDetailCSAccess().getNameSINGLE_QUOTED_STRINGTerminalRuleCall_0_0_1()); 
                     }
@@ -12156,40 +12196,40 @@
 
 
     // $ANTLR start "rule__DetailCS__ValuesAlternatives_2_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3802:1: rule__DetailCS__ValuesAlternatives_2_0 : ( ( RULE_SINGLE_QUOTED_STRING ) | ( RULE_ML_SINGLE_QUOTED_STRING ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3866:1: rule__DetailCS__ValuesAlternatives_2_0 : ( ( RULE_SINGLE_QUOTED_STRING ) | ( RULE_ML_SINGLE_QUOTED_STRING ) );
     public final void rule__DetailCS__ValuesAlternatives_2_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3806:1: ( ( RULE_SINGLE_QUOTED_STRING ) | ( RULE_ML_SINGLE_QUOTED_STRING ) )
-            int alt17=2;
-            int LA17_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3870:1: ( ( RULE_SINGLE_QUOTED_STRING ) | ( RULE_ML_SINGLE_QUOTED_STRING ) )
+            int alt23=2;
+            int LA23_0 = input.LA(1);
 
-            if ( (LA17_0==RULE_SINGLE_QUOTED_STRING) ) {
-                alt17=1;
+            if ( (LA23_0==RULE_SINGLE_QUOTED_STRING) ) {
+                alt23=1;
             }
-            else if ( (LA17_0==RULE_ML_SINGLE_QUOTED_STRING) ) {
-                alt17=2;
+            else if ( (LA23_0==RULE_ML_SINGLE_QUOTED_STRING) ) {
+                alt23=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 17, 0, input);
+                    new NoViableAltException("", 23, 0, input);
 
                 throw nvae;
             }
-            switch (alt17) {
+            switch (alt23) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3807:1: ( RULE_SINGLE_QUOTED_STRING )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3871:1: ( RULE_SINGLE_QUOTED_STRING )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3807:1: ( RULE_SINGLE_QUOTED_STRING )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3808:1: RULE_SINGLE_QUOTED_STRING
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3871:1: ( RULE_SINGLE_QUOTED_STRING )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3872:1: RULE_SINGLE_QUOTED_STRING
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getDetailCSAccess().getValuesSINGLE_QUOTED_STRINGTerminalRuleCall_2_0_0()); 
                     }
-                    match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_rule__DetailCS__ValuesAlternatives_2_08300); if (state.failed) return ;
+                    match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_rule__DetailCS__ValuesAlternatives_2_08370); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getDetailCSAccess().getValuesSINGLE_QUOTED_STRINGTerminalRuleCall_2_0_0()); 
                     }
@@ -12200,15 +12240,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3813:6: ( RULE_ML_SINGLE_QUOTED_STRING )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3877:6: ( RULE_ML_SINGLE_QUOTED_STRING )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3813:6: ( RULE_ML_SINGLE_QUOTED_STRING )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3814:1: RULE_ML_SINGLE_QUOTED_STRING
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3877:6: ( RULE_ML_SINGLE_QUOTED_STRING )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3878:1: RULE_ML_SINGLE_QUOTED_STRING
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getDetailCSAccess().getValuesML_SINGLE_QUOTED_STRINGTerminalRuleCall_2_0_1()); 
                     }
-                    match(input,RULE_ML_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_ML_SINGLE_QUOTED_STRING_in_rule__DetailCS__ValuesAlternatives_2_08317); if (state.failed) return ;
+                    match(input,RULE_ML_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_ML_SINGLE_QUOTED_STRING_in_rule__DetailCS__ValuesAlternatives_2_08387); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getDetailCSAccess().getValuesML_SINGLE_QUOTED_STRINGTerminalRuleCall_2_0_1()); 
                     }
@@ -12236,43 +12276,43 @@
 
 
     // $ANTLR start "rule__EnumerationCS__Alternatives_4_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3824:1: rule__EnumerationCS__Alternatives_4_1 : ( ( ( rule__EnumerationCS__IsSerializableAssignment_4_1_0 ) ) | ( '!serializable' ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3888:1: rule__EnumerationCS__Alternatives_4_1 : ( ( ( rule__EnumerationCS__IsSerializableAssignment_4_1_0 ) ) | ( '!serializable' ) );
     public final void rule__EnumerationCS__Alternatives_4_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3828:1: ( ( ( rule__EnumerationCS__IsSerializableAssignment_4_1_0 ) ) | ( '!serializable' ) )
-            int alt18=2;
-            int LA18_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3892:1: ( ( ( rule__EnumerationCS__IsSerializableAssignment_4_1_0 ) ) | ( '!serializable' ) )
+            int alt24=2;
+            int LA24_0 = input.LA(1);
 
-            if ( (LA18_0==59) ) {
-                alt18=1;
+            if ( (LA24_0==68) ) {
+                alt24=1;
             }
-            else if ( (LA18_0==54) ) {
-                alt18=2;
+            else if ( (LA24_0==61) ) {
+                alt24=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 18, 0, input);
+                    new NoViableAltException("", 24, 0, input);
 
                 throw nvae;
             }
-            switch (alt18) {
+            switch (alt24) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3829:1: ( ( rule__EnumerationCS__IsSerializableAssignment_4_1_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3893:1: ( ( rule__EnumerationCS__IsSerializableAssignment_4_1_0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3829:1: ( ( rule__EnumerationCS__IsSerializableAssignment_4_1_0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3830:1: ( rule__EnumerationCS__IsSerializableAssignment_4_1_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3893:1: ( ( rule__EnumerationCS__IsSerializableAssignment_4_1_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3894:1: ( rule__EnumerationCS__IsSerializableAssignment_4_1_0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getEnumerationCSAccess().getIsSerializableAssignment_4_1_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3831:1: ( rule__EnumerationCS__IsSerializableAssignment_4_1_0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3831:2: rule__EnumerationCS__IsSerializableAssignment_4_1_0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3895:1: ( rule__EnumerationCS__IsSerializableAssignment_4_1_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3895:2: rule__EnumerationCS__IsSerializableAssignment_4_1_0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__IsSerializableAssignment_4_1_0_in_rule__EnumerationCS__Alternatives_4_18349);
+                    pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__IsSerializableAssignment_4_1_0_in_rule__EnumerationCS__Alternatives_4_18419);
                     rule__EnumerationCS__IsSerializableAssignment_4_1_0();
 
                     state._fsp--;
@@ -12290,15 +12330,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3835:6: ( '!serializable' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3899:6: ( '!serializable' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3835:6: ( '!serializable' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3836:1: '!serializable'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3899:6: ( '!serializable' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3900:1: '!serializable'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getEnumerationCSAccess().getSerializableKeyword_4_1_1()); 
                     }
-                    match(input,54,FollowSets000.FOLLOW_54_in_rule__EnumerationCS__Alternatives_4_18368); if (state.failed) return ;
+                    match(input,61,FollowSets000.FOLLOW_61_in_rule__EnumerationCS__Alternatives_4_18438); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getEnumerationCSAccess().getSerializableKeyword_4_1_1()); 
                     }
@@ -12326,43 +12366,43 @@
 
 
     // $ANTLR start "rule__EnumerationCS__Alternatives_5"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3848:1: rule__EnumerationCS__Alternatives_5 : ( ( ( rule__EnumerationCS__Group_5_0__0 ) ) | ( ';' ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3912:1: rule__EnumerationCS__Alternatives_5 : ( ( ( rule__EnumerationCS__Group_5_0__0 ) ) | ( ';' ) );
     public final void rule__EnumerationCS__Alternatives_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3852:1: ( ( ( rule__EnumerationCS__Group_5_0__0 ) ) | ( ';' ) )
-            int alt19=2;
-            int LA19_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3916:1: ( ( ( rule__EnumerationCS__Group_5_0__0 ) ) | ( ';' ) )
+            int alt25=2;
+            int LA25_0 = input.LA(1);
 
-            if ( (LA19_0==99) ) {
-                alt19=1;
+            if ( (LA25_0==108) ) {
+                alt25=1;
             }
-            else if ( (LA19_0==53) ) {
-                alt19=2;
+            else if ( (LA25_0==53) ) {
+                alt25=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 19, 0, input);
+                    new NoViableAltException("", 25, 0, input);
 
                 throw nvae;
             }
-            switch (alt19) {
+            switch (alt25) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3853:1: ( ( rule__EnumerationCS__Group_5_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3917:1: ( ( rule__EnumerationCS__Group_5_0__0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3853:1: ( ( rule__EnumerationCS__Group_5_0__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3854:1: ( rule__EnumerationCS__Group_5_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3917:1: ( ( rule__EnumerationCS__Group_5_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3918:1: ( rule__EnumerationCS__Group_5_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getEnumerationCSAccess().getGroup_5_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3855:1: ( rule__EnumerationCS__Group_5_0__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3855:2: rule__EnumerationCS__Group_5_0__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3919:1: ( rule__EnumerationCS__Group_5_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3919:2: rule__EnumerationCS__Group_5_0__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group_5_0__0_in_rule__EnumerationCS__Alternatives_58402);
+                    pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group_5_0__0_in_rule__EnumerationCS__Alternatives_58472);
                     rule__EnumerationCS__Group_5_0__0();
 
                     state._fsp--;
@@ -12380,15 +12420,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3859:6: ( ';' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3923:6: ( ';' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3859:6: ( ';' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3860:1: ';'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3923:6: ( ';' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3924:1: ';'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getEnumerationCSAccess().getSemicolonKeyword_5_1()); 
                     }
-                    match(input,53,FollowSets000.FOLLOW_53_in_rule__EnumerationCS__Alternatives_58421); if (state.failed) return ;
+                    match(input,53,FollowSets000.FOLLOW_53_in_rule__EnumerationCS__Alternatives_58491); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getEnumerationCSAccess().getSemicolonKeyword_5_1()); 
                     }
@@ -12416,20 +12456,20 @@
 
 
     // $ANTLR start "rule__EnumerationCS__Alternatives_5_0_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3872:1: rule__EnumerationCS__Alternatives_5_0_1 : ( ( ( rule__EnumerationCS__OwnedAnnotationsAssignment_5_0_1_0 ) ) | ( ( rule__EnumerationCS__OwnedLiteralsAssignment_5_0_1_1 ) ) | ( ( rule__EnumerationCS__OwnedConstraintsAssignment_5_0_1_2 ) ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3936:1: rule__EnumerationCS__Alternatives_5_0_1 : ( ( ( rule__EnumerationCS__OwnedAnnotationsAssignment_5_0_1_0 ) ) | ( ( rule__EnumerationCS__OwnedLiteralsAssignment_5_0_1_1 ) ) | ( ( rule__EnumerationCS__OwnedConstraintsAssignment_5_0_1_2 ) ) );
     public final void rule__EnumerationCS__Alternatives_5_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3876:1: ( ( ( rule__EnumerationCS__OwnedAnnotationsAssignment_5_0_1_0 ) ) | ( ( rule__EnumerationCS__OwnedLiteralsAssignment_5_0_1_1 ) ) | ( ( rule__EnumerationCS__OwnedConstraintsAssignment_5_0_1_2 ) ) )
-            int alt20=3;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3940:1: ( ( ( rule__EnumerationCS__OwnedAnnotationsAssignment_5_0_1_0 ) ) | ( ( rule__EnumerationCS__OwnedLiteralsAssignment_5_0_1_1 ) ) | ( ( rule__EnumerationCS__OwnedConstraintsAssignment_5_0_1_2 ) ) )
+            int alt26=3;
             switch ( input.LA(1) ) {
-            case 55:
-            case 56:
-            case 60:
+            case 64:
+            case 65:
+            case 69:
                 {
-                alt20=1;
+                alt26=1;
                 }
                 break;
             case RULE_SIMPLE_ID:
@@ -12469,57 +12509,57 @@
             case 50:
             case 51:
             case 52:
-            case 58:
+            case 67:
                 {
-                alt20=2;
+                alt26=2;
                 }
                 break;
             case 20:
                 {
-                int LA20_3 = input.LA(2);
+                int LA26_3 = input.LA(2);
 
-                if ( (LA20_3==57) ) {
-                    alt20=3;
+                if ( (LA26_3==66) ) {
+                    alt26=3;
                 }
-                else if ( (LA20_3==53||LA20_3==70||LA20_3==99) ) {
-                    alt20=2;
+                else if ( (LA26_3==53||LA26_3==79||LA26_3==108) ) {
+                    alt26=2;
                 }
                 else {
                     if (state.backtracking>0) {state.failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("", 20, 3, input);
+                        new NoViableAltException("", 26, 3, input);
 
                     throw nvae;
                 }
                 }
                 break;
-            case 57:
+            case 66:
                 {
-                alt20=3;
+                alt26=3;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 20, 0, input);
+                    new NoViableAltException("", 26, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt20) {
+            switch (alt26) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3877:1: ( ( rule__EnumerationCS__OwnedAnnotationsAssignment_5_0_1_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3941:1: ( ( rule__EnumerationCS__OwnedAnnotationsAssignment_5_0_1_0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3877:1: ( ( rule__EnumerationCS__OwnedAnnotationsAssignment_5_0_1_0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3878:1: ( rule__EnumerationCS__OwnedAnnotationsAssignment_5_0_1_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3941:1: ( ( rule__EnumerationCS__OwnedAnnotationsAssignment_5_0_1_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3942:1: ( rule__EnumerationCS__OwnedAnnotationsAssignment_5_0_1_0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getEnumerationCSAccess().getOwnedAnnotationsAssignment_5_0_1_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3879:1: ( rule__EnumerationCS__OwnedAnnotationsAssignment_5_0_1_0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3879:2: rule__EnumerationCS__OwnedAnnotationsAssignment_5_0_1_0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3943:1: ( rule__EnumerationCS__OwnedAnnotationsAssignment_5_0_1_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3943:2: rule__EnumerationCS__OwnedAnnotationsAssignment_5_0_1_0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__OwnedAnnotationsAssignment_5_0_1_0_in_rule__EnumerationCS__Alternatives_5_0_18455);
+                    pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__OwnedAnnotationsAssignment_5_0_1_0_in_rule__EnumerationCS__Alternatives_5_0_18525);
                     rule__EnumerationCS__OwnedAnnotationsAssignment_5_0_1_0();
 
                     state._fsp--;
@@ -12537,18 +12577,18 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3883:6: ( ( rule__EnumerationCS__OwnedLiteralsAssignment_5_0_1_1 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3947:6: ( ( rule__EnumerationCS__OwnedLiteralsAssignment_5_0_1_1 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3883:6: ( ( rule__EnumerationCS__OwnedLiteralsAssignment_5_0_1_1 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3884:1: ( rule__EnumerationCS__OwnedLiteralsAssignment_5_0_1_1 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3947:6: ( ( rule__EnumerationCS__OwnedLiteralsAssignment_5_0_1_1 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3948:1: ( rule__EnumerationCS__OwnedLiteralsAssignment_5_0_1_1 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getEnumerationCSAccess().getOwnedLiteralsAssignment_5_0_1_1()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3885:1: ( rule__EnumerationCS__OwnedLiteralsAssignment_5_0_1_1 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3885:2: rule__EnumerationCS__OwnedLiteralsAssignment_5_0_1_1
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3949:1: ( rule__EnumerationCS__OwnedLiteralsAssignment_5_0_1_1 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3949:2: rule__EnumerationCS__OwnedLiteralsAssignment_5_0_1_1
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__OwnedLiteralsAssignment_5_0_1_1_in_rule__EnumerationCS__Alternatives_5_0_18473);
+                    pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__OwnedLiteralsAssignment_5_0_1_1_in_rule__EnumerationCS__Alternatives_5_0_18543);
                     rule__EnumerationCS__OwnedLiteralsAssignment_5_0_1_1();
 
                     state._fsp--;
@@ -12566,18 +12606,18 @@
                     }
                     break;
                 case 3 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3889:6: ( ( rule__EnumerationCS__OwnedConstraintsAssignment_5_0_1_2 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3953:6: ( ( rule__EnumerationCS__OwnedConstraintsAssignment_5_0_1_2 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3889:6: ( ( rule__EnumerationCS__OwnedConstraintsAssignment_5_0_1_2 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3890:1: ( rule__EnumerationCS__OwnedConstraintsAssignment_5_0_1_2 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3953:6: ( ( rule__EnumerationCS__OwnedConstraintsAssignment_5_0_1_2 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3954:1: ( rule__EnumerationCS__OwnedConstraintsAssignment_5_0_1_2 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getEnumerationCSAccess().getOwnedConstraintsAssignment_5_0_1_2()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3891:1: ( rule__EnumerationCS__OwnedConstraintsAssignment_5_0_1_2 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3891:2: rule__EnumerationCS__OwnedConstraintsAssignment_5_0_1_2
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3955:1: ( rule__EnumerationCS__OwnedConstraintsAssignment_5_0_1_2 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3955:2: rule__EnumerationCS__OwnedConstraintsAssignment_5_0_1_2
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__OwnedConstraintsAssignment_5_0_1_2_in_rule__EnumerationCS__Alternatives_5_0_18491);
+                    pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__OwnedConstraintsAssignment_5_0_1_2_in_rule__EnumerationCS__Alternatives_5_0_18561);
                     rule__EnumerationCS__OwnedConstraintsAssignment_5_0_1_2();
 
                     state._fsp--;
@@ -12612,43 +12652,43 @@
 
 
     // $ANTLR start "rule__EnumerationLiteralCS__Alternatives_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3900:1: rule__EnumerationLiteralCS__Alternatives_0 : ( ( ( rule__EnumerationLiteralCS__Group_0_0__0 ) ) | ( ( rule__EnumerationLiteralCS__NameAssignment_0_1 ) ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3964:1: rule__EnumerationLiteralCS__Alternatives_0 : ( ( ( rule__EnumerationLiteralCS__Group_0_0__0 ) ) | ( ( rule__EnumerationLiteralCS__NameAssignment_0_1 ) ) );
     public final void rule__EnumerationLiteralCS__Alternatives_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3904:1: ( ( ( rule__EnumerationLiteralCS__Group_0_0__0 ) ) | ( ( rule__EnumerationLiteralCS__NameAssignment_0_1 ) ) )
-            int alt21=2;
-            int LA21_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3968:1: ( ( ( rule__EnumerationLiteralCS__Group_0_0__0 ) ) | ( ( rule__EnumerationLiteralCS__NameAssignment_0_1 ) ) )
+            int alt27=2;
+            int LA27_0 = input.LA(1);
 
-            if ( (LA21_0==58) ) {
-                alt21=1;
+            if ( (LA27_0==67) ) {
+                alt27=1;
             }
-            else if ( ((LA21_0>=RULE_SIMPLE_ID && LA21_0<=RULE_ESCAPED_ID)||(LA21_0>=17 && LA21_0<=52)) ) {
-                alt21=2;
+            else if ( ((LA27_0>=RULE_SIMPLE_ID && LA27_0<=RULE_ESCAPED_ID)||(LA27_0>=17 && LA27_0<=52)) ) {
+                alt27=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 21, 0, input);
+                    new NoViableAltException("", 27, 0, input);
 
                 throw nvae;
             }
-            switch (alt21) {
+            switch (alt27) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3905:1: ( ( rule__EnumerationLiteralCS__Group_0_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3969:1: ( ( rule__EnumerationLiteralCS__Group_0_0__0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3905:1: ( ( rule__EnumerationLiteralCS__Group_0_0__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3906:1: ( rule__EnumerationLiteralCS__Group_0_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3969:1: ( ( rule__EnumerationLiteralCS__Group_0_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3970:1: ( rule__EnumerationLiteralCS__Group_0_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getEnumerationLiteralCSAccess().getGroup_0_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3907:1: ( rule__EnumerationLiteralCS__Group_0_0__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3907:2: rule__EnumerationLiteralCS__Group_0_0__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3971:1: ( rule__EnumerationLiteralCS__Group_0_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3971:2: rule__EnumerationLiteralCS__Group_0_0__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Group_0_0__0_in_rule__EnumerationLiteralCS__Alternatives_08524);
+                    pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Group_0_0__0_in_rule__EnumerationLiteralCS__Alternatives_08594);
                     rule__EnumerationLiteralCS__Group_0_0__0();
 
                     state._fsp--;
@@ -12666,18 +12706,18 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3911:6: ( ( rule__EnumerationLiteralCS__NameAssignment_0_1 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3975:6: ( ( rule__EnumerationLiteralCS__NameAssignment_0_1 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3911:6: ( ( rule__EnumerationLiteralCS__NameAssignment_0_1 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3912:1: ( rule__EnumerationLiteralCS__NameAssignment_0_1 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3975:6: ( ( rule__EnumerationLiteralCS__NameAssignment_0_1 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3976:1: ( rule__EnumerationLiteralCS__NameAssignment_0_1 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getEnumerationLiteralCSAccess().getNameAssignment_0_1()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3913:1: ( rule__EnumerationLiteralCS__NameAssignment_0_1 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3913:2: rule__EnumerationLiteralCS__NameAssignment_0_1
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3977:1: ( rule__EnumerationLiteralCS__NameAssignment_0_1 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3977:2: rule__EnumerationLiteralCS__NameAssignment_0_1
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__NameAssignment_0_1_in_rule__EnumerationLiteralCS__Alternatives_08542);
+                    pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__NameAssignment_0_1_in_rule__EnumerationLiteralCS__Alternatives_08612);
                     rule__EnumerationLiteralCS__NameAssignment_0_1();
 
                     state._fsp--;
@@ -12712,43 +12752,43 @@
 
 
     // $ANTLR start "rule__EnumerationLiteralCS__Alternatives_2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3922:1: rule__EnumerationLiteralCS__Alternatives_2 : ( ( ( rule__EnumerationLiteralCS__Group_2_0__0 ) ) | ( ';' ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3986:1: rule__EnumerationLiteralCS__Alternatives_2 : ( ( ( rule__EnumerationLiteralCS__Group_2_0__0 ) ) | ( ';' ) );
     public final void rule__EnumerationLiteralCS__Alternatives_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3926:1: ( ( ( rule__EnumerationLiteralCS__Group_2_0__0 ) ) | ( ';' ) )
-            int alt22=2;
-            int LA22_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3990:1: ( ( ( rule__EnumerationLiteralCS__Group_2_0__0 ) ) | ( ';' ) )
+            int alt28=2;
+            int LA28_0 = input.LA(1);
 
-            if ( (LA22_0==99) ) {
-                alt22=1;
+            if ( (LA28_0==108) ) {
+                alt28=1;
             }
-            else if ( (LA22_0==53) ) {
-                alt22=2;
+            else if ( (LA28_0==53) ) {
+                alt28=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 22, 0, input);
+                    new NoViableAltException("", 28, 0, input);
 
                 throw nvae;
             }
-            switch (alt22) {
+            switch (alt28) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3927:1: ( ( rule__EnumerationLiteralCS__Group_2_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3991:1: ( ( rule__EnumerationLiteralCS__Group_2_0__0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3927:1: ( ( rule__EnumerationLiteralCS__Group_2_0__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3928:1: ( rule__EnumerationLiteralCS__Group_2_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3991:1: ( ( rule__EnumerationLiteralCS__Group_2_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3992:1: ( rule__EnumerationLiteralCS__Group_2_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getEnumerationLiteralCSAccess().getGroup_2_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3929:1: ( rule__EnumerationLiteralCS__Group_2_0__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3929:2: rule__EnumerationLiteralCS__Group_2_0__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3993:1: ( rule__EnumerationLiteralCS__Group_2_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3993:2: rule__EnumerationLiteralCS__Group_2_0__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Group_2_0__0_in_rule__EnumerationLiteralCS__Alternatives_28575);
+                    pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Group_2_0__0_in_rule__EnumerationLiteralCS__Alternatives_28645);
                     rule__EnumerationLiteralCS__Group_2_0__0();
 
                     state._fsp--;
@@ -12766,15 +12806,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3933:6: ( ';' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3997:6: ( ';' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3933:6: ( ';' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3934:1: ';'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3997:6: ( ';' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3998:1: ';'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getEnumerationLiteralCSAccess().getSemicolonKeyword_2_1()); 
                     }
-                    match(input,53,FollowSets000.FOLLOW_53_in_rule__EnumerationLiteralCS__Alternatives_28594); if (state.failed) return ;
+                    match(input,53,FollowSets000.FOLLOW_53_in_rule__EnumerationLiteralCS__Alternatives_28664); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getEnumerationLiteralCSAccess().getSemicolonKeyword_2_1()); 
                     }
@@ -12802,26 +12842,26 @@
 
 
     // $ANTLR start "rule__ModelElementCS__Alternatives"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3946:1: rule__ModelElementCS__Alternatives : ( ( ruleClassCS ) | ( ruleEnumerationLiteralCS ) | ( ruleOperationCS ) | ( rulePackageCS ) | ( ruleStructuralFeatureCS ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4010:1: rule__ModelElementCS__Alternatives : ( ( ruleClassCS ) | ( ruleEnumerationLiteralCS ) | ( ruleOperationCS ) | ( rulePackageCS ) | ( ruleStructuralFeatureCS ) );
     public final void rule__ModelElementCS__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3950:1: ( ( ruleClassCS ) | ( ruleEnumerationLiteralCS ) | ( ruleOperationCS ) | ( rulePackageCS ) | ( ruleStructuralFeatureCS ) )
-            int alt23=5;
-            alt23 = dfa23.predict(input);
-            switch (alt23) {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4014:1: ( ( ruleClassCS ) | ( ruleEnumerationLiteralCS ) | ( ruleOperationCS ) | ( rulePackageCS ) | ( ruleStructuralFeatureCS ) )
+            int alt29=5;
+            alt29 = dfa29.predict(input);
+            switch (alt29) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3951:1: ( ruleClassCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4015:1: ( ruleClassCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3951:1: ( ruleClassCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3952:1: ruleClassCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4015:1: ( ruleClassCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4016:1: ruleClassCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getModelElementCSAccess().getClassCSParserRuleCall_0()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleClassCS_in_rule__ModelElementCS__Alternatives8628);
+                    pushFollow(FollowSets000.FOLLOW_ruleClassCS_in_rule__ModelElementCS__Alternatives8698);
                     ruleClassCS();
 
                     state._fsp--;
@@ -12836,15 +12876,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3957:6: ( ruleEnumerationLiteralCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4021:6: ( ruleEnumerationLiteralCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3957:6: ( ruleEnumerationLiteralCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3958:1: ruleEnumerationLiteralCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4021:6: ( ruleEnumerationLiteralCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4022:1: ruleEnumerationLiteralCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getModelElementCSAccess().getEnumerationLiteralCSParserRuleCall_1()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleEnumerationLiteralCS_in_rule__ModelElementCS__Alternatives8645);
+                    pushFollow(FollowSets000.FOLLOW_ruleEnumerationLiteralCS_in_rule__ModelElementCS__Alternatives8715);
                     ruleEnumerationLiteralCS();
 
                     state._fsp--;
@@ -12859,15 +12899,15 @@
                     }
                     break;
                 case 3 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3963:6: ( ruleOperationCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4027:6: ( ruleOperationCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3963:6: ( ruleOperationCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3964:1: ruleOperationCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4027:6: ( ruleOperationCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4028:1: ruleOperationCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getModelElementCSAccess().getOperationCSParserRuleCall_2()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleOperationCS_in_rule__ModelElementCS__Alternatives8662);
+                    pushFollow(FollowSets000.FOLLOW_ruleOperationCS_in_rule__ModelElementCS__Alternatives8732);
                     ruleOperationCS();
 
                     state._fsp--;
@@ -12882,15 +12922,15 @@
                     }
                     break;
                 case 4 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3969:6: ( rulePackageCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4033:6: ( rulePackageCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3969:6: ( rulePackageCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3970:1: rulePackageCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4033:6: ( rulePackageCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4034:1: rulePackageCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getModelElementCSAccess().getPackageCSParserRuleCall_3()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_rulePackageCS_in_rule__ModelElementCS__Alternatives8679);
+                    pushFollow(FollowSets000.FOLLOW_rulePackageCS_in_rule__ModelElementCS__Alternatives8749);
                     rulePackageCS();
 
                     state._fsp--;
@@ -12905,15 +12945,15 @@
                     }
                     break;
                 case 5 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3975:6: ( ruleStructuralFeatureCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4039:6: ( ruleStructuralFeatureCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3975:6: ( ruleStructuralFeatureCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3976:1: ruleStructuralFeatureCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4039:6: ( ruleStructuralFeatureCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4040:1: ruleStructuralFeatureCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getModelElementCSAccess().getStructuralFeatureCSParserRuleCall_4()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleStructuralFeatureCS_in_rule__ModelElementCS__Alternatives8696);
+                    pushFollow(FollowSets000.FOLLOW_ruleStructuralFeatureCS_in_rule__ModelElementCS__Alternatives8766);
                     ruleStructuralFeatureCS();
 
                     state._fsp--;
@@ -12944,45 +12984,45 @@
     // $ANTLR end "rule__ModelElementCS__Alternatives"
 
 
-    // $ANTLR start "rule__OperationCS__Alternatives_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3986:1: rule__OperationCS__Alternatives_0 : ( ( ( rule__OperationCS__Group_0_0__0 ) ) | ( ( rule__OperationCS__Group_0_1__0 ) ) );
-    public final void rule__OperationCS__Alternatives_0() throws RecognitionException {
+    // $ANTLR start "rule__OperationCS__Alternatives_9_0_1_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4050:1: rule__OperationCS__Alternatives_9_0_1_0 : ( ( ( rule__OperationCS__IsDerivedAssignment_9_0_1_0_0 ) ) | ( '!derived' ) );
+    public final void rule__OperationCS__Alternatives_9_0_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3990:1: ( ( ( rule__OperationCS__Group_0_0__0 ) ) | ( ( rule__OperationCS__Group_0_1__0 ) ) )
-            int alt24=2;
-            int LA24_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4054:1: ( ( ( rule__OperationCS__IsDerivedAssignment_9_0_1_0_0 ) ) | ( '!derived' ) )
+            int alt30=2;
+            int LA30_0 = input.LA(1);
 
-            if ( (LA24_0==46) ) {
-                alt24=1;
+            if ( (LA30_0==26) ) {
+                alt30=1;
             }
-            else if ( (LA24_0==24) ) {
-                alt24=2;
+            else if ( (LA30_0==54) ) {
+                alt30=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 24, 0, input);
+                    new NoViableAltException("", 30, 0, input);
 
                 throw nvae;
             }
-            switch (alt24) {
+            switch (alt30) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3991:1: ( ( rule__OperationCS__Group_0_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4055:1: ( ( rule__OperationCS__IsDerivedAssignment_9_0_1_0_0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3991:1: ( ( rule__OperationCS__Group_0_0__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3992:1: ( rule__OperationCS__Group_0_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4055:1: ( ( rule__OperationCS__IsDerivedAssignment_9_0_1_0_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4056:1: ( rule__OperationCS__IsDerivedAssignment_9_0_1_0_0 )
                     {
                     if ( state.backtracking==0 ) {
-                       before(grammarAccess.getOperationCSAccess().getGroup_0_0()); 
+                       before(grammarAccess.getOperationCSAccess().getIsDerivedAssignment_9_0_1_0_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3993:1: ( rule__OperationCS__Group_0_0__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3993:2: rule__OperationCS__Group_0_0__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4057:1: ( rule__OperationCS__IsDerivedAssignment_9_0_1_0_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4057:2: rule__OperationCS__IsDerivedAssignment_9_0_1_0_0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__OperationCS__Group_0_0__0_in_rule__OperationCS__Alternatives_08728);
-                    rule__OperationCS__Group_0_0__0();
+                    pushFollow(FollowSets000.FOLLOW_rule__OperationCS__IsDerivedAssignment_9_0_1_0_0_in_rule__OperationCS__Alternatives_9_0_1_08798);
+                    rule__OperationCS__IsDerivedAssignment_9_0_1_0_0();
 
                     state._fsp--;
                     if (state.failed) return ;
@@ -12990,7 +13030,7 @@
                     }
 
                     if ( state.backtracking==0 ) {
-                       after(grammarAccess.getOperationCSAccess().getGroup_0_0()); 
+                       after(grammarAccess.getOperationCSAccess().getIsDerivedAssignment_9_0_1_0_0()); 
                     }
 
                     }
@@ -12999,27 +13039,17 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3997:6: ( ( rule__OperationCS__Group_0_1__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4061:6: ( '!derived' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3997:6: ( ( rule__OperationCS__Group_0_1__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3998:1: ( rule__OperationCS__Group_0_1__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4061:6: ( '!derived' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4062:1: '!derived'
                     {
                     if ( state.backtracking==0 ) {
-                       before(grammarAccess.getOperationCSAccess().getGroup_0_1()); 
+                       before(grammarAccess.getOperationCSAccess().getDerivedKeyword_9_0_1_0_1()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3999:1: ( rule__OperationCS__Group_0_1__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:3999:2: rule__OperationCS__Group_0_1__0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__OperationCS__Group_0_1__0_in_rule__OperationCS__Alternatives_08746);
-                    rule__OperationCS__Group_0_1__0();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
+                    match(input,54,FollowSets000.FOLLOW_54_in_rule__OperationCS__Alternatives_9_0_1_08817); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
-                       after(grammarAccess.getOperationCSAccess().getGroup_0_1()); 
+                       after(grammarAccess.getOperationCSAccess().getDerivedKeyword_9_0_1_0_1()); 
                     }
 
                     }
@@ -13041,72 +13071,48 @@
         }
         return ;
     }
-    // $ANTLR end "rule__OperationCS__Alternatives_0"
+    // $ANTLR end "rule__OperationCS__Alternatives_9_0_1_0"
 
 
     // $ANTLR start "rule__OperationCS__Alternatives_9_1_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4008:1: rule__OperationCS__Alternatives_9_1_0 : ( ( ( rule__OperationCS__QualifiersAssignment_9_1_0_0 ) ) | ( ( rule__OperationCS__QualifiersAssignment_9_1_0_1 ) ) | ( ( rule__OperationCS__QualifiersAssignment_9_1_0_2 ) ) | ( ( rule__OperationCS__QualifiersAssignment_9_1_0_3 ) ) | ( ( rule__OperationCS__QualifiersAssignment_9_1_0_4 ) ) | ( ( rule__OperationCS__QualifiersAssignment_9_1_0_5 ) ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4074:1: rule__OperationCS__Alternatives_9_1_0 : ( ( ( rule__OperationCS__IsOrderedAssignment_9_1_0_0 ) ) | ( '!ordered' ) );
     public final void rule__OperationCS__Alternatives_9_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4012:1: ( ( ( rule__OperationCS__QualifiersAssignment_9_1_0_0 ) ) | ( ( rule__OperationCS__QualifiersAssignment_9_1_0_1 ) ) | ( ( rule__OperationCS__QualifiersAssignment_9_1_0_2 ) ) | ( ( rule__OperationCS__QualifiersAssignment_9_1_0_3 ) ) | ( ( rule__OperationCS__QualifiersAssignment_9_1_0_4 ) ) | ( ( rule__OperationCS__QualifiersAssignment_9_1_0_5 ) ) )
-            int alt25=6;
-            switch ( input.LA(1) ) {
-            case 26:
-                {
-                alt25=1;
-                }
-                break;
-            case 120:
-                {
-                alt25=2;
-                }
-                break;
-            case 37:
-                {
-                alt25=3;
-                }
-                break;
-            case 122:
-                {
-                alt25=4;
-                }
-                break;
-            case 50:
-                {
-                alt25=5;
-                }
-                break;
-            case 125:
-                {
-                alt25=6;
-                }
-                break;
-            default:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4078:1: ( ( ( rule__OperationCS__IsOrderedAssignment_9_1_0_0 ) ) | ( '!ordered' ) )
+            int alt31=2;
+            int LA31_0 = input.LA(1);
+
+            if ( (LA31_0==37) ) {
+                alt31=1;
+            }
+            else if ( (LA31_0==56) ) {
+                alt31=2;
+            }
+            else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 25, 0, input);
+                    new NoViableAltException("", 31, 0, input);
 
                 throw nvae;
             }
-
-            switch (alt25) {
+            switch (alt31) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4013:1: ( ( rule__OperationCS__QualifiersAssignment_9_1_0_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4079:1: ( ( rule__OperationCS__IsOrderedAssignment_9_1_0_0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4013:1: ( ( rule__OperationCS__QualifiersAssignment_9_1_0_0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4014:1: ( rule__OperationCS__QualifiersAssignment_9_1_0_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4079:1: ( ( rule__OperationCS__IsOrderedAssignment_9_1_0_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4080:1: ( rule__OperationCS__IsOrderedAssignment_9_1_0_0 )
                     {
                     if ( state.backtracking==0 ) {
-                       before(grammarAccess.getOperationCSAccess().getQualifiersAssignment_9_1_0_0()); 
+                       before(grammarAccess.getOperationCSAccess().getIsOrderedAssignment_9_1_0_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4015:1: ( rule__OperationCS__QualifiersAssignment_9_1_0_0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4015:2: rule__OperationCS__QualifiersAssignment_9_1_0_0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4081:1: ( rule__OperationCS__IsOrderedAssignment_9_1_0_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4081:2: rule__OperationCS__IsOrderedAssignment_9_1_0_0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__OperationCS__QualifiersAssignment_9_1_0_0_in_rule__OperationCS__Alternatives_9_1_08779);
-                    rule__OperationCS__QualifiersAssignment_9_1_0_0();
+                    pushFollow(FollowSets000.FOLLOW_rule__OperationCS__IsOrderedAssignment_9_1_0_0_in_rule__OperationCS__Alternatives_9_1_08851);
+                    rule__OperationCS__IsOrderedAssignment_9_1_0_0();
 
                     state._fsp--;
                     if (state.failed) return ;
@@ -13114,7 +13120,7 @@
                     }
 
                     if ( state.backtracking==0 ) {
-                       after(grammarAccess.getOperationCSAccess().getQualifiersAssignment_9_1_0_0()); 
+                       after(grammarAccess.getOperationCSAccess().getIsOrderedAssignment_9_1_0_0()); 
                     }
 
                     }
@@ -13123,143 +13129,17 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4019:6: ( ( rule__OperationCS__QualifiersAssignment_9_1_0_1 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4085:6: ( '!ordered' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4019:6: ( ( rule__OperationCS__QualifiersAssignment_9_1_0_1 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4020:1: ( rule__OperationCS__QualifiersAssignment_9_1_0_1 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4085:6: ( '!ordered' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4086:1: '!ordered'
                     {
                     if ( state.backtracking==0 ) {
-                       before(grammarAccess.getOperationCSAccess().getQualifiersAssignment_9_1_0_1()); 
+                       before(grammarAccess.getOperationCSAccess().getOrderedKeyword_9_1_0_1()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4021:1: ( rule__OperationCS__QualifiersAssignment_9_1_0_1 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4021:2: rule__OperationCS__QualifiersAssignment_9_1_0_1
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__OperationCS__QualifiersAssignment_9_1_0_1_in_rule__OperationCS__Alternatives_9_1_08797);
-                    rule__OperationCS__QualifiersAssignment_9_1_0_1();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
+                    match(input,56,FollowSets000.FOLLOW_56_in_rule__OperationCS__Alternatives_9_1_08870); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
-                       after(grammarAccess.getOperationCSAccess().getQualifiersAssignment_9_1_0_1()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 3 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4025:6: ( ( rule__OperationCS__QualifiersAssignment_9_1_0_2 ) )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4025:6: ( ( rule__OperationCS__QualifiersAssignment_9_1_0_2 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4026:1: ( rule__OperationCS__QualifiersAssignment_9_1_0_2 )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getOperationCSAccess().getQualifiersAssignment_9_1_0_2()); 
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4027:1: ( rule__OperationCS__QualifiersAssignment_9_1_0_2 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4027:2: rule__OperationCS__QualifiersAssignment_9_1_0_2
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__OperationCS__QualifiersAssignment_9_1_0_2_in_rule__OperationCS__Alternatives_9_1_08815);
-                    rule__OperationCS__QualifiersAssignment_9_1_0_2();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getOperationCSAccess().getQualifiersAssignment_9_1_0_2()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 4 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4031:6: ( ( rule__OperationCS__QualifiersAssignment_9_1_0_3 ) )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4031:6: ( ( rule__OperationCS__QualifiersAssignment_9_1_0_3 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4032:1: ( rule__OperationCS__QualifiersAssignment_9_1_0_3 )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getOperationCSAccess().getQualifiersAssignment_9_1_0_3()); 
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4033:1: ( rule__OperationCS__QualifiersAssignment_9_1_0_3 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4033:2: rule__OperationCS__QualifiersAssignment_9_1_0_3
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__OperationCS__QualifiersAssignment_9_1_0_3_in_rule__OperationCS__Alternatives_9_1_08833);
-                    rule__OperationCS__QualifiersAssignment_9_1_0_3();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getOperationCSAccess().getQualifiersAssignment_9_1_0_3()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 5 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4037:6: ( ( rule__OperationCS__QualifiersAssignment_9_1_0_4 ) )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4037:6: ( ( rule__OperationCS__QualifiersAssignment_9_1_0_4 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4038:1: ( rule__OperationCS__QualifiersAssignment_9_1_0_4 )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getOperationCSAccess().getQualifiersAssignment_9_1_0_4()); 
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4039:1: ( rule__OperationCS__QualifiersAssignment_9_1_0_4 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4039:2: rule__OperationCS__QualifiersAssignment_9_1_0_4
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__OperationCS__QualifiersAssignment_9_1_0_4_in_rule__OperationCS__Alternatives_9_1_08851);
-                    rule__OperationCS__QualifiersAssignment_9_1_0_4();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getOperationCSAccess().getQualifiersAssignment_9_1_0_4()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 6 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4043:6: ( ( rule__OperationCS__QualifiersAssignment_9_1_0_5 ) )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4043:6: ( ( rule__OperationCS__QualifiersAssignment_9_1_0_5 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4044:1: ( rule__OperationCS__QualifiersAssignment_9_1_0_5 )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getOperationCSAccess().getQualifiersAssignment_9_1_0_5()); 
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4045:1: ( rule__OperationCS__QualifiersAssignment_9_1_0_5 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4045:2: rule__OperationCS__QualifiersAssignment_9_1_0_5
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__OperationCS__QualifiersAssignment_9_1_0_5_in_rule__OperationCS__Alternatives_9_1_08869);
-                    rule__OperationCS__QualifiersAssignment_9_1_0_5();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getOperationCSAccess().getQualifiersAssignment_9_1_0_5()); 
+                       after(grammarAccess.getOperationCSAccess().getOrderedKeyword_9_1_0_1()); 
                     }
 
                     }
@@ -13284,44 +13164,134 @@
     // $ANTLR end "rule__OperationCS__Alternatives_9_1_0"
 
 
+    // $ANTLR start "rule__OperationCS__Alternatives_9_2_0_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4098:1: rule__OperationCS__Alternatives_9_2_0_0 : ( ( ( rule__OperationCS__IsNotUniqueAssignment_9_2_0_0_0 ) ) | ( 'unique' ) );
+    public final void rule__OperationCS__Alternatives_9_2_0_0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4102:1: ( ( ( rule__OperationCS__IsNotUniqueAssignment_9_2_0_0_0 ) ) | ( 'unique' ) )
+            int alt32=2;
+            int LA32_0 = input.LA(1);
+
+            if ( (LA32_0==129) ) {
+                alt32=1;
+            }
+            else if ( (LA32_0==50) ) {
+                alt32=2;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 32, 0, input);
+
+                throw nvae;
+            }
+            switch (alt32) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4103:1: ( ( rule__OperationCS__IsNotUniqueAssignment_9_2_0_0_0 ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4103:1: ( ( rule__OperationCS__IsNotUniqueAssignment_9_2_0_0_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4104:1: ( rule__OperationCS__IsNotUniqueAssignment_9_2_0_0_0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getOperationCSAccess().getIsNotUniqueAssignment_9_2_0_0_0()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4105:1: ( rule__OperationCS__IsNotUniqueAssignment_9_2_0_0_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4105:2: rule__OperationCS__IsNotUniqueAssignment_9_2_0_0_0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__OperationCS__IsNotUniqueAssignment_9_2_0_0_0_in_rule__OperationCS__Alternatives_9_2_0_08904);
+                    rule__OperationCS__IsNotUniqueAssignment_9_2_0_0_0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getOperationCSAccess().getIsNotUniqueAssignment_9_2_0_0_0()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4109:6: ( 'unique' )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4109:6: ( 'unique' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4110:1: 'unique'
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getOperationCSAccess().getUniqueKeyword_9_2_0_0_1()); 
+                    }
+                    match(input,50,FollowSets000.FOLLOW_50_in_rule__OperationCS__Alternatives_9_2_0_08923); if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getOperationCSAccess().getUniqueKeyword_9_2_0_0_1()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OperationCS__Alternatives_9_2_0_0"
+
+
     // $ANTLR start "rule__OperationCS__Alternatives_10"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4054:1: rule__OperationCS__Alternatives_10 : ( ( ( rule__OperationCS__Group_10_0__0 ) ) | ( ';' ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4122:1: rule__OperationCS__Alternatives_10 : ( ( ( rule__OperationCS__Group_10_0__0 ) ) | ( ';' ) );
     public final void rule__OperationCS__Alternatives_10() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4058:1: ( ( ( rule__OperationCS__Group_10_0__0 ) ) | ( ';' ) )
-            int alt26=2;
-            int LA26_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4126:1: ( ( ( rule__OperationCS__Group_10_0__0 ) ) | ( ';' ) )
+            int alt33=2;
+            int LA33_0 = input.LA(1);
 
-            if ( (LA26_0==99) ) {
-                alt26=1;
+            if ( (LA33_0==108) ) {
+                alt33=1;
             }
-            else if ( (LA26_0==53) ) {
-                alt26=2;
+            else if ( (LA33_0==53) ) {
+                alt33=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 26, 0, input);
+                    new NoViableAltException("", 33, 0, input);
 
                 throw nvae;
             }
-            switch (alt26) {
+            switch (alt33) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4059:1: ( ( rule__OperationCS__Group_10_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4127:1: ( ( rule__OperationCS__Group_10_0__0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4059:1: ( ( rule__OperationCS__Group_10_0__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4060:1: ( rule__OperationCS__Group_10_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4127:1: ( ( rule__OperationCS__Group_10_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4128:1: ( rule__OperationCS__Group_10_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOperationCSAccess().getGroup_10_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4061:1: ( rule__OperationCS__Group_10_0__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4061:2: rule__OperationCS__Group_10_0__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4129:1: ( rule__OperationCS__Group_10_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4129:2: rule__OperationCS__Group_10_0__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__OperationCS__Group_10_0__0_in_rule__OperationCS__Alternatives_108902);
+                    pushFollow(FollowSets000.FOLLOW_rule__OperationCS__Group_10_0__0_in_rule__OperationCS__Alternatives_108957);
                     rule__OperationCS__Group_10_0__0();
 
                     state._fsp--;
@@ -13339,15 +13309,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4065:6: ( ';' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4133:6: ( ';' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4065:6: ( ';' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4066:1: ';'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4133:6: ( ';' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4134:1: ';'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOperationCSAccess().getSemicolonKeyword_10_1()); 
                     }
-                    match(input,53,FollowSets000.FOLLOW_53_in_rule__OperationCS__Alternatives_108921); if (state.failed) return ;
+                    match(input,53,FollowSets000.FOLLOW_53_in_rule__OperationCS__Alternatives_108976); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getOperationCSAccess().getSemicolonKeyword_10_1()); 
                     }
@@ -13375,59 +13345,59 @@
 
 
     // $ANTLR start "rule__OperationCS__Alternatives_10_0_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4078:1: rule__OperationCS__Alternatives_10_0_1 : ( ( ( rule__OperationCS__OwnedAnnotationsAssignment_10_0_1_0 ) ) | ( ( rule__OperationCS__OwnedPreconditionsAssignment_10_0_1_1 ) ) | ( ( rule__OperationCS__Group_10_0_1_2__0 ) ) | ( ( rule__OperationCS__OwnedPostconditionsAssignment_10_0_1_3 ) ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4146:1: rule__OperationCS__Alternatives_10_0_1 : ( ( ( rule__OperationCS__OwnedAnnotationsAssignment_10_0_1_0 ) ) | ( ( rule__OperationCS__OwnedPreconditionsAssignment_10_0_1_1 ) ) | ( ( rule__OperationCS__Group_10_0_1_2__0 ) ) | ( ( rule__OperationCS__OwnedPostconditionsAssignment_10_0_1_3 ) ) );
     public final void rule__OperationCS__Alternatives_10_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4082:1: ( ( ( rule__OperationCS__OwnedAnnotationsAssignment_10_0_1_0 ) ) | ( ( rule__OperationCS__OwnedPreconditionsAssignment_10_0_1_1 ) ) | ( ( rule__OperationCS__Group_10_0_1_2__0 ) ) | ( ( rule__OperationCS__OwnedPostconditionsAssignment_10_0_1_3 ) ) )
-            int alt27=4;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4150:1: ( ( ( rule__OperationCS__OwnedAnnotationsAssignment_10_0_1_0 ) ) | ( ( rule__OperationCS__OwnedPreconditionsAssignment_10_0_1_1 ) ) | ( ( rule__OperationCS__Group_10_0_1_2__0 ) ) | ( ( rule__OperationCS__OwnedPostconditionsAssignment_10_0_1_3 ) ) )
+            int alt34=4;
             switch ( input.LA(1) ) {
-            case 55:
-            case 56:
-            case 60:
+            case 64:
+            case 65:
+            case 69:
                 {
-                alt27=1;
+                alt34=1;
                 }
                 break;
             case 40:
                 {
-                alt27=2;
+                alt34=2;
                 }
                 break;
             case 19:
                 {
-                alt27=3;
+                alt34=3;
                 }
                 break;
             case 39:
                 {
-                alt27=4;
+                alt34=4;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 27, 0, input);
+                    new NoViableAltException("", 34, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt27) {
+            switch (alt34) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4083:1: ( ( rule__OperationCS__OwnedAnnotationsAssignment_10_0_1_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4151:1: ( ( rule__OperationCS__OwnedAnnotationsAssignment_10_0_1_0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4083:1: ( ( rule__OperationCS__OwnedAnnotationsAssignment_10_0_1_0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4084:1: ( rule__OperationCS__OwnedAnnotationsAssignment_10_0_1_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4151:1: ( ( rule__OperationCS__OwnedAnnotationsAssignment_10_0_1_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4152:1: ( rule__OperationCS__OwnedAnnotationsAssignment_10_0_1_0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOperationCSAccess().getOwnedAnnotationsAssignment_10_0_1_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4085:1: ( rule__OperationCS__OwnedAnnotationsAssignment_10_0_1_0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4085:2: rule__OperationCS__OwnedAnnotationsAssignment_10_0_1_0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4153:1: ( rule__OperationCS__OwnedAnnotationsAssignment_10_0_1_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4153:2: rule__OperationCS__OwnedAnnotationsAssignment_10_0_1_0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__OperationCS__OwnedAnnotationsAssignment_10_0_1_0_in_rule__OperationCS__Alternatives_10_0_18955);
+                    pushFollow(FollowSets000.FOLLOW_rule__OperationCS__OwnedAnnotationsAssignment_10_0_1_0_in_rule__OperationCS__Alternatives_10_0_19010);
                     rule__OperationCS__OwnedAnnotationsAssignment_10_0_1_0();
 
                     state._fsp--;
@@ -13445,18 +13415,18 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4089:6: ( ( rule__OperationCS__OwnedPreconditionsAssignment_10_0_1_1 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4157:6: ( ( rule__OperationCS__OwnedPreconditionsAssignment_10_0_1_1 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4089:6: ( ( rule__OperationCS__OwnedPreconditionsAssignment_10_0_1_1 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4090:1: ( rule__OperationCS__OwnedPreconditionsAssignment_10_0_1_1 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4157:6: ( ( rule__OperationCS__OwnedPreconditionsAssignment_10_0_1_1 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4158:1: ( rule__OperationCS__OwnedPreconditionsAssignment_10_0_1_1 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOperationCSAccess().getOwnedPreconditionsAssignment_10_0_1_1()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4091:1: ( rule__OperationCS__OwnedPreconditionsAssignment_10_0_1_1 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4091:2: rule__OperationCS__OwnedPreconditionsAssignment_10_0_1_1
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4159:1: ( rule__OperationCS__OwnedPreconditionsAssignment_10_0_1_1 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4159:2: rule__OperationCS__OwnedPreconditionsAssignment_10_0_1_1
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__OperationCS__OwnedPreconditionsAssignment_10_0_1_1_in_rule__OperationCS__Alternatives_10_0_18973);
+                    pushFollow(FollowSets000.FOLLOW_rule__OperationCS__OwnedPreconditionsAssignment_10_0_1_1_in_rule__OperationCS__Alternatives_10_0_19028);
                     rule__OperationCS__OwnedPreconditionsAssignment_10_0_1_1();
 
                     state._fsp--;
@@ -13474,18 +13444,18 @@
                     }
                     break;
                 case 3 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4095:6: ( ( rule__OperationCS__Group_10_0_1_2__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4163:6: ( ( rule__OperationCS__Group_10_0_1_2__0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4095:6: ( ( rule__OperationCS__Group_10_0_1_2__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4096:1: ( rule__OperationCS__Group_10_0_1_2__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4163:6: ( ( rule__OperationCS__Group_10_0_1_2__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4164:1: ( rule__OperationCS__Group_10_0_1_2__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOperationCSAccess().getGroup_10_0_1_2()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4097:1: ( rule__OperationCS__Group_10_0_1_2__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4097:2: rule__OperationCS__Group_10_0_1_2__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4165:1: ( rule__OperationCS__Group_10_0_1_2__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4165:2: rule__OperationCS__Group_10_0_1_2__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__OperationCS__Group_10_0_1_2__0_in_rule__OperationCS__Alternatives_10_0_18991);
+                    pushFollow(FollowSets000.FOLLOW_rule__OperationCS__Group_10_0_1_2__0_in_rule__OperationCS__Alternatives_10_0_19046);
                     rule__OperationCS__Group_10_0_1_2__0();
 
                     state._fsp--;
@@ -13503,18 +13473,18 @@
                     }
                     break;
                 case 4 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4101:6: ( ( rule__OperationCS__OwnedPostconditionsAssignment_10_0_1_3 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4169:6: ( ( rule__OperationCS__OwnedPostconditionsAssignment_10_0_1_3 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4101:6: ( ( rule__OperationCS__OwnedPostconditionsAssignment_10_0_1_3 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4102:1: ( rule__OperationCS__OwnedPostconditionsAssignment_10_0_1_3 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4169:6: ( ( rule__OperationCS__OwnedPostconditionsAssignment_10_0_1_3 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4170:1: ( rule__OperationCS__OwnedPostconditionsAssignment_10_0_1_3 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getOperationCSAccess().getOwnedPostconditionsAssignment_10_0_1_3()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4103:1: ( rule__OperationCS__OwnedPostconditionsAssignment_10_0_1_3 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4103:2: rule__OperationCS__OwnedPostconditionsAssignment_10_0_1_3
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4171:1: ( rule__OperationCS__OwnedPostconditionsAssignment_10_0_1_3 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4171:2: rule__OperationCS__OwnedPostconditionsAssignment_10_0_1_3
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__OperationCS__OwnedPostconditionsAssignment_10_0_1_3_in_rule__OperationCS__Alternatives_10_0_19009);
+                    pushFollow(FollowSets000.FOLLOW_rule__OperationCS__OwnedPostconditionsAssignment_10_0_1_3_in_rule__OperationCS__Alternatives_10_0_19064);
                     rule__OperationCS__OwnedPostconditionsAssignment_10_0_1_3();
 
                     state._fsp--;
@@ -13549,43 +13519,43 @@
 
 
     // $ANTLR start "rule__PackageCS__Alternatives_4"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4112:1: rule__PackageCS__Alternatives_4 : ( ( ( rule__PackageCS__Group_4_0__0 ) ) | ( ';' ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4180:1: rule__PackageCS__Alternatives_4 : ( ( ( rule__PackageCS__Group_4_0__0 ) ) | ( ';' ) );
     public final void rule__PackageCS__Alternatives_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4116:1: ( ( ( rule__PackageCS__Group_4_0__0 ) ) | ( ';' ) )
-            int alt28=2;
-            int LA28_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4184:1: ( ( ( rule__PackageCS__Group_4_0__0 ) ) | ( ';' ) )
+            int alt35=2;
+            int LA35_0 = input.LA(1);
 
-            if ( (LA28_0==99) ) {
-                alt28=1;
+            if ( (LA35_0==108) ) {
+                alt35=1;
             }
-            else if ( (LA28_0==53) ) {
-                alt28=2;
+            else if ( (LA35_0==53) ) {
+                alt35=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 28, 0, input);
+                    new NoViableAltException("", 35, 0, input);
 
                 throw nvae;
             }
-            switch (alt28) {
+            switch (alt35) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4117:1: ( ( rule__PackageCS__Group_4_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4185:1: ( ( rule__PackageCS__Group_4_0__0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4117:1: ( ( rule__PackageCS__Group_4_0__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4118:1: ( rule__PackageCS__Group_4_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4185:1: ( ( rule__PackageCS__Group_4_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4186:1: ( rule__PackageCS__Group_4_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPackageCSAccess().getGroup_4_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4119:1: ( rule__PackageCS__Group_4_0__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4119:2: rule__PackageCS__Group_4_0__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4187:1: ( rule__PackageCS__Group_4_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4187:2: rule__PackageCS__Group_4_0__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__PackageCS__Group_4_0__0_in_rule__PackageCS__Alternatives_49042);
+                    pushFollow(FollowSets000.FOLLOW_rule__PackageCS__Group_4_0__0_in_rule__PackageCS__Alternatives_49097);
                     rule__PackageCS__Group_4_0__0();
 
                     state._fsp--;
@@ -13603,15 +13573,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4123:6: ( ';' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4191:6: ( ';' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4123:6: ( ';' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4124:1: ';'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4191:6: ( ';' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4192:1: ';'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPackageCSAccess().getSemicolonKeyword_4_1()); 
                     }
-                    match(input,53,FollowSets000.FOLLOW_53_in_rule__PackageCS__Alternatives_49061); if (state.failed) return ;
+                    match(input,53,FollowSets000.FOLLOW_53_in_rule__PackageCS__Alternatives_49116); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getPackageCSAccess().getSemicolonKeyword_4_1()); 
                     }
@@ -13639,25 +13609,25 @@
 
 
     // $ANTLR start "rule__PackageCS__Alternatives_4_0_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4136:1: rule__PackageCS__Alternatives_4_0_1 : ( ( ( rule__PackageCS__OwnedAnnotationsAssignment_4_0_1_0 ) ) | ( ( rule__PackageCS__OwnedPackagesAssignment_4_0_1_1 ) ) | ( ( rule__PackageCS__OwnedClassesAssignment_4_0_1_2 ) ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4204:1: rule__PackageCS__Alternatives_4_0_1 : ( ( ( rule__PackageCS__OwnedAnnotationsAssignment_4_0_1_0 ) ) | ( ( rule__PackageCS__OwnedPackagesAssignment_4_0_1_1 ) ) | ( ( rule__PackageCS__OwnedClassesAssignment_4_0_1_2 ) ) );
     public final void rule__PackageCS__Alternatives_4_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4140:1: ( ( ( rule__PackageCS__OwnedAnnotationsAssignment_4_0_1_0 ) ) | ( ( rule__PackageCS__OwnedPackagesAssignment_4_0_1_1 ) ) | ( ( rule__PackageCS__OwnedClassesAssignment_4_0_1_2 ) ) )
-            int alt29=3;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4208:1: ( ( ( rule__PackageCS__OwnedAnnotationsAssignment_4_0_1_0 ) ) | ( ( rule__PackageCS__OwnedPackagesAssignment_4_0_1_1 ) ) | ( ( rule__PackageCS__OwnedClassesAssignment_4_0_1_2 ) ) )
+            int alt36=3;
             switch ( input.LA(1) ) {
-            case 55:
-            case 56:
-            case 60:
+            case 64:
+            case 65:
+            case 69:
                 {
-                alt29=1;
+                alt36=1;
                 }
                 break;
             case 38:
                 {
-                alt29=2;
+                alt36=2;
                 }
                 break;
             case 17:
@@ -13666,31 +13636,31 @@
             case 27:
             case 41:
                 {
-                alt29=3;
+                alt36=3;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 29, 0, input);
+                    new NoViableAltException("", 36, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt29) {
+            switch (alt36) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4141:1: ( ( rule__PackageCS__OwnedAnnotationsAssignment_4_0_1_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4209:1: ( ( rule__PackageCS__OwnedAnnotationsAssignment_4_0_1_0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4141:1: ( ( rule__PackageCS__OwnedAnnotationsAssignment_4_0_1_0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4142:1: ( rule__PackageCS__OwnedAnnotationsAssignment_4_0_1_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4209:1: ( ( rule__PackageCS__OwnedAnnotationsAssignment_4_0_1_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4210:1: ( rule__PackageCS__OwnedAnnotationsAssignment_4_0_1_0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPackageCSAccess().getOwnedAnnotationsAssignment_4_0_1_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4143:1: ( rule__PackageCS__OwnedAnnotationsAssignment_4_0_1_0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4143:2: rule__PackageCS__OwnedAnnotationsAssignment_4_0_1_0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4211:1: ( rule__PackageCS__OwnedAnnotationsAssignment_4_0_1_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4211:2: rule__PackageCS__OwnedAnnotationsAssignment_4_0_1_0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__PackageCS__OwnedAnnotationsAssignment_4_0_1_0_in_rule__PackageCS__Alternatives_4_0_19095);
+                    pushFollow(FollowSets000.FOLLOW_rule__PackageCS__OwnedAnnotationsAssignment_4_0_1_0_in_rule__PackageCS__Alternatives_4_0_19150);
                     rule__PackageCS__OwnedAnnotationsAssignment_4_0_1_0();
 
                     state._fsp--;
@@ -13708,18 +13678,18 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4147:6: ( ( rule__PackageCS__OwnedPackagesAssignment_4_0_1_1 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4215:6: ( ( rule__PackageCS__OwnedPackagesAssignment_4_0_1_1 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4147:6: ( ( rule__PackageCS__OwnedPackagesAssignment_4_0_1_1 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4148:1: ( rule__PackageCS__OwnedPackagesAssignment_4_0_1_1 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4215:6: ( ( rule__PackageCS__OwnedPackagesAssignment_4_0_1_1 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4216:1: ( rule__PackageCS__OwnedPackagesAssignment_4_0_1_1 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPackageCSAccess().getOwnedPackagesAssignment_4_0_1_1()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4149:1: ( rule__PackageCS__OwnedPackagesAssignment_4_0_1_1 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4149:2: rule__PackageCS__OwnedPackagesAssignment_4_0_1_1
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4217:1: ( rule__PackageCS__OwnedPackagesAssignment_4_0_1_1 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4217:2: rule__PackageCS__OwnedPackagesAssignment_4_0_1_1
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__PackageCS__OwnedPackagesAssignment_4_0_1_1_in_rule__PackageCS__Alternatives_4_0_19113);
+                    pushFollow(FollowSets000.FOLLOW_rule__PackageCS__OwnedPackagesAssignment_4_0_1_1_in_rule__PackageCS__Alternatives_4_0_19168);
                     rule__PackageCS__OwnedPackagesAssignment_4_0_1_1();
 
                     state._fsp--;
@@ -13737,18 +13707,18 @@
                     }
                     break;
                 case 3 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4153:6: ( ( rule__PackageCS__OwnedClassesAssignment_4_0_1_2 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4221:6: ( ( rule__PackageCS__OwnedClassesAssignment_4_0_1_2 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4153:6: ( ( rule__PackageCS__OwnedClassesAssignment_4_0_1_2 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4154:1: ( rule__PackageCS__OwnedClassesAssignment_4_0_1_2 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4221:6: ( ( rule__PackageCS__OwnedClassesAssignment_4_0_1_2 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4222:1: ( rule__PackageCS__OwnedClassesAssignment_4_0_1_2 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPackageCSAccess().getOwnedClassesAssignment_4_0_1_2()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4155:1: ( rule__PackageCS__OwnedClassesAssignment_4_0_1_2 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4155:2: rule__PackageCS__OwnedClassesAssignment_4_0_1_2
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4223:1: ( rule__PackageCS__OwnedClassesAssignment_4_0_1_2 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4223:2: rule__PackageCS__OwnedClassesAssignment_4_0_1_2
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__PackageCS__OwnedClassesAssignment_4_0_1_2_in_rule__PackageCS__Alternatives_4_0_19131);
+                    pushFollow(FollowSets000.FOLLOW_rule__PackageCS__OwnedClassesAssignment_4_0_1_2_in_rule__PackageCS__Alternatives_4_0_19186);
                     rule__PackageCS__OwnedClassesAssignment_4_0_1_2();
 
                     state._fsp--;
@@ -13782,217 +13752,45 @@
     // $ANTLR end "rule__PackageCS__Alternatives_4_0_1"
 
 
-    // $ANTLR start "rule__ParameterCS__Alternatives_2_1_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4164:1: rule__ParameterCS__Alternatives_2_1_0 : ( ( ( rule__ParameterCS__QualifiersAssignment_2_1_0_0 ) ) | ( ( rule__ParameterCS__QualifiersAssignment_2_1_0_1 ) ) | ( ( rule__ParameterCS__QualifiersAssignment_2_1_0_2 ) ) | ( ( rule__ParameterCS__QualifiersAssignment_2_1_0_3 ) ) );
-    public final void rule__ParameterCS__Alternatives_2_1_0() throws RecognitionException {
+    // $ANTLR start "rule__ParameterCS__Alternatives_2_0_1_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4232:1: rule__ParameterCS__Alternatives_2_0_1_0 : ( ( ( rule__ParameterCS__IsOrderedAssignment_2_0_1_0_0 ) ) | ( '!ordered' ) );
+    public final void rule__ParameterCS__Alternatives_2_0_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4168:1: ( ( ( rule__ParameterCS__QualifiersAssignment_2_1_0_0 ) ) | ( ( rule__ParameterCS__QualifiersAssignment_2_1_0_1 ) ) | ( ( rule__ParameterCS__QualifiersAssignment_2_1_0_2 ) ) | ( ( rule__ParameterCS__QualifiersAssignment_2_1_0_3 ) ) )
-            int alt30=4;
-            switch ( input.LA(1) ) {
-            case 37:
-                {
-                alt30=1;
-                }
-                break;
-            case 122:
-                {
-                alt30=2;
-                }
-                break;
-            case 50:
-                {
-                alt30=3;
-                }
-                break;
-            case 125:
-                {
-                alt30=4;
-                }
-                break;
-            default:
-                if (state.backtracking>0) {state.failed=true; return ;}
-                NoViableAltException nvae =
-                    new NoViableAltException("", 30, 0, input);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4236:1: ( ( ( rule__ParameterCS__IsOrderedAssignment_2_0_1_0_0 ) ) | ( '!ordered' ) )
+            int alt37=2;
+            int LA37_0 = input.LA(1);
 
-                throw nvae;
+            if ( (LA37_0==37) ) {
+                alt37=1;
             }
-
-            switch (alt30) {
-                case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4169:1: ( ( rule__ParameterCS__QualifiersAssignment_2_1_0_0 ) )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4169:1: ( ( rule__ParameterCS__QualifiersAssignment_2_1_0_0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4170:1: ( rule__ParameterCS__QualifiersAssignment_2_1_0_0 )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getParameterCSAccess().getQualifiersAssignment_2_1_0_0()); 
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4171:1: ( rule__ParameterCS__QualifiersAssignment_2_1_0_0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4171:2: rule__ParameterCS__QualifiersAssignment_2_1_0_0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__ParameterCS__QualifiersAssignment_2_1_0_0_in_rule__ParameterCS__Alternatives_2_1_09164);
-                    rule__ParameterCS__QualifiersAssignment_2_1_0_0();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getParameterCSAccess().getQualifiersAssignment_2_1_0_0()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4175:6: ( ( rule__ParameterCS__QualifiersAssignment_2_1_0_1 ) )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4175:6: ( ( rule__ParameterCS__QualifiersAssignment_2_1_0_1 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4176:1: ( rule__ParameterCS__QualifiersAssignment_2_1_0_1 )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getParameterCSAccess().getQualifiersAssignment_2_1_0_1()); 
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4177:1: ( rule__ParameterCS__QualifiersAssignment_2_1_0_1 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4177:2: rule__ParameterCS__QualifiersAssignment_2_1_0_1
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__ParameterCS__QualifiersAssignment_2_1_0_1_in_rule__ParameterCS__Alternatives_2_1_09182);
-                    rule__ParameterCS__QualifiersAssignment_2_1_0_1();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getParameterCSAccess().getQualifiersAssignment_2_1_0_1()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 3 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4181:6: ( ( rule__ParameterCS__QualifiersAssignment_2_1_0_2 ) )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4181:6: ( ( rule__ParameterCS__QualifiersAssignment_2_1_0_2 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4182:1: ( rule__ParameterCS__QualifiersAssignment_2_1_0_2 )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getParameterCSAccess().getQualifiersAssignment_2_1_0_2()); 
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4183:1: ( rule__ParameterCS__QualifiersAssignment_2_1_0_2 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4183:2: rule__ParameterCS__QualifiersAssignment_2_1_0_2
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__ParameterCS__QualifiersAssignment_2_1_0_2_in_rule__ParameterCS__Alternatives_2_1_09200);
-                    rule__ParameterCS__QualifiersAssignment_2_1_0_2();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getParameterCSAccess().getQualifiersAssignment_2_1_0_2()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 4 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4187:6: ( ( rule__ParameterCS__QualifiersAssignment_2_1_0_3 ) )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4187:6: ( ( rule__ParameterCS__QualifiersAssignment_2_1_0_3 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4188:1: ( rule__ParameterCS__QualifiersAssignment_2_1_0_3 )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getParameterCSAccess().getQualifiersAssignment_2_1_0_3()); 
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4189:1: ( rule__ParameterCS__QualifiersAssignment_2_1_0_3 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4189:2: rule__ParameterCS__QualifiersAssignment_2_1_0_3
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__ParameterCS__QualifiersAssignment_2_1_0_3_in_rule__ParameterCS__Alternatives_2_1_09218);
-                    rule__ParameterCS__QualifiersAssignment_2_1_0_3();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getParameterCSAccess().getQualifiersAssignment_2_1_0_3()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ParameterCS__Alternatives_2_1_0"
-
-
-    // $ANTLR start "rule__ReferenceCS__Alternatives_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4198:1: rule__ReferenceCS__Alternatives_0 : ( ( ( rule__ReferenceCS__Group_0_0__0 ) ) | ( ( rule__ReferenceCS__Group_0_1__0 ) ) );
-    public final void rule__ReferenceCS__Alternatives_0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4202:1: ( ( ( rule__ReferenceCS__Group_0_0__0 ) ) | ( ( rule__ReferenceCS__Group_0_1__0 ) ) )
-            int alt31=2;
-            int LA31_0 = input.LA(1);
-
-            if ( (LA31_0==46) ) {
-                alt31=1;
-            }
-            else if ( (LA31_0==24) ) {
-                alt31=2;
+            else if ( (LA37_0==56) ) {
+                alt37=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 31, 0, input);
+                    new NoViableAltException("", 37, 0, input);
 
                 throw nvae;
             }
-            switch (alt31) {
+            switch (alt37) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4203:1: ( ( rule__ReferenceCS__Group_0_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4237:1: ( ( rule__ParameterCS__IsOrderedAssignment_2_0_1_0_0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4203:1: ( ( rule__ReferenceCS__Group_0_0__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4204:1: ( rule__ReferenceCS__Group_0_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4237:1: ( ( rule__ParameterCS__IsOrderedAssignment_2_0_1_0_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4238:1: ( rule__ParameterCS__IsOrderedAssignment_2_0_1_0_0 )
                     {
                     if ( state.backtracking==0 ) {
-                       before(grammarAccess.getReferenceCSAccess().getGroup_0_0()); 
+                       before(grammarAccess.getParameterCSAccess().getIsOrderedAssignment_2_0_1_0_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4205:1: ( rule__ReferenceCS__Group_0_0__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4205:2: rule__ReferenceCS__Group_0_0__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4239:1: ( rule__ParameterCS__IsOrderedAssignment_2_0_1_0_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4239:2: rule__ParameterCS__IsOrderedAssignment_2_0_1_0_0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__ReferenceCS__Group_0_0__0_in_rule__ReferenceCS__Alternatives_09251);
-                    rule__ReferenceCS__Group_0_0__0();
+                    pushFollow(FollowSets000.FOLLOW_rule__ParameterCS__IsOrderedAssignment_2_0_1_0_0_in_rule__ParameterCS__Alternatives_2_0_1_09219);
+                    rule__ParameterCS__IsOrderedAssignment_2_0_1_0_0();
 
                     state._fsp--;
                     if (state.failed) return ;
@@ -14000,7 +13798,7 @@
                     }
 
                     if ( state.backtracking==0 ) {
-                       after(grammarAccess.getReferenceCSAccess().getGroup_0_0()); 
+                       after(grammarAccess.getParameterCSAccess().getIsOrderedAssignment_2_0_1_0_0()); 
                     }
 
                     }
@@ -14009,27 +13807,17 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4209:6: ( ( rule__ReferenceCS__Group_0_1__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4243:6: ( '!ordered' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4209:6: ( ( rule__ReferenceCS__Group_0_1__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4210:1: ( rule__ReferenceCS__Group_0_1__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4243:6: ( '!ordered' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4244:1: '!ordered'
                     {
                     if ( state.backtracking==0 ) {
-                       before(grammarAccess.getReferenceCSAccess().getGroup_0_1()); 
+                       before(grammarAccess.getParameterCSAccess().getOrderedKeyword_2_0_1_0_1()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4211:1: ( rule__ReferenceCS__Group_0_1__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4211:2: rule__ReferenceCS__Group_0_1__0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__ReferenceCS__Group_0_1__0_in_rule__ReferenceCS__Alternatives_09269);
-                    rule__ReferenceCS__Group_0_1__0();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
+                    match(input,56,FollowSets000.FOLLOW_56_in_rule__ParameterCS__Alternatives_2_0_1_09238); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
-                       after(grammarAccess.getReferenceCSAccess().getGroup_0_1()); 
+                       after(grammarAccess.getParameterCSAccess().getOrderedKeyword_2_0_1_0_1()); 
                     }
 
                     }
@@ -14051,132 +13839,228 @@
         }
         return ;
     }
-    // $ANTLR end "rule__ReferenceCS__Alternatives_0"
+    // $ANTLR end "rule__ParameterCS__Alternatives_2_0_1_0"
+
+
+    // $ANTLR start "rule__ParameterCS__Alternatives_2_1_0_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4256:1: rule__ParameterCS__Alternatives_2_1_0_0 : ( ( ( rule__ParameterCS__IsNotUniqueAssignment_2_1_0_0_0 ) ) | ( 'unique' ) );
+    public final void rule__ParameterCS__Alternatives_2_1_0_0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4260:1: ( ( ( rule__ParameterCS__IsNotUniqueAssignment_2_1_0_0_0 ) ) | ( 'unique' ) )
+            int alt38=2;
+            int LA38_0 = input.LA(1);
+
+            if ( (LA38_0==129) ) {
+                alt38=1;
+            }
+            else if ( (LA38_0==50) ) {
+                alt38=2;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 38, 0, input);
+
+                throw nvae;
+            }
+            switch (alt38) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4261:1: ( ( rule__ParameterCS__IsNotUniqueAssignment_2_1_0_0_0 ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4261:1: ( ( rule__ParameterCS__IsNotUniqueAssignment_2_1_0_0_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4262:1: ( rule__ParameterCS__IsNotUniqueAssignment_2_1_0_0_0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getParameterCSAccess().getIsNotUniqueAssignment_2_1_0_0_0()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4263:1: ( rule__ParameterCS__IsNotUniqueAssignment_2_1_0_0_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4263:2: rule__ParameterCS__IsNotUniqueAssignment_2_1_0_0_0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__ParameterCS__IsNotUniqueAssignment_2_1_0_0_0_in_rule__ParameterCS__Alternatives_2_1_0_09272);
+                    rule__ParameterCS__IsNotUniqueAssignment_2_1_0_0_0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getParameterCSAccess().getIsNotUniqueAssignment_2_1_0_0_0()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4267:6: ( 'unique' )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4267:6: ( 'unique' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4268:1: 'unique'
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getParameterCSAccess().getUniqueKeyword_2_1_0_0_1()); 
+                    }
+                    match(input,50,FollowSets000.FOLLOW_50_in_rule__ParameterCS__Alternatives_2_1_0_09291); if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getParameterCSAccess().getUniqueKeyword_2_1_0_0_1()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ParameterCS__Alternatives_2_1_0_0"
+
+
+    // $ANTLR start "rule__ReferenceCS__Alternatives_6_0_1_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4280:1: rule__ReferenceCS__Alternatives_6_0_1_0 : ( ( ( rule__ReferenceCS__IsComposesAssignment_6_0_1_0_0 ) ) | ( '!composes' ) );
+    public final void rule__ReferenceCS__Alternatives_6_0_1_0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4284:1: ( ( ( rule__ReferenceCS__IsComposesAssignment_6_0_1_0_0 ) ) | ( '!composes' ) )
+            int alt39=2;
+            int LA39_0 = input.LA(1);
+
+            if ( (LA39_0==22) ) {
+                alt39=1;
+            }
+            else if ( (LA39_0==62) ) {
+                alt39=2;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 39, 0, input);
+
+                throw nvae;
+            }
+            switch (alt39) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4285:1: ( ( rule__ReferenceCS__IsComposesAssignment_6_0_1_0_0 ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4285:1: ( ( rule__ReferenceCS__IsComposesAssignment_6_0_1_0_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4286:1: ( rule__ReferenceCS__IsComposesAssignment_6_0_1_0_0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getReferenceCSAccess().getIsComposesAssignment_6_0_1_0_0()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4287:1: ( rule__ReferenceCS__IsComposesAssignment_6_0_1_0_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4287:2: rule__ReferenceCS__IsComposesAssignment_6_0_1_0_0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__ReferenceCS__IsComposesAssignment_6_0_1_0_0_in_rule__ReferenceCS__Alternatives_6_0_1_09325);
+                    rule__ReferenceCS__IsComposesAssignment_6_0_1_0_0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getReferenceCSAccess().getIsComposesAssignment_6_0_1_0_0()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4291:6: ( '!composes' )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4291:6: ( '!composes' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4292:1: '!composes'
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getReferenceCSAccess().getComposesKeyword_6_0_1_0_1()); 
+                    }
+                    match(input,62,FollowSets000.FOLLOW_62_in_rule__ReferenceCS__Alternatives_6_0_1_09344); if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getReferenceCSAccess().getComposesKeyword_6_0_1_0_1()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Alternatives_6_0_1_0"
 
 
     // $ANTLR start "rule__ReferenceCS__Alternatives_6_1_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4220:1: rule__ReferenceCS__Alternatives_6_1_0 : ( ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_0 ) ) | ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_1 ) ) | ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_2 ) ) | ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_3 ) ) | ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_4 ) ) | ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_5 ) ) | ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_6 ) ) | ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_7 ) ) | ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_8 ) ) | ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_9 ) ) | ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_10 ) ) | ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_11 ) ) | ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_12 ) ) | ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_13 ) ) | ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_14 ) ) | ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_15 ) ) | ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_16 ) ) | ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_17 ) ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4304:1: rule__ReferenceCS__Alternatives_6_1_0 : ( ( ( rule__ReferenceCS__IsDerivedAssignment_6_1_0_0 ) ) | ( '!derived' ) );
     public final void rule__ReferenceCS__Alternatives_6_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4224:1: ( ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_0 ) ) | ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_1 ) ) | ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_2 ) ) | ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_3 ) ) | ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_4 ) ) | ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_5 ) ) | ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_6 ) ) | ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_7 ) ) | ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_8 ) ) | ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_9 ) ) | ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_10 ) ) | ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_11 ) ) | ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_12 ) ) | ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_13 ) ) | ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_14 ) ) | ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_15 ) ) | ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_16 ) ) | ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_17 ) ) )
-            int alt32=18;
-            switch ( input.LA(1) ) {
-            case 22:
-                {
-                alt32=1;
-                }
-                break;
-            case 129:
-                {
-                alt32=2;
-                }
-                break;
-            case 26:
-                {
-                alt32=3;
-                }
-                break;
-            case 120:
-                {
-                alt32=4;
-                }
-                break;
-            case 37:
-                {
-                alt32=5;
-                }
-                break;
-            case 122:
-                {
-                alt32=6;
-                }
-                break;
-            case 43:
-                {
-                alt32=7;
-                }
-                break;
-            case 123:
-                {
-                alt32=8;
-                }
-                break;
-            case 45:
-                {
-                alt32=9;
-                }
-                break;
-            case 130:
-                {
-                alt32=10;
-                }
-                break;
-            case 49:
-                {
-                alt32=11;
-                }
-                break;
-            case 124:
-                {
-                alt32=12;
-                }
-                break;
-            case 50:
-                {
-                alt32=13;
-                }
-                break;
-            case 125:
-                {
-                alt32=14;
-                }
-                break;
-            case 51:
-                {
-                alt32=15;
-                }
-                break;
-            case 126:
-                {
-                alt32=16;
-                }
-                break;
-            case 52:
-                {
-                alt32=17;
-                }
-                break;
-            case 127:
-                {
-                alt32=18;
-                }
-                break;
-            default:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4308:1: ( ( ( rule__ReferenceCS__IsDerivedAssignment_6_1_0_0 ) ) | ( '!derived' ) )
+            int alt40=2;
+            int LA40_0 = input.LA(1);
+
+            if ( (LA40_0==26) ) {
+                alt40=1;
+            }
+            else if ( (LA40_0==54) ) {
+                alt40=2;
+            }
+            else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 32, 0, input);
+                    new NoViableAltException("", 40, 0, input);
 
                 throw nvae;
             }
-
-            switch (alt32) {
+            switch (alt40) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4225:1: ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4309:1: ( ( rule__ReferenceCS__IsDerivedAssignment_6_1_0_0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4225:1: ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4226:1: ( rule__ReferenceCS__QualifiersAssignment_6_1_0_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4309:1: ( ( rule__ReferenceCS__IsDerivedAssignment_6_1_0_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4310:1: ( rule__ReferenceCS__IsDerivedAssignment_6_1_0_0 )
                     {
                     if ( state.backtracking==0 ) {
-                       before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_0()); 
+                       before(grammarAccess.getReferenceCSAccess().getIsDerivedAssignment_6_1_0_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4227:1: ( rule__ReferenceCS__QualifiersAssignment_6_1_0_0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4227:2: rule__ReferenceCS__QualifiersAssignment_6_1_0_0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4311:1: ( rule__ReferenceCS__IsDerivedAssignment_6_1_0_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4311:2: rule__ReferenceCS__IsDerivedAssignment_6_1_0_0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__ReferenceCS__QualifiersAssignment_6_1_0_0_in_rule__ReferenceCS__Alternatives_6_1_09302);
-                    rule__ReferenceCS__QualifiersAssignment_6_1_0_0();
+                    pushFollow(FollowSets000.FOLLOW_rule__ReferenceCS__IsDerivedAssignment_6_1_0_0_in_rule__ReferenceCS__Alternatives_6_1_09378);
+                    rule__ReferenceCS__IsDerivedAssignment_6_1_0_0();
 
                     state._fsp--;
                     if (state.failed) return ;
@@ -14184,7 +14068,7 @@
                     }
 
                     if ( state.backtracking==0 ) {
-                       after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_0()); 
+                       after(grammarAccess.getReferenceCSAccess().getIsDerivedAssignment_6_1_0_0()); 
                     }
 
                     }
@@ -14193,491 +14077,17 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4231:6: ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_1 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4315:6: ( '!derived' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4231:6: ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_1 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4232:1: ( rule__ReferenceCS__QualifiersAssignment_6_1_0_1 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4315:6: ( '!derived' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4316:1: '!derived'
                     {
                     if ( state.backtracking==0 ) {
-                       before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_1()); 
+                       before(grammarAccess.getReferenceCSAccess().getDerivedKeyword_6_1_0_1()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4233:1: ( rule__ReferenceCS__QualifiersAssignment_6_1_0_1 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4233:2: rule__ReferenceCS__QualifiersAssignment_6_1_0_1
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__ReferenceCS__QualifiersAssignment_6_1_0_1_in_rule__ReferenceCS__Alternatives_6_1_09320);
-                    rule__ReferenceCS__QualifiersAssignment_6_1_0_1();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
+                    match(input,54,FollowSets000.FOLLOW_54_in_rule__ReferenceCS__Alternatives_6_1_09397); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
-                       after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_1()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 3 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4237:6: ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_2 ) )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4237:6: ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_2 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4238:1: ( rule__ReferenceCS__QualifiersAssignment_6_1_0_2 )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_2()); 
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4239:1: ( rule__ReferenceCS__QualifiersAssignment_6_1_0_2 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4239:2: rule__ReferenceCS__QualifiersAssignment_6_1_0_2
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__ReferenceCS__QualifiersAssignment_6_1_0_2_in_rule__ReferenceCS__Alternatives_6_1_09338);
-                    rule__ReferenceCS__QualifiersAssignment_6_1_0_2();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_2()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 4 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4243:6: ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_3 ) )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4243:6: ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_3 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4244:1: ( rule__ReferenceCS__QualifiersAssignment_6_1_0_3 )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_3()); 
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4245:1: ( rule__ReferenceCS__QualifiersAssignment_6_1_0_3 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4245:2: rule__ReferenceCS__QualifiersAssignment_6_1_0_3
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__ReferenceCS__QualifiersAssignment_6_1_0_3_in_rule__ReferenceCS__Alternatives_6_1_09356);
-                    rule__ReferenceCS__QualifiersAssignment_6_1_0_3();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_3()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 5 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4249:6: ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_4 ) )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4249:6: ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_4 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4250:1: ( rule__ReferenceCS__QualifiersAssignment_6_1_0_4 )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_4()); 
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4251:1: ( rule__ReferenceCS__QualifiersAssignment_6_1_0_4 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4251:2: rule__ReferenceCS__QualifiersAssignment_6_1_0_4
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__ReferenceCS__QualifiersAssignment_6_1_0_4_in_rule__ReferenceCS__Alternatives_6_1_09374);
-                    rule__ReferenceCS__QualifiersAssignment_6_1_0_4();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_4()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 6 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4255:6: ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_5 ) )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4255:6: ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_5 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4256:1: ( rule__ReferenceCS__QualifiersAssignment_6_1_0_5 )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_5()); 
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4257:1: ( rule__ReferenceCS__QualifiersAssignment_6_1_0_5 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4257:2: rule__ReferenceCS__QualifiersAssignment_6_1_0_5
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__ReferenceCS__QualifiersAssignment_6_1_0_5_in_rule__ReferenceCS__Alternatives_6_1_09392);
-                    rule__ReferenceCS__QualifiersAssignment_6_1_0_5();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_5()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 7 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4261:6: ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_6 ) )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4261:6: ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_6 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4262:1: ( rule__ReferenceCS__QualifiersAssignment_6_1_0_6 )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_6()); 
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4263:1: ( rule__ReferenceCS__QualifiersAssignment_6_1_0_6 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4263:2: rule__ReferenceCS__QualifiersAssignment_6_1_0_6
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__ReferenceCS__QualifiersAssignment_6_1_0_6_in_rule__ReferenceCS__Alternatives_6_1_09410);
-                    rule__ReferenceCS__QualifiersAssignment_6_1_0_6();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_6()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 8 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4267:6: ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_7 ) )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4267:6: ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_7 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4268:1: ( rule__ReferenceCS__QualifiersAssignment_6_1_0_7 )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_7()); 
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4269:1: ( rule__ReferenceCS__QualifiersAssignment_6_1_0_7 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4269:2: rule__ReferenceCS__QualifiersAssignment_6_1_0_7
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__ReferenceCS__QualifiersAssignment_6_1_0_7_in_rule__ReferenceCS__Alternatives_6_1_09428);
-                    rule__ReferenceCS__QualifiersAssignment_6_1_0_7();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_7()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 9 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4273:6: ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_8 ) )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4273:6: ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_8 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4274:1: ( rule__ReferenceCS__QualifiersAssignment_6_1_0_8 )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_8()); 
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4275:1: ( rule__ReferenceCS__QualifiersAssignment_6_1_0_8 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4275:2: rule__ReferenceCS__QualifiersAssignment_6_1_0_8
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__ReferenceCS__QualifiersAssignment_6_1_0_8_in_rule__ReferenceCS__Alternatives_6_1_09446);
-                    rule__ReferenceCS__QualifiersAssignment_6_1_0_8();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_8()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 10 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4279:6: ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_9 ) )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4279:6: ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_9 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4280:1: ( rule__ReferenceCS__QualifiersAssignment_6_1_0_9 )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_9()); 
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4281:1: ( rule__ReferenceCS__QualifiersAssignment_6_1_0_9 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4281:2: rule__ReferenceCS__QualifiersAssignment_6_1_0_9
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__ReferenceCS__QualifiersAssignment_6_1_0_9_in_rule__ReferenceCS__Alternatives_6_1_09464);
-                    rule__ReferenceCS__QualifiersAssignment_6_1_0_9();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_9()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 11 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4285:6: ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_10 ) )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4285:6: ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_10 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4286:1: ( rule__ReferenceCS__QualifiersAssignment_6_1_0_10 )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_10()); 
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4287:1: ( rule__ReferenceCS__QualifiersAssignment_6_1_0_10 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4287:2: rule__ReferenceCS__QualifiersAssignment_6_1_0_10
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__ReferenceCS__QualifiersAssignment_6_1_0_10_in_rule__ReferenceCS__Alternatives_6_1_09482);
-                    rule__ReferenceCS__QualifiersAssignment_6_1_0_10();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_10()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 12 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4291:6: ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_11 ) )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4291:6: ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_11 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4292:1: ( rule__ReferenceCS__QualifiersAssignment_6_1_0_11 )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_11()); 
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4293:1: ( rule__ReferenceCS__QualifiersAssignment_6_1_0_11 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4293:2: rule__ReferenceCS__QualifiersAssignment_6_1_0_11
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__ReferenceCS__QualifiersAssignment_6_1_0_11_in_rule__ReferenceCS__Alternatives_6_1_09500);
-                    rule__ReferenceCS__QualifiersAssignment_6_1_0_11();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_11()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 13 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4297:6: ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_12 ) )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4297:6: ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_12 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4298:1: ( rule__ReferenceCS__QualifiersAssignment_6_1_0_12 )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_12()); 
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4299:1: ( rule__ReferenceCS__QualifiersAssignment_6_1_0_12 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4299:2: rule__ReferenceCS__QualifiersAssignment_6_1_0_12
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__ReferenceCS__QualifiersAssignment_6_1_0_12_in_rule__ReferenceCS__Alternatives_6_1_09518);
-                    rule__ReferenceCS__QualifiersAssignment_6_1_0_12();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_12()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 14 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4303:6: ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_13 ) )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4303:6: ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_13 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4304:1: ( rule__ReferenceCS__QualifiersAssignment_6_1_0_13 )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_13()); 
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4305:1: ( rule__ReferenceCS__QualifiersAssignment_6_1_0_13 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4305:2: rule__ReferenceCS__QualifiersAssignment_6_1_0_13
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__ReferenceCS__QualifiersAssignment_6_1_0_13_in_rule__ReferenceCS__Alternatives_6_1_09536);
-                    rule__ReferenceCS__QualifiersAssignment_6_1_0_13();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_13()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 15 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4309:6: ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_14 ) )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4309:6: ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_14 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4310:1: ( rule__ReferenceCS__QualifiersAssignment_6_1_0_14 )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_14()); 
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4311:1: ( rule__ReferenceCS__QualifiersAssignment_6_1_0_14 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4311:2: rule__ReferenceCS__QualifiersAssignment_6_1_0_14
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__ReferenceCS__QualifiersAssignment_6_1_0_14_in_rule__ReferenceCS__Alternatives_6_1_09554);
-                    rule__ReferenceCS__QualifiersAssignment_6_1_0_14();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_14()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 16 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4315:6: ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_15 ) )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4315:6: ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_15 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4316:1: ( rule__ReferenceCS__QualifiersAssignment_6_1_0_15 )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_15()); 
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4317:1: ( rule__ReferenceCS__QualifiersAssignment_6_1_0_15 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4317:2: rule__ReferenceCS__QualifiersAssignment_6_1_0_15
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__ReferenceCS__QualifiersAssignment_6_1_0_15_in_rule__ReferenceCS__Alternatives_6_1_09572);
-                    rule__ReferenceCS__QualifiersAssignment_6_1_0_15();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_15()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 17 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4321:6: ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_16 ) )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4321:6: ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_16 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4322:1: ( rule__ReferenceCS__QualifiersAssignment_6_1_0_16 )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_16()); 
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4323:1: ( rule__ReferenceCS__QualifiersAssignment_6_1_0_16 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4323:2: rule__ReferenceCS__QualifiersAssignment_6_1_0_16
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__ReferenceCS__QualifiersAssignment_6_1_0_16_in_rule__ReferenceCS__Alternatives_6_1_09590);
-                    rule__ReferenceCS__QualifiersAssignment_6_1_0_16();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_16()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 18 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4327:6: ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_17 ) )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4327:6: ( ( rule__ReferenceCS__QualifiersAssignment_6_1_0_17 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4328:1: ( rule__ReferenceCS__QualifiersAssignment_6_1_0_17 )
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_17()); 
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4329:1: ( rule__ReferenceCS__QualifiersAssignment_6_1_0_17 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4329:2: rule__ReferenceCS__QualifiersAssignment_6_1_0_17
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__ReferenceCS__QualifiersAssignment_6_1_0_17_in_rule__ReferenceCS__Alternatives_6_1_09608);
-                    rule__ReferenceCS__QualifiersAssignment_6_1_0_17();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_6_1_0_17()); 
+                       after(grammarAccess.getReferenceCSAccess().getDerivedKeyword_6_1_0_1()); 
                     }
 
                     }
@@ -14702,44 +14112,674 @@
     // $ANTLR end "rule__ReferenceCS__Alternatives_6_1_0"
 
 
+    // $ANTLR start "rule__ReferenceCS__Alternatives_6_2_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4328:1: rule__ReferenceCS__Alternatives_6_2_0 : ( ( ( rule__ReferenceCS__IsOrderedAssignment_6_2_0_0 ) ) | ( '!ordered' ) );
+    public final void rule__ReferenceCS__Alternatives_6_2_0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4332:1: ( ( ( rule__ReferenceCS__IsOrderedAssignment_6_2_0_0 ) ) | ( '!ordered' ) )
+            int alt41=2;
+            int LA41_0 = input.LA(1);
+
+            if ( (LA41_0==37) ) {
+                alt41=1;
+            }
+            else if ( (LA41_0==56) ) {
+                alt41=2;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 41, 0, input);
+
+                throw nvae;
+            }
+            switch (alt41) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4333:1: ( ( rule__ReferenceCS__IsOrderedAssignment_6_2_0_0 ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4333:1: ( ( rule__ReferenceCS__IsOrderedAssignment_6_2_0_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4334:1: ( rule__ReferenceCS__IsOrderedAssignment_6_2_0_0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getReferenceCSAccess().getIsOrderedAssignment_6_2_0_0()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4335:1: ( rule__ReferenceCS__IsOrderedAssignment_6_2_0_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4335:2: rule__ReferenceCS__IsOrderedAssignment_6_2_0_0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__ReferenceCS__IsOrderedAssignment_6_2_0_0_in_rule__ReferenceCS__Alternatives_6_2_09431);
+                    rule__ReferenceCS__IsOrderedAssignment_6_2_0_0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getReferenceCSAccess().getIsOrderedAssignment_6_2_0_0()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4339:6: ( '!ordered' )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4339:6: ( '!ordered' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4340:1: '!ordered'
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getReferenceCSAccess().getOrderedKeyword_6_2_0_1()); 
+                    }
+                    match(input,56,FollowSets000.FOLLOW_56_in_rule__ReferenceCS__Alternatives_6_2_09450); if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getReferenceCSAccess().getOrderedKeyword_6_2_0_1()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Alternatives_6_2_0"
+
+
+    // $ANTLR start "rule__ReferenceCS__Alternatives_6_3_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4352:1: rule__ReferenceCS__Alternatives_6_3_0 : ( ( ( rule__ReferenceCS__IsReadonlyAssignment_6_3_0_0 ) ) | ( '!readonly' ) );
+    public final void rule__ReferenceCS__Alternatives_6_3_0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4356:1: ( ( ( rule__ReferenceCS__IsReadonlyAssignment_6_3_0_0 ) ) | ( '!readonly' ) )
+            int alt42=2;
+            int LA42_0 = input.LA(1);
+
+            if ( (LA42_0==43) ) {
+                alt42=1;
+            }
+            else if ( (LA42_0==57) ) {
+                alt42=2;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 42, 0, input);
+
+                throw nvae;
+            }
+            switch (alt42) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4357:1: ( ( rule__ReferenceCS__IsReadonlyAssignment_6_3_0_0 ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4357:1: ( ( rule__ReferenceCS__IsReadonlyAssignment_6_3_0_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4358:1: ( rule__ReferenceCS__IsReadonlyAssignment_6_3_0_0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getReferenceCSAccess().getIsReadonlyAssignment_6_3_0_0()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4359:1: ( rule__ReferenceCS__IsReadonlyAssignment_6_3_0_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4359:2: rule__ReferenceCS__IsReadonlyAssignment_6_3_0_0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__ReferenceCS__IsReadonlyAssignment_6_3_0_0_in_rule__ReferenceCS__Alternatives_6_3_09484);
+                    rule__ReferenceCS__IsReadonlyAssignment_6_3_0_0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getReferenceCSAccess().getIsReadonlyAssignment_6_3_0_0()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4363:6: ( '!readonly' )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4363:6: ( '!readonly' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4364:1: '!readonly'
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getReferenceCSAccess().getReadonlyKeyword_6_3_0_1()); 
+                    }
+                    match(input,57,FollowSets000.FOLLOW_57_in_rule__ReferenceCS__Alternatives_6_3_09503); if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getReferenceCSAccess().getReadonlyKeyword_6_3_0_1()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Alternatives_6_3_0"
+
+
+    // $ANTLR start "rule__ReferenceCS__Alternatives_6_4_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4376:1: rule__ReferenceCS__Alternatives_6_4_0 : ( ( ( rule__ReferenceCS__IsResolveAssignment_6_4_0_0 ) ) | ( '!resolve' ) );
+    public final void rule__ReferenceCS__Alternatives_6_4_0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4380:1: ( ( ( rule__ReferenceCS__IsResolveAssignment_6_4_0_0 ) ) | ( '!resolve' ) )
+            int alt43=2;
+            int LA43_0 = input.LA(1);
+
+            if ( (LA43_0==45) ) {
+                alt43=1;
+            }
+            else if ( (LA43_0==63) ) {
+                alt43=2;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 43, 0, input);
+
+                throw nvae;
+            }
+            switch (alt43) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4381:1: ( ( rule__ReferenceCS__IsResolveAssignment_6_4_0_0 ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4381:1: ( ( rule__ReferenceCS__IsResolveAssignment_6_4_0_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4382:1: ( rule__ReferenceCS__IsResolveAssignment_6_4_0_0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getReferenceCSAccess().getIsResolveAssignment_6_4_0_0()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4383:1: ( rule__ReferenceCS__IsResolveAssignment_6_4_0_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4383:2: rule__ReferenceCS__IsResolveAssignment_6_4_0_0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__ReferenceCS__IsResolveAssignment_6_4_0_0_in_rule__ReferenceCS__Alternatives_6_4_09537);
+                    rule__ReferenceCS__IsResolveAssignment_6_4_0_0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getReferenceCSAccess().getIsResolveAssignment_6_4_0_0()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4387:6: ( '!resolve' )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4387:6: ( '!resolve' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4388:1: '!resolve'
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getReferenceCSAccess().getResolveKeyword_6_4_0_1()); 
+                    }
+                    match(input,63,FollowSets000.FOLLOW_63_in_rule__ReferenceCS__Alternatives_6_4_09556); if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getReferenceCSAccess().getResolveKeyword_6_4_0_1()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Alternatives_6_4_0"
+
+
+    // $ANTLR start "rule__ReferenceCS__Alternatives_6_5_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4400:1: rule__ReferenceCS__Alternatives_6_5_0 : ( ( ( rule__ReferenceCS__IsTransientAssignment_6_5_0_0 ) ) | ( '!transient' ) );
+    public final void rule__ReferenceCS__Alternatives_6_5_0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4404:1: ( ( ( rule__ReferenceCS__IsTransientAssignment_6_5_0_0 ) ) | ( '!transient' ) )
+            int alt44=2;
+            int LA44_0 = input.LA(1);
+
+            if ( (LA44_0==49) ) {
+                alt44=1;
+            }
+            else if ( (LA44_0==58) ) {
+                alt44=2;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 44, 0, input);
+
+                throw nvae;
+            }
+            switch (alt44) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4405:1: ( ( rule__ReferenceCS__IsTransientAssignment_6_5_0_0 ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4405:1: ( ( rule__ReferenceCS__IsTransientAssignment_6_5_0_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4406:1: ( rule__ReferenceCS__IsTransientAssignment_6_5_0_0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getReferenceCSAccess().getIsTransientAssignment_6_5_0_0()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4407:1: ( rule__ReferenceCS__IsTransientAssignment_6_5_0_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4407:2: rule__ReferenceCS__IsTransientAssignment_6_5_0_0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__ReferenceCS__IsTransientAssignment_6_5_0_0_in_rule__ReferenceCS__Alternatives_6_5_09590);
+                    rule__ReferenceCS__IsTransientAssignment_6_5_0_0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getReferenceCSAccess().getIsTransientAssignment_6_5_0_0()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4411:6: ( '!transient' )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4411:6: ( '!transient' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4412:1: '!transient'
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getReferenceCSAccess().getTransientKeyword_6_5_0_1()); 
+                    }
+                    match(input,58,FollowSets000.FOLLOW_58_in_rule__ReferenceCS__Alternatives_6_5_09609); if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getReferenceCSAccess().getTransientKeyword_6_5_0_1()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Alternatives_6_5_0"
+
+
+    // $ANTLR start "rule__ReferenceCS__Alternatives_6_6_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4424:1: rule__ReferenceCS__Alternatives_6_6_0 : ( ( ( rule__ReferenceCS__IsNotUniqueAssignment_6_6_0_0 ) ) | ( 'unique' ) );
+    public final void rule__ReferenceCS__Alternatives_6_6_0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4428:1: ( ( ( rule__ReferenceCS__IsNotUniqueAssignment_6_6_0_0 ) ) | ( 'unique' ) )
+            int alt45=2;
+            int LA45_0 = input.LA(1);
+
+            if ( (LA45_0==129) ) {
+                alt45=1;
+            }
+            else if ( (LA45_0==50) ) {
+                alt45=2;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 45, 0, input);
+
+                throw nvae;
+            }
+            switch (alt45) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4429:1: ( ( rule__ReferenceCS__IsNotUniqueAssignment_6_6_0_0 ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4429:1: ( ( rule__ReferenceCS__IsNotUniqueAssignment_6_6_0_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4430:1: ( rule__ReferenceCS__IsNotUniqueAssignment_6_6_0_0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getReferenceCSAccess().getIsNotUniqueAssignment_6_6_0_0()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4431:1: ( rule__ReferenceCS__IsNotUniqueAssignment_6_6_0_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4431:2: rule__ReferenceCS__IsNotUniqueAssignment_6_6_0_0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__ReferenceCS__IsNotUniqueAssignment_6_6_0_0_in_rule__ReferenceCS__Alternatives_6_6_09643);
+                    rule__ReferenceCS__IsNotUniqueAssignment_6_6_0_0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getReferenceCSAccess().getIsNotUniqueAssignment_6_6_0_0()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4435:6: ( 'unique' )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4435:6: ( 'unique' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4436:1: 'unique'
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getReferenceCSAccess().getUniqueKeyword_6_6_0_1()); 
+                    }
+                    match(input,50,FollowSets000.FOLLOW_50_in_rule__ReferenceCS__Alternatives_6_6_09662); if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getReferenceCSAccess().getUniqueKeyword_6_6_0_1()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Alternatives_6_6_0"
+
+
+    // $ANTLR start "rule__ReferenceCS__Alternatives_6_7_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4448:1: rule__ReferenceCS__Alternatives_6_7_0 : ( ( ( rule__ReferenceCS__IsUnsettableAssignment_6_7_0_0 ) ) | ( '!unsettable' ) );
+    public final void rule__ReferenceCS__Alternatives_6_7_0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4452:1: ( ( ( rule__ReferenceCS__IsUnsettableAssignment_6_7_0_0 ) ) | ( '!unsettable' ) )
+            int alt46=2;
+            int LA46_0 = input.LA(1);
+
+            if ( (LA46_0==51) ) {
+                alt46=1;
+            }
+            else if ( (LA46_0==59) ) {
+                alt46=2;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 46, 0, input);
+
+                throw nvae;
+            }
+            switch (alt46) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4453:1: ( ( rule__ReferenceCS__IsUnsettableAssignment_6_7_0_0 ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4453:1: ( ( rule__ReferenceCS__IsUnsettableAssignment_6_7_0_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4454:1: ( rule__ReferenceCS__IsUnsettableAssignment_6_7_0_0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getReferenceCSAccess().getIsUnsettableAssignment_6_7_0_0()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4455:1: ( rule__ReferenceCS__IsUnsettableAssignment_6_7_0_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4455:2: rule__ReferenceCS__IsUnsettableAssignment_6_7_0_0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__ReferenceCS__IsUnsettableAssignment_6_7_0_0_in_rule__ReferenceCS__Alternatives_6_7_09696);
+                    rule__ReferenceCS__IsUnsettableAssignment_6_7_0_0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getReferenceCSAccess().getIsUnsettableAssignment_6_7_0_0()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4459:6: ( '!unsettable' )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4459:6: ( '!unsettable' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4460:1: '!unsettable'
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getReferenceCSAccess().getUnsettableKeyword_6_7_0_1()); 
+                    }
+                    match(input,59,FollowSets000.FOLLOW_59_in_rule__ReferenceCS__Alternatives_6_7_09715); if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getReferenceCSAccess().getUnsettableKeyword_6_7_0_1()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Alternatives_6_7_0"
+
+
+    // $ANTLR start "rule__ReferenceCS__Alternatives_6_8_0_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4472:1: rule__ReferenceCS__Alternatives_6_8_0_0 : ( ( ( rule__ReferenceCS__IsVolatileAssignment_6_8_0_0_0 ) ) | ( '!volatile' ) );
+    public final void rule__ReferenceCS__Alternatives_6_8_0_0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4476:1: ( ( ( rule__ReferenceCS__IsVolatileAssignment_6_8_0_0_0 ) ) | ( '!volatile' ) )
+            int alt47=2;
+            int LA47_0 = input.LA(1);
+
+            if ( (LA47_0==52) ) {
+                alt47=1;
+            }
+            else if ( (LA47_0==60) ) {
+                alt47=2;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 47, 0, input);
+
+                throw nvae;
+            }
+            switch (alt47) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4477:1: ( ( rule__ReferenceCS__IsVolatileAssignment_6_8_0_0_0 ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4477:1: ( ( rule__ReferenceCS__IsVolatileAssignment_6_8_0_0_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4478:1: ( rule__ReferenceCS__IsVolatileAssignment_6_8_0_0_0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getReferenceCSAccess().getIsVolatileAssignment_6_8_0_0_0()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4479:1: ( rule__ReferenceCS__IsVolatileAssignment_6_8_0_0_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4479:2: rule__ReferenceCS__IsVolatileAssignment_6_8_0_0_0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__ReferenceCS__IsVolatileAssignment_6_8_0_0_0_in_rule__ReferenceCS__Alternatives_6_8_0_09749);
+                    rule__ReferenceCS__IsVolatileAssignment_6_8_0_0_0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getReferenceCSAccess().getIsVolatileAssignment_6_8_0_0_0()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4483:6: ( '!volatile' )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4483:6: ( '!volatile' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4484:1: '!volatile'
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getReferenceCSAccess().getVolatileKeyword_6_8_0_0_1()); 
+                    }
+                    match(input,60,FollowSets000.FOLLOW_60_in_rule__ReferenceCS__Alternatives_6_8_0_09768); if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getReferenceCSAccess().getVolatileKeyword_6_8_0_0_1()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Alternatives_6_8_0_0"
+
+
     // $ANTLR start "rule__ReferenceCS__Alternatives_7"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4338:1: rule__ReferenceCS__Alternatives_7 : ( ( ( rule__ReferenceCS__Group_7_0__0 ) ) | ( ';' ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4496:1: rule__ReferenceCS__Alternatives_7 : ( ( ( rule__ReferenceCS__Group_7_0__0 ) ) | ( ';' ) );
     public final void rule__ReferenceCS__Alternatives_7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4342:1: ( ( ( rule__ReferenceCS__Group_7_0__0 ) ) | ( ';' ) )
-            int alt33=2;
-            int LA33_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4500:1: ( ( ( rule__ReferenceCS__Group_7_0__0 ) ) | ( ';' ) )
+            int alt48=2;
+            int LA48_0 = input.LA(1);
 
-            if ( (LA33_0==99) ) {
-                alt33=1;
+            if ( (LA48_0==108) ) {
+                alt48=1;
             }
-            else if ( (LA33_0==53) ) {
-                alt33=2;
+            else if ( (LA48_0==53) ) {
+                alt48=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 33, 0, input);
+                    new NoViableAltException("", 48, 0, input);
 
                 throw nvae;
             }
-            switch (alt33) {
+            switch (alt48) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4343:1: ( ( rule__ReferenceCS__Group_7_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4501:1: ( ( rule__ReferenceCS__Group_7_0__0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4343:1: ( ( rule__ReferenceCS__Group_7_0__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4344:1: ( rule__ReferenceCS__Group_7_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4501:1: ( ( rule__ReferenceCS__Group_7_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4502:1: ( rule__ReferenceCS__Group_7_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getReferenceCSAccess().getGroup_7_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4345:1: ( rule__ReferenceCS__Group_7_0__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4345:2: rule__ReferenceCS__Group_7_0__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4503:1: ( rule__ReferenceCS__Group_7_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4503:2: rule__ReferenceCS__Group_7_0__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__ReferenceCS__Group_7_0__0_in_rule__ReferenceCS__Alternatives_79641);
+                    pushFollow(FollowSets000.FOLLOW_rule__ReferenceCS__Group_7_0__0_in_rule__ReferenceCS__Alternatives_79802);
                     rule__ReferenceCS__Group_7_0__0();
 
                     state._fsp--;
@@ -14757,15 +14797,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4349:6: ( ';' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4507:6: ( ';' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4349:6: ( ';' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4350:1: ';'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4507:6: ( ';' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4508:1: ';'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_1()); 
                     }
-                    match(input,53,FollowSets000.FOLLOW_53_in_rule__ReferenceCS__Alternatives_79660); if (state.failed) return ;
+                    match(input,53,FollowSets000.FOLLOW_53_in_rule__ReferenceCS__Alternatives_79821); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_1()); 
                     }
@@ -14793,59 +14833,59 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Alternatives_7_0_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4362:1: rule__ReferenceCS__Alternatives_7_0_1 : ( ( ( rule__ReferenceCS__OwnedAnnotationsAssignment_7_0_1_0 ) ) | ( ( rule__ReferenceCS__Group_7_0_1_1__0 ) ) | ( ( rule__ReferenceCS__Group_7_0_1_2__0 ) ) | ( ( rule__ReferenceCS__Group_7_0_1_3__0 ) ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4520:1: rule__ReferenceCS__Alternatives_7_0_1 : ( ( ( rule__ReferenceCS__OwnedAnnotationsAssignment_7_0_1_0 ) ) | ( ( rule__ReferenceCS__Group_7_0_1_1__0 ) ) | ( ( rule__ReferenceCS__Group_7_0_1_2__0 ) ) | ( ( rule__ReferenceCS__Group_7_0_1_3__0 ) ) );
     public final void rule__ReferenceCS__Alternatives_7_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4366:1: ( ( ( rule__ReferenceCS__OwnedAnnotationsAssignment_7_0_1_0 ) ) | ( ( rule__ReferenceCS__Group_7_0_1_1__0 ) ) | ( ( rule__ReferenceCS__Group_7_0_1_2__0 ) ) | ( ( rule__ReferenceCS__Group_7_0_1_3__0 ) ) )
-            int alt34=4;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4524:1: ( ( ( rule__ReferenceCS__OwnedAnnotationsAssignment_7_0_1_0 ) ) | ( ( rule__ReferenceCS__Group_7_0_1_1__0 ) ) | ( ( rule__ReferenceCS__Group_7_0_1_2__0 ) ) | ( ( rule__ReferenceCS__Group_7_0_1_3__0 ) ) )
+            int alt49=4;
             switch ( input.LA(1) ) {
-            case 55:
-            case 56:
-            case 60:
+            case 64:
+            case 65:
+            case 69:
                 {
-                alt34=1;
+                alt49=1;
                 }
                 break;
             case 33:
                 {
-                alt34=2;
+                alt49=2;
                 }
                 break;
             case 25:
                 {
-                alt34=3;
+                alt49=3;
                 }
                 break;
             case 31:
                 {
-                alt34=4;
+                alt49=4;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 34, 0, input);
+                    new NoViableAltException("", 49, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt34) {
+            switch (alt49) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4367:1: ( ( rule__ReferenceCS__OwnedAnnotationsAssignment_7_0_1_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4525:1: ( ( rule__ReferenceCS__OwnedAnnotationsAssignment_7_0_1_0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4367:1: ( ( rule__ReferenceCS__OwnedAnnotationsAssignment_7_0_1_0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4368:1: ( rule__ReferenceCS__OwnedAnnotationsAssignment_7_0_1_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4525:1: ( ( rule__ReferenceCS__OwnedAnnotationsAssignment_7_0_1_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4526:1: ( rule__ReferenceCS__OwnedAnnotationsAssignment_7_0_1_0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getReferenceCSAccess().getOwnedAnnotationsAssignment_7_0_1_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4369:1: ( rule__ReferenceCS__OwnedAnnotationsAssignment_7_0_1_0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4369:2: rule__ReferenceCS__OwnedAnnotationsAssignment_7_0_1_0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4527:1: ( rule__ReferenceCS__OwnedAnnotationsAssignment_7_0_1_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4527:2: rule__ReferenceCS__OwnedAnnotationsAssignment_7_0_1_0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__ReferenceCS__OwnedAnnotationsAssignment_7_0_1_0_in_rule__ReferenceCS__Alternatives_7_0_19694);
+                    pushFollow(FollowSets000.FOLLOW_rule__ReferenceCS__OwnedAnnotationsAssignment_7_0_1_0_in_rule__ReferenceCS__Alternatives_7_0_19855);
                     rule__ReferenceCS__OwnedAnnotationsAssignment_7_0_1_0();
 
                     state._fsp--;
@@ -14863,18 +14903,18 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4373:6: ( ( rule__ReferenceCS__Group_7_0_1_1__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4531:6: ( ( rule__ReferenceCS__Group_7_0_1_1__0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4373:6: ( ( rule__ReferenceCS__Group_7_0_1_1__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4374:1: ( rule__ReferenceCS__Group_7_0_1_1__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4531:6: ( ( rule__ReferenceCS__Group_7_0_1_1__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4532:1: ( rule__ReferenceCS__Group_7_0_1_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getReferenceCSAccess().getGroup_7_0_1_1()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4375:1: ( rule__ReferenceCS__Group_7_0_1_1__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4375:2: rule__ReferenceCS__Group_7_0_1_1__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4533:1: ( rule__ReferenceCS__Group_7_0_1_1__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4533:2: rule__ReferenceCS__Group_7_0_1_1__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__ReferenceCS__Group_7_0_1_1__0_in_rule__ReferenceCS__Alternatives_7_0_19712);
+                    pushFollow(FollowSets000.FOLLOW_rule__ReferenceCS__Group_7_0_1_1__0_in_rule__ReferenceCS__Alternatives_7_0_19873);
                     rule__ReferenceCS__Group_7_0_1_1__0();
 
                     state._fsp--;
@@ -14892,18 +14932,18 @@
                     }
                     break;
                 case 3 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4379:6: ( ( rule__ReferenceCS__Group_7_0_1_2__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4537:6: ( ( rule__ReferenceCS__Group_7_0_1_2__0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4379:6: ( ( rule__ReferenceCS__Group_7_0_1_2__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4380:1: ( rule__ReferenceCS__Group_7_0_1_2__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4537:6: ( ( rule__ReferenceCS__Group_7_0_1_2__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4538:1: ( rule__ReferenceCS__Group_7_0_1_2__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getReferenceCSAccess().getGroup_7_0_1_2()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4381:1: ( rule__ReferenceCS__Group_7_0_1_2__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4381:2: rule__ReferenceCS__Group_7_0_1_2__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4539:1: ( rule__ReferenceCS__Group_7_0_1_2__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4539:2: rule__ReferenceCS__Group_7_0_1_2__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__ReferenceCS__Group_7_0_1_2__0_in_rule__ReferenceCS__Alternatives_7_0_19730);
+                    pushFollow(FollowSets000.FOLLOW_rule__ReferenceCS__Group_7_0_1_2__0_in_rule__ReferenceCS__Alternatives_7_0_19891);
                     rule__ReferenceCS__Group_7_0_1_2__0();
 
                     state._fsp--;
@@ -14921,18 +14961,18 @@
                     }
                     break;
                 case 4 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4385:6: ( ( rule__ReferenceCS__Group_7_0_1_3__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4543:6: ( ( rule__ReferenceCS__Group_7_0_1_3__0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4385:6: ( ( rule__ReferenceCS__Group_7_0_1_3__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4386:1: ( rule__ReferenceCS__Group_7_0_1_3__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4543:6: ( ( rule__ReferenceCS__Group_7_0_1_3__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4544:1: ( rule__ReferenceCS__Group_7_0_1_3__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getReferenceCSAccess().getGroup_7_0_1_3()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4387:1: ( rule__ReferenceCS__Group_7_0_1_3__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4387:2: rule__ReferenceCS__Group_7_0_1_3__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4545:1: ( rule__ReferenceCS__Group_7_0_1_3__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4545:2: rule__ReferenceCS__Group_7_0_1_3__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__ReferenceCS__Group_7_0_1_3__0_in_rule__ReferenceCS__Alternatives_7_0_19748);
+                    pushFollow(FollowSets000.FOLLOW_rule__ReferenceCS__Group_7_0_1_3__0_in_rule__ReferenceCS__Alternatives_7_0_19909);
                     rule__ReferenceCS__Group_7_0_1_3__0();
 
                     state._fsp--;
@@ -14967,43 +15007,43 @@
 
 
     // $ANTLR start "rule__SpecificationCS__Alternatives"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4396:1: rule__SpecificationCS__Alternatives : ( ( ( rule__SpecificationCS__OwnedExpressionAssignment_0 ) ) | ( ( rule__SpecificationCS__ExprStringAssignment_1 ) ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4554:1: rule__SpecificationCS__Alternatives : ( ( ( rule__SpecificationCS__OwnedExpressionAssignment_0 ) ) | ( ( rule__SpecificationCS__ExprStringAssignment_1 ) ) );
     public final void rule__SpecificationCS__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4400:1: ( ( ( rule__SpecificationCS__OwnedExpressionAssignment_0 ) ) | ( ( rule__SpecificationCS__ExprStringAssignment_1 ) ) )
-            int alt35=2;
-            int LA35_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4558:1: ( ( ( rule__SpecificationCS__OwnedExpressionAssignment_0 ) ) | ( ( rule__SpecificationCS__ExprStringAssignment_1 ) ) )
+            int alt50=2;
+            int LA50_0 = input.LA(1);
 
-            if ( ((LA35_0>=RULE_INT && LA35_0<=RULE_SINGLE_QUOTED_STRING)||(LA35_0>=RULE_SIMPLE_ID && LA35_0<=RULE_ESCAPED_ID)||(LA35_0>=17 && LA35_0<=52)||(LA35_0>=55 && LA35_0<=63)||(LA35_0>=80 && LA35_0<=93)||LA35_0==95||(LA35_0>=105 && LA35_0<=107)||LA35_0==112||(LA35_0>=117 && LA35_0<=118)||(LA35_0>=131 && LA35_0<=132)) ) {
-                alt35=1;
+            if ( ((LA50_0>=RULE_INT && LA50_0<=RULE_SINGLE_QUOTED_STRING)||(LA50_0>=RULE_SIMPLE_ID && LA50_0<=RULE_ESCAPED_ID)||(LA50_0>=17 && LA50_0<=52)||(LA50_0>=64 && LA50_0<=72)||(LA50_0>=89 && LA50_0<=102)||LA50_0==104||(LA50_0>=114 && LA50_0<=116)||LA50_0==121||(LA50_0>=126 && LA50_0<=127)||(LA50_0>=131 && LA50_0<=132)) ) {
+                alt50=1;
             }
-            else if ( (LA35_0==RULE_UNQUOTED_STRING) ) {
-                alt35=2;
+            else if ( (LA50_0==RULE_UNQUOTED_STRING) ) {
+                alt50=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 35, 0, input);
+                    new NoViableAltException("", 50, 0, input);
 
                 throw nvae;
             }
-            switch (alt35) {
+            switch (alt50) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4401:1: ( ( rule__SpecificationCS__OwnedExpressionAssignment_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4559:1: ( ( rule__SpecificationCS__OwnedExpressionAssignment_0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4401:1: ( ( rule__SpecificationCS__OwnedExpressionAssignment_0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4402:1: ( rule__SpecificationCS__OwnedExpressionAssignment_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4559:1: ( ( rule__SpecificationCS__OwnedExpressionAssignment_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4560:1: ( rule__SpecificationCS__OwnedExpressionAssignment_0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getSpecificationCSAccess().getOwnedExpressionAssignment_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4403:1: ( rule__SpecificationCS__OwnedExpressionAssignment_0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4403:2: rule__SpecificationCS__OwnedExpressionAssignment_0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4561:1: ( rule__SpecificationCS__OwnedExpressionAssignment_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4561:2: rule__SpecificationCS__OwnedExpressionAssignment_0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__SpecificationCS__OwnedExpressionAssignment_0_in_rule__SpecificationCS__Alternatives9781);
+                    pushFollow(FollowSets000.FOLLOW_rule__SpecificationCS__OwnedExpressionAssignment_0_in_rule__SpecificationCS__Alternatives9942);
                     rule__SpecificationCS__OwnedExpressionAssignment_0();
 
                     state._fsp--;
@@ -15021,18 +15061,18 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4407:6: ( ( rule__SpecificationCS__ExprStringAssignment_1 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4565:6: ( ( rule__SpecificationCS__ExprStringAssignment_1 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4407:6: ( ( rule__SpecificationCS__ExprStringAssignment_1 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4408:1: ( rule__SpecificationCS__ExprStringAssignment_1 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4565:6: ( ( rule__SpecificationCS__ExprStringAssignment_1 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4566:1: ( rule__SpecificationCS__ExprStringAssignment_1 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getSpecificationCSAccess().getExprStringAssignment_1()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4409:1: ( rule__SpecificationCS__ExprStringAssignment_1 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4409:2: rule__SpecificationCS__ExprStringAssignment_1
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4567:1: ( rule__SpecificationCS__ExprStringAssignment_1 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4567:2: rule__SpecificationCS__ExprStringAssignment_1
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__SpecificationCS__ExprStringAssignment_1_in_rule__SpecificationCS__Alternatives9799);
+                    pushFollow(FollowSets000.FOLLOW_rule__SpecificationCS__ExprStringAssignment_1_in_rule__SpecificationCS__Alternatives9960);
                     rule__SpecificationCS__ExprStringAssignment_1();
 
                     state._fsp--;
@@ -15067,43 +15107,43 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Alternatives_7"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4418:1: rule__StructuredClassCS__Alternatives_7 : ( ( ( rule__StructuredClassCS__Group_7_0__0 ) ) | ( ';' ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4576:1: rule__StructuredClassCS__Alternatives_7 : ( ( ( rule__StructuredClassCS__Group_7_0__0 ) ) | ( ';' ) );
     public final void rule__StructuredClassCS__Alternatives_7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4422:1: ( ( ( rule__StructuredClassCS__Group_7_0__0 ) ) | ( ';' ) )
-            int alt36=2;
-            int LA36_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4580:1: ( ( ( rule__StructuredClassCS__Group_7_0__0 ) ) | ( ';' ) )
+            int alt51=2;
+            int LA51_0 = input.LA(1);
 
-            if ( (LA36_0==99) ) {
-                alt36=1;
+            if ( (LA51_0==108) ) {
+                alt51=1;
             }
-            else if ( (LA36_0==53) ) {
-                alt36=2;
+            else if ( (LA51_0==53) ) {
+                alt51=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 36, 0, input);
+                    new NoViableAltException("", 51, 0, input);
 
                 throw nvae;
             }
-            switch (alt36) {
+            switch (alt51) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4423:1: ( ( rule__StructuredClassCS__Group_7_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4581:1: ( ( rule__StructuredClassCS__Group_7_0__0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4423:1: ( ( rule__StructuredClassCS__Group_7_0__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4424:1: ( rule__StructuredClassCS__Group_7_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4581:1: ( ( rule__StructuredClassCS__Group_7_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4582:1: ( rule__StructuredClassCS__Group_7_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getStructuredClassCSAccess().getGroup_7_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4425:1: ( rule__StructuredClassCS__Group_7_0__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4425:2: rule__StructuredClassCS__Group_7_0__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4583:1: ( rule__StructuredClassCS__Group_7_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4583:2: rule__StructuredClassCS__Group_7_0__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__StructuredClassCS__Group_7_0__0_in_rule__StructuredClassCS__Alternatives_79832);
+                    pushFollow(FollowSets000.FOLLOW_rule__StructuredClassCS__Group_7_0__0_in_rule__StructuredClassCS__Alternatives_79993);
                     rule__StructuredClassCS__Group_7_0__0();
 
                     state._fsp--;
@@ -15121,15 +15161,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4429:6: ( ';' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4587:6: ( ';' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4429:6: ( ';' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4430:1: ';'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4587:6: ( ';' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4588:1: ';'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getStructuredClassCSAccess().getSemicolonKeyword_7_1()); 
                     }
-                    match(input,53,FollowSets000.FOLLOW_53_in_rule__StructuredClassCS__Alternatives_79851); if (state.failed) return ;
+                    match(input,53,FollowSets000.FOLLOW_53_in_rule__StructuredClassCS__Alternatives_710012); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getStructuredClassCSAccess().getSemicolonKeyword_7_1()); 
                     }
@@ -15157,39 +15197,58 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Alternatives_7_0_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4442:1: rule__StructuredClassCS__Alternatives_7_0_1 : ( ( ( rule__StructuredClassCS__OwnedAnnotationsAssignment_7_0_1_0 ) ) | ( ( rule__StructuredClassCS__OwnedOperationsAssignment_7_0_1_1 ) ) | ( ( rule__StructuredClassCS__OwnedPropertiesAssignment_7_0_1_2 ) ) | ( ( rule__StructuredClassCS__OwnedConstraintsAssignment_7_0_1_3 ) ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4600:1: rule__StructuredClassCS__Alternatives_7_0_1 : ( ( ( rule__StructuredClassCS__OwnedAnnotationsAssignment_7_0_1_0 ) ) | ( ( rule__StructuredClassCS__OwnedOperationsAssignment_7_0_1_1 ) ) | ( ( rule__StructuredClassCS__OwnedPropertiesAssignment_7_0_1_2 ) ) | ( ( rule__StructuredClassCS__OwnedConstraintsAssignment_7_0_1_3 ) ) );
     public final void rule__StructuredClassCS__Alternatives_7_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4446:1: ( ( ( rule__StructuredClassCS__OwnedAnnotationsAssignment_7_0_1_0 ) ) | ( ( rule__StructuredClassCS__OwnedOperationsAssignment_7_0_1_1 ) ) | ( ( rule__StructuredClassCS__OwnedPropertiesAssignment_7_0_1_2 ) ) | ( ( rule__StructuredClassCS__OwnedConstraintsAssignment_7_0_1_3 ) ) )
-            int alt37=4;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4604:1: ( ( ( rule__StructuredClassCS__OwnedAnnotationsAssignment_7_0_1_0 ) ) | ( ( rule__StructuredClassCS__OwnedOperationsAssignment_7_0_1_1 ) ) | ( ( rule__StructuredClassCS__OwnedPropertiesAssignment_7_0_1_2 ) ) | ( ( rule__StructuredClassCS__OwnedConstraintsAssignment_7_0_1_3 ) ) )
+            int alt52=4;
             switch ( input.LA(1) ) {
-            case 55:
-            case 56:
-            case 60:
+            case 64:
+            case 65:
+            case 69:
                 {
-                alt37=1;
+                alt52=1;
                 }
                 break;
             case 46:
                 {
                 switch ( input.LA(2) ) {
-                case 24:
+                case 46:
                     {
-                    int LA37_7 = input.LA(3);
+                    int LA52_7 = input.LA(3);
 
-                    if ( (LA37_7==18||LA37_7==42) ) {
-                        alt37=3;
+                    if ( (LA52_7==36) ) {
+                        alt52=2;
                     }
-                    else if ( (LA37_7==36) ) {
-                        alt37=2;
+                    else if ( (LA52_7==18||LA52_7==42) ) {
+                        alt52=3;
                     }
                     else {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("", 37, 7, input);
+                            new NoViableAltException("", 52, 7, input);
+
+                        throw nvae;
+                    }
+                    }
+                    break;
+                case 24:
+                    {
+                    int LA52_8 = input.LA(3);
+
+                    if ( (LA52_8==36) ) {
+                        alt52=2;
+                    }
+                    else if ( (LA52_8==18||LA52_8==42) ) {
+                        alt52=3;
+                    }
+                    else {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 52, 8, input);
 
                         throw nvae;
                     }
@@ -15198,18 +15257,18 @@
                 case 18:
                 case 42:
                     {
-                    alt37=3;
+                    alt52=3;
                     }
                     break;
                 case 36:
                     {
-                    alt37=2;
+                    alt52=2;
                     }
                     break;
                 default:
                     if (state.backtracking>0) {state.failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("", 37, 2, input);
+                        new NoViableAltException("", 52, 2, input);
 
                     throw nvae;
                 }
@@ -15221,18 +15280,37 @@
                 switch ( input.LA(2) ) {
                 case 46:
                     {
-                    int LA37_8 = input.LA(3);
+                    int LA52_7 = input.LA(3);
 
-                    if ( (LA37_8==18||LA37_8==42) ) {
-                        alt37=3;
+                    if ( (LA52_7==36) ) {
+                        alt52=2;
                     }
-                    else if ( (LA37_8==36) ) {
-                        alt37=2;
+                    else if ( (LA52_7==18||LA52_7==42) ) {
+                        alt52=3;
                     }
                     else {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("", 37, 8, input);
+                            new NoViableAltException("", 52, 7, input);
+
+                        throw nvae;
+                    }
+                    }
+                    break;
+                case 24:
+                    {
+                    int LA52_8 = input.LA(3);
+
+                    if ( (LA52_8==36) ) {
+                        alt52=2;
+                    }
+                    else if ( (LA52_8==18||LA52_8==42) ) {
+                        alt52=3;
+                    }
+                    else {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 52, 8, input);
 
                         throw nvae;
                     }
@@ -15241,18 +15319,18 @@
                 case 18:
                 case 42:
                     {
-                    alt37=3;
+                    alt52=3;
                     }
                     break;
                 case 36:
                     {
-                    alt37=2;
+                    alt52=2;
                     }
                     break;
                 default:
                     if (state.backtracking>0) {state.failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("", 37, 3, input);
+                        new NoViableAltException("", 52, 3, input);
 
                     throw nvae;
                 }
@@ -15261,43 +15339,43 @@
                 break;
             case 36:
                 {
-                alt37=2;
+                alt52=2;
                 }
                 break;
             case 18:
             case 42:
                 {
-                alt37=3;
+                alt52=3;
                 }
                 break;
             case 20:
-            case 57:
+            case 66:
                 {
-                alt37=4;
+                alt52=4;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 37, 0, input);
+                    new NoViableAltException("", 52, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt37) {
+            switch (alt52) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4447:1: ( ( rule__StructuredClassCS__OwnedAnnotationsAssignment_7_0_1_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4605:1: ( ( rule__StructuredClassCS__OwnedAnnotationsAssignment_7_0_1_0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4447:1: ( ( rule__StructuredClassCS__OwnedAnnotationsAssignment_7_0_1_0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4448:1: ( rule__StructuredClassCS__OwnedAnnotationsAssignment_7_0_1_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4605:1: ( ( rule__StructuredClassCS__OwnedAnnotationsAssignment_7_0_1_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4606:1: ( rule__StructuredClassCS__OwnedAnnotationsAssignment_7_0_1_0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getStructuredClassCSAccess().getOwnedAnnotationsAssignment_7_0_1_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4449:1: ( rule__StructuredClassCS__OwnedAnnotationsAssignment_7_0_1_0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4449:2: rule__StructuredClassCS__OwnedAnnotationsAssignment_7_0_1_0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4607:1: ( rule__StructuredClassCS__OwnedAnnotationsAssignment_7_0_1_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4607:2: rule__StructuredClassCS__OwnedAnnotationsAssignment_7_0_1_0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__StructuredClassCS__OwnedAnnotationsAssignment_7_0_1_0_in_rule__StructuredClassCS__Alternatives_7_0_19885);
+                    pushFollow(FollowSets000.FOLLOW_rule__StructuredClassCS__OwnedAnnotationsAssignment_7_0_1_0_in_rule__StructuredClassCS__Alternatives_7_0_110046);
                     rule__StructuredClassCS__OwnedAnnotationsAssignment_7_0_1_0();
 
                     state._fsp--;
@@ -15315,18 +15393,18 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4453:6: ( ( rule__StructuredClassCS__OwnedOperationsAssignment_7_0_1_1 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4611:6: ( ( rule__StructuredClassCS__OwnedOperationsAssignment_7_0_1_1 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4453:6: ( ( rule__StructuredClassCS__OwnedOperationsAssignment_7_0_1_1 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4454:1: ( rule__StructuredClassCS__OwnedOperationsAssignment_7_0_1_1 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4611:6: ( ( rule__StructuredClassCS__OwnedOperationsAssignment_7_0_1_1 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4612:1: ( rule__StructuredClassCS__OwnedOperationsAssignment_7_0_1_1 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getStructuredClassCSAccess().getOwnedOperationsAssignment_7_0_1_1()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4455:1: ( rule__StructuredClassCS__OwnedOperationsAssignment_7_0_1_1 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4455:2: rule__StructuredClassCS__OwnedOperationsAssignment_7_0_1_1
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4613:1: ( rule__StructuredClassCS__OwnedOperationsAssignment_7_0_1_1 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4613:2: rule__StructuredClassCS__OwnedOperationsAssignment_7_0_1_1
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__StructuredClassCS__OwnedOperationsAssignment_7_0_1_1_in_rule__StructuredClassCS__Alternatives_7_0_19903);
+                    pushFollow(FollowSets000.FOLLOW_rule__StructuredClassCS__OwnedOperationsAssignment_7_0_1_1_in_rule__StructuredClassCS__Alternatives_7_0_110064);
                     rule__StructuredClassCS__OwnedOperationsAssignment_7_0_1_1();
 
                     state._fsp--;
@@ -15344,18 +15422,18 @@
                     }
                     break;
                 case 3 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4459:6: ( ( rule__StructuredClassCS__OwnedPropertiesAssignment_7_0_1_2 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4617:6: ( ( rule__StructuredClassCS__OwnedPropertiesAssignment_7_0_1_2 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4459:6: ( ( rule__StructuredClassCS__OwnedPropertiesAssignment_7_0_1_2 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4460:1: ( rule__StructuredClassCS__OwnedPropertiesAssignment_7_0_1_2 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4617:6: ( ( rule__StructuredClassCS__OwnedPropertiesAssignment_7_0_1_2 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4618:1: ( rule__StructuredClassCS__OwnedPropertiesAssignment_7_0_1_2 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getStructuredClassCSAccess().getOwnedPropertiesAssignment_7_0_1_2()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4461:1: ( rule__StructuredClassCS__OwnedPropertiesAssignment_7_0_1_2 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4461:2: rule__StructuredClassCS__OwnedPropertiesAssignment_7_0_1_2
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4619:1: ( rule__StructuredClassCS__OwnedPropertiesAssignment_7_0_1_2 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4619:2: rule__StructuredClassCS__OwnedPropertiesAssignment_7_0_1_2
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__StructuredClassCS__OwnedPropertiesAssignment_7_0_1_2_in_rule__StructuredClassCS__Alternatives_7_0_19921);
+                    pushFollow(FollowSets000.FOLLOW_rule__StructuredClassCS__OwnedPropertiesAssignment_7_0_1_2_in_rule__StructuredClassCS__Alternatives_7_0_110082);
                     rule__StructuredClassCS__OwnedPropertiesAssignment_7_0_1_2();
 
                     state._fsp--;
@@ -15373,18 +15451,18 @@
                     }
                     break;
                 case 4 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4465:6: ( ( rule__StructuredClassCS__OwnedConstraintsAssignment_7_0_1_3 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4623:6: ( ( rule__StructuredClassCS__OwnedConstraintsAssignment_7_0_1_3 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4465:6: ( ( rule__StructuredClassCS__OwnedConstraintsAssignment_7_0_1_3 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4466:1: ( rule__StructuredClassCS__OwnedConstraintsAssignment_7_0_1_3 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4623:6: ( ( rule__StructuredClassCS__OwnedConstraintsAssignment_7_0_1_3 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4624:1: ( rule__StructuredClassCS__OwnedConstraintsAssignment_7_0_1_3 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getStructuredClassCSAccess().getOwnedConstraintsAssignment_7_0_1_3()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4467:1: ( rule__StructuredClassCS__OwnedConstraintsAssignment_7_0_1_3 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4467:2: rule__StructuredClassCS__OwnedConstraintsAssignment_7_0_1_3
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4625:1: ( rule__StructuredClassCS__OwnedConstraintsAssignment_7_0_1_3 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4625:2: rule__StructuredClassCS__OwnedConstraintsAssignment_7_0_1_3
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__StructuredClassCS__OwnedConstraintsAssignment_7_0_1_3_in_rule__StructuredClassCS__Alternatives_7_0_19939);
+                    pushFollow(FollowSets000.FOLLOW_rule__StructuredClassCS__OwnedConstraintsAssignment_7_0_1_3_in_rule__StructuredClassCS__Alternatives_7_0_110100);
                     rule__StructuredClassCS__OwnedConstraintsAssignment_7_0_1_3();
 
                     state._fsp--;
@@ -15419,51 +15497,70 @@
 
 
     // $ANTLR start "rule__StructuralFeatureCS__Alternatives"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4476:1: rule__StructuralFeatureCS__Alternatives : ( ( ruleAttributeCS ) | ( ruleReferenceCS ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4634:1: rule__StructuralFeatureCS__Alternatives : ( ( ruleAttributeCS ) | ( ruleReferenceCS ) );
     public final void rule__StructuralFeatureCS__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4480:1: ( ( ruleAttributeCS ) | ( ruleReferenceCS ) )
-            int alt38=2;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4638:1: ( ( ruleAttributeCS ) | ( ruleReferenceCS ) )
+            int alt53=2;
             switch ( input.LA(1) ) {
             case 46:
                 {
                 switch ( input.LA(2) ) {
-                case 24:
+                case 46:
                     {
-                    int LA38_5 = input.LA(3);
+                    int LA53_5 = input.LA(3);
 
-                    if ( (LA38_5==18) ) {
-                        alt38=1;
+                    if ( (LA53_5==42) ) {
+                        alt53=2;
                     }
-                    else if ( (LA38_5==42) ) {
-                        alt38=2;
+                    else if ( (LA53_5==18) ) {
+                        alt53=1;
                     }
                     else {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("", 38, 5, input);
+                            new NoViableAltException("", 53, 5, input);
 
                         throw nvae;
                     }
                     }
                     break;
-                case 42:
+                case 24:
                     {
-                    alt38=2;
+                    int LA53_6 = input.LA(3);
+
+                    if ( (LA53_6==18) ) {
+                        alt53=1;
+                    }
+                    else if ( (LA53_6==42) ) {
+                        alt53=2;
+                    }
+                    else {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 53, 6, input);
+
+                        throw nvae;
+                    }
                     }
                     break;
                 case 18:
                     {
-                    alt38=1;
+                    alt53=1;
+                    }
+                    break;
+                case 42:
+                    {
+                    alt53=2;
                     }
                     break;
                 default:
                     if (state.backtracking>0) {state.failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("", 38, 1, input);
+                        new NoViableAltException("", 53, 1, input);
 
                     throw nvae;
                 }
@@ -15475,37 +15572,56 @@
                 switch ( input.LA(2) ) {
                 case 46:
                     {
-                    int LA38_6 = input.LA(3);
+                    int LA53_5 = input.LA(3);
 
-                    if ( (LA38_6==42) ) {
-                        alt38=2;
+                    if ( (LA53_5==42) ) {
+                        alt53=2;
                     }
-                    else if ( (LA38_6==18) ) {
-                        alt38=1;
+                    else if ( (LA53_5==18) ) {
+                        alt53=1;
                     }
                     else {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("", 38, 6, input);
+                            new NoViableAltException("", 53, 5, input);
 
                         throw nvae;
                     }
                     }
                     break;
-                case 18:
+                case 24:
                     {
-                    alt38=1;
+                    int LA53_6 = input.LA(3);
+
+                    if ( (LA53_6==18) ) {
+                        alt53=1;
+                    }
+                    else if ( (LA53_6==42) ) {
+                        alt53=2;
+                    }
+                    else {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 53, 6, input);
+
+                        throw nvae;
+                    }
                     }
                     break;
                 case 42:
                     {
-                    alt38=2;
+                    alt53=2;
+                    }
+                    break;
+                case 18:
+                    {
+                    alt53=1;
                     }
                     break;
                 default:
                     if (state.backtracking>0) {state.failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("", 38, 2, input);
+                        new NoViableAltException("", 53, 2, input);
 
                     throw nvae;
                 }
@@ -15514,33 +15630,33 @@
                 break;
             case 18:
                 {
-                alt38=1;
+                alt53=1;
                 }
                 break;
             case 42:
                 {
-                alt38=2;
+                alt53=2;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 38, 0, input);
+                    new NoViableAltException("", 53, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt38) {
+            switch (alt53) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4481:1: ( ruleAttributeCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4639:1: ( ruleAttributeCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4481:1: ( ruleAttributeCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4482:1: ruleAttributeCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4639:1: ( ruleAttributeCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4640:1: ruleAttributeCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getStructuralFeatureCSAccess().getAttributeCSParserRuleCall_0()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleAttributeCS_in_rule__StructuralFeatureCS__Alternatives9972);
+                    pushFollow(FollowSets000.FOLLOW_ruleAttributeCS_in_rule__StructuralFeatureCS__Alternatives10133);
                     ruleAttributeCS();
 
                     state._fsp--;
@@ -15555,15 +15671,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4487:6: ( ruleReferenceCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4645:6: ( ruleReferenceCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4487:6: ( ruleReferenceCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4488:1: ruleReferenceCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4645:6: ( ruleReferenceCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4646:1: ruleReferenceCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getStructuralFeatureCSAccess().getReferenceCSParserRuleCall_1()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleReferenceCS_in_rule__StructuralFeatureCS__Alternatives9989);
+                    pushFollow(FollowSets000.FOLLOW_ruleReferenceCS_in_rule__StructuralFeatureCS__Alternatives10150);
                     ruleReferenceCS();
 
                     state._fsp--;
@@ -15595,43 +15711,43 @@
 
 
     // $ANTLR start "rule__SysMLCS__Alternatives_2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4498:1: rule__SysMLCS__Alternatives_2 : ( ( ( rule__SysMLCS__Group_2_0__0 ) ) | ( ( rule__SysMLCS__Group_2_1__0 ) ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4656:1: rule__SysMLCS__Alternatives_2 : ( ( ( rule__SysMLCS__Group_2_0__0 ) ) | ( ( rule__SysMLCS__Group_2_1__0 ) ) );
     public final void rule__SysMLCS__Alternatives_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4502:1: ( ( ( rule__SysMLCS__Group_2_0__0 ) ) | ( ( rule__SysMLCS__Group_2_1__0 ) ) )
-            int alt39=2;
-            int LA39_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4660:1: ( ( ( rule__SysMLCS__Group_2_0__0 ) ) | ( ( rule__SysMLCS__Group_2_1__0 ) ) )
+            int alt54=2;
+            int LA54_0 = input.LA(1);
 
-            if ( (LA39_0==RULE_SINGLE_QUOTED_STRING||(LA39_0>=RULE_SIMPLE_ID && LA39_0<=RULE_ESCAPED_ID)||(LA39_0>=17 && LA39_0<=52)||(LA39_0>=55 && LA39_0<=60)) ) {
-                alt39=1;
+            if ( (LA54_0==RULE_SINGLE_QUOTED_STRING||(LA54_0>=RULE_SIMPLE_ID && LA54_0<=RULE_ESCAPED_ID)||(LA54_0>=17 && LA54_0<=52)||(LA54_0>=64 && LA54_0<=69)) ) {
+                alt54=1;
             }
-            else if ( (LA39_0==99) ) {
-                alt39=2;
+            else if ( (LA54_0==108) ) {
+                alt54=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 39, 0, input);
+                    new NoViableAltException("", 54, 0, input);
 
                 throw nvae;
             }
-            switch (alt39) {
+            switch (alt54) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4503:1: ( ( rule__SysMLCS__Group_2_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4661:1: ( ( rule__SysMLCS__Group_2_0__0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4503:1: ( ( rule__SysMLCS__Group_2_0__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4504:1: ( rule__SysMLCS__Group_2_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4661:1: ( ( rule__SysMLCS__Group_2_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4662:1: ( rule__SysMLCS__Group_2_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getSysMLCSAccess().getGroup_2_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4505:1: ( rule__SysMLCS__Group_2_0__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4505:2: rule__SysMLCS__Group_2_0__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4663:1: ( rule__SysMLCS__Group_2_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4663:2: rule__SysMLCS__Group_2_0__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__SysMLCS__Group_2_0__0_in_rule__SysMLCS__Alternatives_210021);
+                    pushFollow(FollowSets000.FOLLOW_rule__SysMLCS__Group_2_0__0_in_rule__SysMLCS__Alternatives_210182);
                     rule__SysMLCS__Group_2_0__0();
 
                     state._fsp--;
@@ -15649,18 +15765,18 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4509:6: ( ( rule__SysMLCS__Group_2_1__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4667:6: ( ( rule__SysMLCS__Group_2_1__0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4509:6: ( ( rule__SysMLCS__Group_2_1__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4510:1: ( rule__SysMLCS__Group_2_1__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4667:6: ( ( rule__SysMLCS__Group_2_1__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4668:1: ( rule__SysMLCS__Group_2_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getSysMLCSAccess().getGroup_2_1()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4511:1: ( rule__SysMLCS__Group_2_1__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4511:2: rule__SysMLCS__Group_2_1__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4669:1: ( rule__SysMLCS__Group_2_1__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4669:2: rule__SysMLCS__Group_2_1__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__SysMLCS__Group_2_1__0_in_rule__SysMLCS__Alternatives_210039);
+                    pushFollow(FollowSets000.FOLLOW_rule__SysMLCS__Group_2_1__0_in_rule__SysMLCS__Alternatives_210200);
                     rule__SysMLCS__Group_2_1__0();
 
                     state._fsp--;
@@ -15695,43 +15811,43 @@
 
 
     // $ANTLR start "rule__TemplateBindingCS__Alternatives"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4521:1: rule__TemplateBindingCS__Alternatives : ( ( ( rule__TemplateBindingCS__Group_0__0 ) ) | ( ( rule__TemplateBindingCS__Group_1__0 ) ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4679:1: rule__TemplateBindingCS__Alternatives : ( ( ( rule__TemplateBindingCS__Group_0__0 ) ) | ( ( rule__TemplateBindingCS__Group_1__0 ) ) );
     public final void rule__TemplateBindingCS__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4525:1: ( ( ( rule__TemplateBindingCS__Group_0__0 ) ) | ( ( rule__TemplateBindingCS__Group_1__0 ) ) )
-            int alt40=2;
-            int LA40_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4683:1: ( ( ( rule__TemplateBindingCS__Group_0__0 ) ) | ( ( rule__TemplateBindingCS__Group_1__0 ) ) )
+            int alt55=2;
+            int LA55_0 = input.LA(1);
 
-            if ( (LA40_0==95) ) {
-                alt40=1;
+            if ( (LA55_0==104) ) {
+                alt55=1;
             }
-            else if ( (LA40_0==67) ) {
-                alt40=2;
+            else if ( (LA55_0==76) ) {
+                alt55=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 40, 0, input);
+                    new NoViableAltException("", 55, 0, input);
 
                 throw nvae;
             }
-            switch (alt40) {
+            switch (alt55) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4526:1: ( ( rule__TemplateBindingCS__Group_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4684:1: ( ( rule__TemplateBindingCS__Group_0__0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4526:1: ( ( rule__TemplateBindingCS__Group_0__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4527:1: ( rule__TemplateBindingCS__Group_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4684:1: ( ( rule__TemplateBindingCS__Group_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4685:1: ( rule__TemplateBindingCS__Group_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTemplateBindingCSAccess().getGroup_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4528:1: ( rule__TemplateBindingCS__Group_0__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4528:2: rule__TemplateBindingCS__Group_0__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4686:1: ( rule__TemplateBindingCS__Group_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4686:2: rule__TemplateBindingCS__Group_0__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__TemplateBindingCS__Group_0__0_in_rule__TemplateBindingCS__Alternatives10073);
+                    pushFollow(FollowSets000.FOLLOW_rule__TemplateBindingCS__Group_0__0_in_rule__TemplateBindingCS__Alternatives10234);
                     rule__TemplateBindingCS__Group_0__0();
 
                     state._fsp--;
@@ -15749,18 +15865,18 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4532:6: ( ( rule__TemplateBindingCS__Group_1__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4690:6: ( ( rule__TemplateBindingCS__Group_1__0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4532:6: ( ( rule__TemplateBindingCS__Group_1__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4533:1: ( rule__TemplateBindingCS__Group_1__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4690:6: ( ( rule__TemplateBindingCS__Group_1__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4691:1: ( rule__TemplateBindingCS__Group_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTemplateBindingCSAccess().getGroup_1()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4534:1: ( rule__TemplateBindingCS__Group_1__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4534:2: rule__TemplateBindingCS__Group_1__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4692:1: ( rule__TemplateBindingCS__Group_1__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4692:2: rule__TemplateBindingCS__Group_1__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__TemplateBindingCS__Group_1__0_in_rule__TemplateBindingCS__Alternatives10091);
+                    pushFollow(FollowSets000.FOLLOW_rule__TemplateBindingCS__Group_1__0_in_rule__TemplateBindingCS__Alternatives10252);
                     rule__TemplateBindingCS__Group_1__0();
 
                     state._fsp--;
@@ -15795,43 +15911,43 @@
 
 
     // $ANTLR start "rule__TemplateSignatureCS__Alternatives"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4543:1: rule__TemplateSignatureCS__Alternatives : ( ( ( rule__TemplateSignatureCS__Group_0__0 ) ) | ( ( rule__TemplateSignatureCS__Group_1__0 ) ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4701:1: rule__TemplateSignatureCS__Alternatives : ( ( ( rule__TemplateSignatureCS__Group_0__0 ) ) | ( ( rule__TemplateSignatureCS__Group_1__0 ) ) );
     public final void rule__TemplateSignatureCS__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4547:1: ( ( ( rule__TemplateSignatureCS__Group_0__0 ) ) | ( ( rule__TemplateSignatureCS__Group_1__0 ) ) )
-            int alt41=2;
-            int LA41_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4705:1: ( ( ( rule__TemplateSignatureCS__Group_0__0 ) ) | ( ( rule__TemplateSignatureCS__Group_1__0 ) ) )
+            int alt56=2;
+            int LA56_0 = input.LA(1);
 
-            if ( (LA41_0==95) ) {
-                alt41=1;
+            if ( (LA56_0==104) ) {
+                alt56=1;
             }
-            else if ( (LA41_0==67) ) {
-                alt41=2;
+            else if ( (LA56_0==76) ) {
+                alt56=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 41, 0, input);
+                    new NoViableAltException("", 56, 0, input);
 
                 throw nvae;
             }
-            switch (alt41) {
+            switch (alt56) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4548:1: ( ( rule__TemplateSignatureCS__Group_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4706:1: ( ( rule__TemplateSignatureCS__Group_0__0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4548:1: ( ( rule__TemplateSignatureCS__Group_0__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4549:1: ( rule__TemplateSignatureCS__Group_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4706:1: ( ( rule__TemplateSignatureCS__Group_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4707:1: ( rule__TemplateSignatureCS__Group_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTemplateSignatureCSAccess().getGroup_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4550:1: ( rule__TemplateSignatureCS__Group_0__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4550:2: rule__TemplateSignatureCS__Group_0__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4708:1: ( rule__TemplateSignatureCS__Group_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4708:2: rule__TemplateSignatureCS__Group_0__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__TemplateSignatureCS__Group_0__0_in_rule__TemplateSignatureCS__Alternatives10124);
+                    pushFollow(FollowSets000.FOLLOW_rule__TemplateSignatureCS__Group_0__0_in_rule__TemplateSignatureCS__Alternatives10285);
                     rule__TemplateSignatureCS__Group_0__0();
 
                     state._fsp--;
@@ -15849,18 +15965,18 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4554:6: ( ( rule__TemplateSignatureCS__Group_1__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4712:6: ( ( rule__TemplateSignatureCS__Group_1__0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4554:6: ( ( rule__TemplateSignatureCS__Group_1__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4555:1: ( rule__TemplateSignatureCS__Group_1__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4712:6: ( ( rule__TemplateSignatureCS__Group_1__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4713:1: ( rule__TemplateSignatureCS__Group_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTemplateSignatureCSAccess().getGroup_1()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4556:1: ( rule__TemplateSignatureCS__Group_1__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4556:2: rule__TemplateSignatureCS__Group_1__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4714:1: ( rule__TemplateSignatureCS__Group_1__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4714:2: rule__TemplateSignatureCS__Group_1__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__TemplateSignatureCS__Group_1__0_in_rule__TemplateSignatureCS__Alternatives10142);
+                    pushFollow(FollowSets000.FOLLOW_rule__TemplateSignatureCS__Group_1__0_in_rule__TemplateSignatureCS__Alternatives10303);
                     rule__TemplateSignatureCS__Group_1__0();
 
                     state._fsp--;
@@ -15895,40 +16011,40 @@
 
 
     // $ANTLR start "rule__TypedRefCS__Alternatives"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4565:1: rule__TypedRefCS__Alternatives : ( ( ruleTypeLiteralCS ) | ( ruleTypedTypeRefCS ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4723:1: rule__TypedRefCS__Alternatives : ( ( ruleTypeLiteralCS ) | ( ruleTypedTypeRefCS ) );
     public final void rule__TypedRefCS__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4569:1: ( ( ruleTypeLiteralCS ) | ( ruleTypedTypeRefCS ) )
-            int alt42=2;
-            int LA42_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4727:1: ( ( ruleTypeLiteralCS ) | ( ruleTypedTypeRefCS ) )
+            int alt57=2;
+            int LA57_0 = input.LA(1);
 
-            if ( ((LA42_0>=80 && LA42_0<=93)) ) {
-                alt42=1;
+            if ( ((LA57_0>=89 && LA57_0<=102)) ) {
+                alt57=1;
             }
-            else if ( ((LA42_0>=RULE_SIMPLE_ID && LA42_0<=RULE_ESCAPED_ID)||(LA42_0>=17 && LA42_0<=52)||(LA42_0>=55 && LA42_0<=60)) ) {
-                alt42=2;
+            else if ( ((LA57_0>=RULE_SIMPLE_ID && LA57_0<=RULE_ESCAPED_ID)||(LA57_0>=17 && LA57_0<=52)||(LA57_0>=64 && LA57_0<=69)) ) {
+                alt57=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 42, 0, input);
+                    new NoViableAltException("", 57, 0, input);
 
                 throw nvae;
             }
-            switch (alt42) {
+            switch (alt57) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4570:1: ( ruleTypeLiteralCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4728:1: ( ruleTypeLiteralCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4570:1: ( ruleTypeLiteralCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4571:1: ruleTypeLiteralCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4728:1: ( ruleTypeLiteralCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4729:1: ruleTypeLiteralCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTypedRefCSAccess().getTypeLiteralCSParserRuleCall_0()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralCS_in_rule__TypedRefCS__Alternatives10175);
+                    pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralCS_in_rule__TypedRefCS__Alternatives10336);
                     ruleTypeLiteralCS();
 
                     state._fsp--;
@@ -15943,15 +16059,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4576:6: ( ruleTypedTypeRefCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4734:6: ( ruleTypedTypeRefCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4576:6: ( ruleTypedTypeRefCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4577:1: ruleTypedTypeRefCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4734:6: ( ruleTypedTypeRefCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4735:1: ruleTypedTypeRefCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTypedRefCSAccess().getTypedTypeRefCSParserRuleCall_1()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTypedTypeRefCS_in_rule__TypedRefCS__Alternatives10192);
+                    pushFollow(FollowSets000.FOLLOW_ruleTypedTypeRefCS_in_rule__TypedRefCS__Alternatives10353);
                     ruleTypedTypeRefCS();
 
                     state._fsp--;
@@ -15983,14 +16099,14 @@
 
 
     // $ANTLR start "rule__UnrestrictedName__Alternatives"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4587:1: rule__UnrestrictedName__Alternatives : ( ( ruleEnumerationLiteralName ) | ( 'annotation' ) | ( 'documentation' ) | ( 'invariant' ) | ( 'literal' ) | ( 'serializable' ) | ( 'sysml' ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4745:1: rule__UnrestrictedName__Alternatives : ( ( ruleEnumerationLiteralName ) | ( 'annotation' ) | ( 'documentation' ) | ( 'invariant' ) | ( 'literal' ) | ( 'serializable' ) | ( 'sysml' ) );
     public final void rule__UnrestrictedName__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4591:1: ( ( ruleEnumerationLiteralName ) | ( 'annotation' ) | ( 'documentation' ) | ( 'invariant' ) | ( 'literal' ) | ( 'serializable' ) | ( 'sysml' ) )
-            int alt43=7;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4749:1: ( ( ruleEnumerationLiteralName ) | ( 'annotation' ) | ( 'documentation' ) | ( 'invariant' ) | ( 'literal' ) | ( 'serializable' ) | ( 'sysml' ) )
+            int alt58=7;
             switch ( input.LA(1) ) {
             case RULE_SIMPLE_ID:
             case RULE_ESCAPED_ID:
@@ -16031,58 +16147,58 @@
             case 51:
             case 52:
                 {
-                alt43=1;
+                alt58=1;
                 }
                 break;
-            case 55:
+            case 64:
                 {
-                alt43=2;
+                alt58=2;
                 }
                 break;
-            case 56:
+            case 65:
                 {
-                alt43=3;
+                alt58=3;
                 }
                 break;
-            case 57:
+            case 66:
                 {
-                alt43=4;
+                alt58=4;
                 }
                 break;
-            case 58:
+            case 67:
                 {
-                alt43=5;
+                alt58=5;
                 }
                 break;
-            case 59:
+            case 68:
                 {
-                alt43=6;
+                alt58=6;
                 }
                 break;
-            case 60:
+            case 69:
                 {
-                alt43=7;
+                alt58=7;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 43, 0, input);
+                    new NoViableAltException("", 58, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt43) {
+            switch (alt58) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4592:1: ( ruleEnumerationLiteralName )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4750:1: ( ruleEnumerationLiteralName )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4592:1: ( ruleEnumerationLiteralName )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4593:1: ruleEnumerationLiteralName
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4750:1: ( ruleEnumerationLiteralName )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4751:1: ruleEnumerationLiteralName
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getUnrestrictedNameAccess().getEnumerationLiteralNameParserRuleCall_0()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleEnumerationLiteralName_in_rule__UnrestrictedName__Alternatives10224);
+                    pushFollow(FollowSets000.FOLLOW_ruleEnumerationLiteralName_in_rule__UnrestrictedName__Alternatives10385);
                     ruleEnumerationLiteralName();
 
                     state._fsp--;
@@ -16097,15 +16213,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4598:6: ( 'annotation' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4756:6: ( 'annotation' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4598:6: ( 'annotation' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4599:1: 'annotation'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4756:6: ( 'annotation' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4757:1: 'annotation'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getUnrestrictedNameAccess().getAnnotationKeyword_1()); 
                     }
-                    match(input,55,FollowSets000.FOLLOW_55_in_rule__UnrestrictedName__Alternatives10242); if (state.failed) return ;
+                    match(input,64,FollowSets000.FOLLOW_64_in_rule__UnrestrictedName__Alternatives10403); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getUnrestrictedNameAccess().getAnnotationKeyword_1()); 
                     }
@@ -16116,15 +16232,15 @@
                     }
                     break;
                 case 3 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4606:6: ( 'documentation' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4764:6: ( 'documentation' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4606:6: ( 'documentation' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4607:1: 'documentation'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4764:6: ( 'documentation' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4765:1: 'documentation'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getUnrestrictedNameAccess().getDocumentationKeyword_2()); 
                     }
-                    match(input,56,FollowSets000.FOLLOW_56_in_rule__UnrestrictedName__Alternatives10262); if (state.failed) return ;
+                    match(input,65,FollowSets000.FOLLOW_65_in_rule__UnrestrictedName__Alternatives10423); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getUnrestrictedNameAccess().getDocumentationKeyword_2()); 
                     }
@@ -16135,15 +16251,15 @@
                     }
                     break;
                 case 4 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4614:6: ( 'invariant' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4772:6: ( 'invariant' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4614:6: ( 'invariant' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4615:1: 'invariant'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4772:6: ( 'invariant' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4773:1: 'invariant'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getUnrestrictedNameAccess().getInvariantKeyword_3()); 
                     }
-                    match(input,57,FollowSets000.FOLLOW_57_in_rule__UnrestrictedName__Alternatives10282); if (state.failed) return ;
+                    match(input,66,FollowSets000.FOLLOW_66_in_rule__UnrestrictedName__Alternatives10443); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getUnrestrictedNameAccess().getInvariantKeyword_3()); 
                     }
@@ -16154,15 +16270,15 @@
                     }
                     break;
                 case 5 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4622:6: ( 'literal' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4780:6: ( 'literal' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4622:6: ( 'literal' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4623:1: 'literal'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4780:6: ( 'literal' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4781:1: 'literal'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getUnrestrictedNameAccess().getLiteralKeyword_4()); 
                     }
-                    match(input,58,FollowSets000.FOLLOW_58_in_rule__UnrestrictedName__Alternatives10302); if (state.failed) return ;
+                    match(input,67,FollowSets000.FOLLOW_67_in_rule__UnrestrictedName__Alternatives10463); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getUnrestrictedNameAccess().getLiteralKeyword_4()); 
                     }
@@ -16173,15 +16289,15 @@
                     }
                     break;
                 case 6 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4630:6: ( 'serializable' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4788:6: ( 'serializable' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4630:6: ( 'serializable' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4631:1: 'serializable'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4788:6: ( 'serializable' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4789:1: 'serializable'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getUnrestrictedNameAccess().getSerializableKeyword_5()); 
                     }
-                    match(input,59,FollowSets000.FOLLOW_59_in_rule__UnrestrictedName__Alternatives10322); if (state.failed) return ;
+                    match(input,68,FollowSets000.FOLLOW_68_in_rule__UnrestrictedName__Alternatives10483); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getUnrestrictedNameAccess().getSerializableKeyword_5()); 
                     }
@@ -16192,15 +16308,15 @@
                     }
                     break;
                 case 7 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4638:6: ( 'sysml' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4796:6: ( 'sysml' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4638:6: ( 'sysml' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4639:1: 'sysml'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4796:6: ( 'sysml' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4797:1: 'sysml'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getUnrestrictedNameAccess().getSysmlKeyword_6()); 
                     }
-                    match(input,60,FollowSets000.FOLLOW_60_in_rule__UnrestrictedName__Alternatives10342); if (state.failed) return ;
+                    match(input,69,FollowSets000.FOLLOW_69_in_rule__UnrestrictedName__Alternatives10503); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getUnrestrictedNameAccess().getSysmlKeyword_6()); 
                     }
@@ -16228,40 +16344,40 @@
 
 
     // $ANTLR start "rule__EssentialOCLUnaryOperatorName__Alternatives"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4652:1: rule__EssentialOCLUnaryOperatorName__Alternatives : ( ( '-' ) | ( 'not' ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4810:1: rule__EssentialOCLUnaryOperatorName__Alternatives : ( ( '-' ) | ( 'not' ) );
     public final void rule__EssentialOCLUnaryOperatorName__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4656:1: ( ( '-' ) | ( 'not' ) )
-            int alt44=2;
-            int LA44_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4814:1: ( ( '-' ) | ( 'not' ) )
+            int alt59=2;
+            int LA59_0 = input.LA(1);
 
-            if ( (LA44_0==61) ) {
-                alt44=1;
+            if ( (LA59_0==70) ) {
+                alt59=1;
             }
-            else if ( (LA44_0==62) ) {
-                alt44=2;
+            else if ( (LA59_0==71) ) {
+                alt59=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 44, 0, input);
+                    new NoViableAltException("", 59, 0, input);
 
                 throw nvae;
             }
-            switch (alt44) {
+            switch (alt59) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4657:1: ( '-' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4815:1: ( '-' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4657:1: ( '-' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4658:1: '-'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4815:1: ( '-' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4816:1: '-'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getEssentialOCLUnaryOperatorNameAccess().getHyphenMinusKeyword_0()); 
                     }
-                    match(input,61,FollowSets000.FOLLOW_61_in_rule__EssentialOCLUnaryOperatorName__Alternatives10378); if (state.failed) return ;
+                    match(input,70,FollowSets000.FOLLOW_70_in_rule__EssentialOCLUnaryOperatorName__Alternatives10539); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getEssentialOCLUnaryOperatorNameAccess().getHyphenMinusKeyword_0()); 
                     }
@@ -16272,15 +16388,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4665:6: ( 'not' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4823:6: ( 'not' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4665:6: ( 'not' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4666:1: 'not'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4823:6: ( 'not' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4824:1: 'not'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getEssentialOCLUnaryOperatorNameAccess().getNotKeyword_1()); 
                     }
-                    match(input,62,FollowSets000.FOLLOW_62_in_rule__EssentialOCLUnaryOperatorName__Alternatives10398); if (state.failed) return ;
+                    match(input,71,FollowSets000.FOLLOW_71_in_rule__EssentialOCLUnaryOperatorName__Alternatives10559); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getEssentialOCLUnaryOperatorNameAccess().getNotKeyword_1()); 
                     }
@@ -16308,104 +16424,104 @@
 
 
     // $ANTLR start "rule__EssentialOCLInfixOperatorName__Alternatives"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4678:1: rule__EssentialOCLInfixOperatorName__Alternatives : ( ( '*' ) | ( '/' ) | ( '+' ) | ( '-' ) | ( '>' ) | ( '<' ) | ( '>=' ) | ( '<=' ) | ( '=' ) | ( '<>' ) | ( 'and' ) | ( 'or' ) | ( 'xor' ) | ( 'implies' ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4836:1: rule__EssentialOCLInfixOperatorName__Alternatives : ( ( '*' ) | ( '/' ) | ( '+' ) | ( '-' ) | ( '>' ) | ( '<' ) | ( '>=' ) | ( '<=' ) | ( '=' ) | ( '<>' ) | ( 'and' ) | ( 'or' ) | ( 'xor' ) | ( 'implies' ) );
     public final void rule__EssentialOCLInfixOperatorName__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4682:1: ( ( '*' ) | ( '/' ) | ( '+' ) | ( '-' ) | ( '>' ) | ( '<' ) | ( '>=' ) | ( '<=' ) | ( '=' ) | ( '<>' ) | ( 'and' ) | ( 'or' ) | ( 'xor' ) | ( 'implies' ) )
-            int alt45=14;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4840:1: ( ( '*' ) | ( '/' ) | ( '+' ) | ( '-' ) | ( '>' ) | ( '<' ) | ( '>=' ) | ( '<=' ) | ( '=' ) | ( '<>' ) | ( 'and' ) | ( 'or' ) | ( 'xor' ) | ( 'implies' ) )
+            int alt60=14;
             switch ( input.LA(1) ) {
-            case 63:
-                {
-                alt45=1;
-                }
-                break;
-            case 64:
-                {
-                alt45=2;
-                }
-                break;
-            case 65:
-                {
-                alt45=3;
-                }
-                break;
-            case 61:
-                {
-                alt45=4;
-                }
-                break;
-            case 66:
-                {
-                alt45=5;
-                }
-                break;
-            case 67:
-                {
-                alt45=6;
-                }
-                break;
-            case 68:
-                {
-                alt45=7;
-                }
-                break;
-            case 69:
-                {
-                alt45=8;
-                }
-                break;
-            case 70:
-                {
-                alt45=9;
-                }
-                break;
-            case 71:
-                {
-                alt45=10;
-                }
-                break;
             case 72:
                 {
-                alt45=11;
+                alt60=1;
                 }
                 break;
             case 73:
                 {
-                alt45=12;
+                alt60=2;
                 }
                 break;
             case 74:
                 {
-                alt45=13;
+                alt60=3;
+                }
+                break;
+            case 70:
+                {
+                alt60=4;
                 }
                 break;
             case 75:
                 {
-                alt45=14;
+                alt60=5;
+                }
+                break;
+            case 76:
+                {
+                alt60=6;
+                }
+                break;
+            case 77:
+                {
+                alt60=7;
+                }
+                break;
+            case 78:
+                {
+                alt60=8;
+                }
+                break;
+            case 79:
+                {
+                alt60=9;
+                }
+                break;
+            case 80:
+                {
+                alt60=10;
+                }
+                break;
+            case 81:
+                {
+                alt60=11;
+                }
+                break;
+            case 82:
+                {
+                alt60=12;
+                }
+                break;
+            case 83:
+                {
+                alt60=13;
+                }
+                break;
+            case 84:
+                {
+                alt60=14;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 45, 0, input);
+                    new NoViableAltException("", 60, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt45) {
+            switch (alt60) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4683:1: ( '*' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4841:1: ( '*' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4683:1: ( '*' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4684:1: '*'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4841:1: ( '*' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4842:1: '*'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getEssentialOCLInfixOperatorNameAccess().getAsteriskKeyword_0()); 
                     }
-                    match(input,63,FollowSets000.FOLLOW_63_in_rule__EssentialOCLInfixOperatorName__Alternatives10433); if (state.failed) return ;
+                    match(input,72,FollowSets000.FOLLOW_72_in_rule__EssentialOCLInfixOperatorName__Alternatives10594); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getEssentialOCLInfixOperatorNameAccess().getAsteriskKeyword_0()); 
                     }
@@ -16416,15 +16532,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4691:6: ( '/' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4849:6: ( '/' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4691:6: ( '/' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4692:1: '/'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4849:6: ( '/' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4850:1: '/'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getEssentialOCLInfixOperatorNameAccess().getSolidusKeyword_1()); 
                     }
-                    match(input,64,FollowSets000.FOLLOW_64_in_rule__EssentialOCLInfixOperatorName__Alternatives10453); if (state.failed) return ;
+                    match(input,73,FollowSets000.FOLLOW_73_in_rule__EssentialOCLInfixOperatorName__Alternatives10614); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getEssentialOCLInfixOperatorNameAccess().getSolidusKeyword_1()); 
                     }
@@ -16435,15 +16551,15 @@
                     }
                     break;
                 case 3 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4699:6: ( '+' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4857:6: ( '+' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4699:6: ( '+' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4700:1: '+'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4857:6: ( '+' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4858:1: '+'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getEssentialOCLInfixOperatorNameAccess().getPlusSignKeyword_2()); 
                     }
-                    match(input,65,FollowSets000.FOLLOW_65_in_rule__EssentialOCLInfixOperatorName__Alternatives10473); if (state.failed) return ;
+                    match(input,74,FollowSets000.FOLLOW_74_in_rule__EssentialOCLInfixOperatorName__Alternatives10634); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getEssentialOCLInfixOperatorNameAccess().getPlusSignKeyword_2()); 
                     }
@@ -16454,15 +16570,15 @@
                     }
                     break;
                 case 4 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4707:6: ( '-' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4865:6: ( '-' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4707:6: ( '-' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4708:1: '-'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4865:6: ( '-' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4866:1: '-'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getEssentialOCLInfixOperatorNameAccess().getHyphenMinusKeyword_3()); 
                     }
-                    match(input,61,FollowSets000.FOLLOW_61_in_rule__EssentialOCLInfixOperatorName__Alternatives10493); if (state.failed) return ;
+                    match(input,70,FollowSets000.FOLLOW_70_in_rule__EssentialOCLInfixOperatorName__Alternatives10654); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getEssentialOCLInfixOperatorNameAccess().getHyphenMinusKeyword_3()); 
                     }
@@ -16473,15 +16589,15 @@
                     }
                     break;
                 case 5 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4715:6: ( '>' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4873:6: ( '>' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4715:6: ( '>' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4716:1: '>'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4873:6: ( '>' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4874:1: '>'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getEssentialOCLInfixOperatorNameAccess().getGreaterThanSignKeyword_4()); 
                     }
-                    match(input,66,FollowSets000.FOLLOW_66_in_rule__EssentialOCLInfixOperatorName__Alternatives10513); if (state.failed) return ;
+                    match(input,75,FollowSets000.FOLLOW_75_in_rule__EssentialOCLInfixOperatorName__Alternatives10674); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getEssentialOCLInfixOperatorNameAccess().getGreaterThanSignKeyword_4()); 
                     }
@@ -16492,15 +16608,15 @@
                     }
                     break;
                 case 6 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4723:6: ( '<' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4881:6: ( '<' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4723:6: ( '<' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4724:1: '<'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4881:6: ( '<' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4882:1: '<'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getEssentialOCLInfixOperatorNameAccess().getLessThanSignKeyword_5()); 
                     }
-                    match(input,67,FollowSets000.FOLLOW_67_in_rule__EssentialOCLInfixOperatorName__Alternatives10533); if (state.failed) return ;
+                    match(input,76,FollowSets000.FOLLOW_76_in_rule__EssentialOCLInfixOperatorName__Alternatives10694); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getEssentialOCLInfixOperatorNameAccess().getLessThanSignKeyword_5()); 
                     }
@@ -16511,15 +16627,15 @@
                     }
                     break;
                 case 7 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4731:6: ( '>=' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4889:6: ( '>=' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4731:6: ( '>=' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4732:1: '>='
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4889:6: ( '>=' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4890:1: '>='
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getEssentialOCLInfixOperatorNameAccess().getGreaterThanSignEqualsSignKeyword_6()); 
                     }
-                    match(input,68,FollowSets000.FOLLOW_68_in_rule__EssentialOCLInfixOperatorName__Alternatives10553); if (state.failed) return ;
+                    match(input,77,FollowSets000.FOLLOW_77_in_rule__EssentialOCLInfixOperatorName__Alternatives10714); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getEssentialOCLInfixOperatorNameAccess().getGreaterThanSignEqualsSignKeyword_6()); 
                     }
@@ -16530,15 +16646,15 @@
                     }
                     break;
                 case 8 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4739:6: ( '<=' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4897:6: ( '<=' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4739:6: ( '<=' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4740:1: '<='
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4897:6: ( '<=' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4898:1: '<='
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getEssentialOCLInfixOperatorNameAccess().getLessThanSignEqualsSignKeyword_7()); 
                     }
-                    match(input,69,FollowSets000.FOLLOW_69_in_rule__EssentialOCLInfixOperatorName__Alternatives10573); if (state.failed) return ;
+                    match(input,78,FollowSets000.FOLLOW_78_in_rule__EssentialOCLInfixOperatorName__Alternatives10734); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getEssentialOCLInfixOperatorNameAccess().getLessThanSignEqualsSignKeyword_7()); 
                     }
@@ -16549,15 +16665,15 @@
                     }
                     break;
                 case 9 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4747:6: ( '=' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4905:6: ( '=' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4747:6: ( '=' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4748:1: '='
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4905:6: ( '=' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4906:1: '='
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getEssentialOCLInfixOperatorNameAccess().getEqualsSignKeyword_8()); 
                     }
-                    match(input,70,FollowSets000.FOLLOW_70_in_rule__EssentialOCLInfixOperatorName__Alternatives10593); if (state.failed) return ;
+                    match(input,79,FollowSets000.FOLLOW_79_in_rule__EssentialOCLInfixOperatorName__Alternatives10754); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getEssentialOCLInfixOperatorNameAccess().getEqualsSignKeyword_8()); 
                     }
@@ -16568,15 +16684,15 @@
                     }
                     break;
                 case 10 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4755:6: ( '<>' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4913:6: ( '<>' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4755:6: ( '<>' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4756:1: '<>'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4913:6: ( '<>' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4914:1: '<>'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getEssentialOCLInfixOperatorNameAccess().getLessThanSignGreaterThanSignKeyword_9()); 
                     }
-                    match(input,71,FollowSets000.FOLLOW_71_in_rule__EssentialOCLInfixOperatorName__Alternatives10613); if (state.failed) return ;
+                    match(input,80,FollowSets000.FOLLOW_80_in_rule__EssentialOCLInfixOperatorName__Alternatives10774); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getEssentialOCLInfixOperatorNameAccess().getLessThanSignGreaterThanSignKeyword_9()); 
                     }
@@ -16587,15 +16703,15 @@
                     }
                     break;
                 case 11 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4763:6: ( 'and' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4921:6: ( 'and' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4763:6: ( 'and' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4764:1: 'and'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4921:6: ( 'and' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4922:1: 'and'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getEssentialOCLInfixOperatorNameAccess().getAndKeyword_10()); 
                     }
-                    match(input,72,FollowSets000.FOLLOW_72_in_rule__EssentialOCLInfixOperatorName__Alternatives10633); if (state.failed) return ;
+                    match(input,81,FollowSets000.FOLLOW_81_in_rule__EssentialOCLInfixOperatorName__Alternatives10794); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getEssentialOCLInfixOperatorNameAccess().getAndKeyword_10()); 
                     }
@@ -16606,15 +16722,15 @@
                     }
                     break;
                 case 12 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4771:6: ( 'or' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4929:6: ( 'or' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4771:6: ( 'or' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4772:1: 'or'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4929:6: ( 'or' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4930:1: 'or'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getEssentialOCLInfixOperatorNameAccess().getOrKeyword_11()); 
                     }
-                    match(input,73,FollowSets000.FOLLOW_73_in_rule__EssentialOCLInfixOperatorName__Alternatives10653); if (state.failed) return ;
+                    match(input,82,FollowSets000.FOLLOW_82_in_rule__EssentialOCLInfixOperatorName__Alternatives10814); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getEssentialOCLInfixOperatorNameAccess().getOrKeyword_11()); 
                     }
@@ -16625,15 +16741,15 @@
                     }
                     break;
                 case 13 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4779:6: ( 'xor' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4937:6: ( 'xor' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4779:6: ( 'xor' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4780:1: 'xor'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4937:6: ( 'xor' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4938:1: 'xor'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getEssentialOCLInfixOperatorNameAccess().getXorKeyword_12()); 
                     }
-                    match(input,74,FollowSets000.FOLLOW_74_in_rule__EssentialOCLInfixOperatorName__Alternatives10673); if (state.failed) return ;
+                    match(input,83,FollowSets000.FOLLOW_83_in_rule__EssentialOCLInfixOperatorName__Alternatives10834); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getEssentialOCLInfixOperatorNameAccess().getXorKeyword_12()); 
                     }
@@ -16644,15 +16760,15 @@
                     }
                     break;
                 case 14 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4787:6: ( 'implies' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4945:6: ( 'implies' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4787:6: ( 'implies' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4788:1: 'implies'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4945:6: ( 'implies' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4946:1: 'implies'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getEssentialOCLInfixOperatorNameAccess().getImpliesKeyword_13()); 
                     }
-                    match(input,75,FollowSets000.FOLLOW_75_in_rule__EssentialOCLInfixOperatorName__Alternatives10693); if (state.failed) return ;
+                    match(input,84,FollowSets000.FOLLOW_84_in_rule__EssentialOCLInfixOperatorName__Alternatives10854); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getEssentialOCLInfixOperatorNameAccess().getImpliesKeyword_13()); 
                     }
@@ -16680,54 +16796,54 @@
 
 
     // $ANTLR start "rule__EssentialOCLNavigationOperatorName__Alternatives"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4800:1: rule__EssentialOCLNavigationOperatorName__Alternatives : ( ( '.' ) | ( '->' ) | ( '?.' ) | ( '?->' ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4958:1: rule__EssentialOCLNavigationOperatorName__Alternatives : ( ( '.' ) | ( '->' ) | ( '?.' ) | ( '?->' ) );
     public final void rule__EssentialOCLNavigationOperatorName__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4804:1: ( ( '.' ) | ( '->' ) | ( '?.' ) | ( '?->' ) )
-            int alt46=4;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4962:1: ( ( '.' ) | ( '->' ) | ( '?.' ) | ( '?->' ) )
+            int alt61=4;
             switch ( input.LA(1) ) {
-            case 76:
+            case 85:
                 {
-                alt46=1;
+                alt61=1;
                 }
                 break;
-            case 77:
+            case 86:
                 {
-                alt46=2;
+                alt61=2;
                 }
                 break;
-            case 78:
+            case 87:
                 {
-                alt46=3;
+                alt61=3;
                 }
                 break;
-            case 79:
+            case 88:
                 {
-                alt46=4;
+                alt61=4;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 46, 0, input);
+                    new NoViableAltException("", 61, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt46) {
+            switch (alt61) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4805:1: ( '.' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4963:1: ( '.' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4805:1: ( '.' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4806:1: '.'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4963:1: ( '.' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4964:1: '.'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getEssentialOCLNavigationOperatorNameAccess().getFullStopKeyword_0()); 
                     }
-                    match(input,76,FollowSets000.FOLLOW_76_in_rule__EssentialOCLNavigationOperatorName__Alternatives10728); if (state.failed) return ;
+                    match(input,85,FollowSets000.FOLLOW_85_in_rule__EssentialOCLNavigationOperatorName__Alternatives10889); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getEssentialOCLNavigationOperatorNameAccess().getFullStopKeyword_0()); 
                     }
@@ -16738,15 +16854,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4813:6: ( '->' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4971:6: ( '->' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4813:6: ( '->' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4814:1: '->'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4971:6: ( '->' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4972:1: '->'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getEssentialOCLNavigationOperatorNameAccess().getHyphenMinusGreaterThanSignKeyword_1()); 
                     }
-                    match(input,77,FollowSets000.FOLLOW_77_in_rule__EssentialOCLNavigationOperatorName__Alternatives10748); if (state.failed) return ;
+                    match(input,86,FollowSets000.FOLLOW_86_in_rule__EssentialOCLNavigationOperatorName__Alternatives10909); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getEssentialOCLNavigationOperatorNameAccess().getHyphenMinusGreaterThanSignKeyword_1()); 
                     }
@@ -16757,15 +16873,15 @@
                     }
                     break;
                 case 3 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4821:6: ( '?.' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4979:6: ( '?.' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4821:6: ( '?.' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4822:1: '?.'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4979:6: ( '?.' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4980:1: '?.'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getEssentialOCLNavigationOperatorNameAccess().getQuestionMarkFullStopKeyword_2()); 
                     }
-                    match(input,78,FollowSets000.FOLLOW_78_in_rule__EssentialOCLNavigationOperatorName__Alternatives10768); if (state.failed) return ;
+                    match(input,87,FollowSets000.FOLLOW_87_in_rule__EssentialOCLNavigationOperatorName__Alternatives10929); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getEssentialOCLNavigationOperatorNameAccess().getQuestionMarkFullStopKeyword_2()); 
                     }
@@ -16776,15 +16892,15 @@
                     }
                     break;
                 case 4 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4829:6: ( '?->' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4987:6: ( '?->' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4829:6: ( '?->' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4830:1: '?->'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4987:6: ( '?->' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4988:1: '?->'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getEssentialOCLNavigationOperatorNameAccess().getQuestionMarkHyphenMinusGreaterThanSignKeyword_3()); 
                     }
-                    match(input,79,FollowSets000.FOLLOW_79_in_rule__EssentialOCLNavigationOperatorName__Alternatives10788); if (state.failed) return ;
+                    match(input,88,FollowSets000.FOLLOW_88_in_rule__EssentialOCLNavigationOperatorName__Alternatives10949); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getEssentialOCLNavigationOperatorNameAccess().getQuestionMarkHyphenMinusGreaterThanSignKeyword_3()); 
                     }
@@ -16812,40 +16928,40 @@
 
 
     // $ANTLR start "rule__BinaryOperatorName__Alternatives"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4842:1: rule__BinaryOperatorName__Alternatives : ( ( ruleInfixOperatorName ) | ( ruleNavigationOperatorName ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5000:1: rule__BinaryOperatorName__Alternatives : ( ( ruleInfixOperatorName ) | ( ruleNavigationOperatorName ) );
     public final void rule__BinaryOperatorName__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4846:1: ( ( ruleInfixOperatorName ) | ( ruleNavigationOperatorName ) )
-            int alt47=2;
-            int LA47_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5004:1: ( ( ruleInfixOperatorName ) | ( ruleNavigationOperatorName ) )
+            int alt62=2;
+            int LA62_0 = input.LA(1);
 
-            if ( (LA47_0==61||(LA47_0>=63 && LA47_0<=75)) ) {
-                alt47=1;
+            if ( (LA62_0==70||(LA62_0>=72 && LA62_0<=84)) ) {
+                alt62=1;
             }
-            else if ( ((LA47_0>=76 && LA47_0<=79)) ) {
-                alt47=2;
+            else if ( ((LA62_0>=85 && LA62_0<=88)) ) {
+                alt62=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 47, 0, input);
+                    new NoViableAltException("", 62, 0, input);
 
                 throw nvae;
             }
-            switch (alt47) {
+            switch (alt62) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4847:1: ( ruleInfixOperatorName )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5005:1: ( ruleInfixOperatorName )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4847:1: ( ruleInfixOperatorName )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4848:1: ruleInfixOperatorName
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5005:1: ( ruleInfixOperatorName )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5006:1: ruleInfixOperatorName
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getBinaryOperatorNameAccess().getInfixOperatorNameParserRuleCall_0()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleInfixOperatorName_in_rule__BinaryOperatorName__Alternatives10822);
+                    pushFollow(FollowSets000.FOLLOW_ruleInfixOperatorName_in_rule__BinaryOperatorName__Alternatives10983);
                     ruleInfixOperatorName();
 
                     state._fsp--;
@@ -16860,15 +16976,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4853:6: ( ruleNavigationOperatorName )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5011:6: ( ruleNavigationOperatorName )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4853:6: ( ruleNavigationOperatorName )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4854:1: ruleNavigationOperatorName
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5011:6: ( ruleNavigationOperatorName )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5012:1: ruleNavigationOperatorName
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getBinaryOperatorNameAccess().getNavigationOperatorNameParserRuleCall_1()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleNavigationOperatorName_in_rule__BinaryOperatorName__Alternatives10839);
+                    pushFollow(FollowSets000.FOLLOW_ruleNavigationOperatorName_in_rule__BinaryOperatorName__Alternatives11000);
                     ruleNavigationOperatorName();
 
                     state._fsp--;
@@ -16900,14 +17016,14 @@
 
 
     // $ANTLR start "rule__EssentialOCLUnreservedName__Alternatives"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4864:1: rule__EssentialOCLUnreservedName__Alternatives : ( ( ruleUnrestrictedName ) | ( ruleCollectionTypeIdentifier ) | ( rulePrimitiveTypeIdentifier ) | ( 'Tuple' ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5022:1: rule__EssentialOCLUnreservedName__Alternatives : ( ( ruleUnrestrictedName ) | ( ruleCollectionTypeIdentifier ) | ( rulePrimitiveTypeIdentifier ) | ( 'Tuple' ) );
     public final void rule__EssentialOCLUnreservedName__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4868:1: ( ( ruleUnrestrictedName ) | ( ruleCollectionTypeIdentifier ) | ( rulePrimitiveTypeIdentifier ) | ( 'Tuple' ) )
-            int alt48=4;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5026:1: ( ( ruleUnrestrictedName ) | ( ruleCollectionTypeIdentifier ) | ( rulePrimitiveTypeIdentifier ) | ( 'Tuple' ) )
+            int alt63=4;
             switch ( input.LA(1) ) {
             case RULE_SIMPLE_ID:
             case RULE_ESCAPED_ID:
@@ -16947,61 +17063,61 @@
             case 50:
             case 51:
             case 52:
-            case 55:
-            case 56:
-            case 57:
-            case 58:
-            case 59:
-            case 60:
+            case 64:
+            case 65:
+            case 66:
+            case 67:
+            case 68:
+            case 69:
                 {
-                alt48=1;
+                alt63=1;
                 }
                 break;
-            case 89:
+            case 98:
+            case 99:
+            case 100:
+            case 101:
+            case 102:
+                {
+                alt63=2;
+                }
+                break;
             case 90:
             case 91:
             case 92:
             case 93:
+            case 94:
+            case 95:
+            case 96:
+            case 97:
                 {
-                alt48=2;
+                alt63=3;
                 }
                 break;
-            case 81:
-            case 82:
-            case 83:
-            case 84:
-            case 85:
-            case 86:
-            case 87:
-            case 88:
+            case 89:
                 {
-                alt48=3;
-                }
-                break;
-            case 80:
-                {
-                alt48=4;
+                alt63=4;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 48, 0, input);
+                    new NoViableAltException("", 63, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt48) {
+            switch (alt63) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4869:1: ( ruleUnrestrictedName )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5027:1: ( ruleUnrestrictedName )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4869:1: ( ruleUnrestrictedName )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4870:1: ruleUnrestrictedName
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5027:1: ( ruleUnrestrictedName )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5028:1: ruleUnrestrictedName
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getEssentialOCLUnreservedNameAccess().getUnrestrictedNameParserRuleCall_0()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_rule__EssentialOCLUnreservedName__Alternatives10871);
+                    pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_rule__EssentialOCLUnreservedName__Alternatives11032);
                     ruleUnrestrictedName();
 
                     state._fsp--;
@@ -17016,15 +17132,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4875:6: ( ruleCollectionTypeIdentifier )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5033:6: ( ruleCollectionTypeIdentifier )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4875:6: ( ruleCollectionTypeIdentifier )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4876:1: ruleCollectionTypeIdentifier
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5033:6: ( ruleCollectionTypeIdentifier )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5034:1: ruleCollectionTypeIdentifier
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getEssentialOCLUnreservedNameAccess().getCollectionTypeIdentifierParserRuleCall_1()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleCollectionTypeIdentifier_in_rule__EssentialOCLUnreservedName__Alternatives10888);
+                    pushFollow(FollowSets000.FOLLOW_ruleCollectionTypeIdentifier_in_rule__EssentialOCLUnreservedName__Alternatives11049);
                     ruleCollectionTypeIdentifier();
 
                     state._fsp--;
@@ -17039,15 +17155,15 @@
                     }
                     break;
                 case 3 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4881:6: ( rulePrimitiveTypeIdentifier )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5039:6: ( rulePrimitiveTypeIdentifier )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4881:6: ( rulePrimitiveTypeIdentifier )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4882:1: rulePrimitiveTypeIdentifier
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5039:6: ( rulePrimitiveTypeIdentifier )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5040:1: rulePrimitiveTypeIdentifier
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getEssentialOCLUnreservedNameAccess().getPrimitiveTypeIdentifierParserRuleCall_2()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_rulePrimitiveTypeIdentifier_in_rule__EssentialOCLUnreservedName__Alternatives10905);
+                    pushFollow(FollowSets000.FOLLOW_rulePrimitiveTypeIdentifier_in_rule__EssentialOCLUnreservedName__Alternatives11066);
                     rulePrimitiveTypeIdentifier();
 
                     state._fsp--;
@@ -17062,15 +17178,15 @@
                     }
                     break;
                 case 4 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4887:6: ( 'Tuple' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5045:6: ( 'Tuple' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4887:6: ( 'Tuple' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4888:1: 'Tuple'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5045:6: ( 'Tuple' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5046:1: 'Tuple'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getEssentialOCLUnreservedNameAccess().getTupleKeyword_3()); 
                     }
-                    match(input,80,FollowSets000.FOLLOW_80_in_rule__EssentialOCLUnreservedName__Alternatives10923); if (state.failed) return ;
+                    match(input,89,FollowSets000.FOLLOW_89_in_rule__EssentialOCLUnreservedName__Alternatives11084); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getEssentialOCLUnreservedNameAccess().getTupleKeyword_3()); 
                     }
@@ -17098,43 +17214,43 @@
 
 
     // $ANTLR start "rule__URIFirstPathElementCS__Alternatives"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4900:1: rule__URIFirstPathElementCS__Alternatives : ( ( ( rule__URIFirstPathElementCS__ReferredElementAssignment_0 ) ) | ( ( rule__URIFirstPathElementCS__Group_1__0 ) ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5058:1: rule__URIFirstPathElementCS__Alternatives : ( ( ( rule__URIFirstPathElementCS__ReferredElementAssignment_0 ) ) | ( ( rule__URIFirstPathElementCS__Group_1__0 ) ) );
     public final void rule__URIFirstPathElementCS__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4904:1: ( ( ( rule__URIFirstPathElementCS__ReferredElementAssignment_0 ) ) | ( ( rule__URIFirstPathElementCS__Group_1__0 ) ) )
-            int alt49=2;
-            int LA49_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5062:1: ( ( ( rule__URIFirstPathElementCS__ReferredElementAssignment_0 ) ) | ( ( rule__URIFirstPathElementCS__Group_1__0 ) ) )
+            int alt64=2;
+            int LA64_0 = input.LA(1);
 
-            if ( ((LA49_0>=RULE_SIMPLE_ID && LA49_0<=RULE_ESCAPED_ID)||(LA49_0>=17 && LA49_0<=52)||(LA49_0>=55 && LA49_0<=60)) ) {
-                alt49=1;
+            if ( ((LA64_0>=RULE_SIMPLE_ID && LA64_0<=RULE_ESCAPED_ID)||(LA64_0>=17 && LA64_0<=52)||(LA64_0>=64 && LA64_0<=69)) ) {
+                alt64=1;
             }
-            else if ( (LA49_0==RULE_SINGLE_QUOTED_STRING) ) {
-                alt49=2;
+            else if ( (LA64_0==RULE_SINGLE_QUOTED_STRING) ) {
+                alt64=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 49, 0, input);
+                    new NoViableAltException("", 64, 0, input);
 
                 throw nvae;
             }
-            switch (alt49) {
+            switch (alt64) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4905:1: ( ( rule__URIFirstPathElementCS__ReferredElementAssignment_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5063:1: ( ( rule__URIFirstPathElementCS__ReferredElementAssignment_0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4905:1: ( ( rule__URIFirstPathElementCS__ReferredElementAssignment_0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4906:1: ( rule__URIFirstPathElementCS__ReferredElementAssignment_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5063:1: ( ( rule__URIFirstPathElementCS__ReferredElementAssignment_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5064:1: ( rule__URIFirstPathElementCS__ReferredElementAssignment_0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getURIFirstPathElementCSAccess().getReferredElementAssignment_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4907:1: ( rule__URIFirstPathElementCS__ReferredElementAssignment_0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4907:2: rule__URIFirstPathElementCS__ReferredElementAssignment_0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5065:1: ( rule__URIFirstPathElementCS__ReferredElementAssignment_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5065:2: rule__URIFirstPathElementCS__ReferredElementAssignment_0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__URIFirstPathElementCS__ReferredElementAssignment_0_in_rule__URIFirstPathElementCS__Alternatives10957);
+                    pushFollow(FollowSets000.FOLLOW_rule__URIFirstPathElementCS__ReferredElementAssignment_0_in_rule__URIFirstPathElementCS__Alternatives11118);
                     rule__URIFirstPathElementCS__ReferredElementAssignment_0();
 
                     state._fsp--;
@@ -17152,18 +17268,18 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4911:6: ( ( rule__URIFirstPathElementCS__Group_1__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5069:6: ( ( rule__URIFirstPathElementCS__Group_1__0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4911:6: ( ( rule__URIFirstPathElementCS__Group_1__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4912:1: ( rule__URIFirstPathElementCS__Group_1__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5069:6: ( ( rule__URIFirstPathElementCS__Group_1__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5070:1: ( rule__URIFirstPathElementCS__Group_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getURIFirstPathElementCSAccess().getGroup_1()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4913:1: ( rule__URIFirstPathElementCS__Group_1__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4913:2: rule__URIFirstPathElementCS__Group_1__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5071:1: ( rule__URIFirstPathElementCS__Group_1__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5071:2: rule__URIFirstPathElementCS__Group_1__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__URIFirstPathElementCS__Group_1__0_in_rule__URIFirstPathElementCS__Alternatives10975);
+                    pushFollow(FollowSets000.FOLLOW_rule__URIFirstPathElementCS__Group_1__0_in_rule__URIFirstPathElementCS__Alternatives11136);
                     rule__URIFirstPathElementCS__Group_1__0();
 
                     state._fsp--;
@@ -17198,74 +17314,74 @@
 
 
     // $ANTLR start "rule__PrimitiveTypeIdentifier__Alternatives"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4922:1: rule__PrimitiveTypeIdentifier__Alternatives : ( ( 'Boolean' ) | ( 'Integer' ) | ( 'Real' ) | ( 'String' ) | ( 'UnlimitedNatural' ) | ( 'OclAny' ) | ( 'OclInvalid' ) | ( 'OclVoid' ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5080:1: rule__PrimitiveTypeIdentifier__Alternatives : ( ( 'Boolean' ) | ( 'Integer' ) | ( 'Real' ) | ( 'String' ) | ( 'UnlimitedNatural' ) | ( 'OclAny' ) | ( 'OclInvalid' ) | ( 'OclVoid' ) );
     public final void rule__PrimitiveTypeIdentifier__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4926:1: ( ( 'Boolean' ) | ( 'Integer' ) | ( 'Real' ) | ( 'String' ) | ( 'UnlimitedNatural' ) | ( 'OclAny' ) | ( 'OclInvalid' ) | ( 'OclVoid' ) )
-            int alt50=8;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5084:1: ( ( 'Boolean' ) | ( 'Integer' ) | ( 'Real' ) | ( 'String' ) | ( 'UnlimitedNatural' ) | ( 'OclAny' ) | ( 'OclInvalid' ) | ( 'OclVoid' ) )
+            int alt65=8;
             switch ( input.LA(1) ) {
-            case 81:
+            case 90:
                 {
-                alt50=1;
+                alt65=1;
                 }
                 break;
-            case 82:
+            case 91:
                 {
-                alt50=2;
+                alt65=2;
                 }
                 break;
-            case 83:
+            case 92:
                 {
-                alt50=3;
+                alt65=3;
                 }
                 break;
-            case 84:
+            case 93:
                 {
-                alt50=4;
+                alt65=4;
                 }
                 break;
-            case 85:
+            case 94:
                 {
-                alt50=5;
+                alt65=5;
                 }
                 break;
-            case 86:
+            case 95:
                 {
-                alt50=6;
+                alt65=6;
                 }
                 break;
-            case 87:
+            case 96:
                 {
-                alt50=7;
+                alt65=7;
                 }
                 break;
-            case 88:
+            case 97:
                 {
-                alt50=8;
+                alt65=8;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 50, 0, input);
+                    new NoViableAltException("", 65, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt50) {
+            switch (alt65) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4927:1: ( 'Boolean' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5085:1: ( 'Boolean' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4927:1: ( 'Boolean' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4928:1: 'Boolean'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5085:1: ( 'Boolean' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5086:1: 'Boolean'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPrimitiveTypeIdentifierAccess().getBooleanKeyword_0()); 
                     }
-                    match(input,81,FollowSets000.FOLLOW_81_in_rule__PrimitiveTypeIdentifier__Alternatives11009); if (state.failed) return ;
+                    match(input,90,FollowSets000.FOLLOW_90_in_rule__PrimitiveTypeIdentifier__Alternatives11170); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getPrimitiveTypeIdentifierAccess().getBooleanKeyword_0()); 
                     }
@@ -17276,15 +17392,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4935:6: ( 'Integer' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5093:6: ( 'Integer' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4935:6: ( 'Integer' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4936:1: 'Integer'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5093:6: ( 'Integer' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5094:1: 'Integer'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPrimitiveTypeIdentifierAccess().getIntegerKeyword_1()); 
                     }
-                    match(input,82,FollowSets000.FOLLOW_82_in_rule__PrimitiveTypeIdentifier__Alternatives11029); if (state.failed) return ;
+                    match(input,91,FollowSets000.FOLLOW_91_in_rule__PrimitiveTypeIdentifier__Alternatives11190); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getPrimitiveTypeIdentifierAccess().getIntegerKeyword_1()); 
                     }
@@ -17295,15 +17411,15 @@
                     }
                     break;
                 case 3 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4943:6: ( 'Real' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5101:6: ( 'Real' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4943:6: ( 'Real' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4944:1: 'Real'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5101:6: ( 'Real' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5102:1: 'Real'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPrimitiveTypeIdentifierAccess().getRealKeyword_2()); 
                     }
-                    match(input,83,FollowSets000.FOLLOW_83_in_rule__PrimitiveTypeIdentifier__Alternatives11049); if (state.failed) return ;
+                    match(input,92,FollowSets000.FOLLOW_92_in_rule__PrimitiveTypeIdentifier__Alternatives11210); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getPrimitiveTypeIdentifierAccess().getRealKeyword_2()); 
                     }
@@ -17314,15 +17430,15 @@
                     }
                     break;
                 case 4 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4951:6: ( 'String' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5109:6: ( 'String' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4951:6: ( 'String' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4952:1: 'String'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5109:6: ( 'String' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5110:1: 'String'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPrimitiveTypeIdentifierAccess().getStringKeyword_3()); 
                     }
-                    match(input,84,FollowSets000.FOLLOW_84_in_rule__PrimitiveTypeIdentifier__Alternatives11069); if (state.failed) return ;
+                    match(input,93,FollowSets000.FOLLOW_93_in_rule__PrimitiveTypeIdentifier__Alternatives11230); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getPrimitiveTypeIdentifierAccess().getStringKeyword_3()); 
                     }
@@ -17333,15 +17449,15 @@
                     }
                     break;
                 case 5 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4959:6: ( 'UnlimitedNatural' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5117:6: ( 'UnlimitedNatural' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4959:6: ( 'UnlimitedNatural' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4960:1: 'UnlimitedNatural'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5117:6: ( 'UnlimitedNatural' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5118:1: 'UnlimitedNatural'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPrimitiveTypeIdentifierAccess().getUnlimitedNaturalKeyword_4()); 
                     }
-                    match(input,85,FollowSets000.FOLLOW_85_in_rule__PrimitiveTypeIdentifier__Alternatives11089); if (state.failed) return ;
+                    match(input,94,FollowSets000.FOLLOW_94_in_rule__PrimitiveTypeIdentifier__Alternatives11250); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getPrimitiveTypeIdentifierAccess().getUnlimitedNaturalKeyword_4()); 
                     }
@@ -17352,15 +17468,15 @@
                     }
                     break;
                 case 6 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4967:6: ( 'OclAny' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5125:6: ( 'OclAny' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4967:6: ( 'OclAny' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4968:1: 'OclAny'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5125:6: ( 'OclAny' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5126:1: 'OclAny'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPrimitiveTypeIdentifierAccess().getOclAnyKeyword_5()); 
                     }
-                    match(input,86,FollowSets000.FOLLOW_86_in_rule__PrimitiveTypeIdentifier__Alternatives11109); if (state.failed) return ;
+                    match(input,95,FollowSets000.FOLLOW_95_in_rule__PrimitiveTypeIdentifier__Alternatives11270); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getPrimitiveTypeIdentifierAccess().getOclAnyKeyword_5()); 
                     }
@@ -17371,15 +17487,15 @@
                     }
                     break;
                 case 7 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4975:6: ( 'OclInvalid' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5133:6: ( 'OclInvalid' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4975:6: ( 'OclInvalid' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4976:1: 'OclInvalid'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5133:6: ( 'OclInvalid' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5134:1: 'OclInvalid'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPrimitiveTypeIdentifierAccess().getOclInvalidKeyword_6()); 
                     }
-                    match(input,87,FollowSets000.FOLLOW_87_in_rule__PrimitiveTypeIdentifier__Alternatives11129); if (state.failed) return ;
+                    match(input,96,FollowSets000.FOLLOW_96_in_rule__PrimitiveTypeIdentifier__Alternatives11290); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getPrimitiveTypeIdentifierAccess().getOclInvalidKeyword_6()); 
                     }
@@ -17390,15 +17506,15 @@
                     }
                     break;
                 case 8 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4983:6: ( 'OclVoid' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5141:6: ( 'OclVoid' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4983:6: ( 'OclVoid' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4984:1: 'OclVoid'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5141:6: ( 'OclVoid' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5142:1: 'OclVoid'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPrimitiveTypeIdentifierAccess().getOclVoidKeyword_7()); 
                     }
-                    match(input,88,FollowSets000.FOLLOW_88_in_rule__PrimitiveTypeIdentifier__Alternatives11149); if (state.failed) return ;
+                    match(input,97,FollowSets000.FOLLOW_97_in_rule__PrimitiveTypeIdentifier__Alternatives11310); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getPrimitiveTypeIdentifierAccess().getOclVoidKeyword_7()); 
                     }
@@ -17426,59 +17542,59 @@
 
 
     // $ANTLR start "rule__CollectionTypeIdentifier__Alternatives"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:4996:1: rule__CollectionTypeIdentifier__Alternatives : ( ( 'Set' ) | ( 'Bag' ) | ( 'Sequence' ) | ( 'Collection' ) | ( 'OrderedSet' ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5154:1: rule__CollectionTypeIdentifier__Alternatives : ( ( 'Set' ) | ( 'Bag' ) | ( 'Sequence' ) | ( 'Collection' ) | ( 'OrderedSet' ) );
     public final void rule__CollectionTypeIdentifier__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5000:1: ( ( 'Set' ) | ( 'Bag' ) | ( 'Sequence' ) | ( 'Collection' ) | ( 'OrderedSet' ) )
-            int alt51=5;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5158:1: ( ( 'Set' ) | ( 'Bag' ) | ( 'Sequence' ) | ( 'Collection' ) | ( 'OrderedSet' ) )
+            int alt66=5;
             switch ( input.LA(1) ) {
-            case 89:
+            case 98:
                 {
-                alt51=1;
+                alt66=1;
                 }
                 break;
-            case 90:
+            case 99:
                 {
-                alt51=2;
+                alt66=2;
                 }
                 break;
-            case 91:
+            case 100:
                 {
-                alt51=3;
+                alt66=3;
                 }
                 break;
-            case 92:
+            case 101:
                 {
-                alt51=4;
+                alt66=4;
                 }
                 break;
-            case 93:
+            case 102:
                 {
-                alt51=5;
+                alt66=5;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 51, 0, input);
+                    new NoViableAltException("", 66, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt51) {
+            switch (alt66) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5001:1: ( 'Set' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5159:1: ( 'Set' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5001:1: ( 'Set' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5002:1: 'Set'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5159:1: ( 'Set' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5160:1: 'Set'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getCollectionTypeIdentifierAccess().getSetKeyword_0()); 
                     }
-                    match(input,89,FollowSets000.FOLLOW_89_in_rule__CollectionTypeIdentifier__Alternatives11184); if (state.failed) return ;
+                    match(input,98,FollowSets000.FOLLOW_98_in_rule__CollectionTypeIdentifier__Alternatives11345); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getCollectionTypeIdentifierAccess().getSetKeyword_0()); 
                     }
@@ -17489,15 +17605,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5009:6: ( 'Bag' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5167:6: ( 'Bag' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5009:6: ( 'Bag' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5010:1: 'Bag'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5167:6: ( 'Bag' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5168:1: 'Bag'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getCollectionTypeIdentifierAccess().getBagKeyword_1()); 
                     }
-                    match(input,90,FollowSets000.FOLLOW_90_in_rule__CollectionTypeIdentifier__Alternatives11204); if (state.failed) return ;
+                    match(input,99,FollowSets000.FOLLOW_99_in_rule__CollectionTypeIdentifier__Alternatives11365); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getCollectionTypeIdentifierAccess().getBagKeyword_1()); 
                     }
@@ -17508,15 +17624,15 @@
                     }
                     break;
                 case 3 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5017:6: ( 'Sequence' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5175:6: ( 'Sequence' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5017:6: ( 'Sequence' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5018:1: 'Sequence'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5175:6: ( 'Sequence' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5176:1: 'Sequence'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getCollectionTypeIdentifierAccess().getSequenceKeyword_2()); 
                     }
-                    match(input,91,FollowSets000.FOLLOW_91_in_rule__CollectionTypeIdentifier__Alternatives11224); if (state.failed) return ;
+                    match(input,100,FollowSets000.FOLLOW_100_in_rule__CollectionTypeIdentifier__Alternatives11385); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getCollectionTypeIdentifierAccess().getSequenceKeyword_2()); 
                     }
@@ -17527,15 +17643,15 @@
                     }
                     break;
                 case 4 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5025:6: ( 'Collection' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5183:6: ( 'Collection' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5025:6: ( 'Collection' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5026:1: 'Collection'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5183:6: ( 'Collection' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5184:1: 'Collection'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getCollectionTypeIdentifierAccess().getCollectionKeyword_3()); 
                     }
-                    match(input,92,FollowSets000.FOLLOW_92_in_rule__CollectionTypeIdentifier__Alternatives11244); if (state.failed) return ;
+                    match(input,101,FollowSets000.FOLLOW_101_in_rule__CollectionTypeIdentifier__Alternatives11405); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getCollectionTypeIdentifierAccess().getCollectionKeyword_3()); 
                     }
@@ -17546,15 +17662,15 @@
                     }
                     break;
                 case 5 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5033:6: ( 'OrderedSet' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5191:6: ( 'OrderedSet' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5033:6: ( 'OrderedSet' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5034:1: 'OrderedSet'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5191:6: ( 'OrderedSet' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5192:1: 'OrderedSet'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getCollectionTypeIdentifierAccess().getOrderedSetKeyword_4()); 
                     }
-                    match(input,93,FollowSets000.FOLLOW_93_in_rule__CollectionTypeIdentifier__Alternatives11264); if (state.failed) return ;
+                    match(input,102,FollowSets000.FOLLOW_102_in_rule__CollectionTypeIdentifier__Alternatives11425); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getCollectionTypeIdentifierAccess().getOrderedSetKeyword_4()); 
                     }
@@ -17582,29 +17698,29 @@
 
 
     // $ANTLR start "rule__CollectionLiteralPartCS__Alternatives"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5046:1: rule__CollectionLiteralPartCS__Alternatives : ( ( ( rule__CollectionLiteralPartCS__Group_0__0 ) ) | ( ( rule__CollectionLiteralPartCS__OwnedExpressionAssignment_1 ) ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5204:1: rule__CollectionLiteralPartCS__Alternatives : ( ( ( rule__CollectionLiteralPartCS__Group_0__0 ) ) | ( ( rule__CollectionLiteralPartCS__OwnedExpressionAssignment_1 ) ) );
     public final void rule__CollectionLiteralPartCS__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5050:1: ( ( ( rule__CollectionLiteralPartCS__Group_0__0 ) ) | ( ( rule__CollectionLiteralPartCS__OwnedExpressionAssignment_1 ) ) )
-            int alt52=2;
-            alt52 = dfa52.predict(input);
-            switch (alt52) {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5208:1: ( ( ( rule__CollectionLiteralPartCS__Group_0__0 ) ) | ( ( rule__CollectionLiteralPartCS__OwnedExpressionAssignment_1 ) ) )
+            int alt67=2;
+            alt67 = dfa67.predict(input);
+            switch (alt67) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5051:1: ( ( rule__CollectionLiteralPartCS__Group_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5209:1: ( ( rule__CollectionLiteralPartCS__Group_0__0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5051:1: ( ( rule__CollectionLiteralPartCS__Group_0__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5052:1: ( rule__CollectionLiteralPartCS__Group_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5209:1: ( ( rule__CollectionLiteralPartCS__Group_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5210:1: ( rule__CollectionLiteralPartCS__Group_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getCollectionLiteralPartCSAccess().getGroup_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5053:1: ( rule__CollectionLiteralPartCS__Group_0__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5053:2: rule__CollectionLiteralPartCS__Group_0__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5211:1: ( rule__CollectionLiteralPartCS__Group_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5211:2: rule__CollectionLiteralPartCS__Group_0__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__CollectionLiteralPartCS__Group_0__0_in_rule__CollectionLiteralPartCS__Alternatives11298);
+                    pushFollow(FollowSets000.FOLLOW_rule__CollectionLiteralPartCS__Group_0__0_in_rule__CollectionLiteralPartCS__Alternatives11459);
                     rule__CollectionLiteralPartCS__Group_0__0();
 
                     state._fsp--;
@@ -17622,18 +17738,18 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5057:6: ( ( rule__CollectionLiteralPartCS__OwnedExpressionAssignment_1 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5215:6: ( ( rule__CollectionLiteralPartCS__OwnedExpressionAssignment_1 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5057:6: ( ( rule__CollectionLiteralPartCS__OwnedExpressionAssignment_1 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5058:1: ( rule__CollectionLiteralPartCS__OwnedExpressionAssignment_1 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5215:6: ( ( rule__CollectionLiteralPartCS__OwnedExpressionAssignment_1 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5216:1: ( rule__CollectionLiteralPartCS__OwnedExpressionAssignment_1 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getCollectionLiteralPartCSAccess().getOwnedExpressionAssignment_1()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5059:1: ( rule__CollectionLiteralPartCS__OwnedExpressionAssignment_1 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5059:2: rule__CollectionLiteralPartCS__OwnedExpressionAssignment_1
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5217:1: ( rule__CollectionLiteralPartCS__OwnedExpressionAssignment_1 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5217:2: rule__CollectionLiteralPartCS__OwnedExpressionAssignment_1
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__CollectionLiteralPartCS__OwnedExpressionAssignment_1_in_rule__CollectionLiteralPartCS__Alternatives11316);
+                    pushFollow(FollowSets000.FOLLOW_rule__CollectionLiteralPartCS__OwnedExpressionAssignment_1_in_rule__CollectionLiteralPartCS__Alternatives11477);
                     rule__CollectionLiteralPartCS__OwnedExpressionAssignment_1();
 
                     state._fsp--;
@@ -17668,26 +17784,26 @@
 
 
     // $ANTLR start "rule__ConstructorPartCS__OwnedInitExpressionAlternatives_2_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5068:1: rule__ConstructorPartCS__OwnedInitExpressionAlternatives_2_0 : ( ( ruleExpCS ) | ( rulePatternExpCS ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5226:1: rule__ConstructorPartCS__OwnedInitExpressionAlternatives_2_0 : ( ( ruleExpCS ) | ( rulePatternExpCS ) );
     public final void rule__ConstructorPartCS__OwnedInitExpressionAlternatives_2_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5072:1: ( ( ruleExpCS ) | ( rulePatternExpCS ) )
-            int alt53=2;
-            alt53 = dfa53.predict(input);
-            switch (alt53) {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5230:1: ( ( ruleExpCS ) | ( rulePatternExpCS ) )
+            int alt68=2;
+            alt68 = dfa68.predict(input);
+            switch (alt68) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5073:1: ( ruleExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5231:1: ( ruleExpCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5073:1: ( ruleExpCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5074:1: ruleExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5231:1: ( ruleExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5232:1: ruleExpCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getConstructorPartCSAccess().getOwnedInitExpressionExpCSParserRuleCall_2_0_0()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_rule__ConstructorPartCS__OwnedInitExpressionAlternatives_2_011349);
+                    pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_rule__ConstructorPartCS__OwnedInitExpressionAlternatives_2_011510);
                     ruleExpCS();
 
                     state._fsp--;
@@ -17702,15 +17818,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5079:6: ( rulePatternExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5237:6: ( rulePatternExpCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5079:6: ( rulePatternExpCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5080:1: rulePatternExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5237:6: ( rulePatternExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5238:1: rulePatternExpCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getConstructorPartCSAccess().getOwnedInitExpressionPatternExpCSParserRuleCall_2_0_1()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_rulePatternExpCS_in_rule__ConstructorPartCS__OwnedInitExpressionAlternatives_2_011366);
+                    pushFollow(FollowSets000.FOLLOW_rulePatternExpCS_in_rule__ConstructorPartCS__OwnedInitExpressionAlternatives_2_011527);
                     rulePatternExpCS();
 
                     state._fsp--;
@@ -17742,65 +17858,65 @@
 
 
     // $ANTLR start "rule__PrimitiveLiteralExpCS__Alternatives"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5090:1: rule__PrimitiveLiteralExpCS__Alternatives : ( ( ruleNumberLiteralExpCS ) | ( ruleStringLiteralExpCS ) | ( ruleBooleanLiteralExpCS ) | ( ruleUnlimitedNaturalLiteralExpCS ) | ( ruleInvalidLiteralExpCS ) | ( ruleNullLiteralExpCS ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5248:1: rule__PrimitiveLiteralExpCS__Alternatives : ( ( ruleNumberLiteralExpCS ) | ( ruleStringLiteralExpCS ) | ( ruleBooleanLiteralExpCS ) | ( ruleUnlimitedNaturalLiteralExpCS ) | ( ruleInvalidLiteralExpCS ) | ( ruleNullLiteralExpCS ) );
     public final void rule__PrimitiveLiteralExpCS__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5094:1: ( ( ruleNumberLiteralExpCS ) | ( ruleStringLiteralExpCS ) | ( ruleBooleanLiteralExpCS ) | ( ruleUnlimitedNaturalLiteralExpCS ) | ( ruleInvalidLiteralExpCS ) | ( ruleNullLiteralExpCS ) )
-            int alt54=6;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5252:1: ( ( ruleNumberLiteralExpCS ) | ( ruleStringLiteralExpCS ) | ( ruleBooleanLiteralExpCS ) | ( ruleUnlimitedNaturalLiteralExpCS ) | ( ruleInvalidLiteralExpCS ) | ( ruleNullLiteralExpCS ) )
+            int alt69=6;
             switch ( input.LA(1) ) {
             case RULE_INT:
                 {
-                alt54=1;
+                alt69=1;
                 }
                 break;
             case RULE_SINGLE_QUOTED_STRING:
                 {
-                alt54=2;
+                alt69=2;
                 }
                 break;
             case 131:
             case 132:
                 {
-                alt54=3;
+                alt69=3;
                 }
                 break;
-            case 63:
+            case 72:
                 {
-                alt54=4;
+                alt69=4;
                 }
                 break;
-            case 106:
+            case 115:
                 {
-                alt54=5;
+                alt69=5;
                 }
                 break;
-            case 107:
+            case 116:
                 {
-                alt54=6;
+                alt69=6;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 54, 0, input);
+                    new NoViableAltException("", 69, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt54) {
+            switch (alt69) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5095:1: ( ruleNumberLiteralExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5253:1: ( ruleNumberLiteralExpCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5095:1: ( ruleNumberLiteralExpCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5096:1: ruleNumberLiteralExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5253:1: ( ruleNumberLiteralExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5254:1: ruleNumberLiteralExpCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPrimitiveLiteralExpCSAccess().getNumberLiteralExpCSParserRuleCall_0()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleNumberLiteralExpCS_in_rule__PrimitiveLiteralExpCS__Alternatives11398);
+                    pushFollow(FollowSets000.FOLLOW_ruleNumberLiteralExpCS_in_rule__PrimitiveLiteralExpCS__Alternatives11559);
                     ruleNumberLiteralExpCS();
 
                     state._fsp--;
@@ -17815,15 +17931,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5101:6: ( ruleStringLiteralExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5259:6: ( ruleStringLiteralExpCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5101:6: ( ruleStringLiteralExpCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5102:1: ruleStringLiteralExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5259:6: ( ruleStringLiteralExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5260:1: ruleStringLiteralExpCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPrimitiveLiteralExpCSAccess().getStringLiteralExpCSParserRuleCall_1()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleStringLiteralExpCS_in_rule__PrimitiveLiteralExpCS__Alternatives11415);
+                    pushFollow(FollowSets000.FOLLOW_ruleStringLiteralExpCS_in_rule__PrimitiveLiteralExpCS__Alternatives11576);
                     ruleStringLiteralExpCS();
 
                     state._fsp--;
@@ -17838,15 +17954,15 @@
                     }
                     break;
                 case 3 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5107:6: ( ruleBooleanLiteralExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5265:6: ( ruleBooleanLiteralExpCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5107:6: ( ruleBooleanLiteralExpCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5108:1: ruleBooleanLiteralExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5265:6: ( ruleBooleanLiteralExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5266:1: ruleBooleanLiteralExpCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPrimitiveLiteralExpCSAccess().getBooleanLiteralExpCSParserRuleCall_2()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleBooleanLiteralExpCS_in_rule__PrimitiveLiteralExpCS__Alternatives11432);
+                    pushFollow(FollowSets000.FOLLOW_ruleBooleanLiteralExpCS_in_rule__PrimitiveLiteralExpCS__Alternatives11593);
                     ruleBooleanLiteralExpCS();
 
                     state._fsp--;
@@ -17861,15 +17977,15 @@
                     }
                     break;
                 case 4 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5113:6: ( ruleUnlimitedNaturalLiteralExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5271:6: ( ruleUnlimitedNaturalLiteralExpCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5113:6: ( ruleUnlimitedNaturalLiteralExpCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5114:1: ruleUnlimitedNaturalLiteralExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5271:6: ( ruleUnlimitedNaturalLiteralExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5272:1: ruleUnlimitedNaturalLiteralExpCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPrimitiveLiteralExpCSAccess().getUnlimitedNaturalLiteralExpCSParserRuleCall_3()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleUnlimitedNaturalLiteralExpCS_in_rule__PrimitiveLiteralExpCS__Alternatives11449);
+                    pushFollow(FollowSets000.FOLLOW_ruleUnlimitedNaturalLiteralExpCS_in_rule__PrimitiveLiteralExpCS__Alternatives11610);
                     ruleUnlimitedNaturalLiteralExpCS();
 
                     state._fsp--;
@@ -17884,15 +18000,15 @@
                     }
                     break;
                 case 5 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5119:6: ( ruleInvalidLiteralExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5277:6: ( ruleInvalidLiteralExpCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5119:6: ( ruleInvalidLiteralExpCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5120:1: ruleInvalidLiteralExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5277:6: ( ruleInvalidLiteralExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5278:1: ruleInvalidLiteralExpCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPrimitiveLiteralExpCSAccess().getInvalidLiteralExpCSParserRuleCall_4()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleInvalidLiteralExpCS_in_rule__PrimitiveLiteralExpCS__Alternatives11466);
+                    pushFollow(FollowSets000.FOLLOW_ruleInvalidLiteralExpCS_in_rule__PrimitiveLiteralExpCS__Alternatives11627);
                     ruleInvalidLiteralExpCS();
 
                     state._fsp--;
@@ -17907,15 +18023,15 @@
                     }
                     break;
                 case 6 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5125:6: ( ruleNullLiteralExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5283:6: ( ruleNullLiteralExpCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5125:6: ( ruleNullLiteralExpCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5126:1: ruleNullLiteralExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5283:6: ( ruleNullLiteralExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5284:1: ruleNullLiteralExpCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPrimitiveLiteralExpCSAccess().getNullLiteralExpCSParserRuleCall_5()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleNullLiteralExpCS_in_rule__PrimitiveLiteralExpCS__Alternatives11483);
+                    pushFollow(FollowSets000.FOLLOW_ruleNullLiteralExpCS_in_rule__PrimitiveLiteralExpCS__Alternatives11644);
                     ruleNullLiteralExpCS();
 
                     state._fsp--;
@@ -17947,43 +18063,43 @@
 
 
     // $ANTLR start "rule__BooleanLiteralExpCS__Alternatives"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5136:1: rule__BooleanLiteralExpCS__Alternatives : ( ( ( rule__BooleanLiteralExpCS__SymbolAssignment_0 ) ) | ( ( rule__BooleanLiteralExpCS__SymbolAssignment_1 ) ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5294:1: rule__BooleanLiteralExpCS__Alternatives : ( ( ( rule__BooleanLiteralExpCS__SymbolAssignment_0 ) ) | ( ( rule__BooleanLiteralExpCS__SymbolAssignment_1 ) ) );
     public final void rule__BooleanLiteralExpCS__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5140:1: ( ( ( rule__BooleanLiteralExpCS__SymbolAssignment_0 ) ) | ( ( rule__BooleanLiteralExpCS__SymbolAssignment_1 ) ) )
-            int alt55=2;
-            int LA55_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5298:1: ( ( ( rule__BooleanLiteralExpCS__SymbolAssignment_0 ) ) | ( ( rule__BooleanLiteralExpCS__SymbolAssignment_1 ) ) )
+            int alt70=2;
+            int LA70_0 = input.LA(1);
 
-            if ( (LA55_0==131) ) {
-                alt55=1;
+            if ( (LA70_0==131) ) {
+                alt70=1;
             }
-            else if ( (LA55_0==132) ) {
-                alt55=2;
+            else if ( (LA70_0==132) ) {
+                alt70=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 55, 0, input);
+                    new NoViableAltException("", 70, 0, input);
 
                 throw nvae;
             }
-            switch (alt55) {
+            switch (alt70) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5141:1: ( ( rule__BooleanLiteralExpCS__SymbolAssignment_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5299:1: ( ( rule__BooleanLiteralExpCS__SymbolAssignment_0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5141:1: ( ( rule__BooleanLiteralExpCS__SymbolAssignment_0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5142:1: ( rule__BooleanLiteralExpCS__SymbolAssignment_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5299:1: ( ( rule__BooleanLiteralExpCS__SymbolAssignment_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5300:1: ( rule__BooleanLiteralExpCS__SymbolAssignment_0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getBooleanLiteralExpCSAccess().getSymbolAssignment_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5143:1: ( rule__BooleanLiteralExpCS__SymbolAssignment_0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5143:2: rule__BooleanLiteralExpCS__SymbolAssignment_0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5301:1: ( rule__BooleanLiteralExpCS__SymbolAssignment_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5301:2: rule__BooleanLiteralExpCS__SymbolAssignment_0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__BooleanLiteralExpCS__SymbolAssignment_0_in_rule__BooleanLiteralExpCS__Alternatives11515);
+                    pushFollow(FollowSets000.FOLLOW_rule__BooleanLiteralExpCS__SymbolAssignment_0_in_rule__BooleanLiteralExpCS__Alternatives11676);
                     rule__BooleanLiteralExpCS__SymbolAssignment_0();
 
                     state._fsp--;
@@ -18001,18 +18117,18 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5147:6: ( ( rule__BooleanLiteralExpCS__SymbolAssignment_1 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5305:6: ( ( rule__BooleanLiteralExpCS__SymbolAssignment_1 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5147:6: ( ( rule__BooleanLiteralExpCS__SymbolAssignment_1 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5148:1: ( rule__BooleanLiteralExpCS__SymbolAssignment_1 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5305:6: ( ( rule__BooleanLiteralExpCS__SymbolAssignment_1 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5306:1: ( rule__BooleanLiteralExpCS__SymbolAssignment_1 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getBooleanLiteralExpCSAccess().getSymbolAssignment_1()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5149:1: ( rule__BooleanLiteralExpCS__SymbolAssignment_1 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5149:2: rule__BooleanLiteralExpCS__SymbolAssignment_1
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5307:1: ( rule__BooleanLiteralExpCS__SymbolAssignment_1 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5307:2: rule__BooleanLiteralExpCS__SymbolAssignment_1
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__BooleanLiteralExpCS__SymbolAssignment_1_in_rule__BooleanLiteralExpCS__Alternatives11533);
+                    pushFollow(FollowSets000.FOLLOW_rule__BooleanLiteralExpCS__SymbolAssignment_1_in_rule__BooleanLiteralExpCS__Alternatives11694);
                     rule__BooleanLiteralExpCS__SymbolAssignment_1();
 
                     state._fsp--;
@@ -18047,60 +18163,60 @@
 
 
     // $ANTLR start "rule__TypeLiteralCS__Alternatives"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5158:1: rule__TypeLiteralCS__Alternatives : ( ( rulePrimitiveTypeCS ) | ( ruleCollectionTypeCS ) | ( ruleTupleTypeCS ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5316:1: rule__TypeLiteralCS__Alternatives : ( ( rulePrimitiveTypeCS ) | ( ruleCollectionTypeCS ) | ( ruleTupleTypeCS ) );
     public final void rule__TypeLiteralCS__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5162:1: ( ( rulePrimitiveTypeCS ) | ( ruleCollectionTypeCS ) | ( ruleTupleTypeCS ) )
-            int alt56=3;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5320:1: ( ( rulePrimitiveTypeCS ) | ( ruleCollectionTypeCS ) | ( ruleTupleTypeCS ) )
+            int alt71=3;
             switch ( input.LA(1) ) {
-            case 81:
-            case 82:
-            case 83:
-            case 84:
-            case 85:
-            case 86:
-            case 87:
-            case 88:
-                {
-                alt56=1;
-                }
-                break;
-            case 89:
             case 90:
             case 91:
             case 92:
             case 93:
+            case 94:
+            case 95:
+            case 96:
+            case 97:
                 {
-                alt56=2;
+                alt71=1;
                 }
                 break;
-            case 80:
+            case 98:
+            case 99:
+            case 100:
+            case 101:
+            case 102:
                 {
-                alt56=3;
+                alt71=2;
+                }
+                break;
+            case 89:
+                {
+                alt71=3;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 56, 0, input);
+                    new NoViableAltException("", 71, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt56) {
+            switch (alt71) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5163:1: ( rulePrimitiveTypeCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5321:1: ( rulePrimitiveTypeCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5163:1: ( rulePrimitiveTypeCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5164:1: rulePrimitiveTypeCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5321:1: ( rulePrimitiveTypeCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5322:1: rulePrimitiveTypeCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTypeLiteralCSAccess().getPrimitiveTypeCSParserRuleCall_0()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_rulePrimitiveTypeCS_in_rule__TypeLiteralCS__Alternatives11566);
+                    pushFollow(FollowSets000.FOLLOW_rulePrimitiveTypeCS_in_rule__TypeLiteralCS__Alternatives11727);
                     rulePrimitiveTypeCS();
 
                     state._fsp--;
@@ -18115,15 +18231,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5169:6: ( ruleCollectionTypeCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5327:6: ( ruleCollectionTypeCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5169:6: ( ruleCollectionTypeCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5170:1: ruleCollectionTypeCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5327:6: ( ruleCollectionTypeCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5328:1: ruleCollectionTypeCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTypeLiteralCSAccess().getCollectionTypeCSParserRuleCall_1()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleCollectionTypeCS_in_rule__TypeLiteralCS__Alternatives11583);
+                    pushFollow(FollowSets000.FOLLOW_ruleCollectionTypeCS_in_rule__TypeLiteralCS__Alternatives11744);
                     ruleCollectionTypeCS();
 
                     state._fsp--;
@@ -18138,15 +18254,15 @@
                     }
                     break;
                 case 3 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5175:6: ( ruleTupleTypeCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5333:6: ( ruleTupleTypeCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5175:6: ( ruleTupleTypeCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5176:1: ruleTupleTypeCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5333:6: ( ruleTupleTypeCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5334:1: ruleTupleTypeCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTypeLiteralCSAccess().getTupleTypeCSParserRuleCall_2()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTupleTypeCS_in_rule__TypeLiteralCS__Alternatives11600);
+                    pushFollow(FollowSets000.FOLLOW_ruleTupleTypeCS_in_rule__TypeLiteralCS__Alternatives11761);
                     ruleTupleTypeCS();
 
                     state._fsp--;
@@ -18178,26 +18294,26 @@
 
 
     // $ANTLR start "rule__TypeExpCS__Alternatives_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5186:1: rule__TypeExpCS__Alternatives_0 : ( ( ruleTypeNameExpCS ) | ( ruleTypeLiteralCS ) | ( ruleCollectionPatternCS ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5344:1: rule__TypeExpCS__Alternatives_0 : ( ( ruleTypeNameExpCS ) | ( ruleTypeLiteralCS ) | ( ruleCollectionPatternCS ) );
     public final void rule__TypeExpCS__Alternatives_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5190:1: ( ( ruleTypeNameExpCS ) | ( ruleTypeLiteralCS ) | ( ruleCollectionPatternCS ) )
-            int alt57=3;
-            alt57 = dfa57.predict(input);
-            switch (alt57) {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5348:1: ( ( ruleTypeNameExpCS ) | ( ruleTypeLiteralCS ) | ( ruleCollectionPatternCS ) )
+            int alt72=3;
+            alt72 = dfa72.predict(input);
+            switch (alt72) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5191:1: ( ruleTypeNameExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5349:1: ( ruleTypeNameExpCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5191:1: ( ruleTypeNameExpCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5192:1: ruleTypeNameExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5349:1: ( ruleTypeNameExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5350:1: ruleTypeNameExpCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTypeExpCSAccess().getTypeNameExpCSParserRuleCall_0_0()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTypeNameExpCS_in_rule__TypeExpCS__Alternatives_011632);
+                    pushFollow(FollowSets000.FOLLOW_ruleTypeNameExpCS_in_rule__TypeExpCS__Alternatives_011793);
                     ruleTypeNameExpCS();
 
                     state._fsp--;
@@ -18212,15 +18328,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5197:6: ( ruleTypeLiteralCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5355:6: ( ruleTypeLiteralCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5197:6: ( ruleTypeLiteralCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5198:1: ruleTypeLiteralCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5355:6: ( ruleTypeLiteralCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5356:1: ruleTypeLiteralCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTypeExpCSAccess().getTypeLiteralCSParserRuleCall_0_1()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralCS_in_rule__TypeExpCS__Alternatives_011649);
+                    pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralCS_in_rule__TypeExpCS__Alternatives_011810);
                     ruleTypeLiteralCS();
 
                     state._fsp--;
@@ -18235,15 +18351,15 @@
                     }
                     break;
                 case 3 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5203:6: ( ruleCollectionPatternCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5361:6: ( ruleCollectionPatternCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5203:6: ( ruleCollectionPatternCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5204:1: ruleCollectionPatternCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5361:6: ( ruleCollectionPatternCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5362:1: ruleCollectionPatternCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTypeExpCSAccess().getCollectionPatternCSParserRuleCall_0_2()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleCollectionPatternCS_in_rule__TypeExpCS__Alternatives_011666);
+                    pushFollow(FollowSets000.FOLLOW_ruleCollectionPatternCS_in_rule__TypeExpCS__Alternatives_011827);
                     ruleCollectionPatternCS();
 
                     state._fsp--;
@@ -18275,29 +18391,29 @@
 
 
     // $ANTLR start "rule__ExpCS__Alternatives"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5214:1: rule__ExpCS__Alternatives : ( ( ( rule__ExpCS__Group_0__0 ) ) | ( rulePrefixedLetExpCS ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5372:1: rule__ExpCS__Alternatives : ( ( ( rule__ExpCS__Group_0__0 ) ) | ( rulePrefixedLetExpCS ) );
     public final void rule__ExpCS__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5218:1: ( ( ( rule__ExpCS__Group_0__0 ) ) | ( rulePrefixedLetExpCS ) )
-            int alt58=2;
-            alt58 = dfa58.predict(input);
-            switch (alt58) {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5376:1: ( ( ( rule__ExpCS__Group_0__0 ) ) | ( rulePrefixedLetExpCS ) )
+            int alt73=2;
+            alt73 = dfa73.predict(input);
+            switch (alt73) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5219:1: ( ( rule__ExpCS__Group_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5377:1: ( ( rule__ExpCS__Group_0__0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5219:1: ( ( rule__ExpCS__Group_0__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5220:1: ( rule__ExpCS__Group_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5377:1: ( ( rule__ExpCS__Group_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5378:1: ( rule__ExpCS__Group_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getExpCSAccess().getGroup_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5221:1: ( rule__ExpCS__Group_0__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5221:2: rule__ExpCS__Group_0__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5379:1: ( rule__ExpCS__Group_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5379:2: rule__ExpCS__Group_0__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__ExpCS__Group_0__0_in_rule__ExpCS__Alternatives11698);
+                    pushFollow(FollowSets000.FOLLOW_rule__ExpCS__Group_0__0_in_rule__ExpCS__Alternatives11859);
                     rule__ExpCS__Group_0__0();
 
                     state._fsp--;
@@ -18315,15 +18431,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5225:6: ( rulePrefixedLetExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5383:6: ( rulePrefixedLetExpCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5225:6: ( rulePrefixedLetExpCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5226:1: rulePrefixedLetExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5383:6: ( rulePrefixedLetExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5384:1: rulePrefixedLetExpCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getExpCSAccess().getPrefixedLetExpCSParserRuleCall_1()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_rulePrefixedLetExpCS_in_rule__ExpCS__Alternatives11716);
+                    pushFollow(FollowSets000.FOLLOW_rulePrefixedLetExpCS_in_rule__ExpCS__Alternatives11877);
                     rulePrefixedLetExpCS();
 
                     state._fsp--;
@@ -18355,43 +18471,43 @@
 
 
     // $ANTLR start "rule__PrefixedLetExpCS__Alternatives"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5236:1: rule__PrefixedLetExpCS__Alternatives : ( ( ( rule__PrefixedLetExpCS__Group_0__0 ) ) | ( ruleLetExpCS ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5394:1: rule__PrefixedLetExpCS__Alternatives : ( ( ( rule__PrefixedLetExpCS__Group_0__0 ) ) | ( ruleLetExpCS ) );
     public final void rule__PrefixedLetExpCS__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5240:1: ( ( ( rule__PrefixedLetExpCS__Group_0__0 ) ) | ( ruleLetExpCS ) )
-            int alt59=2;
-            int LA59_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5398:1: ( ( ( rule__PrefixedLetExpCS__Group_0__0 ) ) | ( ruleLetExpCS ) )
+            int alt74=2;
+            int LA74_0 = input.LA(1);
 
-            if ( ((LA59_0>=61 && LA59_0<=62)) ) {
-                alt59=1;
+            if ( ((LA74_0>=70 && LA74_0<=71)) ) {
+                alt74=1;
             }
-            else if ( (LA59_0==117) ) {
-                alt59=2;
+            else if ( (LA74_0==126) ) {
+                alt74=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 59, 0, input);
+                    new NoViableAltException("", 74, 0, input);
 
                 throw nvae;
             }
-            switch (alt59) {
+            switch (alt74) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5241:1: ( ( rule__PrefixedLetExpCS__Group_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5399:1: ( ( rule__PrefixedLetExpCS__Group_0__0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5241:1: ( ( rule__PrefixedLetExpCS__Group_0__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5242:1: ( rule__PrefixedLetExpCS__Group_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5399:1: ( ( rule__PrefixedLetExpCS__Group_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5400:1: ( rule__PrefixedLetExpCS__Group_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPrefixedLetExpCSAccess().getGroup_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5243:1: ( rule__PrefixedLetExpCS__Group_0__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5243:2: rule__PrefixedLetExpCS__Group_0__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5401:1: ( rule__PrefixedLetExpCS__Group_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5401:2: rule__PrefixedLetExpCS__Group_0__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__PrefixedLetExpCS__Group_0__0_in_rule__PrefixedLetExpCS__Alternatives11748);
+                    pushFollow(FollowSets000.FOLLOW_rule__PrefixedLetExpCS__Group_0__0_in_rule__PrefixedLetExpCS__Alternatives11909);
                     rule__PrefixedLetExpCS__Group_0__0();
 
                     state._fsp--;
@@ -18409,15 +18525,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5247:6: ( ruleLetExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5405:6: ( ruleLetExpCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5247:6: ( ruleLetExpCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5248:1: ruleLetExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5405:6: ( ruleLetExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5406:1: ruleLetExpCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPrefixedLetExpCSAccess().getLetExpCSParserRuleCall_1()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleLetExpCS_in_rule__PrefixedLetExpCS__Alternatives11766);
+                    pushFollow(FollowSets000.FOLLOW_ruleLetExpCS_in_rule__PrefixedLetExpCS__Alternatives11927);
                     ruleLetExpCS();
 
                     state._fsp--;
@@ -18449,43 +18565,43 @@
 
 
     // $ANTLR start "rule__PrefixedPrimaryExpCS__Alternatives"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5258:1: rule__PrefixedPrimaryExpCS__Alternatives : ( ( ( rule__PrefixedPrimaryExpCS__Group_0__0 ) ) | ( rulePrimaryExpCS ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5416:1: rule__PrefixedPrimaryExpCS__Alternatives : ( ( ( rule__PrefixedPrimaryExpCS__Group_0__0 ) ) | ( rulePrimaryExpCS ) );
     public final void rule__PrefixedPrimaryExpCS__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5262:1: ( ( ( rule__PrefixedPrimaryExpCS__Group_0__0 ) ) | ( rulePrimaryExpCS ) )
-            int alt60=2;
-            int LA60_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5420:1: ( ( ( rule__PrefixedPrimaryExpCS__Group_0__0 ) ) | ( rulePrimaryExpCS ) )
+            int alt75=2;
+            int LA75_0 = input.LA(1);
 
-            if ( ((LA60_0>=61 && LA60_0<=62)) ) {
-                alt60=1;
+            if ( ((LA75_0>=70 && LA75_0<=71)) ) {
+                alt75=1;
             }
-            else if ( ((LA60_0>=RULE_INT && LA60_0<=RULE_SINGLE_QUOTED_STRING)||(LA60_0>=RULE_SIMPLE_ID && LA60_0<=RULE_ESCAPED_ID)||(LA60_0>=17 && LA60_0<=52)||(LA60_0>=55 && LA60_0<=60)||LA60_0==63||(LA60_0>=80 && LA60_0<=93)||LA60_0==95||(LA60_0>=105 && LA60_0<=107)||LA60_0==112||LA60_0==118||(LA60_0>=131 && LA60_0<=132)) ) {
-                alt60=2;
+            else if ( ((LA75_0>=RULE_INT && LA75_0<=RULE_SINGLE_QUOTED_STRING)||(LA75_0>=RULE_SIMPLE_ID && LA75_0<=RULE_ESCAPED_ID)||(LA75_0>=17 && LA75_0<=52)||(LA75_0>=64 && LA75_0<=69)||LA75_0==72||(LA75_0>=89 && LA75_0<=102)||LA75_0==104||(LA75_0>=114 && LA75_0<=116)||LA75_0==121||LA75_0==127||(LA75_0>=131 && LA75_0<=132)) ) {
+                alt75=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 60, 0, input);
+                    new NoViableAltException("", 75, 0, input);
 
                 throw nvae;
             }
-            switch (alt60) {
+            switch (alt75) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5263:1: ( ( rule__PrefixedPrimaryExpCS__Group_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5421:1: ( ( rule__PrefixedPrimaryExpCS__Group_0__0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5263:1: ( ( rule__PrefixedPrimaryExpCS__Group_0__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5264:1: ( rule__PrefixedPrimaryExpCS__Group_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5421:1: ( ( rule__PrefixedPrimaryExpCS__Group_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5422:1: ( rule__PrefixedPrimaryExpCS__Group_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPrefixedPrimaryExpCSAccess().getGroup_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5265:1: ( rule__PrefixedPrimaryExpCS__Group_0__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5265:2: rule__PrefixedPrimaryExpCS__Group_0__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5423:1: ( rule__PrefixedPrimaryExpCS__Group_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5423:2: rule__PrefixedPrimaryExpCS__Group_0__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__PrefixedPrimaryExpCS__Group_0__0_in_rule__PrefixedPrimaryExpCS__Alternatives11798);
+                    pushFollow(FollowSets000.FOLLOW_rule__PrefixedPrimaryExpCS__Group_0__0_in_rule__PrefixedPrimaryExpCS__Alternatives11959);
                     rule__PrefixedPrimaryExpCS__Group_0__0();
 
                     state._fsp--;
@@ -18503,15 +18619,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5269:6: ( rulePrimaryExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5427:6: ( rulePrimaryExpCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5269:6: ( rulePrimaryExpCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5270:1: rulePrimaryExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5427:6: ( rulePrimaryExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5428:1: rulePrimaryExpCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPrefixedPrimaryExpCSAccess().getPrimaryExpCSParserRuleCall_1()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_rulePrimaryExpCS_in_rule__PrefixedPrimaryExpCS__Alternatives11816);
+                    pushFollow(FollowSets000.FOLLOW_rulePrimaryExpCS_in_rule__PrefixedPrimaryExpCS__Alternatives11977);
                     rulePrimaryExpCS();
 
                     state._fsp--;
@@ -18543,26 +18659,26 @@
 
 
     // $ANTLR start "rule__PrimaryExpCS__Alternatives"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5280:1: rule__PrimaryExpCS__Alternatives : ( ( ruleNestedExpCS ) | ( ruleIfExpCS ) | ( ruleSelfExpCS ) | ( rulePrimitiveLiteralExpCS ) | ( ruleTupleLiteralExpCS ) | ( ruleCollectionLiteralExpCS ) | ( ruleLambdaLiteralExpCS ) | ( ruleTypeLiteralExpCS ) | ( ruleNameExpCS ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5438:1: rule__PrimaryExpCS__Alternatives : ( ( ruleNestedExpCS ) | ( ruleIfExpCS ) | ( ruleSelfExpCS ) | ( rulePrimitiveLiteralExpCS ) | ( ruleTupleLiteralExpCS ) | ( ruleCollectionLiteralExpCS ) | ( ruleLambdaLiteralExpCS ) | ( ruleTypeLiteralExpCS ) | ( ruleNameExpCS ) );
     public final void rule__PrimaryExpCS__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5284:1: ( ( ruleNestedExpCS ) | ( ruleIfExpCS ) | ( ruleSelfExpCS ) | ( rulePrimitiveLiteralExpCS ) | ( ruleTupleLiteralExpCS ) | ( ruleCollectionLiteralExpCS ) | ( ruleLambdaLiteralExpCS ) | ( ruleTypeLiteralExpCS ) | ( ruleNameExpCS ) )
-            int alt61=9;
-            alt61 = dfa61.predict(input);
-            switch (alt61) {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5442:1: ( ( ruleNestedExpCS ) | ( ruleIfExpCS ) | ( ruleSelfExpCS ) | ( rulePrimitiveLiteralExpCS ) | ( ruleTupleLiteralExpCS ) | ( ruleCollectionLiteralExpCS ) | ( ruleLambdaLiteralExpCS ) | ( ruleTypeLiteralExpCS ) | ( ruleNameExpCS ) )
+            int alt76=9;
+            alt76 = dfa76.predict(input);
+            switch (alt76) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5285:1: ( ruleNestedExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5443:1: ( ruleNestedExpCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5285:1: ( ruleNestedExpCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5286:1: ruleNestedExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5443:1: ( ruleNestedExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5444:1: ruleNestedExpCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPrimaryExpCSAccess().getNestedExpCSParserRuleCall_0()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleNestedExpCS_in_rule__PrimaryExpCS__Alternatives11848);
+                    pushFollow(FollowSets000.FOLLOW_ruleNestedExpCS_in_rule__PrimaryExpCS__Alternatives12009);
                     ruleNestedExpCS();
 
                     state._fsp--;
@@ -18577,15 +18693,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5291:6: ( ruleIfExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5449:6: ( ruleIfExpCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5291:6: ( ruleIfExpCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5292:1: ruleIfExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5449:6: ( ruleIfExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5450:1: ruleIfExpCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPrimaryExpCSAccess().getIfExpCSParserRuleCall_1()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleIfExpCS_in_rule__PrimaryExpCS__Alternatives11865);
+                    pushFollow(FollowSets000.FOLLOW_ruleIfExpCS_in_rule__PrimaryExpCS__Alternatives12026);
                     ruleIfExpCS();
 
                     state._fsp--;
@@ -18600,15 +18716,15 @@
                     }
                     break;
                 case 3 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5297:6: ( ruleSelfExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5455:6: ( ruleSelfExpCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5297:6: ( ruleSelfExpCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5298:1: ruleSelfExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5455:6: ( ruleSelfExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5456:1: ruleSelfExpCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPrimaryExpCSAccess().getSelfExpCSParserRuleCall_2()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleSelfExpCS_in_rule__PrimaryExpCS__Alternatives11882);
+                    pushFollow(FollowSets000.FOLLOW_ruleSelfExpCS_in_rule__PrimaryExpCS__Alternatives12043);
                     ruleSelfExpCS();
 
                     state._fsp--;
@@ -18623,15 +18739,15 @@
                     }
                     break;
                 case 4 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5303:6: ( rulePrimitiveLiteralExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5461:6: ( rulePrimitiveLiteralExpCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5303:6: ( rulePrimitiveLiteralExpCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5304:1: rulePrimitiveLiteralExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5461:6: ( rulePrimitiveLiteralExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5462:1: rulePrimitiveLiteralExpCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPrimaryExpCSAccess().getPrimitiveLiteralExpCSParserRuleCall_3()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_rulePrimitiveLiteralExpCS_in_rule__PrimaryExpCS__Alternatives11899);
+                    pushFollow(FollowSets000.FOLLOW_rulePrimitiveLiteralExpCS_in_rule__PrimaryExpCS__Alternatives12060);
                     rulePrimitiveLiteralExpCS();
 
                     state._fsp--;
@@ -18646,15 +18762,15 @@
                     }
                     break;
                 case 5 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5309:6: ( ruleTupleLiteralExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5467:6: ( ruleTupleLiteralExpCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5309:6: ( ruleTupleLiteralExpCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5310:1: ruleTupleLiteralExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5467:6: ( ruleTupleLiteralExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5468:1: ruleTupleLiteralExpCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPrimaryExpCSAccess().getTupleLiteralExpCSParserRuleCall_4()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTupleLiteralExpCS_in_rule__PrimaryExpCS__Alternatives11916);
+                    pushFollow(FollowSets000.FOLLOW_ruleTupleLiteralExpCS_in_rule__PrimaryExpCS__Alternatives12077);
                     ruleTupleLiteralExpCS();
 
                     state._fsp--;
@@ -18669,15 +18785,15 @@
                     }
                     break;
                 case 6 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5315:6: ( ruleCollectionLiteralExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5473:6: ( ruleCollectionLiteralExpCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5315:6: ( ruleCollectionLiteralExpCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5316:1: ruleCollectionLiteralExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5473:6: ( ruleCollectionLiteralExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5474:1: ruleCollectionLiteralExpCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPrimaryExpCSAccess().getCollectionLiteralExpCSParserRuleCall_5()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleCollectionLiteralExpCS_in_rule__PrimaryExpCS__Alternatives11933);
+                    pushFollow(FollowSets000.FOLLOW_ruleCollectionLiteralExpCS_in_rule__PrimaryExpCS__Alternatives12094);
                     ruleCollectionLiteralExpCS();
 
                     state._fsp--;
@@ -18692,15 +18808,15 @@
                     }
                     break;
                 case 7 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5321:6: ( ruleLambdaLiteralExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5479:6: ( ruleLambdaLiteralExpCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5321:6: ( ruleLambdaLiteralExpCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5322:1: ruleLambdaLiteralExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5479:6: ( ruleLambdaLiteralExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5480:1: ruleLambdaLiteralExpCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPrimaryExpCSAccess().getLambdaLiteralExpCSParserRuleCall_6()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleLambdaLiteralExpCS_in_rule__PrimaryExpCS__Alternatives11950);
+                    pushFollow(FollowSets000.FOLLOW_ruleLambdaLiteralExpCS_in_rule__PrimaryExpCS__Alternatives12111);
                     ruleLambdaLiteralExpCS();
 
                     state._fsp--;
@@ -18715,15 +18831,15 @@
                     }
                     break;
                 case 8 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5327:6: ( ruleTypeLiteralExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5485:6: ( ruleTypeLiteralExpCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5327:6: ( ruleTypeLiteralExpCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5328:1: ruleTypeLiteralExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5485:6: ( ruleTypeLiteralExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5486:1: ruleTypeLiteralExpCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPrimaryExpCSAccess().getTypeLiteralExpCSParserRuleCall_7()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralExpCS_in_rule__PrimaryExpCS__Alternatives11967);
+                    pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralExpCS_in_rule__PrimaryExpCS__Alternatives12128);
                     ruleTypeLiteralExpCS();
 
                     state._fsp--;
@@ -18738,15 +18854,15 @@
                     }
                     break;
                 case 9 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5333:6: ( ruleNameExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5491:6: ( ruleNameExpCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5333:6: ( ruleNameExpCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5334:1: ruleNameExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5491:6: ( ruleNameExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5492:1: ruleNameExpCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getPrimaryExpCSAccess().getNameExpCSParserRuleCall_8()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleNameExpCS_in_rule__PrimaryExpCS__Alternatives11984);
+                    pushFollow(FollowSets000.FOLLOW_ruleNameExpCS_in_rule__PrimaryExpCS__Alternatives12145);
                     ruleNameExpCS();
 
                     state._fsp--;
@@ -18778,51 +18894,51 @@
 
 
     // $ANTLR start "rule__CurlyBracketedClauseCS__Alternatives_2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5344:1: rule__CurlyBracketedClauseCS__Alternatives_2 : ( ( ( rule__CurlyBracketedClauseCS__Group_2_0__0 )? ) | ( ( rule__CurlyBracketedClauseCS__ValueAssignment_2_1 ) ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5502:1: rule__CurlyBracketedClauseCS__Alternatives_2 : ( ( ( rule__CurlyBracketedClauseCS__Group_2_0__0 )? ) | ( ( rule__CurlyBracketedClauseCS__ValueAssignment_2_1 ) ) );
     public final void rule__CurlyBracketedClauseCS__Alternatives_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5348:1: ( ( ( rule__CurlyBracketedClauseCS__Group_2_0__0 )? ) | ( ( rule__CurlyBracketedClauseCS__ValueAssignment_2_1 ) ) )
-            int alt63=2;
-            int LA63_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5506:1: ( ( ( rule__CurlyBracketedClauseCS__Group_2_0__0 )? ) | ( ( rule__CurlyBracketedClauseCS__ValueAssignment_2_1 ) ) )
+            int alt78=2;
+            int LA78_0 = input.LA(1);
 
-            if ( ((LA63_0>=RULE_SIMPLE_ID && LA63_0<=RULE_ESCAPED_ID)||(LA63_0>=17 && LA63_0<=52)||(LA63_0>=55 && LA63_0<=60)||LA63_0==100) ) {
-                alt63=1;
+            if ( ((LA78_0>=RULE_SIMPLE_ID && LA78_0<=RULE_ESCAPED_ID)||(LA78_0>=17 && LA78_0<=52)||(LA78_0>=64 && LA78_0<=69)||LA78_0==109) ) {
+                alt78=1;
             }
-            else if ( (LA63_0==RULE_SINGLE_QUOTED_STRING) ) {
-                alt63=2;
+            else if ( (LA78_0==RULE_SINGLE_QUOTED_STRING) ) {
+                alt78=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 63, 0, input);
+                    new NoViableAltException("", 78, 0, input);
 
                 throw nvae;
             }
-            switch (alt63) {
+            switch (alt78) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5349:1: ( ( rule__CurlyBracketedClauseCS__Group_2_0__0 )? )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5507:1: ( ( rule__CurlyBracketedClauseCS__Group_2_0__0 )? )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5349:1: ( ( rule__CurlyBracketedClauseCS__Group_2_0__0 )? )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5350:1: ( rule__CurlyBracketedClauseCS__Group_2_0__0 )?
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5507:1: ( ( rule__CurlyBracketedClauseCS__Group_2_0__0 )? )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5508:1: ( rule__CurlyBracketedClauseCS__Group_2_0__0 )?
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getCurlyBracketedClauseCSAccess().getGroup_2_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5351:1: ( rule__CurlyBracketedClauseCS__Group_2_0__0 )?
-                    int alt62=2;
-                    int LA62_0 = input.LA(1);
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5509:1: ( rule__CurlyBracketedClauseCS__Group_2_0__0 )?
+                    int alt77=2;
+                    int LA77_0 = input.LA(1);
 
-                    if ( ((LA62_0>=RULE_SIMPLE_ID && LA62_0<=RULE_ESCAPED_ID)||(LA62_0>=17 && LA62_0<=52)||(LA62_0>=55 && LA62_0<=60)) ) {
-                        alt62=1;
+                    if ( ((LA77_0>=RULE_SIMPLE_ID && LA77_0<=RULE_ESCAPED_ID)||(LA77_0>=17 && LA77_0<=52)||(LA77_0>=64 && LA77_0<=69)) ) {
+                        alt77=1;
                     }
-                    switch (alt62) {
+                    switch (alt77) {
                         case 1 :
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5351:2: rule__CurlyBracketedClauseCS__Group_2_0__0
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5509:2: rule__CurlyBracketedClauseCS__Group_2_0__0
                             {
-                            pushFollow(FollowSets000.FOLLOW_rule__CurlyBracketedClauseCS__Group_2_0__0_in_rule__CurlyBracketedClauseCS__Alternatives_212016);
+                            pushFollow(FollowSets000.FOLLOW_rule__CurlyBracketedClauseCS__Group_2_0__0_in_rule__CurlyBracketedClauseCS__Alternatives_212177);
                             rule__CurlyBracketedClauseCS__Group_2_0__0();
 
                             state._fsp--;
@@ -18843,18 +18959,18 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5355:6: ( ( rule__CurlyBracketedClauseCS__ValueAssignment_2_1 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5513:6: ( ( rule__CurlyBracketedClauseCS__ValueAssignment_2_1 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5355:6: ( ( rule__CurlyBracketedClauseCS__ValueAssignment_2_1 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5356:1: ( rule__CurlyBracketedClauseCS__ValueAssignment_2_1 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5513:6: ( ( rule__CurlyBracketedClauseCS__ValueAssignment_2_1 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5514:1: ( rule__CurlyBracketedClauseCS__ValueAssignment_2_1 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getCurlyBracketedClauseCSAccess().getValueAssignment_2_1()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5357:1: ( rule__CurlyBracketedClauseCS__ValueAssignment_2_1 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5357:2: rule__CurlyBracketedClauseCS__ValueAssignment_2_1
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5515:1: ( rule__CurlyBracketedClauseCS__ValueAssignment_2_1 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5515:2: rule__CurlyBracketedClauseCS__ValueAssignment_2_1
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__CurlyBracketedClauseCS__ValueAssignment_2_1_in_rule__CurlyBracketedClauseCS__Alternatives_212035);
+                    pushFollow(FollowSets000.FOLLOW_rule__CurlyBracketedClauseCS__ValueAssignment_2_1_in_rule__CurlyBracketedClauseCS__Alternatives_212196);
                     rule__CurlyBracketedClauseCS__ValueAssignment_2_1();
 
                     state._fsp--;
@@ -18889,43 +19005,43 @@
 
 
     // $ANTLR start "rule__NavigatingArgCS__Alternatives"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5366:1: rule__NavigatingArgCS__Alternatives : ( ( ( rule__NavigatingArgCS__Group_0__0 ) ) | ( ( rule__NavigatingArgCS__Group_1__0 ) ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5524:1: rule__NavigatingArgCS__Alternatives : ( ( ( rule__NavigatingArgCS__Group_0__0 ) ) | ( ( rule__NavigatingArgCS__Group_1__0 ) ) );
     public final void rule__NavigatingArgCS__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5370:1: ( ( ( rule__NavigatingArgCS__Group_0__0 ) ) | ( ( rule__NavigatingArgCS__Group_1__0 ) ) )
-            int alt64=2;
-            int LA64_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5528:1: ( ( ( rule__NavigatingArgCS__Group_0__0 ) ) | ( ( rule__NavigatingArgCS__Group_1__0 ) ) )
+            int alt79=2;
+            int LA79_0 = input.LA(1);
 
-            if ( ((LA64_0>=RULE_INT && LA64_0<=RULE_SINGLE_QUOTED_STRING)||(LA64_0>=RULE_SIMPLE_ID && LA64_0<=RULE_ESCAPED_ID)||(LA64_0>=17 && LA64_0<=52)||(LA64_0>=55 && LA64_0<=63)||(LA64_0>=80 && LA64_0<=93)||LA64_0==95||(LA64_0>=105 && LA64_0<=107)||LA64_0==112||(LA64_0>=117 && LA64_0<=118)||(LA64_0>=131 && LA64_0<=132)) ) {
-                alt64=1;
+            if ( ((LA79_0>=RULE_INT && LA79_0<=RULE_SINGLE_QUOTED_STRING)||(LA79_0>=RULE_SIMPLE_ID && LA79_0<=RULE_ESCAPED_ID)||(LA79_0>=17 && LA79_0<=52)||(LA79_0>=64 && LA79_0<=72)||(LA79_0>=89 && LA79_0<=102)||LA79_0==104||(LA79_0>=114 && LA79_0<=116)||LA79_0==121||(LA79_0>=126 && LA79_0<=127)||(LA79_0>=131 && LA79_0<=132)) ) {
+                alt79=1;
             }
-            else if ( (LA64_0==97) ) {
-                alt64=2;
+            else if ( (LA79_0==106) ) {
+                alt79=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 64, 0, input);
+                    new NoViableAltException("", 79, 0, input);
 
                 throw nvae;
             }
-            switch (alt64) {
+            switch (alt79) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5371:1: ( ( rule__NavigatingArgCS__Group_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5529:1: ( ( rule__NavigatingArgCS__Group_0__0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5371:1: ( ( rule__NavigatingArgCS__Group_0__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5372:1: ( rule__NavigatingArgCS__Group_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5529:1: ( ( rule__NavigatingArgCS__Group_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5530:1: ( rule__NavigatingArgCS__Group_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getNavigatingArgCSAccess().getGroup_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5373:1: ( rule__NavigatingArgCS__Group_0__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5373:2: rule__NavigatingArgCS__Group_0__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5531:1: ( rule__NavigatingArgCS__Group_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5531:2: rule__NavigatingArgCS__Group_0__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__NavigatingArgCS__Group_0__0_in_rule__NavigatingArgCS__Alternatives12068);
+                    pushFollow(FollowSets000.FOLLOW_rule__NavigatingArgCS__Group_0__0_in_rule__NavigatingArgCS__Alternatives12229);
                     rule__NavigatingArgCS__Group_0__0();
 
                     state._fsp--;
@@ -18943,18 +19059,18 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5377:6: ( ( rule__NavigatingArgCS__Group_1__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5535:6: ( ( rule__NavigatingArgCS__Group_1__0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5377:6: ( ( rule__NavigatingArgCS__Group_1__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5378:1: ( rule__NavigatingArgCS__Group_1__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5535:6: ( ( rule__NavigatingArgCS__Group_1__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5536:1: ( rule__NavigatingArgCS__Group_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getNavigatingArgCSAccess().getGroup_1()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5379:1: ( rule__NavigatingArgCS__Group_1__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5379:2: rule__NavigatingArgCS__Group_1__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5537:1: ( rule__NavigatingArgCS__Group_1__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5537:2: rule__NavigatingArgCS__Group_1__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__NavigatingArgCS__Group_1__0_in_rule__NavigatingArgCS__Alternatives12086);
+                    pushFollow(FollowSets000.FOLLOW_rule__NavigatingArgCS__Group_1__0_in_rule__NavigatingArgCS__Alternatives12247);
                     rule__NavigatingArgCS__Group_1__0();
 
                     state._fsp--;
@@ -18989,43 +19105,43 @@
 
 
     // $ANTLR start "rule__NavigatingArgCS__Alternatives_0_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5388:1: rule__NavigatingArgCS__Alternatives_0_1 : ( ( ( rule__NavigatingArgCS__Group_0_1_0__0 ) ) | ( ( rule__NavigatingArgCS__Group_0_1_1__0 ) ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5546:1: rule__NavigatingArgCS__Alternatives_0_1 : ( ( ( rule__NavigatingArgCS__Group_0_1_0__0 ) ) | ( ( rule__NavigatingArgCS__Group_0_1_1__0 ) ) );
     public final void rule__NavigatingArgCS__Alternatives_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5392:1: ( ( ( rule__NavigatingArgCS__Group_0_1_0__0 ) ) | ( ( rule__NavigatingArgCS__Group_0_1_1__0 ) ) )
-            int alt65=2;
-            int LA65_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5550:1: ( ( ( rule__NavigatingArgCS__Group_0_1_0__0 ) ) | ( ( rule__NavigatingArgCS__Group_0_1_1__0 ) ) )
+            int alt80=2;
+            int LA80_0 = input.LA(1);
 
-            if ( (LA65_0==97) ) {
-                alt65=1;
+            if ( (LA80_0==106) ) {
+                alt80=1;
             }
-            else if ( (LA65_0==111) ) {
-                alt65=2;
+            else if ( (LA80_0==120) ) {
+                alt80=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 65, 0, input);
+                    new NoViableAltException("", 80, 0, input);
 
                 throw nvae;
             }
-            switch (alt65) {
+            switch (alt80) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5393:1: ( ( rule__NavigatingArgCS__Group_0_1_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5551:1: ( ( rule__NavigatingArgCS__Group_0_1_0__0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5393:1: ( ( rule__NavigatingArgCS__Group_0_1_0__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5394:1: ( rule__NavigatingArgCS__Group_0_1_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5551:1: ( ( rule__NavigatingArgCS__Group_0_1_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5552:1: ( rule__NavigatingArgCS__Group_0_1_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getNavigatingArgCSAccess().getGroup_0_1_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5395:1: ( rule__NavigatingArgCS__Group_0_1_0__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5395:2: rule__NavigatingArgCS__Group_0_1_0__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5553:1: ( rule__NavigatingArgCS__Group_0_1_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5553:2: rule__NavigatingArgCS__Group_0_1_0__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__NavigatingArgCS__Group_0_1_0__0_in_rule__NavigatingArgCS__Alternatives_0_112119);
+                    pushFollow(FollowSets000.FOLLOW_rule__NavigatingArgCS__Group_0_1_0__0_in_rule__NavigatingArgCS__Alternatives_0_112280);
                     rule__NavigatingArgCS__Group_0_1_0__0();
 
                     state._fsp--;
@@ -19043,18 +19159,18 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5399:6: ( ( rule__NavigatingArgCS__Group_0_1_1__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5557:6: ( ( rule__NavigatingArgCS__Group_0_1_1__0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5399:6: ( ( rule__NavigatingArgCS__Group_0_1_1__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5400:1: ( rule__NavigatingArgCS__Group_0_1_1__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5557:6: ( ( rule__NavigatingArgCS__Group_0_1_1__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5558:1: ( rule__NavigatingArgCS__Group_0_1_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getNavigatingArgCSAccess().getGroup_0_1_1()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5401:1: ( rule__NavigatingArgCS__Group_0_1_1__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5401:2: rule__NavigatingArgCS__Group_0_1_1__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5559:1: ( rule__NavigatingArgCS__Group_0_1_1__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5559:2: rule__NavigatingArgCS__Group_0_1_1__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__NavigatingArgCS__Group_0_1_1__0_in_rule__NavigatingArgCS__Alternatives_0_112137);
+                    pushFollow(FollowSets000.FOLLOW_rule__NavigatingArgCS__Group_0_1_1__0_in_rule__NavigatingArgCS__Alternatives_0_112298);
                     rule__NavigatingArgCS__Group_0_1_1__0();
 
                     state._fsp--;
@@ -19089,43 +19205,43 @@
 
 
     // $ANTLR start "rule__NavigatingCommaArgCS__Alternatives_2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5410:1: rule__NavigatingCommaArgCS__Alternatives_2 : ( ( ( rule__NavigatingCommaArgCS__Group_2_0__0 ) ) | ( ( rule__NavigatingCommaArgCS__Group_2_1__0 ) ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5568:1: rule__NavigatingCommaArgCS__Alternatives_2 : ( ( ( rule__NavigatingCommaArgCS__Group_2_0__0 ) ) | ( ( rule__NavigatingCommaArgCS__Group_2_1__0 ) ) );
     public final void rule__NavigatingCommaArgCS__Alternatives_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5414:1: ( ( ( rule__NavigatingCommaArgCS__Group_2_0__0 ) ) | ( ( rule__NavigatingCommaArgCS__Group_2_1__0 ) ) )
-            int alt66=2;
-            int LA66_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5572:1: ( ( ( rule__NavigatingCommaArgCS__Group_2_0__0 ) ) | ( ( rule__NavigatingCommaArgCS__Group_2_1__0 ) ) )
+            int alt81=2;
+            int LA81_0 = input.LA(1);
 
-            if ( (LA66_0==97) ) {
-                alt66=1;
+            if ( (LA81_0==106) ) {
+                alt81=1;
             }
-            else if ( (LA66_0==111) ) {
-                alt66=2;
+            else if ( (LA81_0==120) ) {
+                alt81=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 66, 0, input);
+                    new NoViableAltException("", 81, 0, input);
 
                 throw nvae;
             }
-            switch (alt66) {
+            switch (alt81) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5415:1: ( ( rule__NavigatingCommaArgCS__Group_2_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5573:1: ( ( rule__NavigatingCommaArgCS__Group_2_0__0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5415:1: ( ( rule__NavigatingCommaArgCS__Group_2_0__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5416:1: ( rule__NavigatingCommaArgCS__Group_2_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5573:1: ( ( rule__NavigatingCommaArgCS__Group_2_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5574:1: ( rule__NavigatingCommaArgCS__Group_2_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getNavigatingCommaArgCSAccess().getGroup_2_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5417:1: ( rule__NavigatingCommaArgCS__Group_2_0__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5417:2: rule__NavigatingCommaArgCS__Group_2_0__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5575:1: ( rule__NavigatingCommaArgCS__Group_2_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5575:2: rule__NavigatingCommaArgCS__Group_2_0__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__NavigatingCommaArgCS__Group_2_0__0_in_rule__NavigatingCommaArgCS__Alternatives_212170);
+                    pushFollow(FollowSets000.FOLLOW_rule__NavigatingCommaArgCS__Group_2_0__0_in_rule__NavigatingCommaArgCS__Alternatives_212331);
                     rule__NavigatingCommaArgCS__Group_2_0__0();
 
                     state._fsp--;
@@ -19143,18 +19259,18 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5421:6: ( ( rule__NavigatingCommaArgCS__Group_2_1__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5579:6: ( ( rule__NavigatingCommaArgCS__Group_2_1__0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5421:6: ( ( rule__NavigatingCommaArgCS__Group_2_1__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5422:1: ( rule__NavigatingCommaArgCS__Group_2_1__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5579:6: ( ( rule__NavigatingCommaArgCS__Group_2_1__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5580:1: ( rule__NavigatingCommaArgCS__Group_2_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getNavigatingCommaArgCSAccess().getGroup_2_1()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5423:1: ( rule__NavigatingCommaArgCS__Group_2_1__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5423:2: rule__NavigatingCommaArgCS__Group_2_1__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5581:1: ( rule__NavigatingCommaArgCS__Group_2_1__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5581:2: rule__NavigatingCommaArgCS__Group_2_1__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__NavigatingCommaArgCS__Group_2_1__0_in_rule__NavigatingCommaArgCS__Alternatives_212188);
+                    pushFollow(FollowSets000.FOLLOW_rule__NavigatingCommaArgCS__Group_2_1__0_in_rule__NavigatingCommaArgCS__Alternatives_212349);
                     rule__NavigatingCommaArgCS__Group_2_1__0();
 
                     state._fsp--;
@@ -19189,26 +19305,26 @@
 
 
     // $ANTLR start "rule__IfExpCS__OwnedConditionAlternatives_1_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5432:1: rule__IfExpCS__OwnedConditionAlternatives_1_0 : ( ( ruleExpCS ) | ( rulePatternExpCS ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5590:1: rule__IfExpCS__OwnedConditionAlternatives_1_0 : ( ( ruleExpCS ) | ( rulePatternExpCS ) );
     public final void rule__IfExpCS__OwnedConditionAlternatives_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5436:1: ( ( ruleExpCS ) | ( rulePatternExpCS ) )
-            int alt67=2;
-            alt67 = dfa67.predict(input);
-            switch (alt67) {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5594:1: ( ( ruleExpCS ) | ( rulePatternExpCS ) )
+            int alt82=2;
+            alt82 = dfa82.predict(input);
+            switch (alt82) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5437:1: ( ruleExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5595:1: ( ruleExpCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5437:1: ( ruleExpCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5438:1: ruleExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5595:1: ( ruleExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5596:1: ruleExpCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getIfExpCSAccess().getOwnedConditionExpCSParserRuleCall_1_0_0()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_rule__IfExpCS__OwnedConditionAlternatives_1_012221);
+                    pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_rule__IfExpCS__OwnedConditionAlternatives_1_012382);
                     ruleExpCS();
 
                     state._fsp--;
@@ -19223,15 +19339,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5443:6: ( rulePatternExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5601:6: ( rulePatternExpCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5443:6: ( rulePatternExpCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5444:1: rulePatternExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5601:6: ( rulePatternExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5602:1: rulePatternExpCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getIfExpCSAccess().getOwnedConditionPatternExpCSParserRuleCall_1_0_1()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_rulePatternExpCS_in_rule__IfExpCS__OwnedConditionAlternatives_1_012238);
+                    pushFollow(FollowSets000.FOLLOW_rulePatternExpCS_in_rule__IfExpCS__OwnedConditionAlternatives_1_012399);
                     rulePatternExpCS();
 
                     state._fsp--;
@@ -19263,40 +19379,40 @@
 
 
     // $ANTLR start "rule__MultiplicityCS__Alternatives_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5454:1: rule__MultiplicityCS__Alternatives_1 : ( ( ruleMultiplicityBoundsCS ) | ( ruleMultiplicityStringCS ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5612:1: rule__MultiplicityCS__Alternatives_1 : ( ( ruleMultiplicityBoundsCS ) | ( ruleMultiplicityStringCS ) );
     public final void rule__MultiplicityCS__Alternatives_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5458:1: ( ( ruleMultiplicityBoundsCS ) | ( ruleMultiplicityStringCS ) )
-            int alt68=2;
-            int LA68_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5616:1: ( ( ruleMultiplicityBoundsCS ) | ( ruleMultiplicityStringCS ) )
+            int alt83=2;
+            int LA83_0 = input.LA(1);
 
-            if ( (LA68_0==RULE_INT) ) {
-                alt68=1;
+            if ( (LA83_0==RULE_INT) ) {
+                alt83=1;
             }
-            else if ( (LA68_0==63||LA68_0==65||LA68_0==94) ) {
-                alt68=2;
+            else if ( (LA83_0==72||LA83_0==74||LA83_0==103) ) {
+                alt83=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 68, 0, input);
+                    new NoViableAltException("", 83, 0, input);
 
                 throw nvae;
             }
-            switch (alt68) {
+            switch (alt83) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5459:1: ( ruleMultiplicityBoundsCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5617:1: ( ruleMultiplicityBoundsCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5459:1: ( ruleMultiplicityBoundsCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5460:1: ruleMultiplicityBoundsCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5617:1: ( ruleMultiplicityBoundsCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5618:1: ruleMultiplicityBoundsCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getMultiplicityCSAccess().getMultiplicityBoundsCSParserRuleCall_1_0()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleMultiplicityBoundsCS_in_rule__MultiplicityCS__Alternatives_112270);
+                    pushFollow(FollowSets000.FOLLOW_ruleMultiplicityBoundsCS_in_rule__MultiplicityCS__Alternatives_112431);
                     ruleMultiplicityBoundsCS();
 
                     state._fsp--;
@@ -19311,15 +19427,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5465:6: ( ruleMultiplicityStringCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5623:6: ( ruleMultiplicityStringCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5465:6: ( ruleMultiplicityStringCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5466:1: ruleMultiplicityStringCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5623:6: ( ruleMultiplicityStringCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5624:1: ruleMultiplicityStringCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getMultiplicityCSAccess().getMultiplicityStringCSParserRuleCall_1_1()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleMultiplicityStringCS_in_rule__MultiplicityCS__Alternatives_112287);
+                    pushFollow(FollowSets000.FOLLOW_ruleMultiplicityStringCS_in_rule__MultiplicityCS__Alternatives_112448);
                     ruleMultiplicityStringCS();
 
                     state._fsp--;
@@ -19351,49 +19467,49 @@
 
 
     // $ANTLR start "rule__MultiplicityStringCS__StringBoundsAlternatives_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5476:1: rule__MultiplicityStringCS__StringBoundsAlternatives_0 : ( ( '*' ) | ( '+' ) | ( '?' ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5634:1: rule__MultiplicityStringCS__StringBoundsAlternatives_0 : ( ( '*' ) | ( '+' ) | ( '?' ) );
     public final void rule__MultiplicityStringCS__StringBoundsAlternatives_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5480:1: ( ( '*' ) | ( '+' ) | ( '?' ) )
-            int alt69=3;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5638:1: ( ( '*' ) | ( '+' ) | ( '?' ) )
+            int alt84=3;
             switch ( input.LA(1) ) {
-            case 63:
+            case 72:
                 {
-                alt69=1;
+                alt84=1;
                 }
                 break;
-            case 65:
+            case 74:
                 {
-                alt69=2;
+                alt84=2;
                 }
                 break;
-            case 94:
+            case 103:
                 {
-                alt69=3;
+                alt84=3;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 69, 0, input);
+                    new NoViableAltException("", 84, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt69) {
+            switch (alt84) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5481:1: ( '*' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5639:1: ( '*' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5481:1: ( '*' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5482:1: '*'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5639:1: ( '*' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5640:1: '*'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getMultiplicityStringCSAccess().getStringBoundsAsteriskKeyword_0_0()); 
                     }
-                    match(input,63,FollowSets000.FOLLOW_63_in_rule__MultiplicityStringCS__StringBoundsAlternatives_012320); if (state.failed) return ;
+                    match(input,72,FollowSets000.FOLLOW_72_in_rule__MultiplicityStringCS__StringBoundsAlternatives_012481); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getMultiplicityStringCSAccess().getStringBoundsAsteriskKeyword_0_0()); 
                     }
@@ -19404,15 +19520,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5489:6: ( '+' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5647:6: ( '+' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5489:6: ( '+' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5490:1: '+'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5647:6: ( '+' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5648:1: '+'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getMultiplicityStringCSAccess().getStringBoundsPlusSignKeyword_0_1()); 
                     }
-                    match(input,65,FollowSets000.FOLLOW_65_in_rule__MultiplicityStringCS__StringBoundsAlternatives_012340); if (state.failed) return ;
+                    match(input,74,FollowSets000.FOLLOW_74_in_rule__MultiplicityStringCS__StringBoundsAlternatives_012501); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getMultiplicityStringCSAccess().getStringBoundsPlusSignKeyword_0_1()); 
                     }
@@ -19423,15 +19539,15 @@
                     }
                     break;
                 case 3 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5497:6: ( '?' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5655:6: ( '?' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5497:6: ( '?' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5498:1: '?'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5655:6: ( '?' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5656:1: '?'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getMultiplicityStringCSAccess().getStringBoundsQuestionMarkKeyword_0_2()); 
                     }
-                    match(input,94,FollowSets000.FOLLOW_94_in_rule__MultiplicityStringCS__StringBoundsAlternatives_012360); if (state.failed) return ;
+                    match(input,103,FollowSets000.FOLLOW_103_in_rule__MultiplicityStringCS__StringBoundsAlternatives_012521); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getMultiplicityStringCSAccess().getStringBoundsQuestionMarkKeyword_0_2()); 
                     }
@@ -19459,43 +19575,43 @@
 
 
     // $ANTLR start "rule__TypeParameterCS__Alternatives_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5510:1: rule__TypeParameterCS__Alternatives_1 : ( ( ( rule__TypeParameterCS__Group_1_0__0 ) ) | ( ( rule__TypeParameterCS__Group_1_1__0 ) ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5668:1: rule__TypeParameterCS__Alternatives_1 : ( ( ( rule__TypeParameterCS__Group_1_0__0 ) ) | ( ( rule__TypeParameterCS__Group_1_1__0 ) ) );
     public final void rule__TypeParameterCS__Alternatives_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5514:1: ( ( ( rule__TypeParameterCS__Group_1_0__0 ) ) | ( ( rule__TypeParameterCS__Group_1_1__0 ) ) )
-            int alt70=2;
-            int LA70_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5672:1: ( ( ( rule__TypeParameterCS__Group_1_0__0 ) ) | ( ( rule__TypeParameterCS__Group_1_1__0 ) ) )
+            int alt85=2;
+            int LA85_0 = input.LA(1);
 
-            if ( (LA70_0==28) ) {
-                alt70=1;
+            if ( (LA85_0==28) ) {
+                alt85=1;
             }
-            else if ( (LA70_0==47) ) {
-                alt70=2;
+            else if ( (LA85_0==47) ) {
+                alt85=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 70, 0, input);
+                    new NoViableAltException("", 85, 0, input);
 
                 throw nvae;
             }
-            switch (alt70) {
+            switch (alt85) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5515:1: ( ( rule__TypeParameterCS__Group_1_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5673:1: ( ( rule__TypeParameterCS__Group_1_0__0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5515:1: ( ( rule__TypeParameterCS__Group_1_0__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5516:1: ( rule__TypeParameterCS__Group_1_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5673:1: ( ( rule__TypeParameterCS__Group_1_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5674:1: ( rule__TypeParameterCS__Group_1_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTypeParameterCSAccess().getGroup_1_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5517:1: ( rule__TypeParameterCS__Group_1_0__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5517:2: rule__TypeParameterCS__Group_1_0__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5675:1: ( rule__TypeParameterCS__Group_1_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5675:2: rule__TypeParameterCS__Group_1_0__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__TypeParameterCS__Group_1_0__0_in_rule__TypeParameterCS__Alternatives_112394);
+                    pushFollow(FollowSets000.FOLLOW_rule__TypeParameterCS__Group_1_0__0_in_rule__TypeParameterCS__Alternatives_112555);
                     rule__TypeParameterCS__Group_1_0__0();
 
                     state._fsp--;
@@ -19513,18 +19629,18 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5521:6: ( ( rule__TypeParameterCS__Group_1_1__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5679:6: ( ( rule__TypeParameterCS__Group_1_1__0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5521:6: ( ( rule__TypeParameterCS__Group_1_1__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5522:1: ( rule__TypeParameterCS__Group_1_1__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5679:6: ( ( rule__TypeParameterCS__Group_1_1__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5680:1: ( rule__TypeParameterCS__Group_1_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTypeParameterCSAccess().getGroup_1_1()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5523:1: ( rule__TypeParameterCS__Group_1_1__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5523:2: rule__TypeParameterCS__Group_1_1__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5681:1: ( rule__TypeParameterCS__Group_1_1__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5681:2: rule__TypeParameterCS__Group_1_1__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__TypeParameterCS__Group_1_1__0_in_rule__TypeParameterCS__Alternatives_112412);
+                    pushFollow(FollowSets000.FOLLOW_rule__TypeParameterCS__Group_1_1__0_in_rule__TypeParameterCS__Alternatives_112573);
                     rule__TypeParameterCS__Group_1_1__0();
 
                     state._fsp--;
@@ -19559,40 +19675,40 @@
 
 
     // $ANTLR start "rule__TypeRefCS__Alternatives"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5532:1: rule__TypeRefCS__Alternatives : ( ( ruleTypedRefCS ) | ( ruleWildcardTypeRefCS ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5690:1: rule__TypeRefCS__Alternatives : ( ( ruleTypedRefCS ) | ( ruleWildcardTypeRefCS ) );
     public final void rule__TypeRefCS__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5536:1: ( ( ruleTypedRefCS ) | ( ruleWildcardTypeRefCS ) )
-            int alt71=2;
-            int LA71_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5694:1: ( ( ruleTypedRefCS ) | ( ruleWildcardTypeRefCS ) )
+            int alt86=2;
+            int LA86_0 = input.LA(1);
 
-            if ( ((LA71_0>=RULE_SIMPLE_ID && LA71_0<=RULE_ESCAPED_ID)||(LA71_0>=17 && LA71_0<=52)||(LA71_0>=55 && LA71_0<=60)||(LA71_0>=80 && LA71_0<=93)) ) {
-                alt71=1;
+            if ( ((LA86_0>=RULE_SIMPLE_ID && LA86_0<=RULE_ESCAPED_ID)||(LA86_0>=17 && LA86_0<=52)||(LA86_0>=64 && LA86_0<=69)||(LA86_0>=89 && LA86_0<=102)) ) {
+                alt86=1;
             }
-            else if ( (LA71_0==94) ) {
-                alt71=2;
+            else if ( (LA86_0==103) ) {
+                alt86=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 71, 0, input);
+                    new NoViableAltException("", 86, 0, input);
 
                 throw nvae;
             }
-            switch (alt71) {
+            switch (alt86) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5537:1: ( ruleTypedRefCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5695:1: ( ruleTypedRefCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5537:1: ( ruleTypedRefCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5538:1: ruleTypedRefCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5695:1: ( ruleTypedRefCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5696:1: ruleTypedRefCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTypeRefCSAccess().getTypedRefCSParserRuleCall_0()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_rule__TypeRefCS__Alternatives12445);
+                    pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_rule__TypeRefCS__Alternatives12606);
                     ruleTypedRefCS();
 
                     state._fsp--;
@@ -19607,15 +19723,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5543:6: ( ruleWildcardTypeRefCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5701:6: ( ruleWildcardTypeRefCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5543:6: ( ruleWildcardTypeRefCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5544:1: ruleWildcardTypeRefCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5701:6: ( ruleWildcardTypeRefCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5702:1: ruleWildcardTypeRefCS
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTypeRefCSAccess().getWildcardTypeRefCSParserRuleCall_1()); 
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleWildcardTypeRefCS_in_rule__TypeRefCS__Alternatives12462);
+                    pushFollow(FollowSets000.FOLLOW_ruleWildcardTypeRefCS_in_rule__TypeRefCS__Alternatives12623);
                     ruleWildcardTypeRefCS();
 
                     state._fsp--;
@@ -19647,43 +19763,43 @@
 
 
     // $ANTLR start "rule__WildcardTypeRefCS__Alternatives_2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5554:1: rule__WildcardTypeRefCS__Alternatives_2 : ( ( ( rule__WildcardTypeRefCS__Group_2_0__0 ) ) | ( ( rule__WildcardTypeRefCS__Group_2_1__0 ) ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5712:1: rule__WildcardTypeRefCS__Alternatives_2 : ( ( ( rule__WildcardTypeRefCS__Group_2_0__0 ) ) | ( ( rule__WildcardTypeRefCS__Group_2_1__0 ) ) );
     public final void rule__WildcardTypeRefCS__Alternatives_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5558:1: ( ( ( rule__WildcardTypeRefCS__Group_2_0__0 ) ) | ( ( rule__WildcardTypeRefCS__Group_2_1__0 ) ) )
-            int alt72=2;
-            int LA72_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5716:1: ( ( ( rule__WildcardTypeRefCS__Group_2_0__0 ) ) | ( ( rule__WildcardTypeRefCS__Group_2_1__0 ) ) )
+            int alt87=2;
+            int LA87_0 = input.LA(1);
 
-            if ( (LA72_0==28) ) {
-                alt72=1;
+            if ( (LA87_0==28) ) {
+                alt87=1;
             }
-            else if ( (LA72_0==47) ) {
-                alt72=2;
+            else if ( (LA87_0==47) ) {
+                alt87=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 72, 0, input);
+                    new NoViableAltException("", 87, 0, input);
 
                 throw nvae;
             }
-            switch (alt72) {
+            switch (alt87) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5559:1: ( ( rule__WildcardTypeRefCS__Group_2_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5717:1: ( ( rule__WildcardTypeRefCS__Group_2_0__0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5559:1: ( ( rule__WildcardTypeRefCS__Group_2_0__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5560:1: ( rule__WildcardTypeRefCS__Group_2_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5717:1: ( ( rule__WildcardTypeRefCS__Group_2_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5718:1: ( rule__WildcardTypeRefCS__Group_2_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getWildcardTypeRefCSAccess().getGroup_2_0()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5561:1: ( rule__WildcardTypeRefCS__Group_2_0__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5561:2: rule__WildcardTypeRefCS__Group_2_0__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5719:1: ( rule__WildcardTypeRefCS__Group_2_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5719:2: rule__WildcardTypeRefCS__Group_2_0__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__WildcardTypeRefCS__Group_2_0__0_in_rule__WildcardTypeRefCS__Alternatives_212494);
+                    pushFollow(FollowSets000.FOLLOW_rule__WildcardTypeRefCS__Group_2_0__0_in_rule__WildcardTypeRefCS__Alternatives_212655);
                     rule__WildcardTypeRefCS__Group_2_0__0();
 
                     state._fsp--;
@@ -19701,18 +19817,18 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5565:6: ( ( rule__WildcardTypeRefCS__Group_2_1__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5723:6: ( ( rule__WildcardTypeRefCS__Group_2_1__0 ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5565:6: ( ( rule__WildcardTypeRefCS__Group_2_1__0 ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5566:1: ( rule__WildcardTypeRefCS__Group_2_1__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5723:6: ( ( rule__WildcardTypeRefCS__Group_2_1__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5724:1: ( rule__WildcardTypeRefCS__Group_2_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getWildcardTypeRefCSAccess().getGroup_2_1()); 
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5567:1: ( rule__WildcardTypeRefCS__Group_2_1__0 )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5567:2: rule__WildcardTypeRefCS__Group_2_1__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5725:1: ( rule__WildcardTypeRefCS__Group_2_1__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5725:2: rule__WildcardTypeRefCS__Group_2_1__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__WildcardTypeRefCS__Group_2_1__0_in_rule__WildcardTypeRefCS__Alternatives_212512);
+                    pushFollow(FollowSets000.FOLLOW_rule__WildcardTypeRefCS__Group_2_1__0_in_rule__WildcardTypeRefCS__Alternatives_212673);
                     rule__WildcardTypeRefCS__Group_2_1__0();
 
                     state._fsp--;
@@ -19747,40 +19863,40 @@
 
 
     // $ANTLR start "rule__ID__Alternatives"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5576:1: rule__ID__Alternatives : ( ( RULE_SIMPLE_ID ) | ( RULE_ESCAPED_ID ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5734:1: rule__ID__Alternatives : ( ( RULE_SIMPLE_ID ) | ( RULE_ESCAPED_ID ) );
     public final void rule__ID__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5580:1: ( ( RULE_SIMPLE_ID ) | ( RULE_ESCAPED_ID ) )
-            int alt73=2;
-            int LA73_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5738:1: ( ( RULE_SIMPLE_ID ) | ( RULE_ESCAPED_ID ) )
+            int alt88=2;
+            int LA88_0 = input.LA(1);
 
-            if ( (LA73_0==RULE_SIMPLE_ID) ) {
-                alt73=1;
+            if ( (LA88_0==RULE_SIMPLE_ID) ) {
+                alt88=1;
             }
-            else if ( (LA73_0==RULE_ESCAPED_ID) ) {
-                alt73=2;
+            else if ( (LA88_0==RULE_ESCAPED_ID) ) {
+                alt88=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 73, 0, input);
+                    new NoViableAltException("", 88, 0, input);
 
                 throw nvae;
             }
-            switch (alt73) {
+            switch (alt88) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5581:1: ( RULE_SIMPLE_ID )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5739:1: ( RULE_SIMPLE_ID )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5581:1: ( RULE_SIMPLE_ID )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5582:1: RULE_SIMPLE_ID
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5739:1: ( RULE_SIMPLE_ID )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5740:1: RULE_SIMPLE_ID
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getIDAccess().getSIMPLE_IDTerminalRuleCall_0()); 
                     }
-                    match(input,RULE_SIMPLE_ID,FollowSets000.FOLLOW_RULE_SIMPLE_ID_in_rule__ID__Alternatives12545); if (state.failed) return ;
+                    match(input,RULE_SIMPLE_ID,FollowSets000.FOLLOW_RULE_SIMPLE_ID_in_rule__ID__Alternatives12706); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getIDAccess().getSIMPLE_IDTerminalRuleCall_0()); 
                     }
@@ -19791,15 +19907,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5587:6: ( RULE_ESCAPED_ID )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5745:6: ( RULE_ESCAPED_ID )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5587:6: ( RULE_ESCAPED_ID )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5588:1: RULE_ESCAPED_ID
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5745:6: ( RULE_ESCAPED_ID )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5746:1: RULE_ESCAPED_ID
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getIDAccess().getESCAPED_IDTerminalRuleCall_1()); 
                     }
-                    match(input,RULE_ESCAPED_ID,FollowSets000.FOLLOW_RULE_ESCAPED_ID_in_rule__ID__Alternatives12562); if (state.failed) return ;
+                    match(input,RULE_ESCAPED_ID,FollowSets000.FOLLOW_RULE_ESCAPED_ID_in_rule__ID__Alternatives12723); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getIDAccess().getESCAPED_IDTerminalRuleCall_1()); 
                     }
@@ -19827,40 +19943,40 @@
 
 
     // $ANTLR start "rule__UPPER__Alternatives"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5598:1: rule__UPPER__Alternatives : ( ( RULE_INT ) | ( '*' ) );
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5756:1: rule__UPPER__Alternatives : ( ( RULE_INT ) | ( '*' ) );
     public final void rule__UPPER__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5602:1: ( ( RULE_INT ) | ( '*' ) )
-            int alt74=2;
-            int LA74_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5760:1: ( ( RULE_INT ) | ( '*' ) )
+            int alt89=2;
+            int LA89_0 = input.LA(1);
 
-            if ( (LA74_0==RULE_INT) ) {
-                alt74=1;
+            if ( (LA89_0==RULE_INT) ) {
+                alt89=1;
             }
-            else if ( (LA74_0==63) ) {
-                alt74=2;
+            else if ( (LA89_0==72) ) {
+                alt89=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 74, 0, input);
+                    new NoViableAltException("", 89, 0, input);
 
                 throw nvae;
             }
-            switch (alt74) {
+            switch (alt89) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5603:1: ( RULE_INT )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5761:1: ( RULE_INT )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5603:1: ( RULE_INT )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5604:1: RULE_INT
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5761:1: ( RULE_INT )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5762:1: RULE_INT
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getUPPERAccess().getINTTerminalRuleCall_0()); 
                     }
-                    match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_rule__UPPER__Alternatives12594); if (state.failed) return ;
+                    match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_rule__UPPER__Alternatives12755); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getUPPERAccess().getINTTerminalRuleCall_0()); 
                     }
@@ -19871,15 +19987,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5609:6: ( '*' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5767:6: ( '*' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5609:6: ( '*' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5610:1: '*'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5767:6: ( '*' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5768:1: '*'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getUPPERAccess().getAsteriskKeyword_1()); 
                     }
-                    match(input,63,FollowSets000.FOLLOW_63_in_rule__UPPER__Alternatives12612); if (state.failed) return ;
+                    match(input,72,FollowSets000.FOLLOW_72_in_rule__UPPER__Alternatives12773); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getUPPERAccess().getAsteriskKeyword_1()); 
                     }
@@ -19907,21 +20023,21 @@
 
 
     // $ANTLR start "rule__TopLevelCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5624:1: rule__TopLevelCS__Group__0 : rule__TopLevelCS__Group__0__Impl rule__TopLevelCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5782:1: rule__TopLevelCS__Group__0 : rule__TopLevelCS__Group__0__Impl rule__TopLevelCS__Group__1 ;
     public final void rule__TopLevelCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5628:1: ( rule__TopLevelCS__Group__0__Impl rule__TopLevelCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5629:2: rule__TopLevelCS__Group__0__Impl rule__TopLevelCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5786:1: ( rule__TopLevelCS__Group__0__Impl rule__TopLevelCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5787:2: rule__TopLevelCS__Group__0__Impl rule__TopLevelCS__Group__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__Group__0__Impl_in_rule__TopLevelCS__Group__012644);
+            pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__Group__0__Impl_in_rule__TopLevelCS__Group__012805);
             rule__TopLevelCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__Group__1_in_rule__TopLevelCS__Group__012647);
+            pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__Group__1_in_rule__TopLevelCS__Group__012808);
             rule__TopLevelCS__Group__1();
 
             state._fsp--;
@@ -19945,23 +20061,23 @@
 
 
     // $ANTLR start "rule__TopLevelCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5636:1: rule__TopLevelCS__Group__0__Impl : ( () ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5794:1: rule__TopLevelCS__Group__0__Impl : ( () ) ;
     public final void rule__TopLevelCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5640:1: ( ( () ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5641:1: ( () )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5798:1: ( ( () ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5799:1: ( () )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5641:1: ( () )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5642:1: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5799:1: ( () )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5800:1: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTopLevelCSAccess().getTopLevelCSAction_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5643:1: ()
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5645:1: 
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5801:1: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5803:1: 
             {
             }
 
@@ -19986,21 +20102,21 @@
 
 
     // $ANTLR start "rule__TopLevelCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5655:1: rule__TopLevelCS__Group__1 : rule__TopLevelCS__Group__1__Impl rule__TopLevelCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5813:1: rule__TopLevelCS__Group__1 : rule__TopLevelCS__Group__1__Impl rule__TopLevelCS__Group__2 ;
     public final void rule__TopLevelCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5659:1: ( rule__TopLevelCS__Group__1__Impl rule__TopLevelCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5660:2: rule__TopLevelCS__Group__1__Impl rule__TopLevelCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5817:1: ( rule__TopLevelCS__Group__1__Impl rule__TopLevelCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5818:2: rule__TopLevelCS__Group__1__Impl rule__TopLevelCS__Group__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__Group__1__Impl_in_rule__TopLevelCS__Group__112705);
+            pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__Group__1__Impl_in_rule__TopLevelCS__Group__112866);
             rule__TopLevelCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__Group__2_in_rule__TopLevelCS__Group__112708);
+            pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__Group__2_in_rule__TopLevelCS__Group__112869);
             rule__TopLevelCS__Group__2();
 
             state._fsp--;
@@ -20024,33 +20140,33 @@
 
 
     // $ANTLR start "rule__TopLevelCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5667:1: rule__TopLevelCS__Group__1__Impl : ( ( rule__TopLevelCS__Group_1__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5825:1: rule__TopLevelCS__Group__1__Impl : ( ( rule__TopLevelCS__Group_1__0 )? ) ;
     public final void rule__TopLevelCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5671:1: ( ( ( rule__TopLevelCS__Group_1__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5672:1: ( ( rule__TopLevelCS__Group_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5829:1: ( ( ( rule__TopLevelCS__Group_1__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5830:1: ( ( rule__TopLevelCS__Group_1__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5672:1: ( ( rule__TopLevelCS__Group_1__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5673:1: ( rule__TopLevelCS__Group_1__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5830:1: ( ( rule__TopLevelCS__Group_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5831:1: ( rule__TopLevelCS__Group_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTopLevelCSAccess().getGroup_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5674:1: ( rule__TopLevelCS__Group_1__0 )?
-            int alt75=2;
-            int LA75_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5832:1: ( rule__TopLevelCS__Group_1__0 )?
+            int alt90=2;
+            int LA90_0 = input.LA(1);
 
-            if ( (LA75_0==35) ) {
-                alt75=1;
+            if ( (LA90_0==35) ) {
+                alt90=1;
             }
-            switch (alt75) {
+            switch (alt90) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5674:2: rule__TopLevelCS__Group_1__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5832:2: rule__TopLevelCS__Group_1__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__Group_1__0_in_rule__TopLevelCS__Group__1__Impl12735);
+                    pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__Group_1__0_in_rule__TopLevelCS__Group__1__Impl12896);
                     rule__TopLevelCS__Group_1__0();
 
                     state._fsp--;
@@ -20086,21 +20202,21 @@
 
 
     // $ANTLR start "rule__TopLevelCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5684:1: rule__TopLevelCS__Group__2 : rule__TopLevelCS__Group__2__Impl rule__TopLevelCS__Group__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5842:1: rule__TopLevelCS__Group__2 : rule__TopLevelCS__Group__2__Impl rule__TopLevelCS__Group__3 ;
     public final void rule__TopLevelCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5688:1: ( rule__TopLevelCS__Group__2__Impl rule__TopLevelCS__Group__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5689:2: rule__TopLevelCS__Group__2__Impl rule__TopLevelCS__Group__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5846:1: ( rule__TopLevelCS__Group__2__Impl rule__TopLevelCS__Group__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5847:2: rule__TopLevelCS__Group__2__Impl rule__TopLevelCS__Group__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__Group__2__Impl_in_rule__TopLevelCS__Group__212766);
+            pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__Group__2__Impl_in_rule__TopLevelCS__Group__212927);
             rule__TopLevelCS__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__Group__3_in_rule__TopLevelCS__Group__212769);
+            pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__Group__3_in_rule__TopLevelCS__Group__212930);
             rule__TopLevelCS__Group__3();
 
             state._fsp--;
@@ -20124,37 +20240,37 @@
 
 
     // $ANTLR start "rule__TopLevelCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5696:1: rule__TopLevelCS__Group__2__Impl : ( ( rule__TopLevelCS__OwnedLibrariesAssignment_2 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5854:1: rule__TopLevelCS__Group__2__Impl : ( ( rule__TopLevelCS__OwnedLibrariesAssignment_2 )* ) ;
     public final void rule__TopLevelCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5700:1: ( ( ( rule__TopLevelCS__OwnedLibrariesAssignment_2 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5701:1: ( ( rule__TopLevelCS__OwnedLibrariesAssignment_2 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5858:1: ( ( ( rule__TopLevelCS__OwnedLibrariesAssignment_2 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5859:1: ( ( rule__TopLevelCS__OwnedLibrariesAssignment_2 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5701:1: ( ( rule__TopLevelCS__OwnedLibrariesAssignment_2 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5702:1: ( rule__TopLevelCS__OwnedLibrariesAssignment_2 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5859:1: ( ( rule__TopLevelCS__OwnedLibrariesAssignment_2 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5860:1: ( rule__TopLevelCS__OwnedLibrariesAssignment_2 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTopLevelCSAccess().getOwnedLibrariesAssignment_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5703:1: ( rule__TopLevelCS__OwnedLibrariesAssignment_2 )*
-            loop76:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5861:1: ( rule__TopLevelCS__OwnedLibrariesAssignment_2 )*
+            loop91:
             do {
-                int alt76=2;
-                int LA76_0 = input.LA(1);
+                int alt91=2;
+                int LA91_0 = input.LA(1);
 
-                if ( (LA76_0==34) ) {
-                    alt76=1;
+                if ( (LA91_0==34) ) {
+                    alt91=1;
                 }
 
 
-                switch (alt76) {
+                switch (alt91) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5703:2: rule__TopLevelCS__OwnedLibrariesAssignment_2
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5861:2: rule__TopLevelCS__OwnedLibrariesAssignment_2
             	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__OwnedLibrariesAssignment_2_in_rule__TopLevelCS__Group__2__Impl12796);
+            	    pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__OwnedLibrariesAssignment_2_in_rule__TopLevelCS__Group__2__Impl12957);
             	    rule__TopLevelCS__OwnedLibrariesAssignment_2();
 
             	    state._fsp--;
@@ -20164,7 +20280,7 @@
             	    break;
 
             	default :
-            	    break loop76;
+            	    break loop91;
                 }
             } while (true);
 
@@ -20193,21 +20309,21 @@
 
 
     // $ANTLR start "rule__TopLevelCS__Group__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5713:1: rule__TopLevelCS__Group__3 : rule__TopLevelCS__Group__3__Impl rule__TopLevelCS__Group__4 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5871:1: rule__TopLevelCS__Group__3 : rule__TopLevelCS__Group__3__Impl rule__TopLevelCS__Group__4 ;
     public final void rule__TopLevelCS__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5717:1: ( rule__TopLevelCS__Group__3__Impl rule__TopLevelCS__Group__4 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5718:2: rule__TopLevelCS__Group__3__Impl rule__TopLevelCS__Group__4
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5875:1: ( rule__TopLevelCS__Group__3__Impl rule__TopLevelCS__Group__4 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5876:2: rule__TopLevelCS__Group__3__Impl rule__TopLevelCS__Group__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__Group__3__Impl_in_rule__TopLevelCS__Group__312827);
+            pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__Group__3__Impl_in_rule__TopLevelCS__Group__312988);
             rule__TopLevelCS__Group__3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__Group__4_in_rule__TopLevelCS__Group__312830);
+            pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__Group__4_in_rule__TopLevelCS__Group__312991);
             rule__TopLevelCS__Group__4();
 
             state._fsp--;
@@ -20231,37 +20347,37 @@
 
 
     // $ANTLR start "rule__TopLevelCS__Group__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5725:1: rule__TopLevelCS__Group__3__Impl : ( ( rule__TopLevelCS__OwnedImportsAssignment_3 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5883:1: rule__TopLevelCS__Group__3__Impl : ( ( rule__TopLevelCS__OwnedImportsAssignment_3 )* ) ;
     public final void rule__TopLevelCS__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5729:1: ( ( ( rule__TopLevelCS__OwnedImportsAssignment_3 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5730:1: ( ( rule__TopLevelCS__OwnedImportsAssignment_3 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5887:1: ( ( ( rule__TopLevelCS__OwnedImportsAssignment_3 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5888:1: ( ( rule__TopLevelCS__OwnedImportsAssignment_3 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5730:1: ( ( rule__TopLevelCS__OwnedImportsAssignment_3 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5731:1: ( rule__TopLevelCS__OwnedImportsAssignment_3 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5888:1: ( ( rule__TopLevelCS__OwnedImportsAssignment_3 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5889:1: ( rule__TopLevelCS__OwnedImportsAssignment_3 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTopLevelCSAccess().getOwnedImportsAssignment_3()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5732:1: ( rule__TopLevelCS__OwnedImportsAssignment_3 )*
-            loop77:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5890:1: ( rule__TopLevelCS__OwnedImportsAssignment_3 )*
+            loop92:
             do {
-                int alt77=2;
-                int LA77_0 = input.LA(1);
+                int alt92=2;
+                int LA92_0 = input.LA(1);
 
-                if ( (LA77_0==30) ) {
-                    alt77=1;
+                if ( (LA92_0==30) ) {
+                    alt92=1;
                 }
 
 
-                switch (alt77) {
+                switch (alt92) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5732:2: rule__TopLevelCS__OwnedImportsAssignment_3
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5890:2: rule__TopLevelCS__OwnedImportsAssignment_3
             	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__OwnedImportsAssignment_3_in_rule__TopLevelCS__Group__3__Impl12857);
+            	    pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__OwnedImportsAssignment_3_in_rule__TopLevelCS__Group__3__Impl13018);
             	    rule__TopLevelCS__OwnedImportsAssignment_3();
 
             	    state._fsp--;
@@ -20271,7 +20387,7 @@
             	    break;
 
             	default :
-            	    break loop77;
+            	    break loop92;
                 }
             } while (true);
 
@@ -20300,16 +20416,16 @@
 
 
     // $ANTLR start "rule__TopLevelCS__Group__4"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5742:1: rule__TopLevelCS__Group__4 : rule__TopLevelCS__Group__4__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5900:1: rule__TopLevelCS__Group__4 : rule__TopLevelCS__Group__4__Impl ;
     public final void rule__TopLevelCS__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5746:1: ( rule__TopLevelCS__Group__4__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5747:2: rule__TopLevelCS__Group__4__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5904:1: ( rule__TopLevelCS__Group__4__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5905:2: rule__TopLevelCS__Group__4__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__Group__4__Impl_in_rule__TopLevelCS__Group__412888);
+            pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__Group__4__Impl_in_rule__TopLevelCS__Group__413049);
             rule__TopLevelCS__Group__4__Impl();
 
             state._fsp--;
@@ -20333,37 +20449,37 @@
 
 
     // $ANTLR start "rule__TopLevelCS__Group__4__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5753:1: rule__TopLevelCS__Group__4__Impl : ( ( rule__TopLevelCS__OwnedPackagesAssignment_4 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5911:1: rule__TopLevelCS__Group__4__Impl : ( ( rule__TopLevelCS__OwnedPackagesAssignment_4 )* ) ;
     public final void rule__TopLevelCS__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5757:1: ( ( ( rule__TopLevelCS__OwnedPackagesAssignment_4 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5758:1: ( ( rule__TopLevelCS__OwnedPackagesAssignment_4 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5915:1: ( ( ( rule__TopLevelCS__OwnedPackagesAssignment_4 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5916:1: ( ( rule__TopLevelCS__OwnedPackagesAssignment_4 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5758:1: ( ( rule__TopLevelCS__OwnedPackagesAssignment_4 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5759:1: ( rule__TopLevelCS__OwnedPackagesAssignment_4 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5916:1: ( ( rule__TopLevelCS__OwnedPackagesAssignment_4 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5917:1: ( rule__TopLevelCS__OwnedPackagesAssignment_4 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTopLevelCSAccess().getOwnedPackagesAssignment_4()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5760:1: ( rule__TopLevelCS__OwnedPackagesAssignment_4 )*
-            loop78:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5918:1: ( rule__TopLevelCS__OwnedPackagesAssignment_4 )*
+            loop93:
             do {
-                int alt78=2;
-                int LA78_0 = input.LA(1);
+                int alt93=2;
+                int LA93_0 = input.LA(1);
 
-                if ( (LA78_0==38) ) {
-                    alt78=1;
+                if ( (LA93_0==38) ) {
+                    alt93=1;
                 }
 
 
-                switch (alt78) {
+                switch (alt93) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5760:2: rule__TopLevelCS__OwnedPackagesAssignment_4
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5918:2: rule__TopLevelCS__OwnedPackagesAssignment_4
             	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__OwnedPackagesAssignment_4_in_rule__TopLevelCS__Group__4__Impl12915);
+            	    pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__OwnedPackagesAssignment_4_in_rule__TopLevelCS__Group__4__Impl13076);
             	    rule__TopLevelCS__OwnedPackagesAssignment_4();
 
             	    state._fsp--;
@@ -20373,7 +20489,7 @@
             	    break;
 
             	default :
-            	    break loop78;
+            	    break loop93;
                 }
             } while (true);
 
@@ -20402,21 +20518,21 @@
 
 
     // $ANTLR start "rule__TopLevelCS__Group_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5780:1: rule__TopLevelCS__Group_1__0 : rule__TopLevelCS__Group_1__0__Impl rule__TopLevelCS__Group_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5938:1: rule__TopLevelCS__Group_1__0 : rule__TopLevelCS__Group_1__0__Impl rule__TopLevelCS__Group_1__1 ;
     public final void rule__TopLevelCS__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5784:1: ( rule__TopLevelCS__Group_1__0__Impl rule__TopLevelCS__Group_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5785:2: rule__TopLevelCS__Group_1__0__Impl rule__TopLevelCS__Group_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5942:1: ( rule__TopLevelCS__Group_1__0__Impl rule__TopLevelCS__Group_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5943:2: rule__TopLevelCS__Group_1__0__Impl rule__TopLevelCS__Group_1__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__Group_1__0__Impl_in_rule__TopLevelCS__Group_1__012956);
+            pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__Group_1__0__Impl_in_rule__TopLevelCS__Group_1__013117);
             rule__TopLevelCS__Group_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__Group_1__1_in_rule__TopLevelCS__Group_1__012959);
+            pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__Group_1__1_in_rule__TopLevelCS__Group_1__013120);
             rule__TopLevelCS__Group_1__1();
 
             state._fsp--;
@@ -20440,22 +20556,22 @@
 
 
     // $ANTLR start "rule__TopLevelCS__Group_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5792:1: rule__TopLevelCS__Group_1__0__Impl : ( 'module' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5950:1: rule__TopLevelCS__Group_1__0__Impl : ( 'module' ) ;
     public final void rule__TopLevelCS__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5796:1: ( ( 'module' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5797:1: ( 'module' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5954:1: ( ( 'module' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5955:1: ( 'module' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5797:1: ( 'module' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5798:1: 'module'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5955:1: ( 'module' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5956:1: 'module'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTopLevelCSAccess().getModuleKeyword_1_0()); 
             }
-            match(input,35,FollowSets000.FOLLOW_35_in_rule__TopLevelCS__Group_1__0__Impl12987); if (state.failed) return ;
+            match(input,35,FollowSets000.FOLLOW_35_in_rule__TopLevelCS__Group_1__0__Impl13148); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTopLevelCSAccess().getModuleKeyword_1_0()); 
             }
@@ -20481,16 +20597,16 @@
 
 
     // $ANTLR start "rule__TopLevelCS__Group_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5811:1: rule__TopLevelCS__Group_1__1 : rule__TopLevelCS__Group_1__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5969:1: rule__TopLevelCS__Group_1__1 : rule__TopLevelCS__Group_1__1__Impl ;
     public final void rule__TopLevelCS__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5815:1: ( rule__TopLevelCS__Group_1__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5816:2: rule__TopLevelCS__Group_1__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5973:1: ( rule__TopLevelCS__Group_1__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5974:2: rule__TopLevelCS__Group_1__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__Group_1__1__Impl_in_rule__TopLevelCS__Group_1__113018);
+            pushFollow(FollowSets000.FOLLOW_rule__TopLevelCS__Group_1__1__Impl_in_rule__TopLevelCS__Group_1__113179);
             rule__TopLevelCS__Group_1__1__Impl();
 
             state._fsp--;
@@ -20514,22 +20630,22 @@
 
 
     // $ANTLR start "rule__TopLevelCS__Group_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5822:1: rule__TopLevelCS__Group_1__1__Impl : ( ruleUnrestrictedName ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5980:1: rule__TopLevelCS__Group_1__1__Impl : ( ruleUnrestrictedName ) ;
     public final void rule__TopLevelCS__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5826:1: ( ( ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5827:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5984:1: ( ( ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5985:1: ( ruleUnrestrictedName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5827:1: ( ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5828:1: ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5985:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5986:1: ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTopLevelCSAccess().getUnrestrictedNameParserRuleCall_1_1()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_rule__TopLevelCS__Group_1__1__Impl13045);
+            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_rule__TopLevelCS__Group_1__1__Impl13206);
             ruleUnrestrictedName();
 
             state._fsp--;
@@ -20559,21 +20675,21 @@
 
 
     // $ANTLR start "rule__SIGNED__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5843:1: rule__SIGNED__Group__0 : rule__SIGNED__Group__0__Impl rule__SIGNED__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6001:1: rule__SIGNED__Group__0 : rule__SIGNED__Group__0__Impl rule__SIGNED__Group__1 ;
     public final void rule__SIGNED__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5847:1: ( rule__SIGNED__Group__0__Impl rule__SIGNED__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5848:2: rule__SIGNED__Group__0__Impl rule__SIGNED__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6005:1: ( rule__SIGNED__Group__0__Impl rule__SIGNED__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6006:2: rule__SIGNED__Group__0__Impl rule__SIGNED__Group__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SIGNED__Group__0__Impl_in_rule__SIGNED__Group__013078);
+            pushFollow(FollowSets000.FOLLOW_rule__SIGNED__Group__0__Impl_in_rule__SIGNED__Group__013239);
             rule__SIGNED__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__SIGNED__Group__1_in_rule__SIGNED__Group__013081);
+            pushFollow(FollowSets000.FOLLOW_rule__SIGNED__Group__1_in_rule__SIGNED__Group__013242);
             rule__SIGNED__Group__1();
 
             state._fsp--;
@@ -20597,33 +20713,33 @@
 
 
     // $ANTLR start "rule__SIGNED__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5855:1: rule__SIGNED__Group__0__Impl : ( ( '-' )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6013:1: rule__SIGNED__Group__0__Impl : ( ( '-' )? ) ;
     public final void rule__SIGNED__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5859:1: ( ( ( '-' )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5860:1: ( ( '-' )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6017:1: ( ( ( '-' )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6018:1: ( ( '-' )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5860:1: ( ( '-' )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5861:1: ( '-' )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6018:1: ( ( '-' )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6019:1: ( '-' )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSIGNEDAccess().getHyphenMinusKeyword_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5862:1: ( '-' )?
-            int alt79=2;
-            int LA79_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6020:1: ( '-' )?
+            int alt94=2;
+            int LA94_0 = input.LA(1);
 
-            if ( (LA79_0==61) ) {
-                alt79=1;
+            if ( (LA94_0==70) ) {
+                alt94=1;
             }
-            switch (alt79) {
+            switch (alt94) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5863:2: '-'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6021:2: '-'
                     {
-                    match(input,61,FollowSets000.FOLLOW_61_in_rule__SIGNED__Group__0__Impl13110); if (state.failed) return ;
+                    match(input,70,FollowSets000.FOLLOW_70_in_rule__SIGNED__Group__0__Impl13271); if (state.failed) return ;
 
                     }
                     break;
@@ -20655,16 +20771,16 @@
 
 
     // $ANTLR start "rule__SIGNED__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5874:1: rule__SIGNED__Group__1 : rule__SIGNED__Group__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6032:1: rule__SIGNED__Group__1 : rule__SIGNED__Group__1__Impl ;
     public final void rule__SIGNED__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5878:1: ( rule__SIGNED__Group__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5879:2: rule__SIGNED__Group__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6036:1: ( rule__SIGNED__Group__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6037:2: rule__SIGNED__Group__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SIGNED__Group__1__Impl_in_rule__SIGNED__Group__113143);
+            pushFollow(FollowSets000.FOLLOW_rule__SIGNED__Group__1__Impl_in_rule__SIGNED__Group__113304);
             rule__SIGNED__Group__1__Impl();
 
             state._fsp--;
@@ -20688,22 +20804,22 @@
 
 
     // $ANTLR start "rule__SIGNED__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5885:1: rule__SIGNED__Group__1__Impl : ( RULE_INT ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6043:1: rule__SIGNED__Group__1__Impl : ( RULE_INT ) ;
     public final void rule__SIGNED__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5889:1: ( ( RULE_INT ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5890:1: ( RULE_INT )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6047:1: ( ( RULE_INT ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6048:1: ( RULE_INT )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5890:1: ( RULE_INT )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5891:1: RULE_INT
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6048:1: ( RULE_INT )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6049:1: RULE_INT
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSIGNEDAccess().getINTTerminalRuleCall_1()); 
             }
-            match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_rule__SIGNED__Group__1__Impl13170); if (state.failed) return ;
+            match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_rule__SIGNED__Group__1__Impl13331); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getSIGNEDAccess().getINTTerminalRuleCall_1()); 
             }
@@ -20729,21 +20845,21 @@
 
 
     // $ANTLR start "rule__InvariantConstraintCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5906:1: rule__InvariantConstraintCS__Group__0 : rule__InvariantConstraintCS__Group__0__Impl rule__InvariantConstraintCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6064:1: rule__InvariantConstraintCS__Group__0 : rule__InvariantConstraintCS__Group__0__Impl rule__InvariantConstraintCS__Group__1 ;
     public final void rule__InvariantConstraintCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5910:1: ( rule__InvariantConstraintCS__Group__0__Impl rule__InvariantConstraintCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5911:2: rule__InvariantConstraintCS__Group__0__Impl rule__InvariantConstraintCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6068:1: ( rule__InvariantConstraintCS__Group__0__Impl rule__InvariantConstraintCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6069:2: rule__InvariantConstraintCS__Group__0__Impl rule__InvariantConstraintCS__Group__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group__0__Impl_in_rule__InvariantConstraintCS__Group__013203);
+            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group__0__Impl_in_rule__InvariantConstraintCS__Group__013364);
             rule__InvariantConstraintCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group__1_in_rule__InvariantConstraintCS__Group__013206);
+            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group__1_in_rule__InvariantConstraintCS__Group__013367);
             rule__InvariantConstraintCS__Group__1();
 
             state._fsp--;
@@ -20767,33 +20883,33 @@
 
 
     // $ANTLR start "rule__InvariantConstraintCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5918:1: rule__InvariantConstraintCS__Group__0__Impl : ( ( rule__InvariantConstraintCS__IsCallableAssignment_0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6076:1: rule__InvariantConstraintCS__Group__0__Impl : ( ( rule__InvariantConstraintCS__IsCallableAssignment_0 )? ) ;
     public final void rule__InvariantConstraintCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5922:1: ( ( ( rule__InvariantConstraintCS__IsCallableAssignment_0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5923:1: ( ( rule__InvariantConstraintCS__IsCallableAssignment_0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6080:1: ( ( ( rule__InvariantConstraintCS__IsCallableAssignment_0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6081:1: ( ( rule__InvariantConstraintCS__IsCallableAssignment_0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5923:1: ( ( rule__InvariantConstraintCS__IsCallableAssignment_0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5924:1: ( rule__InvariantConstraintCS__IsCallableAssignment_0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6081:1: ( ( rule__InvariantConstraintCS__IsCallableAssignment_0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6082:1: ( rule__InvariantConstraintCS__IsCallableAssignment_0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getInvariantConstraintCSAccess().getIsCallableAssignment_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5925:1: ( rule__InvariantConstraintCS__IsCallableAssignment_0 )?
-            int alt80=2;
-            int LA80_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6083:1: ( rule__InvariantConstraintCS__IsCallableAssignment_0 )?
+            int alt95=2;
+            int LA95_0 = input.LA(1);
 
-            if ( (LA80_0==20) ) {
-                alt80=1;
+            if ( (LA95_0==20) ) {
+                alt95=1;
             }
-            switch (alt80) {
+            switch (alt95) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5925:2: rule__InvariantConstraintCS__IsCallableAssignment_0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6083:2: rule__InvariantConstraintCS__IsCallableAssignment_0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__IsCallableAssignment_0_in_rule__InvariantConstraintCS__Group__0__Impl13233);
+                    pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__IsCallableAssignment_0_in_rule__InvariantConstraintCS__Group__0__Impl13394);
                     rule__InvariantConstraintCS__IsCallableAssignment_0();
 
                     state._fsp--;
@@ -20829,21 +20945,21 @@
 
 
     // $ANTLR start "rule__InvariantConstraintCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5935:1: rule__InvariantConstraintCS__Group__1 : rule__InvariantConstraintCS__Group__1__Impl rule__InvariantConstraintCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6093:1: rule__InvariantConstraintCS__Group__1 : rule__InvariantConstraintCS__Group__1__Impl rule__InvariantConstraintCS__Group__2 ;
     public final void rule__InvariantConstraintCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5939:1: ( rule__InvariantConstraintCS__Group__1__Impl rule__InvariantConstraintCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5940:2: rule__InvariantConstraintCS__Group__1__Impl rule__InvariantConstraintCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6097:1: ( rule__InvariantConstraintCS__Group__1__Impl rule__InvariantConstraintCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6098:2: rule__InvariantConstraintCS__Group__1__Impl rule__InvariantConstraintCS__Group__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group__1__Impl_in_rule__InvariantConstraintCS__Group__113264);
+            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group__1__Impl_in_rule__InvariantConstraintCS__Group__113425);
             rule__InvariantConstraintCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group__2_in_rule__InvariantConstraintCS__Group__113267);
+            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group__2_in_rule__InvariantConstraintCS__Group__113428);
             rule__InvariantConstraintCS__Group__2();
 
             state._fsp--;
@@ -20867,25 +20983,25 @@
 
 
     // $ANTLR start "rule__InvariantConstraintCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5947:1: rule__InvariantConstraintCS__Group__1__Impl : ( ( rule__InvariantConstraintCS__StereotypeAssignment_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6105:1: rule__InvariantConstraintCS__Group__1__Impl : ( ( rule__InvariantConstraintCS__StereotypeAssignment_1 ) ) ;
     public final void rule__InvariantConstraintCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5951:1: ( ( ( rule__InvariantConstraintCS__StereotypeAssignment_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5952:1: ( ( rule__InvariantConstraintCS__StereotypeAssignment_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6109:1: ( ( ( rule__InvariantConstraintCS__StereotypeAssignment_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6110:1: ( ( rule__InvariantConstraintCS__StereotypeAssignment_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5952:1: ( ( rule__InvariantConstraintCS__StereotypeAssignment_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5953:1: ( rule__InvariantConstraintCS__StereotypeAssignment_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6110:1: ( ( rule__InvariantConstraintCS__StereotypeAssignment_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6111:1: ( rule__InvariantConstraintCS__StereotypeAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getInvariantConstraintCSAccess().getStereotypeAssignment_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5954:1: ( rule__InvariantConstraintCS__StereotypeAssignment_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5954:2: rule__InvariantConstraintCS__StereotypeAssignment_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6112:1: ( rule__InvariantConstraintCS__StereotypeAssignment_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6112:2: rule__InvariantConstraintCS__StereotypeAssignment_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__StereotypeAssignment_1_in_rule__InvariantConstraintCS__Group__1__Impl13294);
+            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__StereotypeAssignment_1_in_rule__InvariantConstraintCS__Group__1__Impl13455);
             rule__InvariantConstraintCS__StereotypeAssignment_1();
 
             state._fsp--;
@@ -20918,21 +21034,21 @@
 
 
     // $ANTLR start "rule__InvariantConstraintCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5964:1: rule__InvariantConstraintCS__Group__2 : rule__InvariantConstraintCS__Group__2__Impl rule__InvariantConstraintCS__Group__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6122:1: rule__InvariantConstraintCS__Group__2 : rule__InvariantConstraintCS__Group__2__Impl rule__InvariantConstraintCS__Group__3 ;
     public final void rule__InvariantConstraintCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5968:1: ( rule__InvariantConstraintCS__Group__2__Impl rule__InvariantConstraintCS__Group__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5969:2: rule__InvariantConstraintCS__Group__2__Impl rule__InvariantConstraintCS__Group__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6126:1: ( rule__InvariantConstraintCS__Group__2__Impl rule__InvariantConstraintCS__Group__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6127:2: rule__InvariantConstraintCS__Group__2__Impl rule__InvariantConstraintCS__Group__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group__2__Impl_in_rule__InvariantConstraintCS__Group__213324);
+            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group__2__Impl_in_rule__InvariantConstraintCS__Group__213485);
             rule__InvariantConstraintCS__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group__3_in_rule__InvariantConstraintCS__Group__213327);
+            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group__3_in_rule__InvariantConstraintCS__Group__213488);
             rule__InvariantConstraintCS__Group__3();
 
             state._fsp--;
@@ -20956,33 +21072,33 @@
 
 
     // $ANTLR start "rule__InvariantConstraintCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5976:1: rule__InvariantConstraintCS__Group__2__Impl : ( ( rule__InvariantConstraintCS__Group_2__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6134:1: rule__InvariantConstraintCS__Group__2__Impl : ( ( rule__InvariantConstraintCS__Group_2__0 )? ) ;
     public final void rule__InvariantConstraintCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5980:1: ( ( ( rule__InvariantConstraintCS__Group_2__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5981:1: ( ( rule__InvariantConstraintCS__Group_2__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6138:1: ( ( ( rule__InvariantConstraintCS__Group_2__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6139:1: ( ( rule__InvariantConstraintCS__Group_2__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5981:1: ( ( rule__InvariantConstraintCS__Group_2__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5982:1: ( rule__InvariantConstraintCS__Group_2__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6139:1: ( ( rule__InvariantConstraintCS__Group_2__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6140:1: ( rule__InvariantConstraintCS__Group_2__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getInvariantConstraintCSAccess().getGroup_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5983:1: ( rule__InvariantConstraintCS__Group_2__0 )?
-            int alt81=2;
-            int LA81_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6141:1: ( rule__InvariantConstraintCS__Group_2__0 )?
+            int alt96=2;
+            int LA96_0 = input.LA(1);
 
-            if ( ((LA81_0>=RULE_SIMPLE_ID && LA81_0<=RULE_ESCAPED_ID)||(LA81_0>=17 && LA81_0<=52)||(LA81_0>=55 && LA81_0<=60)) ) {
-                alt81=1;
+            if ( ((LA96_0>=RULE_SIMPLE_ID && LA96_0<=RULE_ESCAPED_ID)||(LA96_0>=17 && LA96_0<=52)||(LA96_0>=64 && LA96_0<=69)) ) {
+                alt96=1;
             }
-            switch (alt81) {
+            switch (alt96) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5983:2: rule__InvariantConstraintCS__Group_2__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6141:2: rule__InvariantConstraintCS__Group_2__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group_2__0_in_rule__InvariantConstraintCS__Group__2__Impl13354);
+                    pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group_2__0_in_rule__InvariantConstraintCS__Group__2__Impl13515);
                     rule__InvariantConstraintCS__Group_2__0();
 
                     state._fsp--;
@@ -21018,16 +21134,16 @@
 
 
     // $ANTLR start "rule__InvariantConstraintCS__Group__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5993:1: rule__InvariantConstraintCS__Group__3 : rule__InvariantConstraintCS__Group__3__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6151:1: rule__InvariantConstraintCS__Group__3 : rule__InvariantConstraintCS__Group__3__Impl ;
     public final void rule__InvariantConstraintCS__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5997:1: ( rule__InvariantConstraintCS__Group__3__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5998:2: rule__InvariantConstraintCS__Group__3__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6155:1: ( rule__InvariantConstraintCS__Group__3__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6156:2: rule__InvariantConstraintCS__Group__3__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group__3__Impl_in_rule__InvariantConstraintCS__Group__313385);
+            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group__3__Impl_in_rule__InvariantConstraintCS__Group__313546);
             rule__InvariantConstraintCS__Group__3__Impl();
 
             state._fsp--;
@@ -21051,25 +21167,25 @@
 
 
     // $ANTLR start "rule__InvariantConstraintCS__Group__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6004:1: rule__InvariantConstraintCS__Group__3__Impl : ( ( rule__InvariantConstraintCS__Alternatives_3 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6162:1: rule__InvariantConstraintCS__Group__3__Impl : ( ( rule__InvariantConstraintCS__Alternatives_3 ) ) ;
     public final void rule__InvariantConstraintCS__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6008:1: ( ( ( rule__InvariantConstraintCS__Alternatives_3 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6009:1: ( ( rule__InvariantConstraintCS__Alternatives_3 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6166:1: ( ( ( rule__InvariantConstraintCS__Alternatives_3 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6167:1: ( ( rule__InvariantConstraintCS__Alternatives_3 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6009:1: ( ( rule__InvariantConstraintCS__Alternatives_3 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6010:1: ( rule__InvariantConstraintCS__Alternatives_3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6167:1: ( ( rule__InvariantConstraintCS__Alternatives_3 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6168:1: ( rule__InvariantConstraintCS__Alternatives_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getInvariantConstraintCSAccess().getAlternatives_3()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6011:1: ( rule__InvariantConstraintCS__Alternatives_3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6011:2: rule__InvariantConstraintCS__Alternatives_3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6169:1: ( rule__InvariantConstraintCS__Alternatives_3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6169:2: rule__InvariantConstraintCS__Alternatives_3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Alternatives_3_in_rule__InvariantConstraintCS__Group__3__Impl13412);
+            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Alternatives_3_in_rule__InvariantConstraintCS__Group__3__Impl13573);
             rule__InvariantConstraintCS__Alternatives_3();
 
             state._fsp--;
@@ -21102,21 +21218,21 @@
 
 
     // $ANTLR start "rule__InvariantConstraintCS__Group_2__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6029:1: rule__InvariantConstraintCS__Group_2__0 : rule__InvariantConstraintCS__Group_2__0__Impl rule__InvariantConstraintCS__Group_2__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6187:1: rule__InvariantConstraintCS__Group_2__0 : rule__InvariantConstraintCS__Group_2__0__Impl rule__InvariantConstraintCS__Group_2__1 ;
     public final void rule__InvariantConstraintCS__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6033:1: ( rule__InvariantConstraintCS__Group_2__0__Impl rule__InvariantConstraintCS__Group_2__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6034:2: rule__InvariantConstraintCS__Group_2__0__Impl rule__InvariantConstraintCS__Group_2__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6191:1: ( rule__InvariantConstraintCS__Group_2__0__Impl rule__InvariantConstraintCS__Group_2__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6192:2: rule__InvariantConstraintCS__Group_2__0__Impl rule__InvariantConstraintCS__Group_2__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group_2__0__Impl_in_rule__InvariantConstraintCS__Group_2__013450);
+            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group_2__0__Impl_in_rule__InvariantConstraintCS__Group_2__013611);
             rule__InvariantConstraintCS__Group_2__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group_2__1_in_rule__InvariantConstraintCS__Group_2__013453);
+            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group_2__1_in_rule__InvariantConstraintCS__Group_2__013614);
             rule__InvariantConstraintCS__Group_2__1();
 
             state._fsp--;
@@ -21140,25 +21256,25 @@
 
 
     // $ANTLR start "rule__InvariantConstraintCS__Group_2__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6041:1: rule__InvariantConstraintCS__Group_2__0__Impl : ( ( rule__InvariantConstraintCS__NameAssignment_2_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6199:1: rule__InvariantConstraintCS__Group_2__0__Impl : ( ( rule__InvariantConstraintCS__NameAssignment_2_0 ) ) ;
     public final void rule__InvariantConstraintCS__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6045:1: ( ( ( rule__InvariantConstraintCS__NameAssignment_2_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6046:1: ( ( rule__InvariantConstraintCS__NameAssignment_2_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6203:1: ( ( ( rule__InvariantConstraintCS__NameAssignment_2_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6204:1: ( ( rule__InvariantConstraintCS__NameAssignment_2_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6046:1: ( ( rule__InvariantConstraintCS__NameAssignment_2_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6047:1: ( rule__InvariantConstraintCS__NameAssignment_2_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6204:1: ( ( rule__InvariantConstraintCS__NameAssignment_2_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6205:1: ( rule__InvariantConstraintCS__NameAssignment_2_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getInvariantConstraintCSAccess().getNameAssignment_2_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6048:1: ( rule__InvariantConstraintCS__NameAssignment_2_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6048:2: rule__InvariantConstraintCS__NameAssignment_2_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6206:1: ( rule__InvariantConstraintCS__NameAssignment_2_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6206:2: rule__InvariantConstraintCS__NameAssignment_2_0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__NameAssignment_2_0_in_rule__InvariantConstraintCS__Group_2__0__Impl13480);
+            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__NameAssignment_2_0_in_rule__InvariantConstraintCS__Group_2__0__Impl13641);
             rule__InvariantConstraintCS__NameAssignment_2_0();
 
             state._fsp--;
@@ -21191,16 +21307,16 @@
 
 
     // $ANTLR start "rule__InvariantConstraintCS__Group_2__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6058:1: rule__InvariantConstraintCS__Group_2__1 : rule__InvariantConstraintCS__Group_2__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6216:1: rule__InvariantConstraintCS__Group_2__1 : rule__InvariantConstraintCS__Group_2__1__Impl ;
     public final void rule__InvariantConstraintCS__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6062:1: ( rule__InvariantConstraintCS__Group_2__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6063:2: rule__InvariantConstraintCS__Group_2__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6220:1: ( rule__InvariantConstraintCS__Group_2__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6221:2: rule__InvariantConstraintCS__Group_2__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group_2__1__Impl_in_rule__InvariantConstraintCS__Group_2__113510);
+            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group_2__1__Impl_in_rule__InvariantConstraintCS__Group_2__113671);
             rule__InvariantConstraintCS__Group_2__1__Impl();
 
             state._fsp--;
@@ -21224,33 +21340,33 @@
 
 
     // $ANTLR start "rule__InvariantConstraintCS__Group_2__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6069:1: rule__InvariantConstraintCS__Group_2__1__Impl : ( ( rule__InvariantConstraintCS__Group_2_1__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6227:1: rule__InvariantConstraintCS__Group_2__1__Impl : ( ( rule__InvariantConstraintCS__Group_2_1__0 )? ) ;
     public final void rule__InvariantConstraintCS__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6073:1: ( ( ( rule__InvariantConstraintCS__Group_2_1__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6074:1: ( ( rule__InvariantConstraintCS__Group_2_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6231:1: ( ( ( rule__InvariantConstraintCS__Group_2_1__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6232:1: ( ( rule__InvariantConstraintCS__Group_2_1__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6074:1: ( ( rule__InvariantConstraintCS__Group_2_1__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6075:1: ( rule__InvariantConstraintCS__Group_2_1__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6232:1: ( ( rule__InvariantConstraintCS__Group_2_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6233:1: ( rule__InvariantConstraintCS__Group_2_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getInvariantConstraintCSAccess().getGroup_2_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6076:1: ( rule__InvariantConstraintCS__Group_2_1__0 )?
-            int alt82=2;
-            int LA82_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6234:1: ( rule__InvariantConstraintCS__Group_2_1__0 )?
+            int alt97=2;
+            int LA97_0 = input.LA(1);
 
-            if ( (LA82_0==95) ) {
-                alt82=1;
+            if ( (LA97_0==104) ) {
+                alt97=1;
             }
-            switch (alt82) {
+            switch (alt97) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6076:2: rule__InvariantConstraintCS__Group_2_1__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6234:2: rule__InvariantConstraintCS__Group_2_1__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group_2_1__0_in_rule__InvariantConstraintCS__Group_2__1__Impl13537);
+                    pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group_2_1__0_in_rule__InvariantConstraintCS__Group_2__1__Impl13698);
                     rule__InvariantConstraintCS__Group_2_1__0();
 
                     state._fsp--;
@@ -21286,21 +21402,21 @@
 
 
     // $ANTLR start "rule__InvariantConstraintCS__Group_2_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6090:1: rule__InvariantConstraintCS__Group_2_1__0 : rule__InvariantConstraintCS__Group_2_1__0__Impl rule__InvariantConstraintCS__Group_2_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6248:1: rule__InvariantConstraintCS__Group_2_1__0 : rule__InvariantConstraintCS__Group_2_1__0__Impl rule__InvariantConstraintCS__Group_2_1__1 ;
     public final void rule__InvariantConstraintCS__Group_2_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6094:1: ( rule__InvariantConstraintCS__Group_2_1__0__Impl rule__InvariantConstraintCS__Group_2_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6095:2: rule__InvariantConstraintCS__Group_2_1__0__Impl rule__InvariantConstraintCS__Group_2_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6252:1: ( rule__InvariantConstraintCS__Group_2_1__0__Impl rule__InvariantConstraintCS__Group_2_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6253:2: rule__InvariantConstraintCS__Group_2_1__0__Impl rule__InvariantConstraintCS__Group_2_1__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group_2_1__0__Impl_in_rule__InvariantConstraintCS__Group_2_1__013572);
+            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group_2_1__0__Impl_in_rule__InvariantConstraintCS__Group_2_1__013733);
             rule__InvariantConstraintCS__Group_2_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group_2_1__1_in_rule__InvariantConstraintCS__Group_2_1__013575);
+            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group_2_1__1_in_rule__InvariantConstraintCS__Group_2_1__013736);
             rule__InvariantConstraintCS__Group_2_1__1();
 
             state._fsp--;
@@ -21324,22 +21440,22 @@
 
 
     // $ANTLR start "rule__InvariantConstraintCS__Group_2_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6102:1: rule__InvariantConstraintCS__Group_2_1__0__Impl : ( '(' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6260:1: rule__InvariantConstraintCS__Group_2_1__0__Impl : ( '(' ) ;
     public final void rule__InvariantConstraintCS__Group_2_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6106:1: ( ( '(' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6107:1: ( '(' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6264:1: ( ( '(' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6265:1: ( '(' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6107:1: ( '(' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6108:1: '('
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6265:1: ( '(' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6266:1: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getInvariantConstraintCSAccess().getLeftParenthesisKeyword_2_1_0()); 
             }
-            match(input,95,FollowSets000.FOLLOW_95_in_rule__InvariantConstraintCS__Group_2_1__0__Impl13603); if (state.failed) return ;
+            match(input,104,FollowSets000.FOLLOW_104_in_rule__InvariantConstraintCS__Group_2_1__0__Impl13764); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getInvariantConstraintCSAccess().getLeftParenthesisKeyword_2_1_0()); 
             }
@@ -21365,21 +21481,21 @@
 
 
     // $ANTLR start "rule__InvariantConstraintCS__Group_2_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6121:1: rule__InvariantConstraintCS__Group_2_1__1 : rule__InvariantConstraintCS__Group_2_1__1__Impl rule__InvariantConstraintCS__Group_2_1__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6279:1: rule__InvariantConstraintCS__Group_2_1__1 : rule__InvariantConstraintCS__Group_2_1__1__Impl rule__InvariantConstraintCS__Group_2_1__2 ;
     public final void rule__InvariantConstraintCS__Group_2_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6125:1: ( rule__InvariantConstraintCS__Group_2_1__1__Impl rule__InvariantConstraintCS__Group_2_1__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6126:2: rule__InvariantConstraintCS__Group_2_1__1__Impl rule__InvariantConstraintCS__Group_2_1__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6283:1: ( rule__InvariantConstraintCS__Group_2_1__1__Impl rule__InvariantConstraintCS__Group_2_1__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6284:2: rule__InvariantConstraintCS__Group_2_1__1__Impl rule__InvariantConstraintCS__Group_2_1__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group_2_1__1__Impl_in_rule__InvariantConstraintCS__Group_2_1__113634);
+            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group_2_1__1__Impl_in_rule__InvariantConstraintCS__Group_2_1__113795);
             rule__InvariantConstraintCS__Group_2_1__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group_2_1__2_in_rule__InvariantConstraintCS__Group_2_1__113637);
+            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group_2_1__2_in_rule__InvariantConstraintCS__Group_2_1__113798);
             rule__InvariantConstraintCS__Group_2_1__2();
 
             state._fsp--;
@@ -21403,25 +21519,25 @@
 
 
     // $ANTLR start "rule__InvariantConstraintCS__Group_2_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6133:1: rule__InvariantConstraintCS__Group_2_1__1__Impl : ( ( rule__InvariantConstraintCS__OwnedMessageSpecificationAssignment_2_1_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6291:1: rule__InvariantConstraintCS__Group_2_1__1__Impl : ( ( rule__InvariantConstraintCS__OwnedMessageSpecificationAssignment_2_1_1 ) ) ;
     public final void rule__InvariantConstraintCS__Group_2_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6137:1: ( ( ( rule__InvariantConstraintCS__OwnedMessageSpecificationAssignment_2_1_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6138:1: ( ( rule__InvariantConstraintCS__OwnedMessageSpecificationAssignment_2_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6295:1: ( ( ( rule__InvariantConstraintCS__OwnedMessageSpecificationAssignment_2_1_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6296:1: ( ( rule__InvariantConstraintCS__OwnedMessageSpecificationAssignment_2_1_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6138:1: ( ( rule__InvariantConstraintCS__OwnedMessageSpecificationAssignment_2_1_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6139:1: ( rule__InvariantConstraintCS__OwnedMessageSpecificationAssignment_2_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6296:1: ( ( rule__InvariantConstraintCS__OwnedMessageSpecificationAssignment_2_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6297:1: ( rule__InvariantConstraintCS__OwnedMessageSpecificationAssignment_2_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getInvariantConstraintCSAccess().getOwnedMessageSpecificationAssignment_2_1_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6140:1: ( rule__InvariantConstraintCS__OwnedMessageSpecificationAssignment_2_1_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6140:2: rule__InvariantConstraintCS__OwnedMessageSpecificationAssignment_2_1_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6298:1: ( rule__InvariantConstraintCS__OwnedMessageSpecificationAssignment_2_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6298:2: rule__InvariantConstraintCS__OwnedMessageSpecificationAssignment_2_1_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__OwnedMessageSpecificationAssignment_2_1_1_in_rule__InvariantConstraintCS__Group_2_1__1__Impl13664);
+            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__OwnedMessageSpecificationAssignment_2_1_1_in_rule__InvariantConstraintCS__Group_2_1__1__Impl13825);
             rule__InvariantConstraintCS__OwnedMessageSpecificationAssignment_2_1_1();
 
             state._fsp--;
@@ -21454,16 +21570,16 @@
 
 
     // $ANTLR start "rule__InvariantConstraintCS__Group_2_1__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6150:1: rule__InvariantConstraintCS__Group_2_1__2 : rule__InvariantConstraintCS__Group_2_1__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6308:1: rule__InvariantConstraintCS__Group_2_1__2 : rule__InvariantConstraintCS__Group_2_1__2__Impl ;
     public final void rule__InvariantConstraintCS__Group_2_1__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6154:1: ( rule__InvariantConstraintCS__Group_2_1__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6155:2: rule__InvariantConstraintCS__Group_2_1__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6312:1: ( rule__InvariantConstraintCS__Group_2_1__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6313:2: rule__InvariantConstraintCS__Group_2_1__2__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group_2_1__2__Impl_in_rule__InvariantConstraintCS__Group_2_1__213694);
+            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group_2_1__2__Impl_in_rule__InvariantConstraintCS__Group_2_1__213855);
             rule__InvariantConstraintCS__Group_2_1__2__Impl();
 
             state._fsp--;
@@ -21487,22 +21603,22 @@
 
 
     // $ANTLR start "rule__InvariantConstraintCS__Group_2_1__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6161:1: rule__InvariantConstraintCS__Group_2_1__2__Impl : ( ')' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6319:1: rule__InvariantConstraintCS__Group_2_1__2__Impl : ( ')' ) ;
     public final void rule__InvariantConstraintCS__Group_2_1__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6165:1: ( ( ')' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6166:1: ( ')' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6323:1: ( ( ')' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6324:1: ( ')' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6166:1: ( ')' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6167:1: ')'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6324:1: ( ')' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6325:1: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getInvariantConstraintCSAccess().getRightParenthesisKeyword_2_1_2()); 
             }
-            match(input,96,FollowSets000.FOLLOW_96_in_rule__InvariantConstraintCS__Group_2_1__2__Impl13722); if (state.failed) return ;
+            match(input,105,FollowSets000.FOLLOW_105_in_rule__InvariantConstraintCS__Group_2_1__2__Impl13883); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getInvariantConstraintCSAccess().getRightParenthesisKeyword_2_1_2()); 
             }
@@ -21528,21 +21644,21 @@
 
 
     // $ANTLR start "rule__InvariantConstraintCS__Group_3_0__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6186:1: rule__InvariantConstraintCS__Group_3_0__0 : rule__InvariantConstraintCS__Group_3_0__0__Impl rule__InvariantConstraintCS__Group_3_0__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6344:1: rule__InvariantConstraintCS__Group_3_0__0 : rule__InvariantConstraintCS__Group_3_0__0__Impl rule__InvariantConstraintCS__Group_3_0__1 ;
     public final void rule__InvariantConstraintCS__Group_3_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6190:1: ( rule__InvariantConstraintCS__Group_3_0__0__Impl rule__InvariantConstraintCS__Group_3_0__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6191:2: rule__InvariantConstraintCS__Group_3_0__0__Impl rule__InvariantConstraintCS__Group_3_0__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6348:1: ( rule__InvariantConstraintCS__Group_3_0__0__Impl rule__InvariantConstraintCS__Group_3_0__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6349:2: rule__InvariantConstraintCS__Group_3_0__0__Impl rule__InvariantConstraintCS__Group_3_0__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group_3_0__0__Impl_in_rule__InvariantConstraintCS__Group_3_0__013759);
+            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group_3_0__0__Impl_in_rule__InvariantConstraintCS__Group_3_0__013920);
             rule__InvariantConstraintCS__Group_3_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group_3_0__1_in_rule__InvariantConstraintCS__Group_3_0__013762);
+            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group_3_0__1_in_rule__InvariantConstraintCS__Group_3_0__013923);
             rule__InvariantConstraintCS__Group_3_0__1();
 
             state._fsp--;
@@ -21566,22 +21682,22 @@
 
 
     // $ANTLR start "rule__InvariantConstraintCS__Group_3_0__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6198:1: rule__InvariantConstraintCS__Group_3_0__0__Impl : ( ':' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6356:1: rule__InvariantConstraintCS__Group_3_0__0__Impl : ( ':' ) ;
     public final void rule__InvariantConstraintCS__Group_3_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6202:1: ( ( ':' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6203:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6360:1: ( ( ':' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6361:1: ( ':' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6203:1: ( ':' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6204:1: ':'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6361:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6362:1: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getInvariantConstraintCSAccess().getColonKeyword_3_0_0()); 
             }
-            match(input,97,FollowSets000.FOLLOW_97_in_rule__InvariantConstraintCS__Group_3_0__0__Impl13790); if (state.failed) return ;
+            match(input,106,FollowSets000.FOLLOW_106_in_rule__InvariantConstraintCS__Group_3_0__0__Impl13951); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getInvariantConstraintCSAccess().getColonKeyword_3_0_0()); 
             }
@@ -21607,21 +21723,21 @@
 
 
     // $ANTLR start "rule__InvariantConstraintCS__Group_3_0__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6217:1: rule__InvariantConstraintCS__Group_3_0__1 : rule__InvariantConstraintCS__Group_3_0__1__Impl rule__InvariantConstraintCS__Group_3_0__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6375:1: rule__InvariantConstraintCS__Group_3_0__1 : rule__InvariantConstraintCS__Group_3_0__1__Impl rule__InvariantConstraintCS__Group_3_0__2 ;
     public final void rule__InvariantConstraintCS__Group_3_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6221:1: ( rule__InvariantConstraintCS__Group_3_0__1__Impl rule__InvariantConstraintCS__Group_3_0__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6222:2: rule__InvariantConstraintCS__Group_3_0__1__Impl rule__InvariantConstraintCS__Group_3_0__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6379:1: ( rule__InvariantConstraintCS__Group_3_0__1__Impl rule__InvariantConstraintCS__Group_3_0__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6380:2: rule__InvariantConstraintCS__Group_3_0__1__Impl rule__InvariantConstraintCS__Group_3_0__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group_3_0__1__Impl_in_rule__InvariantConstraintCS__Group_3_0__113821);
+            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group_3_0__1__Impl_in_rule__InvariantConstraintCS__Group_3_0__113982);
             rule__InvariantConstraintCS__Group_3_0__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group_3_0__2_in_rule__InvariantConstraintCS__Group_3_0__113824);
+            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group_3_0__2_in_rule__InvariantConstraintCS__Group_3_0__113985);
             rule__InvariantConstraintCS__Group_3_0__2();
 
             state._fsp--;
@@ -21645,33 +21761,33 @@
 
 
     // $ANTLR start "rule__InvariantConstraintCS__Group_3_0__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6229:1: rule__InvariantConstraintCS__Group_3_0__1__Impl : ( ( rule__InvariantConstraintCS__OwnedSpecificationAssignment_3_0_1 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6387:1: rule__InvariantConstraintCS__Group_3_0__1__Impl : ( ( rule__InvariantConstraintCS__OwnedSpecificationAssignment_3_0_1 )? ) ;
     public final void rule__InvariantConstraintCS__Group_3_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6233:1: ( ( ( rule__InvariantConstraintCS__OwnedSpecificationAssignment_3_0_1 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6234:1: ( ( rule__InvariantConstraintCS__OwnedSpecificationAssignment_3_0_1 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6391:1: ( ( ( rule__InvariantConstraintCS__OwnedSpecificationAssignment_3_0_1 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6392:1: ( ( rule__InvariantConstraintCS__OwnedSpecificationAssignment_3_0_1 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6234:1: ( ( rule__InvariantConstraintCS__OwnedSpecificationAssignment_3_0_1 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6235:1: ( rule__InvariantConstraintCS__OwnedSpecificationAssignment_3_0_1 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6392:1: ( ( rule__InvariantConstraintCS__OwnedSpecificationAssignment_3_0_1 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6393:1: ( rule__InvariantConstraintCS__OwnedSpecificationAssignment_3_0_1 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getInvariantConstraintCSAccess().getOwnedSpecificationAssignment_3_0_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6236:1: ( rule__InvariantConstraintCS__OwnedSpecificationAssignment_3_0_1 )?
-            int alt83=2;
-            int LA83_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6394:1: ( rule__InvariantConstraintCS__OwnedSpecificationAssignment_3_0_1 )?
+            int alt98=2;
+            int LA98_0 = input.LA(1);
 
-            if ( ((LA83_0>=RULE_INT && LA83_0<=RULE_SINGLE_QUOTED_STRING)||(LA83_0>=RULE_SIMPLE_ID && LA83_0<=RULE_UNQUOTED_STRING)||(LA83_0>=17 && LA83_0<=52)||(LA83_0>=55 && LA83_0<=63)||(LA83_0>=80 && LA83_0<=93)||LA83_0==95||(LA83_0>=105 && LA83_0<=107)||LA83_0==112||(LA83_0>=117 && LA83_0<=118)||(LA83_0>=131 && LA83_0<=132)) ) {
-                alt83=1;
+            if ( ((LA98_0>=RULE_INT && LA98_0<=RULE_SINGLE_QUOTED_STRING)||(LA98_0>=RULE_SIMPLE_ID && LA98_0<=RULE_UNQUOTED_STRING)||(LA98_0>=17 && LA98_0<=52)||(LA98_0>=64 && LA98_0<=72)||(LA98_0>=89 && LA98_0<=102)||LA98_0==104||(LA98_0>=114 && LA98_0<=116)||LA98_0==121||(LA98_0>=126 && LA98_0<=127)||(LA98_0>=131 && LA98_0<=132)) ) {
+                alt98=1;
             }
-            switch (alt83) {
+            switch (alt98) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6236:2: rule__InvariantConstraintCS__OwnedSpecificationAssignment_3_0_1
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6394:2: rule__InvariantConstraintCS__OwnedSpecificationAssignment_3_0_1
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__OwnedSpecificationAssignment_3_0_1_in_rule__InvariantConstraintCS__Group_3_0__1__Impl13851);
+                    pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__OwnedSpecificationAssignment_3_0_1_in_rule__InvariantConstraintCS__Group_3_0__1__Impl14012);
                     rule__InvariantConstraintCS__OwnedSpecificationAssignment_3_0_1();
 
                     state._fsp--;
@@ -21707,16 +21823,16 @@
 
 
     // $ANTLR start "rule__InvariantConstraintCS__Group_3_0__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6246:1: rule__InvariantConstraintCS__Group_3_0__2 : rule__InvariantConstraintCS__Group_3_0__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6404:1: rule__InvariantConstraintCS__Group_3_0__2 : rule__InvariantConstraintCS__Group_3_0__2__Impl ;
     public final void rule__InvariantConstraintCS__Group_3_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6250:1: ( rule__InvariantConstraintCS__Group_3_0__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6251:2: rule__InvariantConstraintCS__Group_3_0__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6408:1: ( rule__InvariantConstraintCS__Group_3_0__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6409:2: rule__InvariantConstraintCS__Group_3_0__2__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group_3_0__2__Impl_in_rule__InvariantConstraintCS__Group_3_0__213882);
+            pushFollow(FollowSets000.FOLLOW_rule__InvariantConstraintCS__Group_3_0__2__Impl_in_rule__InvariantConstraintCS__Group_3_0__214043);
             rule__InvariantConstraintCS__Group_3_0__2__Impl();
 
             state._fsp--;
@@ -21740,22 +21856,22 @@
 
 
     // $ANTLR start "rule__InvariantConstraintCS__Group_3_0__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6257:1: rule__InvariantConstraintCS__Group_3_0__2__Impl : ( ';' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6415:1: rule__InvariantConstraintCS__Group_3_0__2__Impl : ( ';' ) ;
     public final void rule__InvariantConstraintCS__Group_3_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6261:1: ( ( ';' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6262:1: ( ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6419:1: ( ( ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6420:1: ( ';' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6262:1: ( ';' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6263:1: ';'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6420:1: ( ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6421:1: ';'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getInvariantConstraintCSAccess().getSemicolonKeyword_3_0_2()); 
             }
-            match(input,53,FollowSets000.FOLLOW_53_in_rule__InvariantConstraintCS__Group_3_0__2__Impl13910); if (state.failed) return ;
+            match(input,53,FollowSets000.FOLLOW_53_in_rule__InvariantConstraintCS__Group_3_0__2__Impl14071); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getInvariantConstraintCSAccess().getSemicolonKeyword_3_0_2()); 
             }
@@ -21781,21 +21897,21 @@
 
 
     // $ANTLR start "rule__PostconditionConstraintCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6282:1: rule__PostconditionConstraintCS__Group__0 : rule__PostconditionConstraintCS__Group__0__Impl rule__PostconditionConstraintCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6440:1: rule__PostconditionConstraintCS__Group__0 : rule__PostconditionConstraintCS__Group__0__Impl rule__PostconditionConstraintCS__Group__1 ;
     public final void rule__PostconditionConstraintCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6286:1: ( rule__PostconditionConstraintCS__Group__0__Impl rule__PostconditionConstraintCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6287:2: rule__PostconditionConstraintCS__Group__0__Impl rule__PostconditionConstraintCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6444:1: ( rule__PostconditionConstraintCS__Group__0__Impl rule__PostconditionConstraintCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6445:2: rule__PostconditionConstraintCS__Group__0__Impl rule__PostconditionConstraintCS__Group__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__Group__0__Impl_in_rule__PostconditionConstraintCS__Group__013947);
+            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__Group__0__Impl_in_rule__PostconditionConstraintCS__Group__014108);
             rule__PostconditionConstraintCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__Group__1_in_rule__PostconditionConstraintCS__Group__013950);
+            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__Group__1_in_rule__PostconditionConstraintCS__Group__014111);
             rule__PostconditionConstraintCS__Group__1();
 
             state._fsp--;
@@ -21819,25 +21935,25 @@
 
 
     // $ANTLR start "rule__PostconditionConstraintCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6294:1: rule__PostconditionConstraintCS__Group__0__Impl : ( ( rule__PostconditionConstraintCS__StereotypeAssignment_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6452:1: rule__PostconditionConstraintCS__Group__0__Impl : ( ( rule__PostconditionConstraintCS__StereotypeAssignment_0 ) ) ;
     public final void rule__PostconditionConstraintCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6298:1: ( ( ( rule__PostconditionConstraintCS__StereotypeAssignment_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6299:1: ( ( rule__PostconditionConstraintCS__StereotypeAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6456:1: ( ( ( rule__PostconditionConstraintCS__StereotypeAssignment_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6457:1: ( ( rule__PostconditionConstraintCS__StereotypeAssignment_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6299:1: ( ( rule__PostconditionConstraintCS__StereotypeAssignment_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6300:1: ( rule__PostconditionConstraintCS__StereotypeAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6457:1: ( ( rule__PostconditionConstraintCS__StereotypeAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6458:1: ( rule__PostconditionConstraintCS__StereotypeAssignment_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPostconditionConstraintCSAccess().getStereotypeAssignment_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6301:1: ( rule__PostconditionConstraintCS__StereotypeAssignment_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6301:2: rule__PostconditionConstraintCS__StereotypeAssignment_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6459:1: ( rule__PostconditionConstraintCS__StereotypeAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6459:2: rule__PostconditionConstraintCS__StereotypeAssignment_0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__StereotypeAssignment_0_in_rule__PostconditionConstraintCS__Group__0__Impl13977);
+            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__StereotypeAssignment_0_in_rule__PostconditionConstraintCS__Group__0__Impl14138);
             rule__PostconditionConstraintCS__StereotypeAssignment_0();
 
             state._fsp--;
@@ -21870,21 +21986,21 @@
 
 
     // $ANTLR start "rule__PostconditionConstraintCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6311:1: rule__PostconditionConstraintCS__Group__1 : rule__PostconditionConstraintCS__Group__1__Impl rule__PostconditionConstraintCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6469:1: rule__PostconditionConstraintCS__Group__1 : rule__PostconditionConstraintCS__Group__1__Impl rule__PostconditionConstraintCS__Group__2 ;
     public final void rule__PostconditionConstraintCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6315:1: ( rule__PostconditionConstraintCS__Group__1__Impl rule__PostconditionConstraintCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6316:2: rule__PostconditionConstraintCS__Group__1__Impl rule__PostconditionConstraintCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6473:1: ( rule__PostconditionConstraintCS__Group__1__Impl rule__PostconditionConstraintCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6474:2: rule__PostconditionConstraintCS__Group__1__Impl rule__PostconditionConstraintCS__Group__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__Group__1__Impl_in_rule__PostconditionConstraintCS__Group__114007);
+            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__Group__1__Impl_in_rule__PostconditionConstraintCS__Group__114168);
             rule__PostconditionConstraintCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__Group__2_in_rule__PostconditionConstraintCS__Group__114010);
+            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__Group__2_in_rule__PostconditionConstraintCS__Group__114171);
             rule__PostconditionConstraintCS__Group__2();
 
             state._fsp--;
@@ -21908,33 +22024,33 @@
 
 
     // $ANTLR start "rule__PostconditionConstraintCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6323:1: rule__PostconditionConstraintCS__Group__1__Impl : ( ( rule__PostconditionConstraintCS__Group_1__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6481:1: rule__PostconditionConstraintCS__Group__1__Impl : ( ( rule__PostconditionConstraintCS__Group_1__0 )? ) ;
     public final void rule__PostconditionConstraintCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6327:1: ( ( ( rule__PostconditionConstraintCS__Group_1__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6328:1: ( ( rule__PostconditionConstraintCS__Group_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6485:1: ( ( ( rule__PostconditionConstraintCS__Group_1__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6486:1: ( ( rule__PostconditionConstraintCS__Group_1__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6328:1: ( ( rule__PostconditionConstraintCS__Group_1__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6329:1: ( rule__PostconditionConstraintCS__Group_1__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6486:1: ( ( rule__PostconditionConstraintCS__Group_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6487:1: ( rule__PostconditionConstraintCS__Group_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPostconditionConstraintCSAccess().getGroup_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6330:1: ( rule__PostconditionConstraintCS__Group_1__0 )?
-            int alt84=2;
-            int LA84_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6488:1: ( rule__PostconditionConstraintCS__Group_1__0 )?
+            int alt99=2;
+            int LA99_0 = input.LA(1);
 
-            if ( ((LA84_0>=RULE_SIMPLE_ID && LA84_0<=RULE_ESCAPED_ID)||(LA84_0>=17 && LA84_0<=52)||(LA84_0>=55 && LA84_0<=60)) ) {
-                alt84=1;
+            if ( ((LA99_0>=RULE_SIMPLE_ID && LA99_0<=RULE_ESCAPED_ID)||(LA99_0>=17 && LA99_0<=52)||(LA99_0>=64 && LA99_0<=69)) ) {
+                alt99=1;
             }
-            switch (alt84) {
+            switch (alt99) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6330:2: rule__PostconditionConstraintCS__Group_1__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6488:2: rule__PostconditionConstraintCS__Group_1__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__Group_1__0_in_rule__PostconditionConstraintCS__Group__1__Impl14037);
+                    pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__Group_1__0_in_rule__PostconditionConstraintCS__Group__1__Impl14198);
                     rule__PostconditionConstraintCS__Group_1__0();
 
                     state._fsp--;
@@ -21970,21 +22086,21 @@
 
 
     // $ANTLR start "rule__PostconditionConstraintCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6340:1: rule__PostconditionConstraintCS__Group__2 : rule__PostconditionConstraintCS__Group__2__Impl rule__PostconditionConstraintCS__Group__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6498:1: rule__PostconditionConstraintCS__Group__2 : rule__PostconditionConstraintCS__Group__2__Impl rule__PostconditionConstraintCS__Group__3 ;
     public final void rule__PostconditionConstraintCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6344:1: ( rule__PostconditionConstraintCS__Group__2__Impl rule__PostconditionConstraintCS__Group__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6345:2: rule__PostconditionConstraintCS__Group__2__Impl rule__PostconditionConstraintCS__Group__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6502:1: ( rule__PostconditionConstraintCS__Group__2__Impl rule__PostconditionConstraintCS__Group__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6503:2: rule__PostconditionConstraintCS__Group__2__Impl rule__PostconditionConstraintCS__Group__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__Group__2__Impl_in_rule__PostconditionConstraintCS__Group__214068);
+            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__Group__2__Impl_in_rule__PostconditionConstraintCS__Group__214229);
             rule__PostconditionConstraintCS__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__Group__3_in_rule__PostconditionConstraintCS__Group__214071);
+            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__Group__3_in_rule__PostconditionConstraintCS__Group__214232);
             rule__PostconditionConstraintCS__Group__3();
 
             state._fsp--;
@@ -22008,22 +22124,22 @@
 
 
     // $ANTLR start "rule__PostconditionConstraintCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6352:1: rule__PostconditionConstraintCS__Group__2__Impl : ( ':' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6510:1: rule__PostconditionConstraintCS__Group__2__Impl : ( ':' ) ;
     public final void rule__PostconditionConstraintCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6356:1: ( ( ':' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6357:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6514:1: ( ( ':' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6515:1: ( ':' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6357:1: ( ':' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6358:1: ':'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6515:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6516:1: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPostconditionConstraintCSAccess().getColonKeyword_2()); 
             }
-            match(input,97,FollowSets000.FOLLOW_97_in_rule__PostconditionConstraintCS__Group__2__Impl14099); if (state.failed) return ;
+            match(input,106,FollowSets000.FOLLOW_106_in_rule__PostconditionConstraintCS__Group__2__Impl14260); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPostconditionConstraintCSAccess().getColonKeyword_2()); 
             }
@@ -22049,21 +22165,21 @@
 
 
     // $ANTLR start "rule__PostconditionConstraintCS__Group__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6371:1: rule__PostconditionConstraintCS__Group__3 : rule__PostconditionConstraintCS__Group__3__Impl rule__PostconditionConstraintCS__Group__4 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6529:1: rule__PostconditionConstraintCS__Group__3 : rule__PostconditionConstraintCS__Group__3__Impl rule__PostconditionConstraintCS__Group__4 ;
     public final void rule__PostconditionConstraintCS__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6375:1: ( rule__PostconditionConstraintCS__Group__3__Impl rule__PostconditionConstraintCS__Group__4 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6376:2: rule__PostconditionConstraintCS__Group__3__Impl rule__PostconditionConstraintCS__Group__4
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6533:1: ( rule__PostconditionConstraintCS__Group__3__Impl rule__PostconditionConstraintCS__Group__4 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6534:2: rule__PostconditionConstraintCS__Group__3__Impl rule__PostconditionConstraintCS__Group__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__Group__3__Impl_in_rule__PostconditionConstraintCS__Group__314130);
+            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__Group__3__Impl_in_rule__PostconditionConstraintCS__Group__314291);
             rule__PostconditionConstraintCS__Group__3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__Group__4_in_rule__PostconditionConstraintCS__Group__314133);
+            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__Group__4_in_rule__PostconditionConstraintCS__Group__314294);
             rule__PostconditionConstraintCS__Group__4();
 
             state._fsp--;
@@ -22087,33 +22203,33 @@
 
 
     // $ANTLR start "rule__PostconditionConstraintCS__Group__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6383:1: rule__PostconditionConstraintCS__Group__3__Impl : ( ( rule__PostconditionConstraintCS__OwnedSpecificationAssignment_3 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6541:1: rule__PostconditionConstraintCS__Group__3__Impl : ( ( rule__PostconditionConstraintCS__OwnedSpecificationAssignment_3 )? ) ;
     public final void rule__PostconditionConstraintCS__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6387:1: ( ( ( rule__PostconditionConstraintCS__OwnedSpecificationAssignment_3 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6388:1: ( ( rule__PostconditionConstraintCS__OwnedSpecificationAssignment_3 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6545:1: ( ( ( rule__PostconditionConstraintCS__OwnedSpecificationAssignment_3 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6546:1: ( ( rule__PostconditionConstraintCS__OwnedSpecificationAssignment_3 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6388:1: ( ( rule__PostconditionConstraintCS__OwnedSpecificationAssignment_3 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6389:1: ( rule__PostconditionConstraintCS__OwnedSpecificationAssignment_3 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6546:1: ( ( rule__PostconditionConstraintCS__OwnedSpecificationAssignment_3 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6547:1: ( rule__PostconditionConstraintCS__OwnedSpecificationAssignment_3 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPostconditionConstraintCSAccess().getOwnedSpecificationAssignment_3()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6390:1: ( rule__PostconditionConstraintCS__OwnedSpecificationAssignment_3 )?
-            int alt85=2;
-            int LA85_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6548:1: ( rule__PostconditionConstraintCS__OwnedSpecificationAssignment_3 )?
+            int alt100=2;
+            int LA100_0 = input.LA(1);
 
-            if ( ((LA85_0>=RULE_INT && LA85_0<=RULE_SINGLE_QUOTED_STRING)||(LA85_0>=RULE_SIMPLE_ID && LA85_0<=RULE_UNQUOTED_STRING)||(LA85_0>=17 && LA85_0<=52)||(LA85_0>=55 && LA85_0<=63)||(LA85_0>=80 && LA85_0<=93)||LA85_0==95||(LA85_0>=105 && LA85_0<=107)||LA85_0==112||(LA85_0>=117 && LA85_0<=118)||(LA85_0>=131 && LA85_0<=132)) ) {
-                alt85=1;
+            if ( ((LA100_0>=RULE_INT && LA100_0<=RULE_SINGLE_QUOTED_STRING)||(LA100_0>=RULE_SIMPLE_ID && LA100_0<=RULE_UNQUOTED_STRING)||(LA100_0>=17 && LA100_0<=52)||(LA100_0>=64 && LA100_0<=72)||(LA100_0>=89 && LA100_0<=102)||LA100_0==104||(LA100_0>=114 && LA100_0<=116)||LA100_0==121||(LA100_0>=126 && LA100_0<=127)||(LA100_0>=131 && LA100_0<=132)) ) {
+                alt100=1;
             }
-            switch (alt85) {
+            switch (alt100) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6390:2: rule__PostconditionConstraintCS__OwnedSpecificationAssignment_3
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6548:2: rule__PostconditionConstraintCS__OwnedSpecificationAssignment_3
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__OwnedSpecificationAssignment_3_in_rule__PostconditionConstraintCS__Group__3__Impl14160);
+                    pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__OwnedSpecificationAssignment_3_in_rule__PostconditionConstraintCS__Group__3__Impl14321);
                     rule__PostconditionConstraintCS__OwnedSpecificationAssignment_3();
 
                     state._fsp--;
@@ -22149,16 +22265,16 @@
 
 
     // $ANTLR start "rule__PostconditionConstraintCS__Group__4"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6400:1: rule__PostconditionConstraintCS__Group__4 : rule__PostconditionConstraintCS__Group__4__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6558:1: rule__PostconditionConstraintCS__Group__4 : rule__PostconditionConstraintCS__Group__4__Impl ;
     public final void rule__PostconditionConstraintCS__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6404:1: ( rule__PostconditionConstraintCS__Group__4__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6405:2: rule__PostconditionConstraintCS__Group__4__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6562:1: ( rule__PostconditionConstraintCS__Group__4__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6563:2: rule__PostconditionConstraintCS__Group__4__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__Group__4__Impl_in_rule__PostconditionConstraintCS__Group__414191);
+            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__Group__4__Impl_in_rule__PostconditionConstraintCS__Group__414352);
             rule__PostconditionConstraintCS__Group__4__Impl();
 
             state._fsp--;
@@ -22182,22 +22298,22 @@
 
 
     // $ANTLR start "rule__PostconditionConstraintCS__Group__4__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6411:1: rule__PostconditionConstraintCS__Group__4__Impl : ( ';' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6569:1: rule__PostconditionConstraintCS__Group__4__Impl : ( ';' ) ;
     public final void rule__PostconditionConstraintCS__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6415:1: ( ( ';' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6416:1: ( ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6573:1: ( ( ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6574:1: ( ';' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6416:1: ( ';' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6417:1: ';'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6574:1: ( ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6575:1: ';'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPostconditionConstraintCSAccess().getSemicolonKeyword_4()); 
             }
-            match(input,53,FollowSets000.FOLLOW_53_in_rule__PostconditionConstraintCS__Group__4__Impl14219); if (state.failed) return ;
+            match(input,53,FollowSets000.FOLLOW_53_in_rule__PostconditionConstraintCS__Group__4__Impl14380); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPostconditionConstraintCSAccess().getSemicolonKeyword_4()); 
             }
@@ -22223,21 +22339,21 @@
 
 
     // $ANTLR start "rule__PostconditionConstraintCS__Group_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6440:1: rule__PostconditionConstraintCS__Group_1__0 : rule__PostconditionConstraintCS__Group_1__0__Impl rule__PostconditionConstraintCS__Group_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6598:1: rule__PostconditionConstraintCS__Group_1__0 : rule__PostconditionConstraintCS__Group_1__0__Impl rule__PostconditionConstraintCS__Group_1__1 ;
     public final void rule__PostconditionConstraintCS__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6444:1: ( rule__PostconditionConstraintCS__Group_1__0__Impl rule__PostconditionConstraintCS__Group_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6445:2: rule__PostconditionConstraintCS__Group_1__0__Impl rule__PostconditionConstraintCS__Group_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6602:1: ( rule__PostconditionConstraintCS__Group_1__0__Impl rule__PostconditionConstraintCS__Group_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6603:2: rule__PostconditionConstraintCS__Group_1__0__Impl rule__PostconditionConstraintCS__Group_1__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__Group_1__0__Impl_in_rule__PostconditionConstraintCS__Group_1__014260);
+            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__Group_1__0__Impl_in_rule__PostconditionConstraintCS__Group_1__014421);
             rule__PostconditionConstraintCS__Group_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__Group_1__1_in_rule__PostconditionConstraintCS__Group_1__014263);
+            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__Group_1__1_in_rule__PostconditionConstraintCS__Group_1__014424);
             rule__PostconditionConstraintCS__Group_1__1();
 
             state._fsp--;
@@ -22261,25 +22377,25 @@
 
 
     // $ANTLR start "rule__PostconditionConstraintCS__Group_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6452:1: rule__PostconditionConstraintCS__Group_1__0__Impl : ( ( rule__PostconditionConstraintCS__NameAssignment_1_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6610:1: rule__PostconditionConstraintCS__Group_1__0__Impl : ( ( rule__PostconditionConstraintCS__NameAssignment_1_0 ) ) ;
     public final void rule__PostconditionConstraintCS__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6456:1: ( ( ( rule__PostconditionConstraintCS__NameAssignment_1_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6457:1: ( ( rule__PostconditionConstraintCS__NameAssignment_1_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6614:1: ( ( ( rule__PostconditionConstraintCS__NameAssignment_1_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6615:1: ( ( rule__PostconditionConstraintCS__NameAssignment_1_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6457:1: ( ( rule__PostconditionConstraintCS__NameAssignment_1_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6458:1: ( rule__PostconditionConstraintCS__NameAssignment_1_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6615:1: ( ( rule__PostconditionConstraintCS__NameAssignment_1_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6616:1: ( rule__PostconditionConstraintCS__NameAssignment_1_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPostconditionConstraintCSAccess().getNameAssignment_1_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6459:1: ( rule__PostconditionConstraintCS__NameAssignment_1_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6459:2: rule__PostconditionConstraintCS__NameAssignment_1_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6617:1: ( rule__PostconditionConstraintCS__NameAssignment_1_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6617:2: rule__PostconditionConstraintCS__NameAssignment_1_0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__NameAssignment_1_0_in_rule__PostconditionConstraintCS__Group_1__0__Impl14290);
+            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__NameAssignment_1_0_in_rule__PostconditionConstraintCS__Group_1__0__Impl14451);
             rule__PostconditionConstraintCS__NameAssignment_1_0();
 
             state._fsp--;
@@ -22312,16 +22428,16 @@
 
 
     // $ANTLR start "rule__PostconditionConstraintCS__Group_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6469:1: rule__PostconditionConstraintCS__Group_1__1 : rule__PostconditionConstraintCS__Group_1__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6627:1: rule__PostconditionConstraintCS__Group_1__1 : rule__PostconditionConstraintCS__Group_1__1__Impl ;
     public final void rule__PostconditionConstraintCS__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6473:1: ( rule__PostconditionConstraintCS__Group_1__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6474:2: rule__PostconditionConstraintCS__Group_1__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6631:1: ( rule__PostconditionConstraintCS__Group_1__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6632:2: rule__PostconditionConstraintCS__Group_1__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__Group_1__1__Impl_in_rule__PostconditionConstraintCS__Group_1__114320);
+            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__Group_1__1__Impl_in_rule__PostconditionConstraintCS__Group_1__114481);
             rule__PostconditionConstraintCS__Group_1__1__Impl();
 
             state._fsp--;
@@ -22345,33 +22461,33 @@
 
 
     // $ANTLR start "rule__PostconditionConstraintCS__Group_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6480:1: rule__PostconditionConstraintCS__Group_1__1__Impl : ( ( rule__PostconditionConstraintCS__Group_1_1__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6638:1: rule__PostconditionConstraintCS__Group_1__1__Impl : ( ( rule__PostconditionConstraintCS__Group_1_1__0 )? ) ;
     public final void rule__PostconditionConstraintCS__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6484:1: ( ( ( rule__PostconditionConstraintCS__Group_1_1__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6485:1: ( ( rule__PostconditionConstraintCS__Group_1_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6642:1: ( ( ( rule__PostconditionConstraintCS__Group_1_1__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6643:1: ( ( rule__PostconditionConstraintCS__Group_1_1__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6485:1: ( ( rule__PostconditionConstraintCS__Group_1_1__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6486:1: ( rule__PostconditionConstraintCS__Group_1_1__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6643:1: ( ( rule__PostconditionConstraintCS__Group_1_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6644:1: ( rule__PostconditionConstraintCS__Group_1_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPostconditionConstraintCSAccess().getGroup_1_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6487:1: ( rule__PostconditionConstraintCS__Group_1_1__0 )?
-            int alt86=2;
-            int LA86_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6645:1: ( rule__PostconditionConstraintCS__Group_1_1__0 )?
+            int alt101=2;
+            int LA101_0 = input.LA(1);
 
-            if ( (LA86_0==95) ) {
-                alt86=1;
+            if ( (LA101_0==104) ) {
+                alt101=1;
             }
-            switch (alt86) {
+            switch (alt101) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6487:2: rule__PostconditionConstraintCS__Group_1_1__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6645:2: rule__PostconditionConstraintCS__Group_1_1__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__Group_1_1__0_in_rule__PostconditionConstraintCS__Group_1__1__Impl14347);
+                    pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__Group_1_1__0_in_rule__PostconditionConstraintCS__Group_1__1__Impl14508);
                     rule__PostconditionConstraintCS__Group_1_1__0();
 
                     state._fsp--;
@@ -22407,21 +22523,21 @@
 
 
     // $ANTLR start "rule__PostconditionConstraintCS__Group_1_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6501:1: rule__PostconditionConstraintCS__Group_1_1__0 : rule__PostconditionConstraintCS__Group_1_1__0__Impl rule__PostconditionConstraintCS__Group_1_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6659:1: rule__PostconditionConstraintCS__Group_1_1__0 : rule__PostconditionConstraintCS__Group_1_1__0__Impl rule__PostconditionConstraintCS__Group_1_1__1 ;
     public final void rule__PostconditionConstraintCS__Group_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6505:1: ( rule__PostconditionConstraintCS__Group_1_1__0__Impl rule__PostconditionConstraintCS__Group_1_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6506:2: rule__PostconditionConstraintCS__Group_1_1__0__Impl rule__PostconditionConstraintCS__Group_1_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6663:1: ( rule__PostconditionConstraintCS__Group_1_1__0__Impl rule__PostconditionConstraintCS__Group_1_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6664:2: rule__PostconditionConstraintCS__Group_1_1__0__Impl rule__PostconditionConstraintCS__Group_1_1__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__Group_1_1__0__Impl_in_rule__PostconditionConstraintCS__Group_1_1__014382);
+            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__Group_1_1__0__Impl_in_rule__PostconditionConstraintCS__Group_1_1__014543);
             rule__PostconditionConstraintCS__Group_1_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__Group_1_1__1_in_rule__PostconditionConstraintCS__Group_1_1__014385);
+            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__Group_1_1__1_in_rule__PostconditionConstraintCS__Group_1_1__014546);
             rule__PostconditionConstraintCS__Group_1_1__1();
 
             state._fsp--;
@@ -22445,22 +22561,22 @@
 
 
     // $ANTLR start "rule__PostconditionConstraintCS__Group_1_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6513:1: rule__PostconditionConstraintCS__Group_1_1__0__Impl : ( '(' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6671:1: rule__PostconditionConstraintCS__Group_1_1__0__Impl : ( '(' ) ;
     public final void rule__PostconditionConstraintCS__Group_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6517:1: ( ( '(' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6518:1: ( '(' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6675:1: ( ( '(' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6676:1: ( '(' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6518:1: ( '(' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6519:1: '('
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6676:1: ( '(' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6677:1: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPostconditionConstraintCSAccess().getLeftParenthesisKeyword_1_1_0()); 
             }
-            match(input,95,FollowSets000.FOLLOW_95_in_rule__PostconditionConstraintCS__Group_1_1__0__Impl14413); if (state.failed) return ;
+            match(input,104,FollowSets000.FOLLOW_104_in_rule__PostconditionConstraintCS__Group_1_1__0__Impl14574); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPostconditionConstraintCSAccess().getLeftParenthesisKeyword_1_1_0()); 
             }
@@ -22486,21 +22602,21 @@
 
 
     // $ANTLR start "rule__PostconditionConstraintCS__Group_1_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6532:1: rule__PostconditionConstraintCS__Group_1_1__1 : rule__PostconditionConstraintCS__Group_1_1__1__Impl rule__PostconditionConstraintCS__Group_1_1__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6690:1: rule__PostconditionConstraintCS__Group_1_1__1 : rule__PostconditionConstraintCS__Group_1_1__1__Impl rule__PostconditionConstraintCS__Group_1_1__2 ;
     public final void rule__PostconditionConstraintCS__Group_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6536:1: ( rule__PostconditionConstraintCS__Group_1_1__1__Impl rule__PostconditionConstraintCS__Group_1_1__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6537:2: rule__PostconditionConstraintCS__Group_1_1__1__Impl rule__PostconditionConstraintCS__Group_1_1__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6694:1: ( rule__PostconditionConstraintCS__Group_1_1__1__Impl rule__PostconditionConstraintCS__Group_1_1__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6695:2: rule__PostconditionConstraintCS__Group_1_1__1__Impl rule__PostconditionConstraintCS__Group_1_1__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__Group_1_1__1__Impl_in_rule__PostconditionConstraintCS__Group_1_1__114444);
+            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__Group_1_1__1__Impl_in_rule__PostconditionConstraintCS__Group_1_1__114605);
             rule__PostconditionConstraintCS__Group_1_1__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__Group_1_1__2_in_rule__PostconditionConstraintCS__Group_1_1__114447);
+            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__Group_1_1__2_in_rule__PostconditionConstraintCS__Group_1_1__114608);
             rule__PostconditionConstraintCS__Group_1_1__2();
 
             state._fsp--;
@@ -22524,25 +22640,25 @@
 
 
     // $ANTLR start "rule__PostconditionConstraintCS__Group_1_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6544:1: rule__PostconditionConstraintCS__Group_1_1__1__Impl : ( ( rule__PostconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6702:1: rule__PostconditionConstraintCS__Group_1_1__1__Impl : ( ( rule__PostconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1 ) ) ;
     public final void rule__PostconditionConstraintCS__Group_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6548:1: ( ( ( rule__PostconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6549:1: ( ( rule__PostconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6706:1: ( ( ( rule__PostconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6707:1: ( ( rule__PostconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6549:1: ( ( rule__PostconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6550:1: ( rule__PostconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6707:1: ( ( rule__PostconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6708:1: ( rule__PostconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPostconditionConstraintCSAccess().getOwnedMessageSpecificationAssignment_1_1_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6551:1: ( rule__PostconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6551:2: rule__PostconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6709:1: ( rule__PostconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6709:2: rule__PostconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1_in_rule__PostconditionConstraintCS__Group_1_1__1__Impl14474);
+            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1_in_rule__PostconditionConstraintCS__Group_1_1__1__Impl14635);
             rule__PostconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1();
 
             state._fsp--;
@@ -22575,16 +22691,16 @@
 
 
     // $ANTLR start "rule__PostconditionConstraintCS__Group_1_1__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6561:1: rule__PostconditionConstraintCS__Group_1_1__2 : rule__PostconditionConstraintCS__Group_1_1__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6719:1: rule__PostconditionConstraintCS__Group_1_1__2 : rule__PostconditionConstraintCS__Group_1_1__2__Impl ;
     public final void rule__PostconditionConstraintCS__Group_1_1__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6565:1: ( rule__PostconditionConstraintCS__Group_1_1__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6566:2: rule__PostconditionConstraintCS__Group_1_1__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6723:1: ( rule__PostconditionConstraintCS__Group_1_1__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6724:2: rule__PostconditionConstraintCS__Group_1_1__2__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__Group_1_1__2__Impl_in_rule__PostconditionConstraintCS__Group_1_1__214504);
+            pushFollow(FollowSets000.FOLLOW_rule__PostconditionConstraintCS__Group_1_1__2__Impl_in_rule__PostconditionConstraintCS__Group_1_1__214665);
             rule__PostconditionConstraintCS__Group_1_1__2__Impl();
 
             state._fsp--;
@@ -22608,22 +22724,22 @@
 
 
     // $ANTLR start "rule__PostconditionConstraintCS__Group_1_1__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6572:1: rule__PostconditionConstraintCS__Group_1_1__2__Impl : ( ')' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6730:1: rule__PostconditionConstraintCS__Group_1_1__2__Impl : ( ')' ) ;
     public final void rule__PostconditionConstraintCS__Group_1_1__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6576:1: ( ( ')' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6577:1: ( ')' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6734:1: ( ( ')' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6735:1: ( ')' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6577:1: ( ')' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6578:1: ')'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6735:1: ( ')' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6736:1: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPostconditionConstraintCSAccess().getRightParenthesisKeyword_1_1_2()); 
             }
-            match(input,96,FollowSets000.FOLLOW_96_in_rule__PostconditionConstraintCS__Group_1_1__2__Impl14532); if (state.failed) return ;
+            match(input,105,FollowSets000.FOLLOW_105_in_rule__PostconditionConstraintCS__Group_1_1__2__Impl14693); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPostconditionConstraintCSAccess().getRightParenthesisKeyword_1_1_2()); 
             }
@@ -22649,21 +22765,21 @@
 
 
     // $ANTLR start "rule__PreconditionConstraintCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6597:1: rule__PreconditionConstraintCS__Group__0 : rule__PreconditionConstraintCS__Group__0__Impl rule__PreconditionConstraintCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6755:1: rule__PreconditionConstraintCS__Group__0 : rule__PreconditionConstraintCS__Group__0__Impl rule__PreconditionConstraintCS__Group__1 ;
     public final void rule__PreconditionConstraintCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6601:1: ( rule__PreconditionConstraintCS__Group__0__Impl rule__PreconditionConstraintCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6602:2: rule__PreconditionConstraintCS__Group__0__Impl rule__PreconditionConstraintCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6759:1: ( rule__PreconditionConstraintCS__Group__0__Impl rule__PreconditionConstraintCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6760:2: rule__PreconditionConstraintCS__Group__0__Impl rule__PreconditionConstraintCS__Group__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__Group__0__Impl_in_rule__PreconditionConstraintCS__Group__014569);
+            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__Group__0__Impl_in_rule__PreconditionConstraintCS__Group__014730);
             rule__PreconditionConstraintCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__Group__1_in_rule__PreconditionConstraintCS__Group__014572);
+            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__Group__1_in_rule__PreconditionConstraintCS__Group__014733);
             rule__PreconditionConstraintCS__Group__1();
 
             state._fsp--;
@@ -22687,25 +22803,25 @@
 
 
     // $ANTLR start "rule__PreconditionConstraintCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6609:1: rule__PreconditionConstraintCS__Group__0__Impl : ( ( rule__PreconditionConstraintCS__StereotypeAssignment_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6767:1: rule__PreconditionConstraintCS__Group__0__Impl : ( ( rule__PreconditionConstraintCS__StereotypeAssignment_0 ) ) ;
     public final void rule__PreconditionConstraintCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6613:1: ( ( ( rule__PreconditionConstraintCS__StereotypeAssignment_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6614:1: ( ( rule__PreconditionConstraintCS__StereotypeAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6771:1: ( ( ( rule__PreconditionConstraintCS__StereotypeAssignment_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6772:1: ( ( rule__PreconditionConstraintCS__StereotypeAssignment_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6614:1: ( ( rule__PreconditionConstraintCS__StereotypeAssignment_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6615:1: ( rule__PreconditionConstraintCS__StereotypeAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6772:1: ( ( rule__PreconditionConstraintCS__StereotypeAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6773:1: ( rule__PreconditionConstraintCS__StereotypeAssignment_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPreconditionConstraintCSAccess().getStereotypeAssignment_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6616:1: ( rule__PreconditionConstraintCS__StereotypeAssignment_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6616:2: rule__PreconditionConstraintCS__StereotypeAssignment_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6774:1: ( rule__PreconditionConstraintCS__StereotypeAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6774:2: rule__PreconditionConstraintCS__StereotypeAssignment_0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__StereotypeAssignment_0_in_rule__PreconditionConstraintCS__Group__0__Impl14599);
+            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__StereotypeAssignment_0_in_rule__PreconditionConstraintCS__Group__0__Impl14760);
             rule__PreconditionConstraintCS__StereotypeAssignment_0();
 
             state._fsp--;
@@ -22738,21 +22854,21 @@
 
 
     // $ANTLR start "rule__PreconditionConstraintCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6626:1: rule__PreconditionConstraintCS__Group__1 : rule__PreconditionConstraintCS__Group__1__Impl rule__PreconditionConstraintCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6784:1: rule__PreconditionConstraintCS__Group__1 : rule__PreconditionConstraintCS__Group__1__Impl rule__PreconditionConstraintCS__Group__2 ;
     public final void rule__PreconditionConstraintCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6630:1: ( rule__PreconditionConstraintCS__Group__1__Impl rule__PreconditionConstraintCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6631:2: rule__PreconditionConstraintCS__Group__1__Impl rule__PreconditionConstraintCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6788:1: ( rule__PreconditionConstraintCS__Group__1__Impl rule__PreconditionConstraintCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6789:2: rule__PreconditionConstraintCS__Group__1__Impl rule__PreconditionConstraintCS__Group__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__Group__1__Impl_in_rule__PreconditionConstraintCS__Group__114629);
+            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__Group__1__Impl_in_rule__PreconditionConstraintCS__Group__114790);
             rule__PreconditionConstraintCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__Group__2_in_rule__PreconditionConstraintCS__Group__114632);
+            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__Group__2_in_rule__PreconditionConstraintCS__Group__114793);
             rule__PreconditionConstraintCS__Group__2();
 
             state._fsp--;
@@ -22776,33 +22892,33 @@
 
 
     // $ANTLR start "rule__PreconditionConstraintCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6638:1: rule__PreconditionConstraintCS__Group__1__Impl : ( ( rule__PreconditionConstraintCS__Group_1__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6796:1: rule__PreconditionConstraintCS__Group__1__Impl : ( ( rule__PreconditionConstraintCS__Group_1__0 )? ) ;
     public final void rule__PreconditionConstraintCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6642:1: ( ( ( rule__PreconditionConstraintCS__Group_1__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6643:1: ( ( rule__PreconditionConstraintCS__Group_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6800:1: ( ( ( rule__PreconditionConstraintCS__Group_1__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6801:1: ( ( rule__PreconditionConstraintCS__Group_1__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6643:1: ( ( rule__PreconditionConstraintCS__Group_1__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6644:1: ( rule__PreconditionConstraintCS__Group_1__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6801:1: ( ( rule__PreconditionConstraintCS__Group_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6802:1: ( rule__PreconditionConstraintCS__Group_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPreconditionConstraintCSAccess().getGroup_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6645:1: ( rule__PreconditionConstraintCS__Group_1__0 )?
-            int alt87=2;
-            int LA87_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6803:1: ( rule__PreconditionConstraintCS__Group_1__0 )?
+            int alt102=2;
+            int LA102_0 = input.LA(1);
 
-            if ( ((LA87_0>=RULE_SIMPLE_ID && LA87_0<=RULE_ESCAPED_ID)||(LA87_0>=17 && LA87_0<=52)||(LA87_0>=55 && LA87_0<=60)) ) {
-                alt87=1;
+            if ( ((LA102_0>=RULE_SIMPLE_ID && LA102_0<=RULE_ESCAPED_ID)||(LA102_0>=17 && LA102_0<=52)||(LA102_0>=64 && LA102_0<=69)) ) {
+                alt102=1;
             }
-            switch (alt87) {
+            switch (alt102) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6645:2: rule__PreconditionConstraintCS__Group_1__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6803:2: rule__PreconditionConstraintCS__Group_1__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__Group_1__0_in_rule__PreconditionConstraintCS__Group__1__Impl14659);
+                    pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__Group_1__0_in_rule__PreconditionConstraintCS__Group__1__Impl14820);
                     rule__PreconditionConstraintCS__Group_1__0();
 
                     state._fsp--;
@@ -22838,21 +22954,21 @@
 
 
     // $ANTLR start "rule__PreconditionConstraintCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6655:1: rule__PreconditionConstraintCS__Group__2 : rule__PreconditionConstraintCS__Group__2__Impl rule__PreconditionConstraintCS__Group__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6813:1: rule__PreconditionConstraintCS__Group__2 : rule__PreconditionConstraintCS__Group__2__Impl rule__PreconditionConstraintCS__Group__3 ;
     public final void rule__PreconditionConstraintCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6659:1: ( rule__PreconditionConstraintCS__Group__2__Impl rule__PreconditionConstraintCS__Group__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6660:2: rule__PreconditionConstraintCS__Group__2__Impl rule__PreconditionConstraintCS__Group__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6817:1: ( rule__PreconditionConstraintCS__Group__2__Impl rule__PreconditionConstraintCS__Group__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6818:2: rule__PreconditionConstraintCS__Group__2__Impl rule__PreconditionConstraintCS__Group__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__Group__2__Impl_in_rule__PreconditionConstraintCS__Group__214690);
+            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__Group__2__Impl_in_rule__PreconditionConstraintCS__Group__214851);
             rule__PreconditionConstraintCS__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__Group__3_in_rule__PreconditionConstraintCS__Group__214693);
+            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__Group__3_in_rule__PreconditionConstraintCS__Group__214854);
             rule__PreconditionConstraintCS__Group__3();
 
             state._fsp--;
@@ -22876,22 +22992,22 @@
 
 
     // $ANTLR start "rule__PreconditionConstraintCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6667:1: rule__PreconditionConstraintCS__Group__2__Impl : ( ':' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6825:1: rule__PreconditionConstraintCS__Group__2__Impl : ( ':' ) ;
     public final void rule__PreconditionConstraintCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6671:1: ( ( ':' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6672:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6829:1: ( ( ':' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6830:1: ( ':' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6672:1: ( ':' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6673:1: ':'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6830:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6831:1: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPreconditionConstraintCSAccess().getColonKeyword_2()); 
             }
-            match(input,97,FollowSets000.FOLLOW_97_in_rule__PreconditionConstraintCS__Group__2__Impl14721); if (state.failed) return ;
+            match(input,106,FollowSets000.FOLLOW_106_in_rule__PreconditionConstraintCS__Group__2__Impl14882); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPreconditionConstraintCSAccess().getColonKeyword_2()); 
             }
@@ -22917,21 +23033,21 @@
 
 
     // $ANTLR start "rule__PreconditionConstraintCS__Group__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6686:1: rule__PreconditionConstraintCS__Group__3 : rule__PreconditionConstraintCS__Group__3__Impl rule__PreconditionConstraintCS__Group__4 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6844:1: rule__PreconditionConstraintCS__Group__3 : rule__PreconditionConstraintCS__Group__3__Impl rule__PreconditionConstraintCS__Group__4 ;
     public final void rule__PreconditionConstraintCS__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6690:1: ( rule__PreconditionConstraintCS__Group__3__Impl rule__PreconditionConstraintCS__Group__4 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6691:2: rule__PreconditionConstraintCS__Group__3__Impl rule__PreconditionConstraintCS__Group__4
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6848:1: ( rule__PreconditionConstraintCS__Group__3__Impl rule__PreconditionConstraintCS__Group__4 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6849:2: rule__PreconditionConstraintCS__Group__3__Impl rule__PreconditionConstraintCS__Group__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__Group__3__Impl_in_rule__PreconditionConstraintCS__Group__314752);
+            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__Group__3__Impl_in_rule__PreconditionConstraintCS__Group__314913);
             rule__PreconditionConstraintCS__Group__3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__Group__4_in_rule__PreconditionConstraintCS__Group__314755);
+            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__Group__4_in_rule__PreconditionConstraintCS__Group__314916);
             rule__PreconditionConstraintCS__Group__4();
 
             state._fsp--;
@@ -22955,33 +23071,33 @@
 
 
     // $ANTLR start "rule__PreconditionConstraintCS__Group__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6698:1: rule__PreconditionConstraintCS__Group__3__Impl : ( ( rule__PreconditionConstraintCS__OwnedSpecificationAssignment_3 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6856:1: rule__PreconditionConstraintCS__Group__3__Impl : ( ( rule__PreconditionConstraintCS__OwnedSpecificationAssignment_3 )? ) ;
     public final void rule__PreconditionConstraintCS__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6702:1: ( ( ( rule__PreconditionConstraintCS__OwnedSpecificationAssignment_3 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6703:1: ( ( rule__PreconditionConstraintCS__OwnedSpecificationAssignment_3 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6860:1: ( ( ( rule__PreconditionConstraintCS__OwnedSpecificationAssignment_3 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6861:1: ( ( rule__PreconditionConstraintCS__OwnedSpecificationAssignment_3 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6703:1: ( ( rule__PreconditionConstraintCS__OwnedSpecificationAssignment_3 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6704:1: ( rule__PreconditionConstraintCS__OwnedSpecificationAssignment_3 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6861:1: ( ( rule__PreconditionConstraintCS__OwnedSpecificationAssignment_3 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6862:1: ( rule__PreconditionConstraintCS__OwnedSpecificationAssignment_3 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPreconditionConstraintCSAccess().getOwnedSpecificationAssignment_3()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6705:1: ( rule__PreconditionConstraintCS__OwnedSpecificationAssignment_3 )?
-            int alt88=2;
-            int LA88_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6863:1: ( rule__PreconditionConstraintCS__OwnedSpecificationAssignment_3 )?
+            int alt103=2;
+            int LA103_0 = input.LA(1);
 
-            if ( ((LA88_0>=RULE_INT && LA88_0<=RULE_SINGLE_QUOTED_STRING)||(LA88_0>=RULE_SIMPLE_ID && LA88_0<=RULE_UNQUOTED_STRING)||(LA88_0>=17 && LA88_0<=52)||(LA88_0>=55 && LA88_0<=63)||(LA88_0>=80 && LA88_0<=93)||LA88_0==95||(LA88_0>=105 && LA88_0<=107)||LA88_0==112||(LA88_0>=117 && LA88_0<=118)||(LA88_0>=131 && LA88_0<=132)) ) {
-                alt88=1;
+            if ( ((LA103_0>=RULE_INT && LA103_0<=RULE_SINGLE_QUOTED_STRING)||(LA103_0>=RULE_SIMPLE_ID && LA103_0<=RULE_UNQUOTED_STRING)||(LA103_0>=17 && LA103_0<=52)||(LA103_0>=64 && LA103_0<=72)||(LA103_0>=89 && LA103_0<=102)||LA103_0==104||(LA103_0>=114 && LA103_0<=116)||LA103_0==121||(LA103_0>=126 && LA103_0<=127)||(LA103_0>=131 && LA103_0<=132)) ) {
+                alt103=1;
             }
-            switch (alt88) {
+            switch (alt103) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6705:2: rule__PreconditionConstraintCS__OwnedSpecificationAssignment_3
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6863:2: rule__PreconditionConstraintCS__OwnedSpecificationAssignment_3
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__OwnedSpecificationAssignment_3_in_rule__PreconditionConstraintCS__Group__3__Impl14782);
+                    pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__OwnedSpecificationAssignment_3_in_rule__PreconditionConstraintCS__Group__3__Impl14943);
                     rule__PreconditionConstraintCS__OwnedSpecificationAssignment_3();
 
                     state._fsp--;
@@ -23017,16 +23133,16 @@
 
 
     // $ANTLR start "rule__PreconditionConstraintCS__Group__4"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6715:1: rule__PreconditionConstraintCS__Group__4 : rule__PreconditionConstraintCS__Group__4__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6873:1: rule__PreconditionConstraintCS__Group__4 : rule__PreconditionConstraintCS__Group__4__Impl ;
     public final void rule__PreconditionConstraintCS__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6719:1: ( rule__PreconditionConstraintCS__Group__4__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6720:2: rule__PreconditionConstraintCS__Group__4__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6877:1: ( rule__PreconditionConstraintCS__Group__4__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6878:2: rule__PreconditionConstraintCS__Group__4__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__Group__4__Impl_in_rule__PreconditionConstraintCS__Group__414813);
+            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__Group__4__Impl_in_rule__PreconditionConstraintCS__Group__414974);
             rule__PreconditionConstraintCS__Group__4__Impl();
 
             state._fsp--;
@@ -23050,22 +23166,22 @@
 
 
     // $ANTLR start "rule__PreconditionConstraintCS__Group__4__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6726:1: rule__PreconditionConstraintCS__Group__4__Impl : ( ';' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6884:1: rule__PreconditionConstraintCS__Group__4__Impl : ( ';' ) ;
     public final void rule__PreconditionConstraintCS__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6730:1: ( ( ';' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6731:1: ( ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6888:1: ( ( ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6889:1: ( ';' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6731:1: ( ';' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6732:1: ';'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6889:1: ( ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6890:1: ';'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPreconditionConstraintCSAccess().getSemicolonKeyword_4()); 
             }
-            match(input,53,FollowSets000.FOLLOW_53_in_rule__PreconditionConstraintCS__Group__4__Impl14841); if (state.failed) return ;
+            match(input,53,FollowSets000.FOLLOW_53_in_rule__PreconditionConstraintCS__Group__4__Impl15002); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPreconditionConstraintCSAccess().getSemicolonKeyword_4()); 
             }
@@ -23091,21 +23207,21 @@
 
 
     // $ANTLR start "rule__PreconditionConstraintCS__Group_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6755:1: rule__PreconditionConstraintCS__Group_1__0 : rule__PreconditionConstraintCS__Group_1__0__Impl rule__PreconditionConstraintCS__Group_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6913:1: rule__PreconditionConstraintCS__Group_1__0 : rule__PreconditionConstraintCS__Group_1__0__Impl rule__PreconditionConstraintCS__Group_1__1 ;
     public final void rule__PreconditionConstraintCS__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6759:1: ( rule__PreconditionConstraintCS__Group_1__0__Impl rule__PreconditionConstraintCS__Group_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6760:2: rule__PreconditionConstraintCS__Group_1__0__Impl rule__PreconditionConstraintCS__Group_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6917:1: ( rule__PreconditionConstraintCS__Group_1__0__Impl rule__PreconditionConstraintCS__Group_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6918:2: rule__PreconditionConstraintCS__Group_1__0__Impl rule__PreconditionConstraintCS__Group_1__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__Group_1__0__Impl_in_rule__PreconditionConstraintCS__Group_1__014882);
+            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__Group_1__0__Impl_in_rule__PreconditionConstraintCS__Group_1__015043);
             rule__PreconditionConstraintCS__Group_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__Group_1__1_in_rule__PreconditionConstraintCS__Group_1__014885);
+            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__Group_1__1_in_rule__PreconditionConstraintCS__Group_1__015046);
             rule__PreconditionConstraintCS__Group_1__1();
 
             state._fsp--;
@@ -23129,25 +23245,25 @@
 
 
     // $ANTLR start "rule__PreconditionConstraintCS__Group_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6767:1: rule__PreconditionConstraintCS__Group_1__0__Impl : ( ( rule__PreconditionConstraintCS__NameAssignment_1_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6925:1: rule__PreconditionConstraintCS__Group_1__0__Impl : ( ( rule__PreconditionConstraintCS__NameAssignment_1_0 ) ) ;
     public final void rule__PreconditionConstraintCS__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6771:1: ( ( ( rule__PreconditionConstraintCS__NameAssignment_1_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6772:1: ( ( rule__PreconditionConstraintCS__NameAssignment_1_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6929:1: ( ( ( rule__PreconditionConstraintCS__NameAssignment_1_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6930:1: ( ( rule__PreconditionConstraintCS__NameAssignment_1_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6772:1: ( ( rule__PreconditionConstraintCS__NameAssignment_1_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6773:1: ( rule__PreconditionConstraintCS__NameAssignment_1_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6930:1: ( ( rule__PreconditionConstraintCS__NameAssignment_1_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6931:1: ( rule__PreconditionConstraintCS__NameAssignment_1_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPreconditionConstraintCSAccess().getNameAssignment_1_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6774:1: ( rule__PreconditionConstraintCS__NameAssignment_1_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6774:2: rule__PreconditionConstraintCS__NameAssignment_1_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6932:1: ( rule__PreconditionConstraintCS__NameAssignment_1_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6932:2: rule__PreconditionConstraintCS__NameAssignment_1_0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__NameAssignment_1_0_in_rule__PreconditionConstraintCS__Group_1__0__Impl14912);
+            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__NameAssignment_1_0_in_rule__PreconditionConstraintCS__Group_1__0__Impl15073);
             rule__PreconditionConstraintCS__NameAssignment_1_0();
 
             state._fsp--;
@@ -23180,16 +23296,16 @@
 
 
     // $ANTLR start "rule__PreconditionConstraintCS__Group_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6784:1: rule__PreconditionConstraintCS__Group_1__1 : rule__PreconditionConstraintCS__Group_1__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6942:1: rule__PreconditionConstraintCS__Group_1__1 : rule__PreconditionConstraintCS__Group_1__1__Impl ;
     public final void rule__PreconditionConstraintCS__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6788:1: ( rule__PreconditionConstraintCS__Group_1__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6789:2: rule__PreconditionConstraintCS__Group_1__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6946:1: ( rule__PreconditionConstraintCS__Group_1__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6947:2: rule__PreconditionConstraintCS__Group_1__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__Group_1__1__Impl_in_rule__PreconditionConstraintCS__Group_1__114942);
+            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__Group_1__1__Impl_in_rule__PreconditionConstraintCS__Group_1__115103);
             rule__PreconditionConstraintCS__Group_1__1__Impl();
 
             state._fsp--;
@@ -23213,33 +23329,33 @@
 
 
     // $ANTLR start "rule__PreconditionConstraintCS__Group_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6795:1: rule__PreconditionConstraintCS__Group_1__1__Impl : ( ( rule__PreconditionConstraintCS__Group_1_1__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6953:1: rule__PreconditionConstraintCS__Group_1__1__Impl : ( ( rule__PreconditionConstraintCS__Group_1_1__0 )? ) ;
     public final void rule__PreconditionConstraintCS__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6799:1: ( ( ( rule__PreconditionConstraintCS__Group_1_1__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6800:1: ( ( rule__PreconditionConstraintCS__Group_1_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6957:1: ( ( ( rule__PreconditionConstraintCS__Group_1_1__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6958:1: ( ( rule__PreconditionConstraintCS__Group_1_1__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6800:1: ( ( rule__PreconditionConstraintCS__Group_1_1__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6801:1: ( rule__PreconditionConstraintCS__Group_1_1__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6958:1: ( ( rule__PreconditionConstraintCS__Group_1_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6959:1: ( rule__PreconditionConstraintCS__Group_1_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPreconditionConstraintCSAccess().getGroup_1_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6802:1: ( rule__PreconditionConstraintCS__Group_1_1__0 )?
-            int alt89=2;
-            int LA89_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6960:1: ( rule__PreconditionConstraintCS__Group_1_1__0 )?
+            int alt104=2;
+            int LA104_0 = input.LA(1);
 
-            if ( (LA89_0==95) ) {
-                alt89=1;
+            if ( (LA104_0==104) ) {
+                alt104=1;
             }
-            switch (alt89) {
+            switch (alt104) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6802:2: rule__PreconditionConstraintCS__Group_1_1__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6960:2: rule__PreconditionConstraintCS__Group_1_1__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__Group_1_1__0_in_rule__PreconditionConstraintCS__Group_1__1__Impl14969);
+                    pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__Group_1_1__0_in_rule__PreconditionConstraintCS__Group_1__1__Impl15130);
                     rule__PreconditionConstraintCS__Group_1_1__0();
 
                     state._fsp--;
@@ -23275,21 +23391,21 @@
 
 
     // $ANTLR start "rule__PreconditionConstraintCS__Group_1_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6816:1: rule__PreconditionConstraintCS__Group_1_1__0 : rule__PreconditionConstraintCS__Group_1_1__0__Impl rule__PreconditionConstraintCS__Group_1_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6974:1: rule__PreconditionConstraintCS__Group_1_1__0 : rule__PreconditionConstraintCS__Group_1_1__0__Impl rule__PreconditionConstraintCS__Group_1_1__1 ;
     public final void rule__PreconditionConstraintCS__Group_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6820:1: ( rule__PreconditionConstraintCS__Group_1_1__0__Impl rule__PreconditionConstraintCS__Group_1_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6821:2: rule__PreconditionConstraintCS__Group_1_1__0__Impl rule__PreconditionConstraintCS__Group_1_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6978:1: ( rule__PreconditionConstraintCS__Group_1_1__0__Impl rule__PreconditionConstraintCS__Group_1_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6979:2: rule__PreconditionConstraintCS__Group_1_1__0__Impl rule__PreconditionConstraintCS__Group_1_1__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__Group_1_1__0__Impl_in_rule__PreconditionConstraintCS__Group_1_1__015004);
+            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__Group_1_1__0__Impl_in_rule__PreconditionConstraintCS__Group_1_1__015165);
             rule__PreconditionConstraintCS__Group_1_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__Group_1_1__1_in_rule__PreconditionConstraintCS__Group_1_1__015007);
+            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__Group_1_1__1_in_rule__PreconditionConstraintCS__Group_1_1__015168);
             rule__PreconditionConstraintCS__Group_1_1__1();
 
             state._fsp--;
@@ -23313,22 +23429,22 @@
 
 
     // $ANTLR start "rule__PreconditionConstraintCS__Group_1_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6828:1: rule__PreconditionConstraintCS__Group_1_1__0__Impl : ( '(' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6986:1: rule__PreconditionConstraintCS__Group_1_1__0__Impl : ( '(' ) ;
     public final void rule__PreconditionConstraintCS__Group_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6832:1: ( ( '(' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6833:1: ( '(' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6990:1: ( ( '(' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6991:1: ( '(' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6833:1: ( '(' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6834:1: '('
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6991:1: ( '(' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6992:1: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPreconditionConstraintCSAccess().getLeftParenthesisKeyword_1_1_0()); 
             }
-            match(input,95,FollowSets000.FOLLOW_95_in_rule__PreconditionConstraintCS__Group_1_1__0__Impl15035); if (state.failed) return ;
+            match(input,104,FollowSets000.FOLLOW_104_in_rule__PreconditionConstraintCS__Group_1_1__0__Impl15196); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPreconditionConstraintCSAccess().getLeftParenthesisKeyword_1_1_0()); 
             }
@@ -23354,21 +23470,21 @@
 
 
     // $ANTLR start "rule__PreconditionConstraintCS__Group_1_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6847:1: rule__PreconditionConstraintCS__Group_1_1__1 : rule__PreconditionConstraintCS__Group_1_1__1__Impl rule__PreconditionConstraintCS__Group_1_1__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7005:1: rule__PreconditionConstraintCS__Group_1_1__1 : rule__PreconditionConstraintCS__Group_1_1__1__Impl rule__PreconditionConstraintCS__Group_1_1__2 ;
     public final void rule__PreconditionConstraintCS__Group_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6851:1: ( rule__PreconditionConstraintCS__Group_1_1__1__Impl rule__PreconditionConstraintCS__Group_1_1__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6852:2: rule__PreconditionConstraintCS__Group_1_1__1__Impl rule__PreconditionConstraintCS__Group_1_1__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7009:1: ( rule__PreconditionConstraintCS__Group_1_1__1__Impl rule__PreconditionConstraintCS__Group_1_1__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7010:2: rule__PreconditionConstraintCS__Group_1_1__1__Impl rule__PreconditionConstraintCS__Group_1_1__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__Group_1_1__1__Impl_in_rule__PreconditionConstraintCS__Group_1_1__115066);
+            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__Group_1_1__1__Impl_in_rule__PreconditionConstraintCS__Group_1_1__115227);
             rule__PreconditionConstraintCS__Group_1_1__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__Group_1_1__2_in_rule__PreconditionConstraintCS__Group_1_1__115069);
+            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__Group_1_1__2_in_rule__PreconditionConstraintCS__Group_1_1__115230);
             rule__PreconditionConstraintCS__Group_1_1__2();
 
             state._fsp--;
@@ -23392,25 +23508,25 @@
 
 
     // $ANTLR start "rule__PreconditionConstraintCS__Group_1_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6859:1: rule__PreconditionConstraintCS__Group_1_1__1__Impl : ( ( rule__PreconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7017:1: rule__PreconditionConstraintCS__Group_1_1__1__Impl : ( ( rule__PreconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1 ) ) ;
     public final void rule__PreconditionConstraintCS__Group_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6863:1: ( ( ( rule__PreconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6864:1: ( ( rule__PreconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7021:1: ( ( ( rule__PreconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7022:1: ( ( rule__PreconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6864:1: ( ( rule__PreconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6865:1: ( rule__PreconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7022:1: ( ( rule__PreconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7023:1: ( rule__PreconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPreconditionConstraintCSAccess().getOwnedMessageSpecificationAssignment_1_1_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6866:1: ( rule__PreconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6866:2: rule__PreconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7024:1: ( rule__PreconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7024:2: rule__PreconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1_in_rule__PreconditionConstraintCS__Group_1_1__1__Impl15096);
+            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1_in_rule__PreconditionConstraintCS__Group_1_1__1__Impl15257);
             rule__PreconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1();
 
             state._fsp--;
@@ -23443,16 +23559,16 @@
 
 
     // $ANTLR start "rule__PreconditionConstraintCS__Group_1_1__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6876:1: rule__PreconditionConstraintCS__Group_1_1__2 : rule__PreconditionConstraintCS__Group_1_1__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7034:1: rule__PreconditionConstraintCS__Group_1_1__2 : rule__PreconditionConstraintCS__Group_1_1__2__Impl ;
     public final void rule__PreconditionConstraintCS__Group_1_1__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6880:1: ( rule__PreconditionConstraintCS__Group_1_1__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6881:2: rule__PreconditionConstraintCS__Group_1_1__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7038:1: ( rule__PreconditionConstraintCS__Group_1_1__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7039:2: rule__PreconditionConstraintCS__Group_1_1__2__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__Group_1_1__2__Impl_in_rule__PreconditionConstraintCS__Group_1_1__215126);
+            pushFollow(FollowSets000.FOLLOW_rule__PreconditionConstraintCS__Group_1_1__2__Impl_in_rule__PreconditionConstraintCS__Group_1_1__215287);
             rule__PreconditionConstraintCS__Group_1_1__2__Impl();
 
             state._fsp--;
@@ -23476,22 +23592,22 @@
 
 
     // $ANTLR start "rule__PreconditionConstraintCS__Group_1_1__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6887:1: rule__PreconditionConstraintCS__Group_1_1__2__Impl : ( ')' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7045:1: rule__PreconditionConstraintCS__Group_1_1__2__Impl : ( ')' ) ;
     public final void rule__PreconditionConstraintCS__Group_1_1__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6891:1: ( ( ')' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6892:1: ( ')' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7049:1: ( ( ')' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7050:1: ( ')' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6892:1: ( ')' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6893:1: ')'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7050:1: ( ')' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7051:1: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPreconditionConstraintCSAccess().getRightParenthesisKeyword_1_1_2()); 
             }
-            match(input,96,FollowSets000.FOLLOW_96_in_rule__PreconditionConstraintCS__Group_1_1__2__Impl15154); if (state.failed) return ;
+            match(input,105,FollowSets000.FOLLOW_105_in_rule__PreconditionConstraintCS__Group_1_1__2__Impl15315); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPreconditionConstraintCSAccess().getRightParenthesisKeyword_1_1_2()); 
             }
@@ -23517,21 +23633,21 @@
 
 
     // $ANTLR start "rule__AnnotationCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6912:1: rule__AnnotationCS__Group__0 : rule__AnnotationCS__Group__0__Impl rule__AnnotationCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7070:1: rule__AnnotationCS__Group__0 : rule__AnnotationCS__Group__0__Impl rule__AnnotationCS__Group__1 ;
     public final void rule__AnnotationCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6916:1: ( rule__AnnotationCS__Group__0__Impl rule__AnnotationCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6917:2: rule__AnnotationCS__Group__0__Impl rule__AnnotationCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7074:1: ( rule__AnnotationCS__Group__0__Impl rule__AnnotationCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7075:2: rule__AnnotationCS__Group__0__Impl rule__AnnotationCS__Group__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group__0__Impl_in_rule__AnnotationCS__Group__015191);
+            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group__0__Impl_in_rule__AnnotationCS__Group__015352);
             rule__AnnotationCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group__1_in_rule__AnnotationCS__Group__015194);
+            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group__1_in_rule__AnnotationCS__Group__015355);
             rule__AnnotationCS__Group__1();
 
             state._fsp--;
@@ -23555,23 +23671,23 @@
 
 
     // $ANTLR start "rule__AnnotationCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6924:1: rule__AnnotationCS__Group__0__Impl : ( () ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7082:1: rule__AnnotationCS__Group__0__Impl : ( () ) ;
     public final void rule__AnnotationCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6928:1: ( ( () ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6929:1: ( () )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7086:1: ( ( () ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7087:1: ( () )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6929:1: ( () )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6930:1: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7087:1: ( () )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7088:1: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAnnotationCSAccess().getAnnotationCSAction_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6931:1: ()
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6933:1: 
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7089:1: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7091:1: 
             {
             }
 
@@ -23596,21 +23712,21 @@
 
 
     // $ANTLR start "rule__AnnotationCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6943:1: rule__AnnotationCS__Group__1 : rule__AnnotationCS__Group__1__Impl rule__AnnotationCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7101:1: rule__AnnotationCS__Group__1 : rule__AnnotationCS__Group__1__Impl rule__AnnotationCS__Group__2 ;
     public final void rule__AnnotationCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6947:1: ( rule__AnnotationCS__Group__1__Impl rule__AnnotationCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6948:2: rule__AnnotationCS__Group__1__Impl rule__AnnotationCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7105:1: ( rule__AnnotationCS__Group__1__Impl rule__AnnotationCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7106:2: rule__AnnotationCS__Group__1__Impl rule__AnnotationCS__Group__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group__1__Impl_in_rule__AnnotationCS__Group__115252);
+            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group__1__Impl_in_rule__AnnotationCS__Group__115413);
             rule__AnnotationCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group__2_in_rule__AnnotationCS__Group__115255);
+            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group__2_in_rule__AnnotationCS__Group__115416);
             rule__AnnotationCS__Group__2();
 
             state._fsp--;
@@ -23634,22 +23750,22 @@
 
 
     // $ANTLR start "rule__AnnotationCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6955:1: rule__AnnotationCS__Group__1__Impl : ( 'annotation' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7113:1: rule__AnnotationCS__Group__1__Impl : ( 'annotation' ) ;
     public final void rule__AnnotationCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6959:1: ( ( 'annotation' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6960:1: ( 'annotation' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7117:1: ( ( 'annotation' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7118:1: ( 'annotation' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6960:1: ( 'annotation' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6961:1: 'annotation'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7118:1: ( 'annotation' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7119:1: 'annotation'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAnnotationCSAccess().getAnnotationKeyword_1()); 
             }
-            match(input,55,FollowSets000.FOLLOW_55_in_rule__AnnotationCS__Group__1__Impl15283); if (state.failed) return ;
+            match(input,64,FollowSets000.FOLLOW_64_in_rule__AnnotationCS__Group__1__Impl15444); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAnnotationCSAccess().getAnnotationKeyword_1()); 
             }
@@ -23675,21 +23791,21 @@
 
 
     // $ANTLR start "rule__AnnotationCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6974:1: rule__AnnotationCS__Group__2 : rule__AnnotationCS__Group__2__Impl rule__AnnotationCS__Group__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7132:1: rule__AnnotationCS__Group__2 : rule__AnnotationCS__Group__2__Impl rule__AnnotationCS__Group__3 ;
     public final void rule__AnnotationCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6978:1: ( rule__AnnotationCS__Group__2__Impl rule__AnnotationCS__Group__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6979:2: rule__AnnotationCS__Group__2__Impl rule__AnnotationCS__Group__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7136:1: ( rule__AnnotationCS__Group__2__Impl rule__AnnotationCS__Group__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7137:2: rule__AnnotationCS__Group__2__Impl rule__AnnotationCS__Group__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group__2__Impl_in_rule__AnnotationCS__Group__215314);
+            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group__2__Impl_in_rule__AnnotationCS__Group__215475);
             rule__AnnotationCS__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group__3_in_rule__AnnotationCS__Group__215317);
+            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group__3_in_rule__AnnotationCS__Group__215478);
             rule__AnnotationCS__Group__3();
 
             state._fsp--;
@@ -23713,33 +23829,33 @@
 
 
     // $ANTLR start "rule__AnnotationCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6986:1: rule__AnnotationCS__Group__2__Impl : ( ( rule__AnnotationCS__NameAssignment_2 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7144:1: rule__AnnotationCS__Group__2__Impl : ( ( rule__AnnotationCS__NameAssignment_2 )? ) ;
     public final void rule__AnnotationCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6990:1: ( ( ( rule__AnnotationCS__NameAssignment_2 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6991:1: ( ( rule__AnnotationCS__NameAssignment_2 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7148:1: ( ( ( rule__AnnotationCS__NameAssignment_2 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7149:1: ( ( rule__AnnotationCS__NameAssignment_2 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6991:1: ( ( rule__AnnotationCS__NameAssignment_2 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6992:1: ( rule__AnnotationCS__NameAssignment_2 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7149:1: ( ( rule__AnnotationCS__NameAssignment_2 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7150:1: ( rule__AnnotationCS__NameAssignment_2 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAnnotationCSAccess().getNameAssignment_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6993:1: ( rule__AnnotationCS__NameAssignment_2 )?
-            int alt90=2;
-            int LA90_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7151:1: ( rule__AnnotationCS__NameAssignment_2 )?
+            int alt105=2;
+            int LA105_0 = input.LA(1);
 
-            if ( (LA90_0==RULE_SINGLE_QUOTED_STRING||(LA90_0>=RULE_SIMPLE_ID && LA90_0<=RULE_ESCAPED_ID)||(LA90_0>=17 && LA90_0<=52)||(LA90_0>=55 && LA90_0<=60)) ) {
-                alt90=1;
+            if ( (LA105_0==RULE_SINGLE_QUOTED_STRING||(LA105_0>=RULE_SIMPLE_ID && LA105_0<=RULE_ESCAPED_ID)||(LA105_0>=17 && LA105_0<=52)||(LA105_0>=64 && LA105_0<=69)) ) {
+                alt105=1;
             }
-            switch (alt90) {
+            switch (alt105) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:6993:2: rule__AnnotationCS__NameAssignment_2
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7151:2: rule__AnnotationCS__NameAssignment_2
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__NameAssignment_2_in_rule__AnnotationCS__Group__2__Impl15344);
+                    pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__NameAssignment_2_in_rule__AnnotationCS__Group__2__Impl15505);
                     rule__AnnotationCS__NameAssignment_2();
 
                     state._fsp--;
@@ -23775,21 +23891,21 @@
 
 
     // $ANTLR start "rule__AnnotationCS__Group__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7003:1: rule__AnnotationCS__Group__3 : rule__AnnotationCS__Group__3__Impl rule__AnnotationCS__Group__4 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7161:1: rule__AnnotationCS__Group__3 : rule__AnnotationCS__Group__3__Impl rule__AnnotationCS__Group__4 ;
     public final void rule__AnnotationCS__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7007:1: ( rule__AnnotationCS__Group__3__Impl rule__AnnotationCS__Group__4 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7008:2: rule__AnnotationCS__Group__3__Impl rule__AnnotationCS__Group__4
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7165:1: ( rule__AnnotationCS__Group__3__Impl rule__AnnotationCS__Group__4 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7166:2: rule__AnnotationCS__Group__3__Impl rule__AnnotationCS__Group__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group__3__Impl_in_rule__AnnotationCS__Group__315375);
+            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group__3__Impl_in_rule__AnnotationCS__Group__315536);
             rule__AnnotationCS__Group__3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group__4_in_rule__AnnotationCS__Group__315378);
+            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group__4_in_rule__AnnotationCS__Group__315539);
             rule__AnnotationCS__Group__4();
 
             state._fsp--;
@@ -23813,33 +23929,33 @@
 
 
     // $ANTLR start "rule__AnnotationCS__Group__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7015:1: rule__AnnotationCS__Group__3__Impl : ( ( rule__AnnotationCS__Group_3__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7173:1: rule__AnnotationCS__Group__3__Impl : ( ( rule__AnnotationCS__Group_3__0 )? ) ;
     public final void rule__AnnotationCS__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7019:1: ( ( ( rule__AnnotationCS__Group_3__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7020:1: ( ( rule__AnnotationCS__Group_3__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7177:1: ( ( ( rule__AnnotationCS__Group_3__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7178:1: ( ( rule__AnnotationCS__Group_3__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7020:1: ( ( rule__AnnotationCS__Group_3__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7021:1: ( rule__AnnotationCS__Group_3__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7178:1: ( ( rule__AnnotationCS__Group_3__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7179:1: ( rule__AnnotationCS__Group_3__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAnnotationCSAccess().getGroup_3()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7022:1: ( rule__AnnotationCS__Group_3__0 )?
-            int alt91=2;
-            int LA91_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7180:1: ( rule__AnnotationCS__Group_3__0 )?
+            int alt106=2;
+            int LA106_0 = input.LA(1);
 
-            if ( (LA91_0==95) ) {
-                alt91=1;
+            if ( (LA106_0==104) ) {
+                alt106=1;
             }
-            switch (alt91) {
+            switch (alt106) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7022:2: rule__AnnotationCS__Group_3__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7180:2: rule__AnnotationCS__Group_3__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group_3__0_in_rule__AnnotationCS__Group__3__Impl15405);
+                    pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group_3__0_in_rule__AnnotationCS__Group__3__Impl15566);
                     rule__AnnotationCS__Group_3__0();
 
                     state._fsp--;
@@ -23875,16 +23991,16 @@
 
 
     // $ANTLR start "rule__AnnotationCS__Group__4"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7032:1: rule__AnnotationCS__Group__4 : rule__AnnotationCS__Group__4__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7190:1: rule__AnnotationCS__Group__4 : rule__AnnotationCS__Group__4__Impl ;
     public final void rule__AnnotationCS__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7036:1: ( rule__AnnotationCS__Group__4__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7037:2: rule__AnnotationCS__Group__4__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7194:1: ( rule__AnnotationCS__Group__4__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7195:2: rule__AnnotationCS__Group__4__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group__4__Impl_in_rule__AnnotationCS__Group__415436);
+            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group__4__Impl_in_rule__AnnotationCS__Group__415597);
             rule__AnnotationCS__Group__4__Impl();
 
             state._fsp--;
@@ -23908,25 +24024,25 @@
 
 
     // $ANTLR start "rule__AnnotationCS__Group__4__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7043:1: rule__AnnotationCS__Group__4__Impl : ( ( rule__AnnotationCS__Alternatives_4 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7201:1: rule__AnnotationCS__Group__4__Impl : ( ( rule__AnnotationCS__Alternatives_4 ) ) ;
     public final void rule__AnnotationCS__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7047:1: ( ( ( rule__AnnotationCS__Alternatives_4 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7048:1: ( ( rule__AnnotationCS__Alternatives_4 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7205:1: ( ( ( rule__AnnotationCS__Alternatives_4 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7206:1: ( ( rule__AnnotationCS__Alternatives_4 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7048:1: ( ( rule__AnnotationCS__Alternatives_4 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7049:1: ( rule__AnnotationCS__Alternatives_4 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7206:1: ( ( rule__AnnotationCS__Alternatives_4 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7207:1: ( rule__AnnotationCS__Alternatives_4 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAnnotationCSAccess().getAlternatives_4()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7050:1: ( rule__AnnotationCS__Alternatives_4 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7050:2: rule__AnnotationCS__Alternatives_4
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7208:1: ( rule__AnnotationCS__Alternatives_4 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7208:2: rule__AnnotationCS__Alternatives_4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Alternatives_4_in_rule__AnnotationCS__Group__4__Impl15463);
+            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Alternatives_4_in_rule__AnnotationCS__Group__4__Impl15624);
             rule__AnnotationCS__Alternatives_4();
 
             state._fsp--;
@@ -23959,21 +24075,21 @@
 
 
     // $ANTLR start "rule__AnnotationCS__Group_3__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7070:1: rule__AnnotationCS__Group_3__0 : rule__AnnotationCS__Group_3__0__Impl rule__AnnotationCS__Group_3__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7228:1: rule__AnnotationCS__Group_3__0 : rule__AnnotationCS__Group_3__0__Impl rule__AnnotationCS__Group_3__1 ;
     public final void rule__AnnotationCS__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7074:1: ( rule__AnnotationCS__Group_3__0__Impl rule__AnnotationCS__Group_3__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7075:2: rule__AnnotationCS__Group_3__0__Impl rule__AnnotationCS__Group_3__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7232:1: ( rule__AnnotationCS__Group_3__0__Impl rule__AnnotationCS__Group_3__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7233:2: rule__AnnotationCS__Group_3__0__Impl rule__AnnotationCS__Group_3__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group_3__0__Impl_in_rule__AnnotationCS__Group_3__015503);
+            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group_3__0__Impl_in_rule__AnnotationCS__Group_3__015664);
             rule__AnnotationCS__Group_3__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group_3__1_in_rule__AnnotationCS__Group_3__015506);
+            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group_3__1_in_rule__AnnotationCS__Group_3__015667);
             rule__AnnotationCS__Group_3__1();
 
             state._fsp--;
@@ -23997,22 +24113,22 @@
 
 
     // $ANTLR start "rule__AnnotationCS__Group_3__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7082:1: rule__AnnotationCS__Group_3__0__Impl : ( '(' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7240:1: rule__AnnotationCS__Group_3__0__Impl : ( '(' ) ;
     public final void rule__AnnotationCS__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7086:1: ( ( '(' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7087:1: ( '(' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7244:1: ( ( '(' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7245:1: ( '(' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7087:1: ( '(' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7088:1: '('
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7245:1: ( '(' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7246:1: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAnnotationCSAccess().getLeftParenthesisKeyword_3_0()); 
             }
-            match(input,95,FollowSets000.FOLLOW_95_in_rule__AnnotationCS__Group_3__0__Impl15534); if (state.failed) return ;
+            match(input,104,FollowSets000.FOLLOW_104_in_rule__AnnotationCS__Group_3__0__Impl15695); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAnnotationCSAccess().getLeftParenthesisKeyword_3_0()); 
             }
@@ -24038,21 +24154,21 @@
 
 
     // $ANTLR start "rule__AnnotationCS__Group_3__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7101:1: rule__AnnotationCS__Group_3__1 : rule__AnnotationCS__Group_3__1__Impl rule__AnnotationCS__Group_3__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7259:1: rule__AnnotationCS__Group_3__1 : rule__AnnotationCS__Group_3__1__Impl rule__AnnotationCS__Group_3__2 ;
     public final void rule__AnnotationCS__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7105:1: ( rule__AnnotationCS__Group_3__1__Impl rule__AnnotationCS__Group_3__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7106:2: rule__AnnotationCS__Group_3__1__Impl rule__AnnotationCS__Group_3__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7263:1: ( rule__AnnotationCS__Group_3__1__Impl rule__AnnotationCS__Group_3__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7264:2: rule__AnnotationCS__Group_3__1__Impl rule__AnnotationCS__Group_3__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group_3__1__Impl_in_rule__AnnotationCS__Group_3__115565);
+            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group_3__1__Impl_in_rule__AnnotationCS__Group_3__115726);
             rule__AnnotationCS__Group_3__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group_3__2_in_rule__AnnotationCS__Group_3__115568);
+            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group_3__2_in_rule__AnnotationCS__Group_3__115729);
             rule__AnnotationCS__Group_3__2();
 
             state._fsp--;
@@ -24076,25 +24192,25 @@
 
 
     // $ANTLR start "rule__AnnotationCS__Group_3__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7113:1: rule__AnnotationCS__Group_3__1__Impl : ( ( rule__AnnotationCS__OwnedDetailsAssignment_3_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7271:1: rule__AnnotationCS__Group_3__1__Impl : ( ( rule__AnnotationCS__OwnedDetailsAssignment_3_1 ) ) ;
     public final void rule__AnnotationCS__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7117:1: ( ( ( rule__AnnotationCS__OwnedDetailsAssignment_3_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7118:1: ( ( rule__AnnotationCS__OwnedDetailsAssignment_3_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7275:1: ( ( ( rule__AnnotationCS__OwnedDetailsAssignment_3_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7276:1: ( ( rule__AnnotationCS__OwnedDetailsAssignment_3_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7118:1: ( ( rule__AnnotationCS__OwnedDetailsAssignment_3_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7119:1: ( rule__AnnotationCS__OwnedDetailsAssignment_3_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7276:1: ( ( rule__AnnotationCS__OwnedDetailsAssignment_3_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7277:1: ( rule__AnnotationCS__OwnedDetailsAssignment_3_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAnnotationCSAccess().getOwnedDetailsAssignment_3_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7120:1: ( rule__AnnotationCS__OwnedDetailsAssignment_3_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7120:2: rule__AnnotationCS__OwnedDetailsAssignment_3_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7278:1: ( rule__AnnotationCS__OwnedDetailsAssignment_3_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7278:2: rule__AnnotationCS__OwnedDetailsAssignment_3_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__OwnedDetailsAssignment_3_1_in_rule__AnnotationCS__Group_3__1__Impl15595);
+            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__OwnedDetailsAssignment_3_1_in_rule__AnnotationCS__Group_3__1__Impl15756);
             rule__AnnotationCS__OwnedDetailsAssignment_3_1();
 
             state._fsp--;
@@ -24127,21 +24243,21 @@
 
 
     // $ANTLR start "rule__AnnotationCS__Group_3__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7130:1: rule__AnnotationCS__Group_3__2 : rule__AnnotationCS__Group_3__2__Impl rule__AnnotationCS__Group_3__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7288:1: rule__AnnotationCS__Group_3__2 : rule__AnnotationCS__Group_3__2__Impl rule__AnnotationCS__Group_3__3 ;
     public final void rule__AnnotationCS__Group_3__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7134:1: ( rule__AnnotationCS__Group_3__2__Impl rule__AnnotationCS__Group_3__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7135:2: rule__AnnotationCS__Group_3__2__Impl rule__AnnotationCS__Group_3__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7292:1: ( rule__AnnotationCS__Group_3__2__Impl rule__AnnotationCS__Group_3__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7293:2: rule__AnnotationCS__Group_3__2__Impl rule__AnnotationCS__Group_3__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group_3__2__Impl_in_rule__AnnotationCS__Group_3__215625);
+            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group_3__2__Impl_in_rule__AnnotationCS__Group_3__215786);
             rule__AnnotationCS__Group_3__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group_3__3_in_rule__AnnotationCS__Group_3__215628);
+            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group_3__3_in_rule__AnnotationCS__Group_3__215789);
             rule__AnnotationCS__Group_3__3();
 
             state._fsp--;
@@ -24165,37 +24281,37 @@
 
 
     // $ANTLR start "rule__AnnotationCS__Group_3__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7142:1: rule__AnnotationCS__Group_3__2__Impl : ( ( rule__AnnotationCS__Group_3_2__0 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7300:1: rule__AnnotationCS__Group_3__2__Impl : ( ( rule__AnnotationCS__Group_3_2__0 )* ) ;
     public final void rule__AnnotationCS__Group_3__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7146:1: ( ( ( rule__AnnotationCS__Group_3_2__0 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7147:1: ( ( rule__AnnotationCS__Group_3_2__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7304:1: ( ( ( rule__AnnotationCS__Group_3_2__0 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7305:1: ( ( rule__AnnotationCS__Group_3_2__0 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7147:1: ( ( rule__AnnotationCS__Group_3_2__0 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7148:1: ( rule__AnnotationCS__Group_3_2__0 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7305:1: ( ( rule__AnnotationCS__Group_3_2__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7306:1: ( rule__AnnotationCS__Group_3_2__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAnnotationCSAccess().getGroup_3_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7149:1: ( rule__AnnotationCS__Group_3_2__0 )*
-            loop92:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7307:1: ( rule__AnnotationCS__Group_3_2__0 )*
+            loop107:
             do {
-                int alt92=2;
-                int LA92_0 = input.LA(1);
+                int alt107=2;
+                int LA107_0 = input.LA(1);
 
-                if ( (LA92_0==98) ) {
-                    alt92=1;
+                if ( (LA107_0==107) ) {
+                    alt107=1;
                 }
 
 
-                switch (alt92) {
+                switch (alt107) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7149:2: rule__AnnotationCS__Group_3_2__0
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7307:2: rule__AnnotationCS__Group_3_2__0
             	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group_3_2__0_in_rule__AnnotationCS__Group_3__2__Impl15655);
+            	    pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group_3_2__0_in_rule__AnnotationCS__Group_3__2__Impl15816);
             	    rule__AnnotationCS__Group_3_2__0();
 
             	    state._fsp--;
@@ -24205,7 +24321,7 @@
             	    break;
 
             	default :
-            	    break loop92;
+            	    break loop107;
                 }
             } while (true);
 
@@ -24234,16 +24350,16 @@
 
 
     // $ANTLR start "rule__AnnotationCS__Group_3__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7159:1: rule__AnnotationCS__Group_3__3 : rule__AnnotationCS__Group_3__3__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7317:1: rule__AnnotationCS__Group_3__3 : rule__AnnotationCS__Group_3__3__Impl ;
     public final void rule__AnnotationCS__Group_3__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7163:1: ( rule__AnnotationCS__Group_3__3__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7164:2: rule__AnnotationCS__Group_3__3__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7321:1: ( rule__AnnotationCS__Group_3__3__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7322:2: rule__AnnotationCS__Group_3__3__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group_3__3__Impl_in_rule__AnnotationCS__Group_3__315686);
+            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group_3__3__Impl_in_rule__AnnotationCS__Group_3__315847);
             rule__AnnotationCS__Group_3__3__Impl();
 
             state._fsp--;
@@ -24267,22 +24383,22 @@
 
 
     // $ANTLR start "rule__AnnotationCS__Group_3__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7170:1: rule__AnnotationCS__Group_3__3__Impl : ( ')' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7328:1: rule__AnnotationCS__Group_3__3__Impl : ( ')' ) ;
     public final void rule__AnnotationCS__Group_3__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7174:1: ( ( ')' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7175:1: ( ')' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7332:1: ( ( ')' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7333:1: ( ')' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7175:1: ( ')' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7176:1: ')'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7333:1: ( ')' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7334:1: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAnnotationCSAccess().getRightParenthesisKeyword_3_3()); 
             }
-            match(input,96,FollowSets000.FOLLOW_96_in_rule__AnnotationCS__Group_3__3__Impl15714); if (state.failed) return ;
+            match(input,105,FollowSets000.FOLLOW_105_in_rule__AnnotationCS__Group_3__3__Impl15875); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAnnotationCSAccess().getRightParenthesisKeyword_3_3()); 
             }
@@ -24308,21 +24424,21 @@
 
 
     // $ANTLR start "rule__AnnotationCS__Group_3_2__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7197:1: rule__AnnotationCS__Group_3_2__0 : rule__AnnotationCS__Group_3_2__0__Impl rule__AnnotationCS__Group_3_2__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7355:1: rule__AnnotationCS__Group_3_2__0 : rule__AnnotationCS__Group_3_2__0__Impl rule__AnnotationCS__Group_3_2__1 ;
     public final void rule__AnnotationCS__Group_3_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7201:1: ( rule__AnnotationCS__Group_3_2__0__Impl rule__AnnotationCS__Group_3_2__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7202:2: rule__AnnotationCS__Group_3_2__0__Impl rule__AnnotationCS__Group_3_2__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7359:1: ( rule__AnnotationCS__Group_3_2__0__Impl rule__AnnotationCS__Group_3_2__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7360:2: rule__AnnotationCS__Group_3_2__0__Impl rule__AnnotationCS__Group_3_2__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group_3_2__0__Impl_in_rule__AnnotationCS__Group_3_2__015753);
+            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group_3_2__0__Impl_in_rule__AnnotationCS__Group_3_2__015914);
             rule__AnnotationCS__Group_3_2__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group_3_2__1_in_rule__AnnotationCS__Group_3_2__015756);
+            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group_3_2__1_in_rule__AnnotationCS__Group_3_2__015917);
             rule__AnnotationCS__Group_3_2__1();
 
             state._fsp--;
@@ -24346,22 +24462,22 @@
 
 
     // $ANTLR start "rule__AnnotationCS__Group_3_2__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7209:1: rule__AnnotationCS__Group_3_2__0__Impl : ( ',' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7367:1: rule__AnnotationCS__Group_3_2__0__Impl : ( ',' ) ;
     public final void rule__AnnotationCS__Group_3_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7213:1: ( ( ',' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7214:1: ( ',' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7371:1: ( ( ',' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7372:1: ( ',' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7214:1: ( ',' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7215:1: ','
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7372:1: ( ',' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7373:1: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAnnotationCSAccess().getCommaKeyword_3_2_0()); 
             }
-            match(input,98,FollowSets000.FOLLOW_98_in_rule__AnnotationCS__Group_3_2__0__Impl15784); if (state.failed) return ;
+            match(input,107,FollowSets000.FOLLOW_107_in_rule__AnnotationCS__Group_3_2__0__Impl15945); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAnnotationCSAccess().getCommaKeyword_3_2_0()); 
             }
@@ -24387,16 +24503,16 @@
 
 
     // $ANTLR start "rule__AnnotationCS__Group_3_2__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7228:1: rule__AnnotationCS__Group_3_2__1 : rule__AnnotationCS__Group_3_2__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7386:1: rule__AnnotationCS__Group_3_2__1 : rule__AnnotationCS__Group_3_2__1__Impl ;
     public final void rule__AnnotationCS__Group_3_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7232:1: ( rule__AnnotationCS__Group_3_2__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7233:2: rule__AnnotationCS__Group_3_2__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7390:1: ( rule__AnnotationCS__Group_3_2__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7391:2: rule__AnnotationCS__Group_3_2__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group_3_2__1__Impl_in_rule__AnnotationCS__Group_3_2__115815);
+            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group_3_2__1__Impl_in_rule__AnnotationCS__Group_3_2__115976);
             rule__AnnotationCS__Group_3_2__1__Impl();
 
             state._fsp--;
@@ -24420,25 +24536,25 @@
 
 
     // $ANTLR start "rule__AnnotationCS__Group_3_2__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7239:1: rule__AnnotationCS__Group_3_2__1__Impl : ( ( rule__AnnotationCS__OwnedDetailsAssignment_3_2_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7397:1: rule__AnnotationCS__Group_3_2__1__Impl : ( ( rule__AnnotationCS__OwnedDetailsAssignment_3_2_1 ) ) ;
     public final void rule__AnnotationCS__Group_3_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7243:1: ( ( ( rule__AnnotationCS__OwnedDetailsAssignment_3_2_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7244:1: ( ( rule__AnnotationCS__OwnedDetailsAssignment_3_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7401:1: ( ( ( rule__AnnotationCS__OwnedDetailsAssignment_3_2_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7402:1: ( ( rule__AnnotationCS__OwnedDetailsAssignment_3_2_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7244:1: ( ( rule__AnnotationCS__OwnedDetailsAssignment_3_2_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7245:1: ( rule__AnnotationCS__OwnedDetailsAssignment_3_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7402:1: ( ( rule__AnnotationCS__OwnedDetailsAssignment_3_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7403:1: ( rule__AnnotationCS__OwnedDetailsAssignment_3_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAnnotationCSAccess().getOwnedDetailsAssignment_3_2_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7246:1: ( rule__AnnotationCS__OwnedDetailsAssignment_3_2_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7246:2: rule__AnnotationCS__OwnedDetailsAssignment_3_2_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7404:1: ( rule__AnnotationCS__OwnedDetailsAssignment_3_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7404:2: rule__AnnotationCS__OwnedDetailsAssignment_3_2_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__OwnedDetailsAssignment_3_2_1_in_rule__AnnotationCS__Group_3_2__1__Impl15842);
+            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__OwnedDetailsAssignment_3_2_1_in_rule__AnnotationCS__Group_3_2__1__Impl16003);
             rule__AnnotationCS__OwnedDetailsAssignment_3_2_1();
 
             state._fsp--;
@@ -24471,21 +24587,21 @@
 
 
     // $ANTLR start "rule__AnnotationCS__Group_4_0__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7260:1: rule__AnnotationCS__Group_4_0__0 : rule__AnnotationCS__Group_4_0__0__Impl rule__AnnotationCS__Group_4_0__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7418:1: rule__AnnotationCS__Group_4_0__0 : rule__AnnotationCS__Group_4_0__0__Impl rule__AnnotationCS__Group_4_0__1 ;
     public final void rule__AnnotationCS__Group_4_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7264:1: ( rule__AnnotationCS__Group_4_0__0__Impl rule__AnnotationCS__Group_4_0__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7265:2: rule__AnnotationCS__Group_4_0__0__Impl rule__AnnotationCS__Group_4_0__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7422:1: ( rule__AnnotationCS__Group_4_0__0__Impl rule__AnnotationCS__Group_4_0__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7423:2: rule__AnnotationCS__Group_4_0__0__Impl rule__AnnotationCS__Group_4_0__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group_4_0__0__Impl_in_rule__AnnotationCS__Group_4_0__015876);
+            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group_4_0__0__Impl_in_rule__AnnotationCS__Group_4_0__016037);
             rule__AnnotationCS__Group_4_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group_4_0__1_in_rule__AnnotationCS__Group_4_0__015879);
+            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group_4_0__1_in_rule__AnnotationCS__Group_4_0__016040);
             rule__AnnotationCS__Group_4_0__1();
 
             state._fsp--;
@@ -24509,22 +24625,22 @@
 
 
     // $ANTLR start "rule__AnnotationCS__Group_4_0__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7272:1: rule__AnnotationCS__Group_4_0__0__Impl : ( '{' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7430:1: rule__AnnotationCS__Group_4_0__0__Impl : ( '{' ) ;
     public final void rule__AnnotationCS__Group_4_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7276:1: ( ( '{' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7277:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7434:1: ( ( '{' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7435:1: ( '{' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7277:1: ( '{' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7278:1: '{'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7435:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7436:1: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAnnotationCSAccess().getLeftCurlyBracketKeyword_4_0_0()); 
             }
-            match(input,99,FollowSets000.FOLLOW_99_in_rule__AnnotationCS__Group_4_0__0__Impl15907); if (state.failed) return ;
+            match(input,108,FollowSets000.FOLLOW_108_in_rule__AnnotationCS__Group_4_0__0__Impl16068); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAnnotationCSAccess().getLeftCurlyBracketKeyword_4_0_0()); 
             }
@@ -24550,21 +24666,21 @@
 
 
     // $ANTLR start "rule__AnnotationCS__Group_4_0__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7291:1: rule__AnnotationCS__Group_4_0__1 : rule__AnnotationCS__Group_4_0__1__Impl rule__AnnotationCS__Group_4_0__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7449:1: rule__AnnotationCS__Group_4_0__1 : rule__AnnotationCS__Group_4_0__1__Impl rule__AnnotationCS__Group_4_0__2 ;
     public final void rule__AnnotationCS__Group_4_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7295:1: ( rule__AnnotationCS__Group_4_0__1__Impl rule__AnnotationCS__Group_4_0__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7296:2: rule__AnnotationCS__Group_4_0__1__Impl rule__AnnotationCS__Group_4_0__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7453:1: ( rule__AnnotationCS__Group_4_0__1__Impl rule__AnnotationCS__Group_4_0__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7454:2: rule__AnnotationCS__Group_4_0__1__Impl rule__AnnotationCS__Group_4_0__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group_4_0__1__Impl_in_rule__AnnotationCS__Group_4_0__115938);
+            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group_4_0__1__Impl_in_rule__AnnotationCS__Group_4_0__116099);
             rule__AnnotationCS__Group_4_0__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group_4_0__2_in_rule__AnnotationCS__Group_4_0__115941);
+            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group_4_0__2_in_rule__AnnotationCS__Group_4_0__116102);
             rule__AnnotationCS__Group_4_0__2();
 
             state._fsp--;
@@ -24588,28 +24704,28 @@
 
 
     // $ANTLR start "rule__AnnotationCS__Group_4_0__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7303:1: rule__AnnotationCS__Group_4_0__1__Impl : ( ( ( rule__AnnotationCS__Alternatives_4_0_1 ) ) ( ( rule__AnnotationCS__Alternatives_4_0_1 )* ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7461:1: rule__AnnotationCS__Group_4_0__1__Impl : ( ( ( rule__AnnotationCS__Alternatives_4_0_1 ) ) ( ( rule__AnnotationCS__Alternatives_4_0_1 )* ) ) ;
     public final void rule__AnnotationCS__Group_4_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7307:1: ( ( ( ( rule__AnnotationCS__Alternatives_4_0_1 ) ) ( ( rule__AnnotationCS__Alternatives_4_0_1 )* ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7308:1: ( ( ( rule__AnnotationCS__Alternatives_4_0_1 ) ) ( ( rule__AnnotationCS__Alternatives_4_0_1 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7465:1: ( ( ( ( rule__AnnotationCS__Alternatives_4_0_1 ) ) ( ( rule__AnnotationCS__Alternatives_4_0_1 )* ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7466:1: ( ( ( rule__AnnotationCS__Alternatives_4_0_1 ) ) ( ( rule__AnnotationCS__Alternatives_4_0_1 )* ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7308:1: ( ( ( rule__AnnotationCS__Alternatives_4_0_1 ) ) ( ( rule__AnnotationCS__Alternatives_4_0_1 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7309:1: ( ( rule__AnnotationCS__Alternatives_4_0_1 ) ) ( ( rule__AnnotationCS__Alternatives_4_0_1 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7466:1: ( ( ( rule__AnnotationCS__Alternatives_4_0_1 ) ) ( ( rule__AnnotationCS__Alternatives_4_0_1 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7467:1: ( ( rule__AnnotationCS__Alternatives_4_0_1 ) ) ( ( rule__AnnotationCS__Alternatives_4_0_1 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7309:1: ( ( rule__AnnotationCS__Alternatives_4_0_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7310:1: ( rule__AnnotationCS__Alternatives_4_0_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7467:1: ( ( rule__AnnotationCS__Alternatives_4_0_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7468:1: ( rule__AnnotationCS__Alternatives_4_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAnnotationCSAccess().getAlternatives_4_0_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7311:1: ( rule__AnnotationCS__Alternatives_4_0_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7311:2: rule__AnnotationCS__Alternatives_4_0_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7469:1: ( rule__AnnotationCS__Alternatives_4_0_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7469:2: rule__AnnotationCS__Alternatives_4_0_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Alternatives_4_0_1_in_rule__AnnotationCS__Group_4_0__1__Impl15970);
+            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Alternatives_4_0_1_in_rule__AnnotationCS__Group_4_0__1__Impl16131);
             rule__AnnotationCS__Alternatives_4_0_1();
 
             state._fsp--;
@@ -24623,28 +24739,28 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7314:1: ( ( rule__AnnotationCS__Alternatives_4_0_1 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7315:1: ( rule__AnnotationCS__Alternatives_4_0_1 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7472:1: ( ( rule__AnnotationCS__Alternatives_4_0_1 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7473:1: ( rule__AnnotationCS__Alternatives_4_0_1 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAnnotationCSAccess().getAlternatives_4_0_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7316:1: ( rule__AnnotationCS__Alternatives_4_0_1 )*
-            loop93:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7474:1: ( rule__AnnotationCS__Alternatives_4_0_1 )*
+            loop108:
             do {
-                int alt93=2;
-                int LA93_0 = input.LA(1);
+                int alt108=2;
+                int LA108_0 = input.LA(1);
 
-                if ( ((LA93_0>=RULE_SIMPLE_ID && LA93_0<=RULE_ESCAPED_ID)||(LA93_0>=17 && LA93_0<=52)||(LA93_0>=55 && LA93_0<=56)||LA93_0==58||LA93_0==60) ) {
-                    alt93=1;
+                if ( ((LA108_0>=RULE_SIMPLE_ID && LA108_0<=RULE_ESCAPED_ID)||(LA108_0>=17 && LA108_0<=52)||(LA108_0>=64 && LA108_0<=65)||LA108_0==67||LA108_0==69) ) {
+                    alt108=1;
                 }
 
 
-                switch (alt93) {
+                switch (alt108) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7316:2: rule__AnnotationCS__Alternatives_4_0_1
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7474:2: rule__AnnotationCS__Alternatives_4_0_1
             	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Alternatives_4_0_1_in_rule__AnnotationCS__Group_4_0__1__Impl15982);
+            	    pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Alternatives_4_0_1_in_rule__AnnotationCS__Group_4_0__1__Impl16143);
             	    rule__AnnotationCS__Alternatives_4_0_1();
 
             	    state._fsp--;
@@ -24654,7 +24770,7 @@
             	    break;
 
             	default :
-            	    break loop93;
+            	    break loop108;
                 }
             } while (true);
 
@@ -24686,16 +24802,16 @@
 
 
     // $ANTLR start "rule__AnnotationCS__Group_4_0__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7327:1: rule__AnnotationCS__Group_4_0__2 : rule__AnnotationCS__Group_4_0__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7485:1: rule__AnnotationCS__Group_4_0__2 : rule__AnnotationCS__Group_4_0__2__Impl ;
     public final void rule__AnnotationCS__Group_4_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7331:1: ( rule__AnnotationCS__Group_4_0__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7332:2: rule__AnnotationCS__Group_4_0__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7489:1: ( rule__AnnotationCS__Group_4_0__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7490:2: rule__AnnotationCS__Group_4_0__2__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group_4_0__2__Impl_in_rule__AnnotationCS__Group_4_0__216015);
+            pushFollow(FollowSets000.FOLLOW_rule__AnnotationCS__Group_4_0__2__Impl_in_rule__AnnotationCS__Group_4_0__216176);
             rule__AnnotationCS__Group_4_0__2__Impl();
 
             state._fsp--;
@@ -24719,22 +24835,22 @@
 
 
     // $ANTLR start "rule__AnnotationCS__Group_4_0__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7338:1: rule__AnnotationCS__Group_4_0__2__Impl : ( '}' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7496:1: rule__AnnotationCS__Group_4_0__2__Impl : ( '}' ) ;
     public final void rule__AnnotationCS__Group_4_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7342:1: ( ( '}' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7343:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7500:1: ( ( '}' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7501:1: ( '}' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7343:1: ( '}' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7344:1: '}'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7501:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7502:1: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAnnotationCSAccess().getRightCurlyBracketKeyword_4_0_2()); 
             }
-            match(input,100,FollowSets000.FOLLOW_100_in_rule__AnnotationCS__Group_4_0__2__Impl16043); if (state.failed) return ;
+            match(input,109,FollowSets000.FOLLOW_109_in_rule__AnnotationCS__Group_4_0__2__Impl16204); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAnnotationCSAccess().getRightCurlyBracketKeyword_4_0_2()); 
             }
@@ -24760,21 +24876,21 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7363:1: rule__AttributeCS__Group__0 : rule__AttributeCS__Group__0__Impl rule__AttributeCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7521:1: rule__AttributeCS__Group__0 : rule__AttributeCS__Group__0__Impl rule__AttributeCS__Group__1 ;
     public final void rule__AttributeCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7367:1: ( rule__AttributeCS__Group__0__Impl rule__AttributeCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7368:2: rule__AttributeCS__Group__0__Impl rule__AttributeCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7525:1: ( rule__AttributeCS__Group__0__Impl rule__AttributeCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7526:2: rule__AttributeCS__Group__0__Impl rule__AttributeCS__Group__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group__0__Impl_in_rule__AttributeCS__Group__016080);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group__0__Impl_in_rule__AttributeCS__Group__016241);
             rule__AttributeCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group__1_in_rule__AttributeCS__Group__016083);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group__1_in_rule__AttributeCS__Group__016244);
             rule__AttributeCS__Group__1();
 
             state._fsp--;
@@ -24798,45 +24914,34 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7375:1: rule__AttributeCS__Group__0__Impl : ( ( rule__AttributeCS__Alternatives_0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7533:1: rule__AttributeCS__Group__0__Impl : ( ( rule__AttributeCS__UnorderedGroup_0 ) ) ;
     public final void rule__AttributeCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7379:1: ( ( ( rule__AttributeCS__Alternatives_0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7380:1: ( ( rule__AttributeCS__Alternatives_0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7537:1: ( ( ( rule__AttributeCS__UnorderedGroup_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7538:1: ( ( rule__AttributeCS__UnorderedGroup_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7380:1: ( ( rule__AttributeCS__Alternatives_0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7381:1: ( rule__AttributeCS__Alternatives_0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7538:1: ( ( rule__AttributeCS__UnorderedGroup_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7539:1: ( rule__AttributeCS__UnorderedGroup_0 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getAlternatives_0()); 
+               before(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7382:1: ( rule__AttributeCS__Alternatives_0 )?
-            int alt94=2;
-            int LA94_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7540:1: ( rule__AttributeCS__UnorderedGroup_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7540:2: rule__AttributeCS__UnorderedGroup_0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__UnorderedGroup_0_in_rule__AttributeCS__Group__0__Impl16271);
+            rule__AttributeCS__UnorderedGroup_0();
 
-            if ( (LA94_0==24||LA94_0==46) ) {
-                alt94=1;
-            }
-            switch (alt94) {
-                case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7382:2: rule__AttributeCS__Alternatives_0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Alternatives_0_in_rule__AttributeCS__Group__0__Impl16110);
-                    rule__AttributeCS__Alternatives_0();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-                    break;
+            state._fsp--;
+            if (state.failed) return ;
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getAlternatives_0()); 
+               after(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0()); 
             }
 
             }
@@ -24860,21 +24965,21 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7392:1: rule__AttributeCS__Group__1 : rule__AttributeCS__Group__1__Impl rule__AttributeCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7550:1: rule__AttributeCS__Group__1 : rule__AttributeCS__Group__1__Impl rule__AttributeCS__Group__2 ;
     public final void rule__AttributeCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7396:1: ( rule__AttributeCS__Group__1__Impl rule__AttributeCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7397:2: rule__AttributeCS__Group__1__Impl rule__AttributeCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7554:1: ( rule__AttributeCS__Group__1__Impl rule__AttributeCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7555:2: rule__AttributeCS__Group__1__Impl rule__AttributeCS__Group__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group__1__Impl_in_rule__AttributeCS__Group__116141);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group__1__Impl_in_rule__AttributeCS__Group__116301);
             rule__AttributeCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group__2_in_rule__AttributeCS__Group__116144);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group__2_in_rule__AttributeCS__Group__116304);
             rule__AttributeCS__Group__2();
 
             state._fsp--;
@@ -24898,22 +25003,22 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7404:1: rule__AttributeCS__Group__1__Impl : ( 'attribute' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7562:1: rule__AttributeCS__Group__1__Impl : ( 'attribute' ) ;
     public final void rule__AttributeCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7408:1: ( ( 'attribute' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7409:1: ( 'attribute' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7566:1: ( ( 'attribute' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7567:1: ( 'attribute' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7409:1: ( 'attribute' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7410:1: 'attribute'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7567:1: ( 'attribute' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7568:1: 'attribute'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttributeCSAccess().getAttributeKeyword_1()); 
             }
-            match(input,18,FollowSets000.FOLLOW_18_in_rule__AttributeCS__Group__1__Impl16172); if (state.failed) return ;
+            match(input,18,FollowSets000.FOLLOW_18_in_rule__AttributeCS__Group__1__Impl16332); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAttributeCSAccess().getAttributeKeyword_1()); 
             }
@@ -24939,21 +25044,21 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7423:1: rule__AttributeCS__Group__2 : rule__AttributeCS__Group__2__Impl rule__AttributeCS__Group__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7581:1: rule__AttributeCS__Group__2 : rule__AttributeCS__Group__2__Impl rule__AttributeCS__Group__3 ;
     public final void rule__AttributeCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7427:1: ( rule__AttributeCS__Group__2__Impl rule__AttributeCS__Group__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7428:2: rule__AttributeCS__Group__2__Impl rule__AttributeCS__Group__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7585:1: ( rule__AttributeCS__Group__2__Impl rule__AttributeCS__Group__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7586:2: rule__AttributeCS__Group__2__Impl rule__AttributeCS__Group__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group__2__Impl_in_rule__AttributeCS__Group__216203);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group__2__Impl_in_rule__AttributeCS__Group__216363);
             rule__AttributeCS__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group__3_in_rule__AttributeCS__Group__216206);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group__3_in_rule__AttributeCS__Group__216366);
             rule__AttributeCS__Group__3();
 
             state._fsp--;
@@ -24977,25 +25082,25 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7435:1: rule__AttributeCS__Group__2__Impl : ( ( rule__AttributeCS__NameAssignment_2 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7593:1: rule__AttributeCS__Group__2__Impl : ( ( rule__AttributeCS__NameAssignment_2 ) ) ;
     public final void rule__AttributeCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7439:1: ( ( ( rule__AttributeCS__NameAssignment_2 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7440:1: ( ( rule__AttributeCS__NameAssignment_2 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7597:1: ( ( ( rule__AttributeCS__NameAssignment_2 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7598:1: ( ( rule__AttributeCS__NameAssignment_2 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7440:1: ( ( rule__AttributeCS__NameAssignment_2 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7441:1: ( rule__AttributeCS__NameAssignment_2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7598:1: ( ( rule__AttributeCS__NameAssignment_2 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7599:1: ( rule__AttributeCS__NameAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttributeCSAccess().getNameAssignment_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7442:1: ( rule__AttributeCS__NameAssignment_2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7442:2: rule__AttributeCS__NameAssignment_2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7600:1: ( rule__AttributeCS__NameAssignment_2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7600:2: rule__AttributeCS__NameAssignment_2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__NameAssignment_2_in_rule__AttributeCS__Group__2__Impl16233);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__NameAssignment_2_in_rule__AttributeCS__Group__2__Impl16393);
             rule__AttributeCS__NameAssignment_2();
 
             state._fsp--;
@@ -25028,21 +25133,21 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7452:1: rule__AttributeCS__Group__3 : rule__AttributeCS__Group__3__Impl rule__AttributeCS__Group__4 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7610:1: rule__AttributeCS__Group__3 : rule__AttributeCS__Group__3__Impl rule__AttributeCS__Group__4 ;
     public final void rule__AttributeCS__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7456:1: ( rule__AttributeCS__Group__3__Impl rule__AttributeCS__Group__4 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7457:2: rule__AttributeCS__Group__3__Impl rule__AttributeCS__Group__4
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7614:1: ( rule__AttributeCS__Group__3__Impl rule__AttributeCS__Group__4 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7615:2: rule__AttributeCS__Group__3__Impl rule__AttributeCS__Group__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group__3__Impl_in_rule__AttributeCS__Group__316263);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group__3__Impl_in_rule__AttributeCS__Group__316423);
             rule__AttributeCS__Group__3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group__4_in_rule__AttributeCS__Group__316266);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group__4_in_rule__AttributeCS__Group__316426);
             rule__AttributeCS__Group__4();
 
             state._fsp--;
@@ -25066,33 +25171,33 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7464:1: rule__AttributeCS__Group__3__Impl : ( ( rule__AttributeCS__Group_3__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7622:1: rule__AttributeCS__Group__3__Impl : ( ( rule__AttributeCS__Group_3__0 )? ) ;
     public final void rule__AttributeCS__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7468:1: ( ( ( rule__AttributeCS__Group_3__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7469:1: ( ( rule__AttributeCS__Group_3__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7626:1: ( ( ( rule__AttributeCS__Group_3__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7627:1: ( ( rule__AttributeCS__Group_3__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7469:1: ( ( rule__AttributeCS__Group_3__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7470:1: ( rule__AttributeCS__Group_3__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7627:1: ( ( rule__AttributeCS__Group_3__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7628:1: ( rule__AttributeCS__Group_3__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttributeCSAccess().getGroup_3()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7471:1: ( rule__AttributeCS__Group_3__0 )?
-            int alt95=2;
-            int LA95_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7629:1: ( rule__AttributeCS__Group_3__0 )?
+            int alt109=2;
+            int LA109_0 = input.LA(1);
 
-            if ( (LA95_0==97) ) {
-                alt95=1;
+            if ( (LA109_0==106) ) {
+                alt109=1;
             }
-            switch (alt95) {
+            switch (alt109) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7471:2: rule__AttributeCS__Group_3__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7629:2: rule__AttributeCS__Group_3__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_3__0_in_rule__AttributeCS__Group__3__Impl16293);
+                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_3__0_in_rule__AttributeCS__Group__3__Impl16453);
                     rule__AttributeCS__Group_3__0();
 
                     state._fsp--;
@@ -25128,21 +25233,21 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group__4"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7481:1: rule__AttributeCS__Group__4 : rule__AttributeCS__Group__4__Impl rule__AttributeCS__Group__5 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7639:1: rule__AttributeCS__Group__4 : rule__AttributeCS__Group__4__Impl rule__AttributeCS__Group__5 ;
     public final void rule__AttributeCS__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7485:1: ( rule__AttributeCS__Group__4__Impl rule__AttributeCS__Group__5 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7486:2: rule__AttributeCS__Group__4__Impl rule__AttributeCS__Group__5
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7643:1: ( rule__AttributeCS__Group__4__Impl rule__AttributeCS__Group__5 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7644:2: rule__AttributeCS__Group__4__Impl rule__AttributeCS__Group__5
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group__4__Impl_in_rule__AttributeCS__Group__416324);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group__4__Impl_in_rule__AttributeCS__Group__416484);
             rule__AttributeCS__Group__4__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group__5_in_rule__AttributeCS__Group__416327);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group__5_in_rule__AttributeCS__Group__416487);
             rule__AttributeCS__Group__5();
 
             state._fsp--;
@@ -25166,33 +25271,33 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group__4__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7493:1: rule__AttributeCS__Group__4__Impl : ( ( rule__AttributeCS__Group_4__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7651:1: rule__AttributeCS__Group__4__Impl : ( ( rule__AttributeCS__Group_4__0 )? ) ;
     public final void rule__AttributeCS__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7497:1: ( ( ( rule__AttributeCS__Group_4__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7498:1: ( ( rule__AttributeCS__Group_4__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7655:1: ( ( ( rule__AttributeCS__Group_4__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7656:1: ( ( rule__AttributeCS__Group_4__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7498:1: ( ( rule__AttributeCS__Group_4__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7499:1: ( rule__AttributeCS__Group_4__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7656:1: ( ( rule__AttributeCS__Group_4__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7657:1: ( rule__AttributeCS__Group_4__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttributeCSAccess().getGroup_4()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7500:1: ( rule__AttributeCS__Group_4__0 )?
-            int alt96=2;
-            int LA96_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7658:1: ( rule__AttributeCS__Group_4__0 )?
+            int alt110=2;
+            int LA110_0 = input.LA(1);
 
-            if ( (LA96_0==70) ) {
-                alt96=1;
+            if ( (LA110_0==79) ) {
+                alt110=1;
             }
-            switch (alt96) {
+            switch (alt110) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7500:2: rule__AttributeCS__Group_4__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7658:2: rule__AttributeCS__Group_4__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_4__0_in_rule__AttributeCS__Group__4__Impl16354);
+                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_4__0_in_rule__AttributeCS__Group__4__Impl16514);
                     rule__AttributeCS__Group_4__0();
 
                     state._fsp--;
@@ -25228,21 +25333,21 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group__5"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7510:1: rule__AttributeCS__Group__5 : rule__AttributeCS__Group__5__Impl rule__AttributeCS__Group__6 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7668:1: rule__AttributeCS__Group__5 : rule__AttributeCS__Group__5__Impl rule__AttributeCS__Group__6 ;
     public final void rule__AttributeCS__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7514:1: ( rule__AttributeCS__Group__5__Impl rule__AttributeCS__Group__6 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7515:2: rule__AttributeCS__Group__5__Impl rule__AttributeCS__Group__6
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7672:1: ( rule__AttributeCS__Group__5__Impl rule__AttributeCS__Group__6 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7673:2: rule__AttributeCS__Group__5__Impl rule__AttributeCS__Group__6
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group__5__Impl_in_rule__AttributeCS__Group__516385);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group__5__Impl_in_rule__AttributeCS__Group__516545);
             rule__AttributeCS__Group__5__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group__6_in_rule__AttributeCS__Group__516388);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group__6_in_rule__AttributeCS__Group__516548);
             rule__AttributeCS__Group__6();
 
             state._fsp--;
@@ -25266,38 +25371,30 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group__5__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7522:1: rule__AttributeCS__Group__5__Impl : ( ( rule__AttributeCS__Group_5__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7680:1: rule__AttributeCS__Group__5__Impl : ( ( rule__AttributeCS__UnorderedGroup_5 )? ) ;
     public final void rule__AttributeCS__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7526:1: ( ( ( rule__AttributeCS__Group_5__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7527:1: ( ( rule__AttributeCS__Group_5__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7684:1: ( ( ( rule__AttributeCS__UnorderedGroup_5 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7685:1: ( ( rule__AttributeCS__UnorderedGroup_5 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7527:1: ( ( rule__AttributeCS__Group_5__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7528:1: ( rule__AttributeCS__Group_5__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7685:1: ( ( rule__AttributeCS__UnorderedGroup_5 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7686:1: ( rule__AttributeCS__UnorderedGroup_5 )?
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getGroup_5()); 
+               before(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7529:1: ( rule__AttributeCS__Group_5__0 )?
-            int alt97=2;
-            int LA97_0 = input.LA(1);
-
-            if ( (LA97_0==99) ) {
-                int LA97_1 = input.LA(2);
-
-                if ( (LA97_1==26||LA97_1==29||LA97_1==37||LA97_1==43||(LA97_1>=49 && LA97_1<=52)||(LA97_1>=120 && LA97_1<=127)) ) {
-                    alt97=1;
-                }
-            }
-            switch (alt97) {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7687:1: ( rule__AttributeCS__UnorderedGroup_5 )?
+            int alt111=2;
+            alt111 = dfa111.predict(input);
+            switch (alt111) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7529:2: rule__AttributeCS__Group_5__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7687:2: rule__AttributeCS__UnorderedGroup_5
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5__0_in_rule__AttributeCS__Group__5__Impl16415);
-                    rule__AttributeCS__Group_5__0();
+                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__UnorderedGroup_5_in_rule__AttributeCS__Group__5__Impl16575);
+                    rule__AttributeCS__UnorderedGroup_5();
 
                     state._fsp--;
                     if (state.failed) return ;
@@ -25308,7 +25405,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getGroup_5()); 
+               after(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5()); 
             }
 
             }
@@ -25332,16 +25429,16 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group__6"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7539:1: rule__AttributeCS__Group__6 : rule__AttributeCS__Group__6__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7697:1: rule__AttributeCS__Group__6 : rule__AttributeCS__Group__6__Impl ;
     public final void rule__AttributeCS__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7543:1: ( rule__AttributeCS__Group__6__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7544:2: rule__AttributeCS__Group__6__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7701:1: ( rule__AttributeCS__Group__6__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7702:2: rule__AttributeCS__Group__6__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group__6__Impl_in_rule__AttributeCS__Group__616446);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group__6__Impl_in_rule__AttributeCS__Group__616606);
             rule__AttributeCS__Group__6__Impl();
 
             state._fsp--;
@@ -25365,25 +25462,25 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group__6__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7550:1: rule__AttributeCS__Group__6__Impl : ( ( rule__AttributeCS__Alternatives_6 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7708:1: rule__AttributeCS__Group__6__Impl : ( ( rule__AttributeCS__Alternatives_6 ) ) ;
     public final void rule__AttributeCS__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7554:1: ( ( ( rule__AttributeCS__Alternatives_6 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7555:1: ( ( rule__AttributeCS__Alternatives_6 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7712:1: ( ( ( rule__AttributeCS__Alternatives_6 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7713:1: ( ( rule__AttributeCS__Alternatives_6 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7555:1: ( ( rule__AttributeCS__Alternatives_6 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7556:1: ( rule__AttributeCS__Alternatives_6 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7713:1: ( ( rule__AttributeCS__Alternatives_6 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7714:1: ( rule__AttributeCS__Alternatives_6 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttributeCSAccess().getAlternatives_6()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7557:1: ( rule__AttributeCS__Alternatives_6 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7557:2: rule__AttributeCS__Alternatives_6
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7715:1: ( rule__AttributeCS__Alternatives_6 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7715:2: rule__AttributeCS__Alternatives_6
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Alternatives_6_in_rule__AttributeCS__Group__6__Impl16473);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Alternatives_6_in_rule__AttributeCS__Group__6__Impl16633);
             rule__AttributeCS__Alternatives_6();
 
             state._fsp--;
@@ -25415,390 +25512,22 @@
     // $ANTLR end "rule__AttributeCS__Group__6__Impl"
 
 
-    // $ANTLR start "rule__AttributeCS__Group_0_0__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7581:1: rule__AttributeCS__Group_0_0__0 : rule__AttributeCS__Group_0_0__0__Impl rule__AttributeCS__Group_0_0__1 ;
-    public final void rule__AttributeCS__Group_0_0__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7585:1: ( rule__AttributeCS__Group_0_0__0__Impl rule__AttributeCS__Group_0_0__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7586:2: rule__AttributeCS__Group_0_0__0__Impl rule__AttributeCS__Group_0_0__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_0_0__0__Impl_in_rule__AttributeCS__Group_0_0__016517);
-            rule__AttributeCS__Group_0_0__0__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_0_0__1_in_rule__AttributeCS__Group_0_0__016520);
-            rule__AttributeCS__Group_0_0__1();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__AttributeCS__Group_0_0__0"
-
-
-    // $ANTLR start "rule__AttributeCS__Group_0_0__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7593:1: rule__AttributeCS__Group_0_0__0__Impl : ( ( rule__AttributeCS__QualifiersAssignment_0_0_0 ) ) ;
-    public final void rule__AttributeCS__Group_0_0__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7597:1: ( ( ( rule__AttributeCS__QualifiersAssignment_0_0_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7598:1: ( ( rule__AttributeCS__QualifiersAssignment_0_0_0 ) )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7598:1: ( ( rule__AttributeCS__QualifiersAssignment_0_0_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7599:1: ( rule__AttributeCS__QualifiersAssignment_0_0_0 )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_0_0_0()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7600:1: ( rule__AttributeCS__QualifiersAssignment_0_0_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7600:2: rule__AttributeCS__QualifiersAssignment_0_0_0
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__QualifiersAssignment_0_0_0_in_rule__AttributeCS__Group_0_0__0__Impl16547);
-            rule__AttributeCS__QualifiersAssignment_0_0_0();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_0_0_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__AttributeCS__Group_0_0__0__Impl"
-
-
-    // $ANTLR start "rule__AttributeCS__Group_0_0__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7610:1: rule__AttributeCS__Group_0_0__1 : rule__AttributeCS__Group_0_0__1__Impl ;
-    public final void rule__AttributeCS__Group_0_0__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7614:1: ( rule__AttributeCS__Group_0_0__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7615:2: rule__AttributeCS__Group_0_0__1__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_0_0__1__Impl_in_rule__AttributeCS__Group_0_0__116577);
-            rule__AttributeCS__Group_0_0__1__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__AttributeCS__Group_0_0__1"
-
-
-    // $ANTLR start "rule__AttributeCS__Group_0_0__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7621:1: rule__AttributeCS__Group_0_0__1__Impl : ( ( rule__AttributeCS__QualifiersAssignment_0_0_1 )? ) ;
-    public final void rule__AttributeCS__Group_0_0__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7625:1: ( ( ( rule__AttributeCS__QualifiersAssignment_0_0_1 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7626:1: ( ( rule__AttributeCS__QualifiersAssignment_0_0_1 )? )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7626:1: ( ( rule__AttributeCS__QualifiersAssignment_0_0_1 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7627:1: ( rule__AttributeCS__QualifiersAssignment_0_0_1 )?
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_0_0_1()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7628:1: ( rule__AttributeCS__QualifiersAssignment_0_0_1 )?
-            int alt98=2;
-            int LA98_0 = input.LA(1);
-
-            if ( (LA98_0==24) ) {
-                alt98=1;
-            }
-            switch (alt98) {
-                case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7628:2: rule__AttributeCS__QualifiersAssignment_0_0_1
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__QualifiersAssignment_0_0_1_in_rule__AttributeCS__Group_0_0__1__Impl16604);
-                    rule__AttributeCS__QualifiersAssignment_0_0_1();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-                    break;
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_0_0_1()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__AttributeCS__Group_0_0__1__Impl"
-
-
-    // $ANTLR start "rule__AttributeCS__Group_0_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7642:1: rule__AttributeCS__Group_0_1__0 : rule__AttributeCS__Group_0_1__0__Impl rule__AttributeCS__Group_0_1__1 ;
-    public final void rule__AttributeCS__Group_0_1__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7646:1: ( rule__AttributeCS__Group_0_1__0__Impl rule__AttributeCS__Group_0_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7647:2: rule__AttributeCS__Group_0_1__0__Impl rule__AttributeCS__Group_0_1__1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_0_1__0__Impl_in_rule__AttributeCS__Group_0_1__016639);
-            rule__AttributeCS__Group_0_1__0__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_0_1__1_in_rule__AttributeCS__Group_0_1__016642);
-            rule__AttributeCS__Group_0_1__1();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__AttributeCS__Group_0_1__0"
-
-
-    // $ANTLR start "rule__AttributeCS__Group_0_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7654:1: rule__AttributeCS__Group_0_1__0__Impl : ( ( rule__AttributeCS__QualifiersAssignment_0_1_0 ) ) ;
-    public final void rule__AttributeCS__Group_0_1__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7658:1: ( ( ( rule__AttributeCS__QualifiersAssignment_0_1_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7659:1: ( ( rule__AttributeCS__QualifiersAssignment_0_1_0 ) )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7659:1: ( ( rule__AttributeCS__QualifiersAssignment_0_1_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7660:1: ( rule__AttributeCS__QualifiersAssignment_0_1_0 )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_0_1_0()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7661:1: ( rule__AttributeCS__QualifiersAssignment_0_1_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7661:2: rule__AttributeCS__QualifiersAssignment_0_1_0
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__QualifiersAssignment_0_1_0_in_rule__AttributeCS__Group_0_1__0__Impl16669);
-            rule__AttributeCS__QualifiersAssignment_0_1_0();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_0_1_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__AttributeCS__Group_0_1__0__Impl"
-
-
-    // $ANTLR start "rule__AttributeCS__Group_0_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7671:1: rule__AttributeCS__Group_0_1__1 : rule__AttributeCS__Group_0_1__1__Impl ;
-    public final void rule__AttributeCS__Group_0_1__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7675:1: ( rule__AttributeCS__Group_0_1__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7676:2: rule__AttributeCS__Group_0_1__1__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_0_1__1__Impl_in_rule__AttributeCS__Group_0_1__116699);
-            rule__AttributeCS__Group_0_1__1__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__AttributeCS__Group_0_1__1"
-
-
-    // $ANTLR start "rule__AttributeCS__Group_0_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7682:1: rule__AttributeCS__Group_0_1__1__Impl : ( ( rule__AttributeCS__QualifiersAssignment_0_1_1 )? ) ;
-    public final void rule__AttributeCS__Group_0_1__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7686:1: ( ( ( rule__AttributeCS__QualifiersAssignment_0_1_1 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7687:1: ( ( rule__AttributeCS__QualifiersAssignment_0_1_1 )? )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7687:1: ( ( rule__AttributeCS__QualifiersAssignment_0_1_1 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7688:1: ( rule__AttributeCS__QualifiersAssignment_0_1_1 )?
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_0_1_1()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7689:1: ( rule__AttributeCS__QualifiersAssignment_0_1_1 )?
-            int alt99=2;
-            int LA99_0 = input.LA(1);
-
-            if ( (LA99_0==46) ) {
-                alt99=1;
-            }
-            switch (alt99) {
-                case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7689:2: rule__AttributeCS__QualifiersAssignment_0_1_1
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__QualifiersAssignment_0_1_1_in_rule__AttributeCS__Group_0_1__1__Impl16726);
-                    rule__AttributeCS__QualifiersAssignment_0_1_1();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-                    break;
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersAssignment_0_1_1()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__AttributeCS__Group_0_1__1__Impl"
-
-
     // $ANTLR start "rule__AttributeCS__Group_3__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7703:1: rule__AttributeCS__Group_3__0 : rule__AttributeCS__Group_3__0__Impl rule__AttributeCS__Group_3__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7739:1: rule__AttributeCS__Group_3__0 : rule__AttributeCS__Group_3__0__Impl rule__AttributeCS__Group_3__1 ;
     public final void rule__AttributeCS__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7707:1: ( rule__AttributeCS__Group_3__0__Impl rule__AttributeCS__Group_3__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7708:2: rule__AttributeCS__Group_3__0__Impl rule__AttributeCS__Group_3__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7743:1: ( rule__AttributeCS__Group_3__0__Impl rule__AttributeCS__Group_3__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7744:2: rule__AttributeCS__Group_3__0__Impl rule__AttributeCS__Group_3__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_3__0__Impl_in_rule__AttributeCS__Group_3__016761);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_3__0__Impl_in_rule__AttributeCS__Group_3__016677);
             rule__AttributeCS__Group_3__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_3__1_in_rule__AttributeCS__Group_3__016764);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_3__1_in_rule__AttributeCS__Group_3__016680);
             rule__AttributeCS__Group_3__1();
 
             state._fsp--;
@@ -25822,22 +25551,22 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group_3__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7715:1: rule__AttributeCS__Group_3__0__Impl : ( ':' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7751:1: rule__AttributeCS__Group_3__0__Impl : ( ':' ) ;
     public final void rule__AttributeCS__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7719:1: ( ( ':' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7720:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7755:1: ( ( ':' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7756:1: ( ':' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7720:1: ( ':' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7721:1: ':'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7756:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7757:1: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttributeCSAccess().getColonKeyword_3_0()); 
             }
-            match(input,97,FollowSets000.FOLLOW_97_in_rule__AttributeCS__Group_3__0__Impl16792); if (state.failed) return ;
+            match(input,106,FollowSets000.FOLLOW_106_in_rule__AttributeCS__Group_3__0__Impl16708); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAttributeCSAccess().getColonKeyword_3_0()); 
             }
@@ -25863,16 +25592,16 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group_3__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7734:1: rule__AttributeCS__Group_3__1 : rule__AttributeCS__Group_3__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7770:1: rule__AttributeCS__Group_3__1 : rule__AttributeCS__Group_3__1__Impl ;
     public final void rule__AttributeCS__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7738:1: ( rule__AttributeCS__Group_3__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7739:2: rule__AttributeCS__Group_3__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7774:1: ( rule__AttributeCS__Group_3__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7775:2: rule__AttributeCS__Group_3__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_3__1__Impl_in_rule__AttributeCS__Group_3__116823);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_3__1__Impl_in_rule__AttributeCS__Group_3__116739);
             rule__AttributeCS__Group_3__1__Impl();
 
             state._fsp--;
@@ -25896,25 +25625,25 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group_3__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7745:1: rule__AttributeCS__Group_3__1__Impl : ( ( rule__AttributeCS__OwnedTypeAssignment_3_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7781:1: rule__AttributeCS__Group_3__1__Impl : ( ( rule__AttributeCS__OwnedTypeAssignment_3_1 ) ) ;
     public final void rule__AttributeCS__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7749:1: ( ( ( rule__AttributeCS__OwnedTypeAssignment_3_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7750:1: ( ( rule__AttributeCS__OwnedTypeAssignment_3_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7785:1: ( ( ( rule__AttributeCS__OwnedTypeAssignment_3_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7786:1: ( ( rule__AttributeCS__OwnedTypeAssignment_3_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7750:1: ( ( rule__AttributeCS__OwnedTypeAssignment_3_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7751:1: ( rule__AttributeCS__OwnedTypeAssignment_3_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7786:1: ( ( rule__AttributeCS__OwnedTypeAssignment_3_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7787:1: ( rule__AttributeCS__OwnedTypeAssignment_3_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttributeCSAccess().getOwnedTypeAssignment_3_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7752:1: ( rule__AttributeCS__OwnedTypeAssignment_3_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7752:2: rule__AttributeCS__OwnedTypeAssignment_3_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7788:1: ( rule__AttributeCS__OwnedTypeAssignment_3_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7788:2: rule__AttributeCS__OwnedTypeAssignment_3_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__OwnedTypeAssignment_3_1_in_rule__AttributeCS__Group_3__1__Impl16850);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__OwnedTypeAssignment_3_1_in_rule__AttributeCS__Group_3__1__Impl16766);
             rule__AttributeCS__OwnedTypeAssignment_3_1();
 
             state._fsp--;
@@ -25947,21 +25676,21 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group_4__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7766:1: rule__AttributeCS__Group_4__0 : rule__AttributeCS__Group_4__0__Impl rule__AttributeCS__Group_4__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7802:1: rule__AttributeCS__Group_4__0 : rule__AttributeCS__Group_4__0__Impl rule__AttributeCS__Group_4__1 ;
     public final void rule__AttributeCS__Group_4__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7770:1: ( rule__AttributeCS__Group_4__0__Impl rule__AttributeCS__Group_4__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7771:2: rule__AttributeCS__Group_4__0__Impl rule__AttributeCS__Group_4__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7806:1: ( rule__AttributeCS__Group_4__0__Impl rule__AttributeCS__Group_4__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7807:2: rule__AttributeCS__Group_4__0__Impl rule__AttributeCS__Group_4__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_4__0__Impl_in_rule__AttributeCS__Group_4__016884);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_4__0__Impl_in_rule__AttributeCS__Group_4__016800);
             rule__AttributeCS__Group_4__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_4__1_in_rule__AttributeCS__Group_4__016887);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_4__1_in_rule__AttributeCS__Group_4__016803);
             rule__AttributeCS__Group_4__1();
 
             state._fsp--;
@@ -25985,22 +25714,22 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group_4__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7778:1: rule__AttributeCS__Group_4__0__Impl : ( '=' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7814:1: rule__AttributeCS__Group_4__0__Impl : ( '=' ) ;
     public final void rule__AttributeCS__Group_4__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7782:1: ( ( '=' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7783:1: ( '=' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7818:1: ( ( '=' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7819:1: ( '=' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7783:1: ( '=' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7784:1: '='
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7819:1: ( '=' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7820:1: '='
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttributeCSAccess().getEqualsSignKeyword_4_0()); 
             }
-            match(input,70,FollowSets000.FOLLOW_70_in_rule__AttributeCS__Group_4__0__Impl16915); if (state.failed) return ;
+            match(input,79,FollowSets000.FOLLOW_79_in_rule__AttributeCS__Group_4__0__Impl16831); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAttributeCSAccess().getEqualsSignKeyword_4_0()); 
             }
@@ -26026,16 +25755,16 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group_4__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7797:1: rule__AttributeCS__Group_4__1 : rule__AttributeCS__Group_4__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7833:1: rule__AttributeCS__Group_4__1 : rule__AttributeCS__Group_4__1__Impl ;
     public final void rule__AttributeCS__Group_4__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7801:1: ( rule__AttributeCS__Group_4__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7802:2: rule__AttributeCS__Group_4__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7837:1: ( rule__AttributeCS__Group_4__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7838:2: rule__AttributeCS__Group_4__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_4__1__Impl_in_rule__AttributeCS__Group_4__116946);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_4__1__Impl_in_rule__AttributeCS__Group_4__116862);
             rule__AttributeCS__Group_4__1__Impl();
 
             state._fsp--;
@@ -26059,25 +25788,25 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group_4__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7808:1: rule__AttributeCS__Group_4__1__Impl : ( ( rule__AttributeCS__DefaultAssignment_4_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7844:1: rule__AttributeCS__Group_4__1__Impl : ( ( rule__AttributeCS__DefaultAssignment_4_1 ) ) ;
     public final void rule__AttributeCS__Group_4__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7812:1: ( ( ( rule__AttributeCS__DefaultAssignment_4_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7813:1: ( ( rule__AttributeCS__DefaultAssignment_4_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7848:1: ( ( ( rule__AttributeCS__DefaultAssignment_4_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7849:1: ( ( rule__AttributeCS__DefaultAssignment_4_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7813:1: ( ( rule__AttributeCS__DefaultAssignment_4_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7814:1: ( rule__AttributeCS__DefaultAssignment_4_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7849:1: ( ( rule__AttributeCS__DefaultAssignment_4_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7850:1: ( rule__AttributeCS__DefaultAssignment_4_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttributeCSAccess().getDefaultAssignment_4_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7815:1: ( rule__AttributeCS__DefaultAssignment_4_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7815:2: rule__AttributeCS__DefaultAssignment_4_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7851:1: ( rule__AttributeCS__DefaultAssignment_4_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7851:2: rule__AttributeCS__DefaultAssignment_4_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__DefaultAssignment_4_1_in_rule__AttributeCS__Group_4__1__Impl16973);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__DefaultAssignment_4_1_in_rule__AttributeCS__Group_4__1__Impl16889);
             rule__AttributeCS__DefaultAssignment_4_1();
 
             state._fsp--;
@@ -26109,23 +25838,23 @@
     // $ANTLR end "rule__AttributeCS__Group_4__1__Impl"
 
 
-    // $ANTLR start "rule__AttributeCS__Group_5__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7829:1: rule__AttributeCS__Group_5__0 : rule__AttributeCS__Group_5__0__Impl rule__AttributeCS__Group_5__1 ;
-    public final void rule__AttributeCS__Group_5__0() throws RecognitionException {
+    // $ANTLR start "rule__AttributeCS__Group_5_0__0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7865:1: rule__AttributeCS__Group_5_0__0 : rule__AttributeCS__Group_5_0__0__Impl rule__AttributeCS__Group_5_0__1 ;
+    public final void rule__AttributeCS__Group_5_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7833:1: ( rule__AttributeCS__Group_5__0__Impl rule__AttributeCS__Group_5__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7834:2: rule__AttributeCS__Group_5__0__Impl rule__AttributeCS__Group_5__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7869:1: ( rule__AttributeCS__Group_5_0__0__Impl rule__AttributeCS__Group_5_0__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7870:2: rule__AttributeCS__Group_5_0__0__Impl rule__AttributeCS__Group_5_0__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5__0__Impl_in_rule__AttributeCS__Group_5__017007);
-            rule__AttributeCS__Group_5__0__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5_0__0__Impl_in_rule__AttributeCS__Group_5_0__016923);
+            rule__AttributeCS__Group_5_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5__1_in_rule__AttributeCS__Group_5__017010);
-            rule__AttributeCS__Group_5__1();
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5_0__1_in_rule__AttributeCS__Group_5_0__016926);
+            rule__AttributeCS__Group_5_0__1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -26144,28 +25873,28 @@
         }
         return ;
     }
-    // $ANTLR end "rule__AttributeCS__Group_5__0"
+    // $ANTLR end "rule__AttributeCS__Group_5_0__0"
 
 
-    // $ANTLR start "rule__AttributeCS__Group_5__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7841:1: rule__AttributeCS__Group_5__0__Impl : ( '{' ) ;
-    public final void rule__AttributeCS__Group_5__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AttributeCS__Group_5_0__0__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7877:1: rule__AttributeCS__Group_5_0__0__Impl : ( '{' ) ;
+    public final void rule__AttributeCS__Group_5_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7845:1: ( ( '{' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7846:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7881:1: ( ( '{' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7882:1: ( '{' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7846:1: ( '{' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7847:1: '{'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7882:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7883:1: '{'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getLeftCurlyBracketKeyword_5_0()); 
+               before(grammarAccess.getAttributeCSAccess().getLeftCurlyBracketKeyword_5_0_0()); 
             }
-            match(input,99,FollowSets000.FOLLOW_99_in_rule__AttributeCS__Group_5__0__Impl17038); if (state.failed) return ;
+            match(input,108,FollowSets000.FOLLOW_108_in_rule__AttributeCS__Group_5_0__0__Impl16954); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getLeftCurlyBracketKeyword_5_0()); 
+               after(grammarAccess.getAttributeCSAccess().getLeftCurlyBracketKeyword_5_0_0()); 
             }
 
             }
@@ -26185,26 +25914,21 @@
         }
         return ;
     }
-    // $ANTLR end "rule__AttributeCS__Group_5__0__Impl"
+    // $ANTLR end "rule__AttributeCS__Group_5_0__0__Impl"
 
 
-    // $ANTLR start "rule__AttributeCS__Group_5__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7860:1: rule__AttributeCS__Group_5__1 : rule__AttributeCS__Group_5__1__Impl rule__AttributeCS__Group_5__2 ;
-    public final void rule__AttributeCS__Group_5__1() throws RecognitionException {
+    // $ANTLR start "rule__AttributeCS__Group_5_0__1"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7896:1: rule__AttributeCS__Group_5_0__1 : rule__AttributeCS__Group_5_0__1__Impl ;
+    public final void rule__AttributeCS__Group_5_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7864:1: ( rule__AttributeCS__Group_5__1__Impl rule__AttributeCS__Group_5__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7865:2: rule__AttributeCS__Group_5__1__Impl rule__AttributeCS__Group_5__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7900:1: ( rule__AttributeCS__Group_5_0__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7901:2: rule__AttributeCS__Group_5_0__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5__1__Impl_in_rule__AttributeCS__Group_5__117069);
-            rule__AttributeCS__Group_5__1__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5__2_in_rule__AttributeCS__Group_5__117072);
-            rule__AttributeCS__Group_5__2();
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5_0__1__Impl_in_rule__AttributeCS__Group_5_0__116985);
+            rule__AttributeCS__Group_5_0__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
@@ -26223,159 +25947,49 @@
         }
         return ;
     }
-    // $ANTLR end "rule__AttributeCS__Group_5__1"
+    // $ANTLR end "rule__AttributeCS__Group_5_0__1"
 
 
-    // $ANTLR start "rule__AttributeCS__Group_5__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7872:1: rule__AttributeCS__Group_5__1__Impl : ( ( ( rule__AttributeCS__Group_5_1__0 ) ) ( ( rule__AttributeCS__Group_5_1__0 )* ) ) ;
-    public final void rule__AttributeCS__Group_5__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__AttributeCS__Group_5_0__1__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7907:1: rule__AttributeCS__Group_5_0__1__Impl : ( ( rule__AttributeCS__Group_5_0_1__0 )? ) ;
+    public final void rule__AttributeCS__Group_5_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7876:1: ( ( ( ( rule__AttributeCS__Group_5_1__0 ) ) ( ( rule__AttributeCS__Group_5_1__0 )* ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7877:1: ( ( ( rule__AttributeCS__Group_5_1__0 ) ) ( ( rule__AttributeCS__Group_5_1__0 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7911:1: ( ( ( rule__AttributeCS__Group_5_0_1__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7912:1: ( ( rule__AttributeCS__Group_5_0_1__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7877:1: ( ( ( rule__AttributeCS__Group_5_1__0 ) ) ( ( rule__AttributeCS__Group_5_1__0 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7878:1: ( ( rule__AttributeCS__Group_5_1__0 ) ) ( ( rule__AttributeCS__Group_5_1__0 )* )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7878:1: ( ( rule__AttributeCS__Group_5_1__0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7879:1: ( rule__AttributeCS__Group_5_1__0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7912:1: ( ( rule__AttributeCS__Group_5_0_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7913:1: ( rule__AttributeCS__Group_5_0_1__0 )?
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getGroup_5_1()); 
+               before(grammarAccess.getAttributeCSAccess().getGroup_5_0_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7880:1: ( rule__AttributeCS__Group_5_1__0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7880:2: rule__AttributeCS__Group_5_1__0
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5_1__0_in_rule__AttributeCS__Group_5__1__Impl17101);
-            rule__AttributeCS__Group_5_1__0();
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7914:1: ( rule__AttributeCS__Group_5_0_1__0 )?
+            int alt112=2;
+            int LA112_0 = input.LA(1);
 
-            state._fsp--;
-            if (state.failed) return ;
+            if ( (LA112_0==26||LA112_0==54) ) {
+                alt112=1;
+            }
+            switch (alt112) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7914:2: rule__AttributeCS__Group_5_0_1__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5_0_1__0_in_rule__AttributeCS__Group_5_0__1__Impl17012);
+                    rule__AttributeCS__Group_5_0_1__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getGroup_5_1()); 
-            }
-
-            }
-
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7883:1: ( ( rule__AttributeCS__Group_5_1__0 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7884:1: ( rule__AttributeCS__Group_5_1__0 )*
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getGroup_5_1()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7885:1: ( rule__AttributeCS__Group_5_1__0 )*
-            loop100:
-            do {
-                int alt100=2;
-                int LA100_0 = input.LA(1);
-
-                if ( (LA100_0==26||LA100_0==29||LA100_0==37||LA100_0==43||(LA100_0>=49 && LA100_0<=52)||(LA100_0>=120 && LA100_0<=127)) ) {
-                    alt100=1;
-                }
-
-
-                switch (alt100) {
-            	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7885:2: rule__AttributeCS__Group_5_1__0
-            	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5_1__0_in_rule__AttributeCS__Group_5__1__Impl17113);
-            	    rule__AttributeCS__Group_5_1__0();
-
-            	    state._fsp--;
-            	    if (state.failed) return ;
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop100;
-                }
-            } while (true);
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getGroup_5_1()); 
-            }
-
-            }
-
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__AttributeCS__Group_5__1__Impl"
-
-
-    // $ANTLR start "rule__AttributeCS__Group_5__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7896:1: rule__AttributeCS__Group_5__2 : rule__AttributeCS__Group_5__2__Impl ;
-    public final void rule__AttributeCS__Group_5__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7900:1: ( rule__AttributeCS__Group_5__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7901:2: rule__AttributeCS__Group_5__2__Impl
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5__2__Impl_in_rule__AttributeCS__Group_5__217146);
-            rule__AttributeCS__Group_5__2__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__AttributeCS__Group_5__2"
-
-
-    // $ANTLR start "rule__AttributeCS__Group_5__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7907:1: rule__AttributeCS__Group_5__2__Impl : ( '}' ) ;
-    public final void rule__AttributeCS__Group_5__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7911:1: ( ( '}' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7912:1: ( '}' )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7912:1: ( '}' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7913:1: '}'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getRightCurlyBracketKeyword_5_2()); 
-            }
-            match(input,100,FollowSets000.FOLLOW_100_in_rule__AttributeCS__Group_5__2__Impl17174); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getRightCurlyBracketKeyword_5_2()); 
+               after(grammarAccess.getAttributeCSAccess().getGroup_5_0_1()); 
             }
 
             }
@@ -26395,25 +26009,205 @@
         }
         return ;
     }
-    // $ANTLR end "rule__AttributeCS__Group_5__2__Impl"
+    // $ANTLR end "rule__AttributeCS__Group_5_0__1__Impl"
+
+
+    // $ANTLR start "rule__AttributeCS__Group_5_0_1__0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7928:1: rule__AttributeCS__Group_5_0_1__0 : rule__AttributeCS__Group_5_0_1__0__Impl rule__AttributeCS__Group_5_0_1__1 ;
+    public final void rule__AttributeCS__Group_5_0_1__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7932:1: ( rule__AttributeCS__Group_5_0_1__0__Impl rule__AttributeCS__Group_5_0_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7933:2: rule__AttributeCS__Group_5_0_1__0__Impl rule__AttributeCS__Group_5_0_1__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5_0_1__0__Impl_in_rule__AttributeCS__Group_5_0_1__017047);
+            rule__AttributeCS__Group_5_0_1__0__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5_0_1__1_in_rule__AttributeCS__Group_5_0_1__017050);
+            rule__AttributeCS__Group_5_0_1__1();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__Group_5_0_1__0"
+
+
+    // $ANTLR start "rule__AttributeCS__Group_5_0_1__0__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7940:1: rule__AttributeCS__Group_5_0_1__0__Impl : ( ( rule__AttributeCS__Alternatives_5_0_1_0 ) ) ;
+    public final void rule__AttributeCS__Group_5_0_1__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7944:1: ( ( ( rule__AttributeCS__Alternatives_5_0_1_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7945:1: ( ( rule__AttributeCS__Alternatives_5_0_1_0 ) )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7945:1: ( ( rule__AttributeCS__Alternatives_5_0_1_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7946:1: ( rule__AttributeCS__Alternatives_5_0_1_0 )
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getAttributeCSAccess().getAlternatives_5_0_1_0()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7947:1: ( rule__AttributeCS__Alternatives_5_0_1_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7947:2: rule__AttributeCS__Alternatives_5_0_1_0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Alternatives_5_0_1_0_in_rule__AttributeCS__Group_5_0_1__0__Impl17077);
+            rule__AttributeCS__Alternatives_5_0_1_0();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getAttributeCSAccess().getAlternatives_5_0_1_0()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__Group_5_0_1__0__Impl"
+
+
+    // $ANTLR start "rule__AttributeCS__Group_5_0_1__1"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7957:1: rule__AttributeCS__Group_5_0_1__1 : rule__AttributeCS__Group_5_0_1__1__Impl ;
+    public final void rule__AttributeCS__Group_5_0_1__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7961:1: ( rule__AttributeCS__Group_5_0_1__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7962:2: rule__AttributeCS__Group_5_0_1__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5_0_1__1__Impl_in_rule__AttributeCS__Group_5_0_1__117107);
+            rule__AttributeCS__Group_5_0_1__1__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__Group_5_0_1__1"
+
+
+    // $ANTLR start "rule__AttributeCS__Group_5_0_1__1__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7968:1: rule__AttributeCS__Group_5_0_1__1__Impl : ( ( ',' )? ) ;
+    public final void rule__AttributeCS__Group_5_0_1__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7972:1: ( ( ( ',' )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7973:1: ( ( ',' )? )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7973:1: ( ( ',' )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7974:1: ( ',' )?
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getAttributeCSAccess().getCommaKeyword_5_0_1_1()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7975:1: ( ',' )?
+            int alt113=2;
+            int LA113_0 = input.LA(1);
+
+            if ( (LA113_0==107) ) {
+                alt113=1;
+            }
+            switch (alt113) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7976:2: ','
+                    {
+                    match(input,107,FollowSets000.FOLLOW_107_in_rule__AttributeCS__Group_5_0_1__1__Impl17136); if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getAttributeCSAccess().getCommaKeyword_5_0_1_1()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__Group_5_0_1__1__Impl"
 
 
     // $ANTLR start "rule__AttributeCS__Group_5_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7932:1: rule__AttributeCS__Group_5_1__0 : rule__AttributeCS__Group_5_1__0__Impl rule__AttributeCS__Group_5_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7991:1: rule__AttributeCS__Group_5_1__0 : rule__AttributeCS__Group_5_1__0__Impl rule__AttributeCS__Group_5_1__1 ;
     public final void rule__AttributeCS__Group_5_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7936:1: ( rule__AttributeCS__Group_5_1__0__Impl rule__AttributeCS__Group_5_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7937:2: rule__AttributeCS__Group_5_1__0__Impl rule__AttributeCS__Group_5_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7995:1: ( rule__AttributeCS__Group_5_1__0__Impl rule__AttributeCS__Group_5_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7996:2: rule__AttributeCS__Group_5_1__0__Impl rule__AttributeCS__Group_5_1__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5_1__0__Impl_in_rule__AttributeCS__Group_5_1__017211);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5_1__0__Impl_in_rule__AttributeCS__Group_5_1__017173);
             rule__AttributeCS__Group_5_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5_1__1_in_rule__AttributeCS__Group_5_1__017214);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5_1__1_in_rule__AttributeCS__Group_5_1__017176);
             rule__AttributeCS__Group_5_1__1();
 
             state._fsp--;
@@ -26437,25 +26231,25 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group_5_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7944:1: rule__AttributeCS__Group_5_1__0__Impl : ( ( rule__AttributeCS__Alternatives_5_1_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8003:1: rule__AttributeCS__Group_5_1__0__Impl : ( ( rule__AttributeCS__Alternatives_5_1_0 ) ) ;
     public final void rule__AttributeCS__Group_5_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7948:1: ( ( ( rule__AttributeCS__Alternatives_5_1_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7949:1: ( ( rule__AttributeCS__Alternatives_5_1_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8007:1: ( ( ( rule__AttributeCS__Alternatives_5_1_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8008:1: ( ( rule__AttributeCS__Alternatives_5_1_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7949:1: ( ( rule__AttributeCS__Alternatives_5_1_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7950:1: ( rule__AttributeCS__Alternatives_5_1_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8008:1: ( ( rule__AttributeCS__Alternatives_5_1_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8009:1: ( rule__AttributeCS__Alternatives_5_1_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttributeCSAccess().getAlternatives_5_1_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7951:1: ( rule__AttributeCS__Alternatives_5_1_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7951:2: rule__AttributeCS__Alternatives_5_1_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8010:1: ( rule__AttributeCS__Alternatives_5_1_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8010:2: rule__AttributeCS__Alternatives_5_1_0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Alternatives_5_1_0_in_rule__AttributeCS__Group_5_1__0__Impl17241);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Alternatives_5_1_0_in_rule__AttributeCS__Group_5_1__0__Impl17203);
             rule__AttributeCS__Alternatives_5_1_0();
 
             state._fsp--;
@@ -26488,16 +26282,16 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group_5_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7961:1: rule__AttributeCS__Group_5_1__1 : rule__AttributeCS__Group_5_1__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8020:1: rule__AttributeCS__Group_5_1__1 : rule__AttributeCS__Group_5_1__1__Impl ;
     public final void rule__AttributeCS__Group_5_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7965:1: ( rule__AttributeCS__Group_5_1__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7966:2: rule__AttributeCS__Group_5_1__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8024:1: ( rule__AttributeCS__Group_5_1__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8025:2: rule__AttributeCS__Group_5_1__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5_1__1__Impl_in_rule__AttributeCS__Group_5_1__117271);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5_1__1__Impl_in_rule__AttributeCS__Group_5_1__117233);
             rule__AttributeCS__Group_5_1__1__Impl();
 
             state._fsp--;
@@ -26521,33 +26315,33 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group_5_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7972:1: rule__AttributeCS__Group_5_1__1__Impl : ( ( ',' )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8031:1: rule__AttributeCS__Group_5_1__1__Impl : ( ( ',' )? ) ;
     public final void rule__AttributeCS__Group_5_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7976:1: ( ( ( ',' )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7977:1: ( ( ',' )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8035:1: ( ( ( ',' )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8036:1: ( ( ',' )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7977:1: ( ( ',' )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7978:1: ( ',' )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8036:1: ( ( ',' )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8037:1: ( ',' )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttributeCSAccess().getCommaKeyword_5_1_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7979:1: ( ',' )?
-            int alt101=2;
-            int LA101_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8038:1: ( ',' )?
+            int alt114=2;
+            int LA114_0 = input.LA(1);
 
-            if ( (LA101_0==98) ) {
-                alt101=1;
+            if ( (LA114_0==107) ) {
+                alt114=1;
             }
-            switch (alt101) {
+            switch (alt114) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7980:2: ','
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8039:2: ','
                     {
-                    match(input,98,FollowSets000.FOLLOW_98_in_rule__AttributeCS__Group_5_1__1__Impl17300); if (state.failed) return ;
+                    match(input,107,FollowSets000.FOLLOW_107_in_rule__AttributeCS__Group_5_1__1__Impl17262); if (state.failed) return ;
 
                     }
                     break;
@@ -26578,22 +26372,1276 @@
     // $ANTLR end "rule__AttributeCS__Group_5_1__1__Impl"
 
 
+    // $ANTLR start "rule__AttributeCS__Group_5_2__0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8054:1: rule__AttributeCS__Group_5_2__0 : rule__AttributeCS__Group_5_2__0__Impl rule__AttributeCS__Group_5_2__1 ;
+    public final void rule__AttributeCS__Group_5_2__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8058:1: ( rule__AttributeCS__Group_5_2__0__Impl rule__AttributeCS__Group_5_2__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8059:2: rule__AttributeCS__Group_5_2__0__Impl rule__AttributeCS__Group_5_2__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5_2__0__Impl_in_rule__AttributeCS__Group_5_2__017299);
+            rule__AttributeCS__Group_5_2__0__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5_2__1_in_rule__AttributeCS__Group_5_2__017302);
+            rule__AttributeCS__Group_5_2__1();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__Group_5_2__0"
+
+
+    // $ANTLR start "rule__AttributeCS__Group_5_2__0__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8066:1: rule__AttributeCS__Group_5_2__0__Impl : ( ( rule__AttributeCS__Alternatives_5_2_0 ) ) ;
+    public final void rule__AttributeCS__Group_5_2__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8070:1: ( ( ( rule__AttributeCS__Alternatives_5_2_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8071:1: ( ( rule__AttributeCS__Alternatives_5_2_0 ) )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8071:1: ( ( rule__AttributeCS__Alternatives_5_2_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8072:1: ( rule__AttributeCS__Alternatives_5_2_0 )
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getAttributeCSAccess().getAlternatives_5_2_0()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8073:1: ( rule__AttributeCS__Alternatives_5_2_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8073:2: rule__AttributeCS__Alternatives_5_2_0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Alternatives_5_2_0_in_rule__AttributeCS__Group_5_2__0__Impl17329);
+            rule__AttributeCS__Alternatives_5_2_0();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getAttributeCSAccess().getAlternatives_5_2_0()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__Group_5_2__0__Impl"
+
+
+    // $ANTLR start "rule__AttributeCS__Group_5_2__1"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8083:1: rule__AttributeCS__Group_5_2__1 : rule__AttributeCS__Group_5_2__1__Impl ;
+    public final void rule__AttributeCS__Group_5_2__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8087:1: ( rule__AttributeCS__Group_5_2__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8088:2: rule__AttributeCS__Group_5_2__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5_2__1__Impl_in_rule__AttributeCS__Group_5_2__117359);
+            rule__AttributeCS__Group_5_2__1__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__Group_5_2__1"
+
+
+    // $ANTLR start "rule__AttributeCS__Group_5_2__1__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8094:1: rule__AttributeCS__Group_5_2__1__Impl : ( ( ',' )? ) ;
+    public final void rule__AttributeCS__Group_5_2__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8098:1: ( ( ( ',' )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8099:1: ( ( ',' )? )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8099:1: ( ( ',' )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8100:1: ( ',' )?
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getAttributeCSAccess().getCommaKeyword_5_2_1()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8101:1: ( ',' )?
+            int alt115=2;
+            int LA115_0 = input.LA(1);
+
+            if ( (LA115_0==107) ) {
+                alt115=1;
+            }
+            switch (alt115) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8102:2: ','
+                    {
+                    match(input,107,FollowSets000.FOLLOW_107_in_rule__AttributeCS__Group_5_2__1__Impl17388); if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getAttributeCSAccess().getCommaKeyword_5_2_1()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__Group_5_2__1__Impl"
+
+
+    // $ANTLR start "rule__AttributeCS__Group_5_3__0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8117:1: rule__AttributeCS__Group_5_3__0 : rule__AttributeCS__Group_5_3__0__Impl rule__AttributeCS__Group_5_3__1 ;
+    public final void rule__AttributeCS__Group_5_3__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8121:1: ( rule__AttributeCS__Group_5_3__0__Impl rule__AttributeCS__Group_5_3__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8122:2: rule__AttributeCS__Group_5_3__0__Impl rule__AttributeCS__Group_5_3__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5_3__0__Impl_in_rule__AttributeCS__Group_5_3__017425);
+            rule__AttributeCS__Group_5_3__0__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5_3__1_in_rule__AttributeCS__Group_5_3__017428);
+            rule__AttributeCS__Group_5_3__1();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__Group_5_3__0"
+
+
+    // $ANTLR start "rule__AttributeCS__Group_5_3__0__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8129:1: rule__AttributeCS__Group_5_3__0__Impl : ( ( rule__AttributeCS__Alternatives_5_3_0 ) ) ;
+    public final void rule__AttributeCS__Group_5_3__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8133:1: ( ( ( rule__AttributeCS__Alternatives_5_3_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8134:1: ( ( rule__AttributeCS__Alternatives_5_3_0 ) )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8134:1: ( ( rule__AttributeCS__Alternatives_5_3_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8135:1: ( rule__AttributeCS__Alternatives_5_3_0 )
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getAttributeCSAccess().getAlternatives_5_3_0()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8136:1: ( rule__AttributeCS__Alternatives_5_3_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8136:2: rule__AttributeCS__Alternatives_5_3_0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Alternatives_5_3_0_in_rule__AttributeCS__Group_5_3__0__Impl17455);
+            rule__AttributeCS__Alternatives_5_3_0();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getAttributeCSAccess().getAlternatives_5_3_0()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__Group_5_3__0__Impl"
+
+
+    // $ANTLR start "rule__AttributeCS__Group_5_3__1"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8146:1: rule__AttributeCS__Group_5_3__1 : rule__AttributeCS__Group_5_3__1__Impl ;
+    public final void rule__AttributeCS__Group_5_3__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8150:1: ( rule__AttributeCS__Group_5_3__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8151:2: rule__AttributeCS__Group_5_3__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5_3__1__Impl_in_rule__AttributeCS__Group_5_3__117485);
+            rule__AttributeCS__Group_5_3__1__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__Group_5_3__1"
+
+
+    // $ANTLR start "rule__AttributeCS__Group_5_3__1__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8157:1: rule__AttributeCS__Group_5_3__1__Impl : ( ( ',' )? ) ;
+    public final void rule__AttributeCS__Group_5_3__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8161:1: ( ( ( ',' )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8162:1: ( ( ',' )? )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8162:1: ( ( ',' )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8163:1: ( ',' )?
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getAttributeCSAccess().getCommaKeyword_5_3_1()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8164:1: ( ',' )?
+            int alt116=2;
+            int LA116_0 = input.LA(1);
+
+            if ( (LA116_0==107) ) {
+                alt116=1;
+            }
+            switch (alt116) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8165:2: ','
+                    {
+                    match(input,107,FollowSets000.FOLLOW_107_in_rule__AttributeCS__Group_5_3__1__Impl17514); if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getAttributeCSAccess().getCommaKeyword_5_3_1()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__Group_5_3__1__Impl"
+
+
+    // $ANTLR start "rule__AttributeCS__Group_5_4__0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8180:1: rule__AttributeCS__Group_5_4__0 : rule__AttributeCS__Group_5_4__0__Impl rule__AttributeCS__Group_5_4__1 ;
+    public final void rule__AttributeCS__Group_5_4__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8184:1: ( rule__AttributeCS__Group_5_4__0__Impl rule__AttributeCS__Group_5_4__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8185:2: rule__AttributeCS__Group_5_4__0__Impl rule__AttributeCS__Group_5_4__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5_4__0__Impl_in_rule__AttributeCS__Group_5_4__017551);
+            rule__AttributeCS__Group_5_4__0__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5_4__1_in_rule__AttributeCS__Group_5_4__017554);
+            rule__AttributeCS__Group_5_4__1();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__Group_5_4__0"
+
+
+    // $ANTLR start "rule__AttributeCS__Group_5_4__0__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8192:1: rule__AttributeCS__Group_5_4__0__Impl : ( ( rule__AttributeCS__Alternatives_5_4_0 ) ) ;
+    public final void rule__AttributeCS__Group_5_4__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8196:1: ( ( ( rule__AttributeCS__Alternatives_5_4_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8197:1: ( ( rule__AttributeCS__Alternatives_5_4_0 ) )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8197:1: ( ( rule__AttributeCS__Alternatives_5_4_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8198:1: ( rule__AttributeCS__Alternatives_5_4_0 )
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getAttributeCSAccess().getAlternatives_5_4_0()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8199:1: ( rule__AttributeCS__Alternatives_5_4_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8199:2: rule__AttributeCS__Alternatives_5_4_0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Alternatives_5_4_0_in_rule__AttributeCS__Group_5_4__0__Impl17581);
+            rule__AttributeCS__Alternatives_5_4_0();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getAttributeCSAccess().getAlternatives_5_4_0()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__Group_5_4__0__Impl"
+
+
+    // $ANTLR start "rule__AttributeCS__Group_5_4__1"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8209:1: rule__AttributeCS__Group_5_4__1 : rule__AttributeCS__Group_5_4__1__Impl ;
+    public final void rule__AttributeCS__Group_5_4__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8213:1: ( rule__AttributeCS__Group_5_4__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8214:2: rule__AttributeCS__Group_5_4__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5_4__1__Impl_in_rule__AttributeCS__Group_5_4__117611);
+            rule__AttributeCS__Group_5_4__1__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__Group_5_4__1"
+
+
+    // $ANTLR start "rule__AttributeCS__Group_5_4__1__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8220:1: rule__AttributeCS__Group_5_4__1__Impl : ( ( ',' )? ) ;
+    public final void rule__AttributeCS__Group_5_4__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8224:1: ( ( ( ',' )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8225:1: ( ( ',' )? )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8225:1: ( ( ',' )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8226:1: ( ',' )?
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getAttributeCSAccess().getCommaKeyword_5_4_1()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8227:1: ( ',' )?
+            int alt117=2;
+            int LA117_0 = input.LA(1);
+
+            if ( (LA117_0==107) ) {
+                alt117=1;
+            }
+            switch (alt117) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8228:2: ','
+                    {
+                    match(input,107,FollowSets000.FOLLOW_107_in_rule__AttributeCS__Group_5_4__1__Impl17640); if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getAttributeCSAccess().getCommaKeyword_5_4_1()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__Group_5_4__1__Impl"
+
+
+    // $ANTLR start "rule__AttributeCS__Group_5_5__0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8243:1: rule__AttributeCS__Group_5_5__0 : rule__AttributeCS__Group_5_5__0__Impl rule__AttributeCS__Group_5_5__1 ;
+    public final void rule__AttributeCS__Group_5_5__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8247:1: ( rule__AttributeCS__Group_5_5__0__Impl rule__AttributeCS__Group_5_5__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8248:2: rule__AttributeCS__Group_5_5__0__Impl rule__AttributeCS__Group_5_5__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5_5__0__Impl_in_rule__AttributeCS__Group_5_5__017677);
+            rule__AttributeCS__Group_5_5__0__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5_5__1_in_rule__AttributeCS__Group_5_5__017680);
+            rule__AttributeCS__Group_5_5__1();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__Group_5_5__0"
+
+
+    // $ANTLR start "rule__AttributeCS__Group_5_5__0__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8255:1: rule__AttributeCS__Group_5_5__0__Impl : ( ( rule__AttributeCS__Alternatives_5_5_0 ) ) ;
+    public final void rule__AttributeCS__Group_5_5__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8259:1: ( ( ( rule__AttributeCS__Alternatives_5_5_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8260:1: ( ( rule__AttributeCS__Alternatives_5_5_0 ) )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8260:1: ( ( rule__AttributeCS__Alternatives_5_5_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8261:1: ( rule__AttributeCS__Alternatives_5_5_0 )
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getAttributeCSAccess().getAlternatives_5_5_0()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8262:1: ( rule__AttributeCS__Alternatives_5_5_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8262:2: rule__AttributeCS__Alternatives_5_5_0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Alternatives_5_5_0_in_rule__AttributeCS__Group_5_5__0__Impl17707);
+            rule__AttributeCS__Alternatives_5_5_0();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getAttributeCSAccess().getAlternatives_5_5_0()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__Group_5_5__0__Impl"
+
+
+    // $ANTLR start "rule__AttributeCS__Group_5_5__1"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8272:1: rule__AttributeCS__Group_5_5__1 : rule__AttributeCS__Group_5_5__1__Impl ;
+    public final void rule__AttributeCS__Group_5_5__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8276:1: ( rule__AttributeCS__Group_5_5__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8277:2: rule__AttributeCS__Group_5_5__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5_5__1__Impl_in_rule__AttributeCS__Group_5_5__117737);
+            rule__AttributeCS__Group_5_5__1__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__Group_5_5__1"
+
+
+    // $ANTLR start "rule__AttributeCS__Group_5_5__1__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8283:1: rule__AttributeCS__Group_5_5__1__Impl : ( ( ',' )? ) ;
+    public final void rule__AttributeCS__Group_5_5__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8287:1: ( ( ( ',' )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8288:1: ( ( ',' )? )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8288:1: ( ( ',' )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8289:1: ( ',' )?
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getAttributeCSAccess().getCommaKeyword_5_5_1()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8290:1: ( ',' )?
+            int alt118=2;
+            int LA118_0 = input.LA(1);
+
+            if ( (LA118_0==107) ) {
+                alt118=1;
+            }
+            switch (alt118) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8291:2: ','
+                    {
+                    match(input,107,FollowSets000.FOLLOW_107_in_rule__AttributeCS__Group_5_5__1__Impl17766); if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getAttributeCSAccess().getCommaKeyword_5_5_1()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__Group_5_5__1__Impl"
+
+
+    // $ANTLR start "rule__AttributeCS__Group_5_6__0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8306:1: rule__AttributeCS__Group_5_6__0 : rule__AttributeCS__Group_5_6__0__Impl rule__AttributeCS__Group_5_6__1 ;
+    public final void rule__AttributeCS__Group_5_6__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8310:1: ( rule__AttributeCS__Group_5_6__0__Impl rule__AttributeCS__Group_5_6__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8311:2: rule__AttributeCS__Group_5_6__0__Impl rule__AttributeCS__Group_5_6__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5_6__0__Impl_in_rule__AttributeCS__Group_5_6__017803);
+            rule__AttributeCS__Group_5_6__0__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5_6__1_in_rule__AttributeCS__Group_5_6__017806);
+            rule__AttributeCS__Group_5_6__1();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__Group_5_6__0"
+
+
+    // $ANTLR start "rule__AttributeCS__Group_5_6__0__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8318:1: rule__AttributeCS__Group_5_6__0__Impl : ( ( rule__AttributeCS__Alternatives_5_6_0 ) ) ;
+    public final void rule__AttributeCS__Group_5_6__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8322:1: ( ( ( rule__AttributeCS__Alternatives_5_6_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8323:1: ( ( rule__AttributeCS__Alternatives_5_6_0 ) )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8323:1: ( ( rule__AttributeCS__Alternatives_5_6_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8324:1: ( rule__AttributeCS__Alternatives_5_6_0 )
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getAttributeCSAccess().getAlternatives_5_6_0()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8325:1: ( rule__AttributeCS__Alternatives_5_6_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8325:2: rule__AttributeCS__Alternatives_5_6_0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Alternatives_5_6_0_in_rule__AttributeCS__Group_5_6__0__Impl17833);
+            rule__AttributeCS__Alternatives_5_6_0();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getAttributeCSAccess().getAlternatives_5_6_0()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__Group_5_6__0__Impl"
+
+
+    // $ANTLR start "rule__AttributeCS__Group_5_6__1"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8335:1: rule__AttributeCS__Group_5_6__1 : rule__AttributeCS__Group_5_6__1__Impl ;
+    public final void rule__AttributeCS__Group_5_6__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8339:1: ( rule__AttributeCS__Group_5_6__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8340:2: rule__AttributeCS__Group_5_6__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5_6__1__Impl_in_rule__AttributeCS__Group_5_6__117863);
+            rule__AttributeCS__Group_5_6__1__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__Group_5_6__1"
+
+
+    // $ANTLR start "rule__AttributeCS__Group_5_6__1__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8346:1: rule__AttributeCS__Group_5_6__1__Impl : ( ( ',' )? ) ;
+    public final void rule__AttributeCS__Group_5_6__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8350:1: ( ( ( ',' )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8351:1: ( ( ',' )? )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8351:1: ( ( ',' )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8352:1: ( ',' )?
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getAttributeCSAccess().getCommaKeyword_5_6_1()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8353:1: ( ',' )?
+            int alt119=2;
+            int LA119_0 = input.LA(1);
+
+            if ( (LA119_0==107) ) {
+                alt119=1;
+            }
+            switch (alt119) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8354:2: ','
+                    {
+                    match(input,107,FollowSets000.FOLLOW_107_in_rule__AttributeCS__Group_5_6__1__Impl17892); if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getAttributeCSAccess().getCommaKeyword_5_6_1()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__Group_5_6__1__Impl"
+
+
+    // $ANTLR start "rule__AttributeCS__Group_5_7__0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8369:1: rule__AttributeCS__Group_5_7__0 : rule__AttributeCS__Group_5_7__0__Impl rule__AttributeCS__Group_5_7__1 ;
+    public final void rule__AttributeCS__Group_5_7__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8373:1: ( rule__AttributeCS__Group_5_7__0__Impl rule__AttributeCS__Group_5_7__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8374:2: rule__AttributeCS__Group_5_7__0__Impl rule__AttributeCS__Group_5_7__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5_7__0__Impl_in_rule__AttributeCS__Group_5_7__017929);
+            rule__AttributeCS__Group_5_7__0__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5_7__1_in_rule__AttributeCS__Group_5_7__017932);
+            rule__AttributeCS__Group_5_7__1();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__Group_5_7__0"
+
+
+    // $ANTLR start "rule__AttributeCS__Group_5_7__0__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8381:1: rule__AttributeCS__Group_5_7__0__Impl : ( ( rule__AttributeCS__Group_5_7_0__0 )? ) ;
+    public final void rule__AttributeCS__Group_5_7__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8385:1: ( ( ( rule__AttributeCS__Group_5_7_0__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8386:1: ( ( rule__AttributeCS__Group_5_7_0__0 )? )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8386:1: ( ( rule__AttributeCS__Group_5_7_0__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8387:1: ( rule__AttributeCS__Group_5_7_0__0 )?
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getAttributeCSAccess().getGroup_5_7_0()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8388:1: ( rule__AttributeCS__Group_5_7_0__0 )?
+            int alt120=2;
+            int LA120_0 = input.LA(1);
+
+            if ( (LA120_0==52||LA120_0==60) ) {
+                alt120=1;
+            }
+            switch (alt120) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8388:2: rule__AttributeCS__Group_5_7_0__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5_7_0__0_in_rule__AttributeCS__Group_5_7__0__Impl17959);
+                    rule__AttributeCS__Group_5_7_0__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getAttributeCSAccess().getGroup_5_7_0()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__Group_5_7__0__Impl"
+
+
+    // $ANTLR start "rule__AttributeCS__Group_5_7__1"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8398:1: rule__AttributeCS__Group_5_7__1 : rule__AttributeCS__Group_5_7__1__Impl ;
+    public final void rule__AttributeCS__Group_5_7__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8402:1: ( rule__AttributeCS__Group_5_7__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8403:2: rule__AttributeCS__Group_5_7__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5_7__1__Impl_in_rule__AttributeCS__Group_5_7__117990);
+            rule__AttributeCS__Group_5_7__1__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__Group_5_7__1"
+
+
+    // $ANTLR start "rule__AttributeCS__Group_5_7__1__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8409:1: rule__AttributeCS__Group_5_7__1__Impl : ( '}' ) ;
+    public final void rule__AttributeCS__Group_5_7__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8413:1: ( ( '}' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8414:1: ( '}' )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8414:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8415:1: '}'
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getAttributeCSAccess().getRightCurlyBracketKeyword_5_7_1()); 
+            }
+            match(input,109,FollowSets000.FOLLOW_109_in_rule__AttributeCS__Group_5_7__1__Impl18018); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getAttributeCSAccess().getRightCurlyBracketKeyword_5_7_1()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__Group_5_7__1__Impl"
+
+
+    // $ANTLR start "rule__AttributeCS__Group_5_7_0__0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8432:1: rule__AttributeCS__Group_5_7_0__0 : rule__AttributeCS__Group_5_7_0__0__Impl rule__AttributeCS__Group_5_7_0__1 ;
+    public final void rule__AttributeCS__Group_5_7_0__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8436:1: ( rule__AttributeCS__Group_5_7_0__0__Impl rule__AttributeCS__Group_5_7_0__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8437:2: rule__AttributeCS__Group_5_7_0__0__Impl rule__AttributeCS__Group_5_7_0__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5_7_0__0__Impl_in_rule__AttributeCS__Group_5_7_0__018053);
+            rule__AttributeCS__Group_5_7_0__0__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5_7_0__1_in_rule__AttributeCS__Group_5_7_0__018056);
+            rule__AttributeCS__Group_5_7_0__1();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__Group_5_7_0__0"
+
+
+    // $ANTLR start "rule__AttributeCS__Group_5_7_0__0__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8444:1: rule__AttributeCS__Group_5_7_0__0__Impl : ( ( rule__AttributeCS__Alternatives_5_7_0_0 ) ) ;
+    public final void rule__AttributeCS__Group_5_7_0__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8448:1: ( ( ( rule__AttributeCS__Alternatives_5_7_0_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8449:1: ( ( rule__AttributeCS__Alternatives_5_7_0_0 ) )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8449:1: ( ( rule__AttributeCS__Alternatives_5_7_0_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8450:1: ( rule__AttributeCS__Alternatives_5_7_0_0 )
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getAttributeCSAccess().getAlternatives_5_7_0_0()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8451:1: ( rule__AttributeCS__Alternatives_5_7_0_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8451:2: rule__AttributeCS__Alternatives_5_7_0_0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Alternatives_5_7_0_0_in_rule__AttributeCS__Group_5_7_0__0__Impl18083);
+            rule__AttributeCS__Alternatives_5_7_0_0();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getAttributeCSAccess().getAlternatives_5_7_0_0()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__Group_5_7_0__0__Impl"
+
+
+    // $ANTLR start "rule__AttributeCS__Group_5_7_0__1"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8461:1: rule__AttributeCS__Group_5_7_0__1 : rule__AttributeCS__Group_5_7_0__1__Impl ;
+    public final void rule__AttributeCS__Group_5_7_0__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8465:1: ( rule__AttributeCS__Group_5_7_0__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8466:2: rule__AttributeCS__Group_5_7_0__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_5_7_0__1__Impl_in_rule__AttributeCS__Group_5_7_0__118113);
+            rule__AttributeCS__Group_5_7_0__1__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__Group_5_7_0__1"
+
+
+    // $ANTLR start "rule__AttributeCS__Group_5_7_0__1__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8472:1: rule__AttributeCS__Group_5_7_0__1__Impl : ( ( ',' )? ) ;
+    public final void rule__AttributeCS__Group_5_7_0__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8476:1: ( ( ( ',' )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8477:1: ( ( ',' )? )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8477:1: ( ( ',' )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8478:1: ( ',' )?
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getAttributeCSAccess().getCommaKeyword_5_7_0_1()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8479:1: ( ',' )?
+            int alt121=2;
+            int LA121_0 = input.LA(1);
+
+            if ( (LA121_0==107) ) {
+                alt121=1;
+            }
+            switch (alt121) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8480:2: ','
+                    {
+                    match(input,107,FollowSets000.FOLLOW_107_in_rule__AttributeCS__Group_5_7_0__1__Impl18142); if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getAttributeCSAccess().getCommaKeyword_5_7_0_1()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__Group_5_7_0__1__Impl"
+
+
     // $ANTLR start "rule__AttributeCS__Group_6_0__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7995:1: rule__AttributeCS__Group_6_0__0 : rule__AttributeCS__Group_6_0__0__Impl rule__AttributeCS__Group_6_0__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8495:1: rule__AttributeCS__Group_6_0__0 : rule__AttributeCS__Group_6_0__0__Impl rule__AttributeCS__Group_6_0__1 ;
     public final void rule__AttributeCS__Group_6_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7999:1: ( rule__AttributeCS__Group_6_0__0__Impl rule__AttributeCS__Group_6_0__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8000:2: rule__AttributeCS__Group_6_0__0__Impl rule__AttributeCS__Group_6_0__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8499:1: ( rule__AttributeCS__Group_6_0__0__Impl rule__AttributeCS__Group_6_0__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8500:2: rule__AttributeCS__Group_6_0__0__Impl rule__AttributeCS__Group_6_0__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0__0__Impl_in_rule__AttributeCS__Group_6_0__017337);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0__0__Impl_in_rule__AttributeCS__Group_6_0__018179);
             rule__AttributeCS__Group_6_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0__1_in_rule__AttributeCS__Group_6_0__017340);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0__1_in_rule__AttributeCS__Group_6_0__018182);
             rule__AttributeCS__Group_6_0__1();
 
             state._fsp--;
@@ -26617,22 +27665,22 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group_6_0__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8007:1: rule__AttributeCS__Group_6_0__0__Impl : ( '{' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8507:1: rule__AttributeCS__Group_6_0__0__Impl : ( '{' ) ;
     public final void rule__AttributeCS__Group_6_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8011:1: ( ( '{' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8012:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8511:1: ( ( '{' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8512:1: ( '{' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8012:1: ( '{' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8013:1: '{'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8512:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8513:1: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttributeCSAccess().getLeftCurlyBracketKeyword_6_0_0()); 
             }
-            match(input,99,FollowSets000.FOLLOW_99_in_rule__AttributeCS__Group_6_0__0__Impl17368); if (state.failed) return ;
+            match(input,108,FollowSets000.FOLLOW_108_in_rule__AttributeCS__Group_6_0__0__Impl18210); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAttributeCSAccess().getLeftCurlyBracketKeyword_6_0_0()); 
             }
@@ -26658,21 +27706,21 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group_6_0__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8026:1: rule__AttributeCS__Group_6_0__1 : rule__AttributeCS__Group_6_0__1__Impl rule__AttributeCS__Group_6_0__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8526:1: rule__AttributeCS__Group_6_0__1 : rule__AttributeCS__Group_6_0__1__Impl rule__AttributeCS__Group_6_0__2 ;
     public final void rule__AttributeCS__Group_6_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8030:1: ( rule__AttributeCS__Group_6_0__1__Impl rule__AttributeCS__Group_6_0__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8031:2: rule__AttributeCS__Group_6_0__1__Impl rule__AttributeCS__Group_6_0__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8530:1: ( rule__AttributeCS__Group_6_0__1__Impl rule__AttributeCS__Group_6_0__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8531:2: rule__AttributeCS__Group_6_0__1__Impl rule__AttributeCS__Group_6_0__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0__1__Impl_in_rule__AttributeCS__Group_6_0__117399);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0__1__Impl_in_rule__AttributeCS__Group_6_0__118241);
             rule__AttributeCS__Group_6_0__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0__2_in_rule__AttributeCS__Group_6_0__117402);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0__2_in_rule__AttributeCS__Group_6_0__118244);
             rule__AttributeCS__Group_6_0__2();
 
             state._fsp--;
@@ -26696,37 +27744,37 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group_6_0__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8038:1: rule__AttributeCS__Group_6_0__1__Impl : ( ( rule__AttributeCS__Alternatives_6_0_1 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8538:1: rule__AttributeCS__Group_6_0__1__Impl : ( ( rule__AttributeCS__Alternatives_6_0_1 )* ) ;
     public final void rule__AttributeCS__Group_6_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8042:1: ( ( ( rule__AttributeCS__Alternatives_6_0_1 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8043:1: ( ( rule__AttributeCS__Alternatives_6_0_1 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8542:1: ( ( ( rule__AttributeCS__Alternatives_6_0_1 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8543:1: ( ( rule__AttributeCS__Alternatives_6_0_1 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8043:1: ( ( rule__AttributeCS__Alternatives_6_0_1 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8044:1: ( rule__AttributeCS__Alternatives_6_0_1 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8543:1: ( ( rule__AttributeCS__Alternatives_6_0_1 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8544:1: ( rule__AttributeCS__Alternatives_6_0_1 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttributeCSAccess().getAlternatives_6_0_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8045:1: ( rule__AttributeCS__Alternatives_6_0_1 )*
-            loop102:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8545:1: ( rule__AttributeCS__Alternatives_6_0_1 )*
+            loop122:
             do {
-                int alt102=2;
-                int LA102_0 = input.LA(1);
+                int alt122=2;
+                int LA122_0 = input.LA(1);
 
-                if ( (LA102_0==25||LA102_0==31||(LA102_0>=55 && LA102_0<=56)||LA102_0==60) ) {
-                    alt102=1;
+                if ( (LA122_0==25||LA122_0==31||(LA122_0>=64 && LA122_0<=65)||LA122_0==69) ) {
+                    alt122=1;
                 }
 
 
-                switch (alt102) {
+                switch (alt122) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8045:2: rule__AttributeCS__Alternatives_6_0_1
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8545:2: rule__AttributeCS__Alternatives_6_0_1
             	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Alternatives_6_0_1_in_rule__AttributeCS__Group_6_0__1__Impl17429);
+            	    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Alternatives_6_0_1_in_rule__AttributeCS__Group_6_0__1__Impl18271);
             	    rule__AttributeCS__Alternatives_6_0_1();
 
             	    state._fsp--;
@@ -26736,7 +27784,7 @@
             	    break;
 
             	default :
-            	    break loop102;
+            	    break loop122;
                 }
             } while (true);
 
@@ -26765,16 +27813,16 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group_6_0__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8055:1: rule__AttributeCS__Group_6_0__2 : rule__AttributeCS__Group_6_0__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8555:1: rule__AttributeCS__Group_6_0__2 : rule__AttributeCS__Group_6_0__2__Impl ;
     public final void rule__AttributeCS__Group_6_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8059:1: ( rule__AttributeCS__Group_6_0__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8060:2: rule__AttributeCS__Group_6_0__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8559:1: ( rule__AttributeCS__Group_6_0__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8560:2: rule__AttributeCS__Group_6_0__2__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0__2__Impl_in_rule__AttributeCS__Group_6_0__217460);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0__2__Impl_in_rule__AttributeCS__Group_6_0__218302);
             rule__AttributeCS__Group_6_0__2__Impl();
 
             state._fsp--;
@@ -26798,22 +27846,22 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group_6_0__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8066:1: rule__AttributeCS__Group_6_0__2__Impl : ( '}' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8566:1: rule__AttributeCS__Group_6_0__2__Impl : ( '}' ) ;
     public final void rule__AttributeCS__Group_6_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8070:1: ( ( '}' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8071:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8570:1: ( ( '}' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8571:1: ( '}' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8071:1: ( '}' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8072:1: '}'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8571:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8572:1: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttributeCSAccess().getRightCurlyBracketKeyword_6_0_2()); 
             }
-            match(input,100,FollowSets000.FOLLOW_100_in_rule__AttributeCS__Group_6_0__2__Impl17488); if (state.failed) return ;
+            match(input,109,FollowSets000.FOLLOW_109_in_rule__AttributeCS__Group_6_0__2__Impl18330); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAttributeCSAccess().getRightCurlyBracketKeyword_6_0_2()); 
             }
@@ -26839,21 +27887,21 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group_6_0_1_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8091:1: rule__AttributeCS__Group_6_0_1_1__0 : rule__AttributeCS__Group_6_0_1_1__0__Impl rule__AttributeCS__Group_6_0_1_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8591:1: rule__AttributeCS__Group_6_0_1_1__0 : rule__AttributeCS__Group_6_0_1_1__0__Impl rule__AttributeCS__Group_6_0_1_1__1 ;
     public final void rule__AttributeCS__Group_6_0_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8095:1: ( rule__AttributeCS__Group_6_0_1_1__0__Impl rule__AttributeCS__Group_6_0_1_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8096:2: rule__AttributeCS__Group_6_0_1_1__0__Impl rule__AttributeCS__Group_6_0_1_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8595:1: ( rule__AttributeCS__Group_6_0_1_1__0__Impl rule__AttributeCS__Group_6_0_1_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8596:2: rule__AttributeCS__Group_6_0_1_1__0__Impl rule__AttributeCS__Group_6_0_1_1__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_1__0__Impl_in_rule__AttributeCS__Group_6_0_1_1__017525);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_1__0__Impl_in_rule__AttributeCS__Group_6_0_1_1__018367);
             rule__AttributeCS__Group_6_0_1_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_1__1_in_rule__AttributeCS__Group_6_0_1_1__017528);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_1__1_in_rule__AttributeCS__Group_6_0_1_1__018370);
             rule__AttributeCS__Group_6_0_1_1__1();
 
             state._fsp--;
@@ -26877,22 +27925,22 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group_6_0_1_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8103:1: rule__AttributeCS__Group_6_0_1_1__0__Impl : ( 'derivation' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8603:1: rule__AttributeCS__Group_6_0_1_1__0__Impl : ( 'derivation' ) ;
     public final void rule__AttributeCS__Group_6_0_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8107:1: ( ( 'derivation' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8108:1: ( 'derivation' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8607:1: ( ( 'derivation' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8608:1: ( 'derivation' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8108:1: ( 'derivation' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8109:1: 'derivation'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8608:1: ( 'derivation' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8609:1: 'derivation'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttributeCSAccess().getDerivationKeyword_6_0_1_1_0()); 
             }
-            match(input,25,FollowSets000.FOLLOW_25_in_rule__AttributeCS__Group_6_0_1_1__0__Impl17556); if (state.failed) return ;
+            match(input,25,FollowSets000.FOLLOW_25_in_rule__AttributeCS__Group_6_0_1_1__0__Impl18398); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAttributeCSAccess().getDerivationKeyword_6_0_1_1_0()); 
             }
@@ -26918,21 +27966,21 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group_6_0_1_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8122:1: rule__AttributeCS__Group_6_0_1_1__1 : rule__AttributeCS__Group_6_0_1_1__1__Impl rule__AttributeCS__Group_6_0_1_1__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8622:1: rule__AttributeCS__Group_6_0_1_1__1 : rule__AttributeCS__Group_6_0_1_1__1__Impl rule__AttributeCS__Group_6_0_1_1__2 ;
     public final void rule__AttributeCS__Group_6_0_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8126:1: ( rule__AttributeCS__Group_6_0_1_1__1__Impl rule__AttributeCS__Group_6_0_1_1__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8127:2: rule__AttributeCS__Group_6_0_1_1__1__Impl rule__AttributeCS__Group_6_0_1_1__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8626:1: ( rule__AttributeCS__Group_6_0_1_1__1__Impl rule__AttributeCS__Group_6_0_1_1__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8627:2: rule__AttributeCS__Group_6_0_1_1__1__Impl rule__AttributeCS__Group_6_0_1_1__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_1__1__Impl_in_rule__AttributeCS__Group_6_0_1_1__117587);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_1__1__Impl_in_rule__AttributeCS__Group_6_0_1_1__118429);
             rule__AttributeCS__Group_6_0_1_1__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_1__2_in_rule__AttributeCS__Group_6_0_1_1__117590);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_1__2_in_rule__AttributeCS__Group_6_0_1_1__118432);
             rule__AttributeCS__Group_6_0_1_1__2();
 
             state._fsp--;
@@ -26956,33 +28004,33 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group_6_0_1_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8134:1: rule__AttributeCS__Group_6_0_1_1__1__Impl : ( ( ruleUnrestrictedName )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8634:1: rule__AttributeCS__Group_6_0_1_1__1__Impl : ( ( ruleUnrestrictedName )? ) ;
     public final void rule__AttributeCS__Group_6_0_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8138:1: ( ( ( ruleUnrestrictedName )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8139:1: ( ( ruleUnrestrictedName )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8638:1: ( ( ( ruleUnrestrictedName )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8639:1: ( ( ruleUnrestrictedName )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8139:1: ( ( ruleUnrestrictedName )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8140:1: ( ruleUnrestrictedName )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8639:1: ( ( ruleUnrestrictedName )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8640:1: ( ruleUnrestrictedName )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_1_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8141:1: ( ruleUnrestrictedName )?
-            int alt103=2;
-            int LA103_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8641:1: ( ruleUnrestrictedName )?
+            int alt123=2;
+            int LA123_0 = input.LA(1);
 
-            if ( ((LA103_0>=RULE_SIMPLE_ID && LA103_0<=RULE_ESCAPED_ID)||(LA103_0>=17 && LA103_0<=52)||(LA103_0>=55 && LA103_0<=60)) ) {
-                alt103=1;
+            if ( ((LA123_0>=RULE_SIMPLE_ID && LA123_0<=RULE_ESCAPED_ID)||(LA123_0>=17 && LA123_0<=52)||(LA123_0>=64 && LA123_0<=69)) ) {
+                alt123=1;
             }
-            switch (alt103) {
+            switch (alt123) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8141:3: ruleUnrestrictedName
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8641:3: ruleUnrestrictedName
                     {
-                    pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_rule__AttributeCS__Group_6_0_1_1__1__Impl17618);
+                    pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_rule__AttributeCS__Group_6_0_1_1__1__Impl18460);
                     ruleUnrestrictedName();
 
                     state._fsp--;
@@ -27018,21 +28066,21 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group_6_0_1_1__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8151:1: rule__AttributeCS__Group_6_0_1_1__2 : rule__AttributeCS__Group_6_0_1_1__2__Impl rule__AttributeCS__Group_6_0_1_1__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8651:1: rule__AttributeCS__Group_6_0_1_1__2 : rule__AttributeCS__Group_6_0_1_1__2__Impl rule__AttributeCS__Group_6_0_1_1__3 ;
     public final void rule__AttributeCS__Group_6_0_1_1__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8155:1: ( rule__AttributeCS__Group_6_0_1_1__2__Impl rule__AttributeCS__Group_6_0_1_1__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8156:2: rule__AttributeCS__Group_6_0_1_1__2__Impl rule__AttributeCS__Group_6_0_1_1__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8655:1: ( rule__AttributeCS__Group_6_0_1_1__2__Impl rule__AttributeCS__Group_6_0_1_1__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8656:2: rule__AttributeCS__Group_6_0_1_1__2__Impl rule__AttributeCS__Group_6_0_1_1__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_1__2__Impl_in_rule__AttributeCS__Group_6_0_1_1__217649);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_1__2__Impl_in_rule__AttributeCS__Group_6_0_1_1__218491);
             rule__AttributeCS__Group_6_0_1_1__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_1__3_in_rule__AttributeCS__Group_6_0_1_1__217652);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_1__3_in_rule__AttributeCS__Group_6_0_1_1__218494);
             rule__AttributeCS__Group_6_0_1_1__3();
 
             state._fsp--;
@@ -27056,22 +28104,22 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group_6_0_1_1__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8163:1: rule__AttributeCS__Group_6_0_1_1__2__Impl : ( ':' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8663:1: rule__AttributeCS__Group_6_0_1_1__2__Impl : ( ':' ) ;
     public final void rule__AttributeCS__Group_6_0_1_1__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8167:1: ( ( ':' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8168:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8667:1: ( ( ':' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8668:1: ( ':' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8168:1: ( ':' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8169:1: ':'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8668:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8669:1: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_1_2()); 
             }
-            match(input,97,FollowSets000.FOLLOW_97_in_rule__AttributeCS__Group_6_0_1_1__2__Impl17680); if (state.failed) return ;
+            match(input,106,FollowSets000.FOLLOW_106_in_rule__AttributeCS__Group_6_0_1_1__2__Impl18522); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_1_2()); 
             }
@@ -27097,21 +28145,21 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group_6_0_1_1__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8182:1: rule__AttributeCS__Group_6_0_1_1__3 : rule__AttributeCS__Group_6_0_1_1__3__Impl rule__AttributeCS__Group_6_0_1_1__4 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8682:1: rule__AttributeCS__Group_6_0_1_1__3 : rule__AttributeCS__Group_6_0_1_1__3__Impl rule__AttributeCS__Group_6_0_1_1__4 ;
     public final void rule__AttributeCS__Group_6_0_1_1__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8186:1: ( rule__AttributeCS__Group_6_0_1_1__3__Impl rule__AttributeCS__Group_6_0_1_1__4 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8187:2: rule__AttributeCS__Group_6_0_1_1__3__Impl rule__AttributeCS__Group_6_0_1_1__4
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8686:1: ( rule__AttributeCS__Group_6_0_1_1__3__Impl rule__AttributeCS__Group_6_0_1_1__4 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8687:2: rule__AttributeCS__Group_6_0_1_1__3__Impl rule__AttributeCS__Group_6_0_1_1__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_1__3__Impl_in_rule__AttributeCS__Group_6_0_1_1__317711);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_1__3__Impl_in_rule__AttributeCS__Group_6_0_1_1__318553);
             rule__AttributeCS__Group_6_0_1_1__3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_1__4_in_rule__AttributeCS__Group_6_0_1_1__317714);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_1__4_in_rule__AttributeCS__Group_6_0_1_1__318556);
             rule__AttributeCS__Group_6_0_1_1__4();
 
             state._fsp--;
@@ -27135,33 +28183,33 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group_6_0_1_1__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8194:1: rule__AttributeCS__Group_6_0_1_1__3__Impl : ( ( rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_1_3 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8694:1: rule__AttributeCS__Group_6_0_1_1__3__Impl : ( ( rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_1_3 )? ) ;
     public final void rule__AttributeCS__Group_6_0_1_1__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8198:1: ( ( ( rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_1_3 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8199:1: ( ( rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_1_3 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8698:1: ( ( ( rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_1_3 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8699:1: ( ( rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_1_3 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8199:1: ( ( rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_1_3 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8200:1: ( rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_1_3 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8699:1: ( ( rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_1_3 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8700:1: ( rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_1_3 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttributeCSAccess().getOwnedDefaultExpressionsAssignment_6_0_1_1_3()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8201:1: ( rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_1_3 )?
-            int alt104=2;
-            int LA104_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8701:1: ( rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_1_3 )?
+            int alt124=2;
+            int LA124_0 = input.LA(1);
 
-            if ( ((LA104_0>=RULE_INT && LA104_0<=RULE_SINGLE_QUOTED_STRING)||(LA104_0>=RULE_SIMPLE_ID && LA104_0<=RULE_UNQUOTED_STRING)||(LA104_0>=17 && LA104_0<=52)||(LA104_0>=55 && LA104_0<=63)||(LA104_0>=80 && LA104_0<=93)||LA104_0==95||(LA104_0>=105 && LA104_0<=107)||LA104_0==112||(LA104_0>=117 && LA104_0<=118)||(LA104_0>=131 && LA104_0<=132)) ) {
-                alt104=1;
+            if ( ((LA124_0>=RULE_INT && LA124_0<=RULE_SINGLE_QUOTED_STRING)||(LA124_0>=RULE_SIMPLE_ID && LA124_0<=RULE_UNQUOTED_STRING)||(LA124_0>=17 && LA124_0<=52)||(LA124_0>=64 && LA124_0<=72)||(LA124_0>=89 && LA124_0<=102)||LA124_0==104||(LA124_0>=114 && LA124_0<=116)||LA124_0==121||(LA124_0>=126 && LA124_0<=127)||(LA124_0>=131 && LA124_0<=132)) ) {
+                alt124=1;
             }
-            switch (alt104) {
+            switch (alt124) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8201:2: rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_1_3
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8701:2: rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_1_3
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_1_3_in_rule__AttributeCS__Group_6_0_1_1__3__Impl17741);
+                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_1_3_in_rule__AttributeCS__Group_6_0_1_1__3__Impl18583);
                     rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_1_3();
 
                     state._fsp--;
@@ -27197,16 +28245,16 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group_6_0_1_1__4"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8211:1: rule__AttributeCS__Group_6_0_1_1__4 : rule__AttributeCS__Group_6_0_1_1__4__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8711:1: rule__AttributeCS__Group_6_0_1_1__4 : rule__AttributeCS__Group_6_0_1_1__4__Impl ;
     public final void rule__AttributeCS__Group_6_0_1_1__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8215:1: ( rule__AttributeCS__Group_6_0_1_1__4__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8216:2: rule__AttributeCS__Group_6_0_1_1__4__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8715:1: ( rule__AttributeCS__Group_6_0_1_1__4__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8716:2: rule__AttributeCS__Group_6_0_1_1__4__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_1__4__Impl_in_rule__AttributeCS__Group_6_0_1_1__417772);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_1__4__Impl_in_rule__AttributeCS__Group_6_0_1_1__418614);
             rule__AttributeCS__Group_6_0_1_1__4__Impl();
 
             state._fsp--;
@@ -27230,22 +28278,22 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group_6_0_1_1__4__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8222:1: rule__AttributeCS__Group_6_0_1_1__4__Impl : ( ';' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8722:1: rule__AttributeCS__Group_6_0_1_1__4__Impl : ( ';' ) ;
     public final void rule__AttributeCS__Group_6_0_1_1__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8226:1: ( ( ';' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8227:1: ( ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8726:1: ( ( ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8727:1: ( ';' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8227:1: ( ';' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8228:1: ';'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8727:1: ( ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8728:1: ';'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_1_4()); 
             }
-            match(input,53,FollowSets000.FOLLOW_53_in_rule__AttributeCS__Group_6_0_1_1__4__Impl17800); if (state.failed) return ;
+            match(input,53,FollowSets000.FOLLOW_53_in_rule__AttributeCS__Group_6_0_1_1__4__Impl18642); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_1_4()); 
             }
@@ -27271,21 +28319,21 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group_6_0_1_2__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8251:1: rule__AttributeCS__Group_6_0_1_2__0 : rule__AttributeCS__Group_6_0_1_2__0__Impl rule__AttributeCS__Group_6_0_1_2__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8751:1: rule__AttributeCS__Group_6_0_1_2__0 : rule__AttributeCS__Group_6_0_1_2__0__Impl rule__AttributeCS__Group_6_0_1_2__1 ;
     public final void rule__AttributeCS__Group_6_0_1_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8255:1: ( rule__AttributeCS__Group_6_0_1_2__0__Impl rule__AttributeCS__Group_6_0_1_2__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8256:2: rule__AttributeCS__Group_6_0_1_2__0__Impl rule__AttributeCS__Group_6_0_1_2__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8755:1: ( rule__AttributeCS__Group_6_0_1_2__0__Impl rule__AttributeCS__Group_6_0_1_2__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8756:2: rule__AttributeCS__Group_6_0_1_2__0__Impl rule__AttributeCS__Group_6_0_1_2__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_2__0__Impl_in_rule__AttributeCS__Group_6_0_1_2__017841);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_2__0__Impl_in_rule__AttributeCS__Group_6_0_1_2__018683);
             rule__AttributeCS__Group_6_0_1_2__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_2__1_in_rule__AttributeCS__Group_6_0_1_2__017844);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_2__1_in_rule__AttributeCS__Group_6_0_1_2__018686);
             rule__AttributeCS__Group_6_0_1_2__1();
 
             state._fsp--;
@@ -27309,22 +28357,22 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group_6_0_1_2__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8263:1: rule__AttributeCS__Group_6_0_1_2__0__Impl : ( 'initial' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8763:1: rule__AttributeCS__Group_6_0_1_2__0__Impl : ( 'initial' ) ;
     public final void rule__AttributeCS__Group_6_0_1_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8267:1: ( ( 'initial' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8268:1: ( 'initial' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8767:1: ( ( 'initial' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8768:1: ( 'initial' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8268:1: ( 'initial' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8269:1: 'initial'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8768:1: ( 'initial' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8769:1: 'initial'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttributeCSAccess().getInitialKeyword_6_0_1_2_0()); 
             }
-            match(input,31,FollowSets000.FOLLOW_31_in_rule__AttributeCS__Group_6_0_1_2__0__Impl17872); if (state.failed) return ;
+            match(input,31,FollowSets000.FOLLOW_31_in_rule__AttributeCS__Group_6_0_1_2__0__Impl18714); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAttributeCSAccess().getInitialKeyword_6_0_1_2_0()); 
             }
@@ -27350,21 +28398,21 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group_6_0_1_2__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8282:1: rule__AttributeCS__Group_6_0_1_2__1 : rule__AttributeCS__Group_6_0_1_2__1__Impl rule__AttributeCS__Group_6_0_1_2__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8782:1: rule__AttributeCS__Group_6_0_1_2__1 : rule__AttributeCS__Group_6_0_1_2__1__Impl rule__AttributeCS__Group_6_0_1_2__2 ;
     public final void rule__AttributeCS__Group_6_0_1_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8286:1: ( rule__AttributeCS__Group_6_0_1_2__1__Impl rule__AttributeCS__Group_6_0_1_2__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8287:2: rule__AttributeCS__Group_6_0_1_2__1__Impl rule__AttributeCS__Group_6_0_1_2__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8786:1: ( rule__AttributeCS__Group_6_0_1_2__1__Impl rule__AttributeCS__Group_6_0_1_2__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8787:2: rule__AttributeCS__Group_6_0_1_2__1__Impl rule__AttributeCS__Group_6_0_1_2__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_2__1__Impl_in_rule__AttributeCS__Group_6_0_1_2__117903);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_2__1__Impl_in_rule__AttributeCS__Group_6_0_1_2__118745);
             rule__AttributeCS__Group_6_0_1_2__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_2__2_in_rule__AttributeCS__Group_6_0_1_2__117906);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_2__2_in_rule__AttributeCS__Group_6_0_1_2__118748);
             rule__AttributeCS__Group_6_0_1_2__2();
 
             state._fsp--;
@@ -27388,33 +28436,33 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group_6_0_1_2__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8294:1: rule__AttributeCS__Group_6_0_1_2__1__Impl : ( ( ruleUnrestrictedName )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8794:1: rule__AttributeCS__Group_6_0_1_2__1__Impl : ( ( ruleUnrestrictedName )? ) ;
     public final void rule__AttributeCS__Group_6_0_1_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8298:1: ( ( ( ruleUnrestrictedName )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8299:1: ( ( ruleUnrestrictedName )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8798:1: ( ( ( ruleUnrestrictedName )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8799:1: ( ( ruleUnrestrictedName )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8299:1: ( ( ruleUnrestrictedName )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8300:1: ( ruleUnrestrictedName )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8799:1: ( ( ruleUnrestrictedName )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8800:1: ( ruleUnrestrictedName )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_2_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8301:1: ( ruleUnrestrictedName )?
-            int alt105=2;
-            int LA105_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8801:1: ( ruleUnrestrictedName )?
+            int alt125=2;
+            int LA125_0 = input.LA(1);
 
-            if ( ((LA105_0>=RULE_SIMPLE_ID && LA105_0<=RULE_ESCAPED_ID)||(LA105_0>=17 && LA105_0<=52)||(LA105_0>=55 && LA105_0<=60)) ) {
-                alt105=1;
+            if ( ((LA125_0>=RULE_SIMPLE_ID && LA125_0<=RULE_ESCAPED_ID)||(LA125_0>=17 && LA125_0<=52)||(LA125_0>=64 && LA125_0<=69)) ) {
+                alt125=1;
             }
-            switch (alt105) {
+            switch (alt125) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8301:3: ruleUnrestrictedName
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8801:3: ruleUnrestrictedName
                     {
-                    pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_rule__AttributeCS__Group_6_0_1_2__1__Impl17934);
+                    pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_rule__AttributeCS__Group_6_0_1_2__1__Impl18776);
                     ruleUnrestrictedName();
 
                     state._fsp--;
@@ -27450,21 +28498,21 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group_6_0_1_2__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8311:1: rule__AttributeCS__Group_6_0_1_2__2 : rule__AttributeCS__Group_6_0_1_2__2__Impl rule__AttributeCS__Group_6_0_1_2__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8811:1: rule__AttributeCS__Group_6_0_1_2__2 : rule__AttributeCS__Group_6_0_1_2__2__Impl rule__AttributeCS__Group_6_0_1_2__3 ;
     public final void rule__AttributeCS__Group_6_0_1_2__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8315:1: ( rule__AttributeCS__Group_6_0_1_2__2__Impl rule__AttributeCS__Group_6_0_1_2__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8316:2: rule__AttributeCS__Group_6_0_1_2__2__Impl rule__AttributeCS__Group_6_0_1_2__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8815:1: ( rule__AttributeCS__Group_6_0_1_2__2__Impl rule__AttributeCS__Group_6_0_1_2__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8816:2: rule__AttributeCS__Group_6_0_1_2__2__Impl rule__AttributeCS__Group_6_0_1_2__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_2__2__Impl_in_rule__AttributeCS__Group_6_0_1_2__217965);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_2__2__Impl_in_rule__AttributeCS__Group_6_0_1_2__218807);
             rule__AttributeCS__Group_6_0_1_2__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_2__3_in_rule__AttributeCS__Group_6_0_1_2__217968);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_2__3_in_rule__AttributeCS__Group_6_0_1_2__218810);
             rule__AttributeCS__Group_6_0_1_2__3();
 
             state._fsp--;
@@ -27488,22 +28536,22 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group_6_0_1_2__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8323:1: rule__AttributeCS__Group_6_0_1_2__2__Impl : ( ':' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8823:1: rule__AttributeCS__Group_6_0_1_2__2__Impl : ( ':' ) ;
     public final void rule__AttributeCS__Group_6_0_1_2__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8327:1: ( ( ':' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8328:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8827:1: ( ( ':' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8828:1: ( ':' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8328:1: ( ':' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8329:1: ':'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8828:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8829:1: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_2_2()); 
             }
-            match(input,97,FollowSets000.FOLLOW_97_in_rule__AttributeCS__Group_6_0_1_2__2__Impl17996); if (state.failed) return ;
+            match(input,106,FollowSets000.FOLLOW_106_in_rule__AttributeCS__Group_6_0_1_2__2__Impl18838); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_2_2()); 
             }
@@ -27529,21 +28577,21 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group_6_0_1_2__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8342:1: rule__AttributeCS__Group_6_0_1_2__3 : rule__AttributeCS__Group_6_0_1_2__3__Impl rule__AttributeCS__Group_6_0_1_2__4 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8842:1: rule__AttributeCS__Group_6_0_1_2__3 : rule__AttributeCS__Group_6_0_1_2__3__Impl rule__AttributeCS__Group_6_0_1_2__4 ;
     public final void rule__AttributeCS__Group_6_0_1_2__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8346:1: ( rule__AttributeCS__Group_6_0_1_2__3__Impl rule__AttributeCS__Group_6_0_1_2__4 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8347:2: rule__AttributeCS__Group_6_0_1_2__3__Impl rule__AttributeCS__Group_6_0_1_2__4
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8846:1: ( rule__AttributeCS__Group_6_0_1_2__3__Impl rule__AttributeCS__Group_6_0_1_2__4 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8847:2: rule__AttributeCS__Group_6_0_1_2__3__Impl rule__AttributeCS__Group_6_0_1_2__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_2__3__Impl_in_rule__AttributeCS__Group_6_0_1_2__318027);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_2__3__Impl_in_rule__AttributeCS__Group_6_0_1_2__318869);
             rule__AttributeCS__Group_6_0_1_2__3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_2__4_in_rule__AttributeCS__Group_6_0_1_2__318030);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_2__4_in_rule__AttributeCS__Group_6_0_1_2__318872);
             rule__AttributeCS__Group_6_0_1_2__4();
 
             state._fsp--;
@@ -27567,33 +28615,33 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group_6_0_1_2__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8354:1: rule__AttributeCS__Group_6_0_1_2__3__Impl : ( ( rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_2_3 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8854:1: rule__AttributeCS__Group_6_0_1_2__3__Impl : ( ( rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_2_3 )? ) ;
     public final void rule__AttributeCS__Group_6_0_1_2__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8358:1: ( ( ( rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_2_3 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8359:1: ( ( rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_2_3 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8858:1: ( ( ( rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_2_3 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8859:1: ( ( rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_2_3 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8359:1: ( ( rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_2_3 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8360:1: ( rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_2_3 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8859:1: ( ( rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_2_3 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8860:1: ( rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_2_3 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttributeCSAccess().getOwnedDefaultExpressionsAssignment_6_0_1_2_3()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8361:1: ( rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_2_3 )?
-            int alt106=2;
-            int LA106_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8861:1: ( rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_2_3 )?
+            int alt126=2;
+            int LA126_0 = input.LA(1);
 
-            if ( ((LA106_0>=RULE_INT && LA106_0<=RULE_SINGLE_QUOTED_STRING)||(LA106_0>=RULE_SIMPLE_ID && LA106_0<=RULE_UNQUOTED_STRING)||(LA106_0>=17 && LA106_0<=52)||(LA106_0>=55 && LA106_0<=63)||(LA106_0>=80 && LA106_0<=93)||LA106_0==95||(LA106_0>=105 && LA106_0<=107)||LA106_0==112||(LA106_0>=117 && LA106_0<=118)||(LA106_0>=131 && LA106_0<=132)) ) {
-                alt106=1;
+            if ( ((LA126_0>=RULE_INT && LA126_0<=RULE_SINGLE_QUOTED_STRING)||(LA126_0>=RULE_SIMPLE_ID && LA126_0<=RULE_UNQUOTED_STRING)||(LA126_0>=17 && LA126_0<=52)||(LA126_0>=64 && LA126_0<=72)||(LA126_0>=89 && LA126_0<=102)||LA126_0==104||(LA126_0>=114 && LA126_0<=116)||LA126_0==121||(LA126_0>=126 && LA126_0<=127)||(LA126_0>=131 && LA126_0<=132)) ) {
+                alt126=1;
             }
-            switch (alt106) {
+            switch (alt126) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8361:2: rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_2_3
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8861:2: rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_2_3
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_2_3_in_rule__AttributeCS__Group_6_0_1_2__3__Impl18057);
+                    pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_2_3_in_rule__AttributeCS__Group_6_0_1_2__3__Impl18899);
                     rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_2_3();
 
                     state._fsp--;
@@ -27629,16 +28677,16 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group_6_0_1_2__4"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8371:1: rule__AttributeCS__Group_6_0_1_2__4 : rule__AttributeCS__Group_6_0_1_2__4__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8871:1: rule__AttributeCS__Group_6_0_1_2__4 : rule__AttributeCS__Group_6_0_1_2__4__Impl ;
     public final void rule__AttributeCS__Group_6_0_1_2__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8375:1: ( rule__AttributeCS__Group_6_0_1_2__4__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8376:2: rule__AttributeCS__Group_6_0_1_2__4__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8875:1: ( rule__AttributeCS__Group_6_0_1_2__4__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8876:2: rule__AttributeCS__Group_6_0_1_2__4__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_2__4__Impl_in_rule__AttributeCS__Group_6_0_1_2__418088);
+            pushFollow(FollowSets000.FOLLOW_rule__AttributeCS__Group_6_0_1_2__4__Impl_in_rule__AttributeCS__Group_6_0_1_2__418930);
             rule__AttributeCS__Group_6_0_1_2__4__Impl();
 
             state._fsp--;
@@ -27662,22 +28710,22 @@
 
 
     // $ANTLR start "rule__AttributeCS__Group_6_0_1_2__4__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8382:1: rule__AttributeCS__Group_6_0_1_2__4__Impl : ( ';' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8882:1: rule__AttributeCS__Group_6_0_1_2__4__Impl : ( ';' ) ;
     public final void rule__AttributeCS__Group_6_0_1_2__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8386:1: ( ( ';' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8387:1: ( ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8886:1: ( ( ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8887:1: ( ';' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8387:1: ( ';' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8388:1: ';'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8887:1: ( ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8888:1: ';'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_2_4()); 
             }
-            match(input,53,FollowSets000.FOLLOW_53_in_rule__AttributeCS__Group_6_0_1_2__4__Impl18116); if (state.failed) return ;
+            match(input,53,FollowSets000.FOLLOW_53_in_rule__AttributeCS__Group_6_0_1_2__4__Impl18958); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_2_4()); 
             }
@@ -27703,21 +28751,21 @@
 
 
     // $ANTLR start "rule__DataTypeCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8411:1: rule__DataTypeCS__Group__0 : rule__DataTypeCS__Group__0__Impl rule__DataTypeCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8911:1: rule__DataTypeCS__Group__0 : rule__DataTypeCS__Group__0__Impl rule__DataTypeCS__Group__1 ;
     public final void rule__DataTypeCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8415:1: ( rule__DataTypeCS__Group__0__Impl rule__DataTypeCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8416:2: rule__DataTypeCS__Group__0__Impl rule__DataTypeCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8915:1: ( rule__DataTypeCS__Group__0__Impl rule__DataTypeCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8916:2: rule__DataTypeCS__Group__0__Impl rule__DataTypeCS__Group__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group__0__Impl_in_rule__DataTypeCS__Group__018157);
+            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group__0__Impl_in_rule__DataTypeCS__Group__018999);
             rule__DataTypeCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group__1_in_rule__DataTypeCS__Group__018160);
+            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group__1_in_rule__DataTypeCS__Group__019002);
             rule__DataTypeCS__Group__1();
 
             state._fsp--;
@@ -27741,33 +28789,33 @@
 
 
     // $ANTLR start "rule__DataTypeCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8423:1: rule__DataTypeCS__Group__0__Impl : ( ( rule__DataTypeCS__IsPrimitiveAssignment_0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8923:1: rule__DataTypeCS__Group__0__Impl : ( ( rule__DataTypeCS__IsPrimitiveAssignment_0 )? ) ;
     public final void rule__DataTypeCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8427:1: ( ( ( rule__DataTypeCS__IsPrimitiveAssignment_0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8428:1: ( ( rule__DataTypeCS__IsPrimitiveAssignment_0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8927:1: ( ( ( rule__DataTypeCS__IsPrimitiveAssignment_0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8928:1: ( ( rule__DataTypeCS__IsPrimitiveAssignment_0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8428:1: ( ( rule__DataTypeCS__IsPrimitiveAssignment_0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8429:1: ( rule__DataTypeCS__IsPrimitiveAssignment_0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8928:1: ( ( rule__DataTypeCS__IsPrimitiveAssignment_0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8929:1: ( rule__DataTypeCS__IsPrimitiveAssignment_0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDataTypeCSAccess().getIsPrimitiveAssignment_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8430:1: ( rule__DataTypeCS__IsPrimitiveAssignment_0 )?
-            int alt107=2;
-            int LA107_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8930:1: ( rule__DataTypeCS__IsPrimitiveAssignment_0 )?
+            int alt127=2;
+            int LA127_0 = input.LA(1);
 
-            if ( (LA107_0==41) ) {
-                alt107=1;
+            if ( (LA127_0==41) ) {
+                alt127=1;
             }
-            switch (alt107) {
+            switch (alt127) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8430:2: rule__DataTypeCS__IsPrimitiveAssignment_0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8930:2: rule__DataTypeCS__IsPrimitiveAssignment_0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__IsPrimitiveAssignment_0_in_rule__DataTypeCS__Group__0__Impl18187);
+                    pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__IsPrimitiveAssignment_0_in_rule__DataTypeCS__Group__0__Impl19029);
                     rule__DataTypeCS__IsPrimitiveAssignment_0();
 
                     state._fsp--;
@@ -27803,21 +28851,21 @@
 
 
     // $ANTLR start "rule__DataTypeCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8440:1: rule__DataTypeCS__Group__1 : rule__DataTypeCS__Group__1__Impl rule__DataTypeCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8940:1: rule__DataTypeCS__Group__1 : rule__DataTypeCS__Group__1__Impl rule__DataTypeCS__Group__2 ;
     public final void rule__DataTypeCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8444:1: ( rule__DataTypeCS__Group__1__Impl rule__DataTypeCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8445:2: rule__DataTypeCS__Group__1__Impl rule__DataTypeCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8944:1: ( rule__DataTypeCS__Group__1__Impl rule__DataTypeCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8945:2: rule__DataTypeCS__Group__1__Impl rule__DataTypeCS__Group__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group__1__Impl_in_rule__DataTypeCS__Group__118218);
+            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group__1__Impl_in_rule__DataTypeCS__Group__119060);
             rule__DataTypeCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group__2_in_rule__DataTypeCS__Group__118221);
+            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group__2_in_rule__DataTypeCS__Group__119063);
             rule__DataTypeCS__Group__2();
 
             state._fsp--;
@@ -27841,22 +28889,22 @@
 
 
     // $ANTLR start "rule__DataTypeCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8452:1: rule__DataTypeCS__Group__1__Impl : ( 'datatype' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8952:1: rule__DataTypeCS__Group__1__Impl : ( 'datatype' ) ;
     public final void rule__DataTypeCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8456:1: ( ( 'datatype' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8457:1: ( 'datatype' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8956:1: ( ( 'datatype' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8957:1: ( 'datatype' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8457:1: ( 'datatype' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8458:1: 'datatype'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8957:1: ( 'datatype' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8958:1: 'datatype'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDataTypeCSAccess().getDatatypeKeyword_1()); 
             }
-            match(input,23,FollowSets000.FOLLOW_23_in_rule__DataTypeCS__Group__1__Impl18249); if (state.failed) return ;
+            match(input,23,FollowSets000.FOLLOW_23_in_rule__DataTypeCS__Group__1__Impl19091); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDataTypeCSAccess().getDatatypeKeyword_1()); 
             }
@@ -27882,21 +28930,21 @@
 
 
     // $ANTLR start "rule__DataTypeCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8471:1: rule__DataTypeCS__Group__2 : rule__DataTypeCS__Group__2__Impl rule__DataTypeCS__Group__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8971:1: rule__DataTypeCS__Group__2 : rule__DataTypeCS__Group__2__Impl rule__DataTypeCS__Group__3 ;
     public final void rule__DataTypeCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8475:1: ( rule__DataTypeCS__Group__2__Impl rule__DataTypeCS__Group__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8476:2: rule__DataTypeCS__Group__2__Impl rule__DataTypeCS__Group__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8975:1: ( rule__DataTypeCS__Group__2__Impl rule__DataTypeCS__Group__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8976:2: rule__DataTypeCS__Group__2__Impl rule__DataTypeCS__Group__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group__2__Impl_in_rule__DataTypeCS__Group__218280);
+            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group__2__Impl_in_rule__DataTypeCS__Group__219122);
             rule__DataTypeCS__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group__3_in_rule__DataTypeCS__Group__218283);
+            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group__3_in_rule__DataTypeCS__Group__219125);
             rule__DataTypeCS__Group__3();
 
             state._fsp--;
@@ -27920,25 +28968,25 @@
 
 
     // $ANTLR start "rule__DataTypeCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8483:1: rule__DataTypeCS__Group__2__Impl : ( ( rule__DataTypeCS__NameAssignment_2 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8983:1: rule__DataTypeCS__Group__2__Impl : ( ( rule__DataTypeCS__NameAssignment_2 ) ) ;
     public final void rule__DataTypeCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8487:1: ( ( ( rule__DataTypeCS__NameAssignment_2 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8488:1: ( ( rule__DataTypeCS__NameAssignment_2 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8987:1: ( ( ( rule__DataTypeCS__NameAssignment_2 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8988:1: ( ( rule__DataTypeCS__NameAssignment_2 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8488:1: ( ( rule__DataTypeCS__NameAssignment_2 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8489:1: ( rule__DataTypeCS__NameAssignment_2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8988:1: ( ( rule__DataTypeCS__NameAssignment_2 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8989:1: ( rule__DataTypeCS__NameAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDataTypeCSAccess().getNameAssignment_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8490:1: ( rule__DataTypeCS__NameAssignment_2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8490:2: rule__DataTypeCS__NameAssignment_2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8990:1: ( rule__DataTypeCS__NameAssignment_2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8990:2: rule__DataTypeCS__NameAssignment_2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__NameAssignment_2_in_rule__DataTypeCS__Group__2__Impl18310);
+            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__NameAssignment_2_in_rule__DataTypeCS__Group__2__Impl19152);
             rule__DataTypeCS__NameAssignment_2();
 
             state._fsp--;
@@ -27971,21 +29019,21 @@
 
 
     // $ANTLR start "rule__DataTypeCS__Group__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8500:1: rule__DataTypeCS__Group__3 : rule__DataTypeCS__Group__3__Impl rule__DataTypeCS__Group__4 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9000:1: rule__DataTypeCS__Group__3 : rule__DataTypeCS__Group__3__Impl rule__DataTypeCS__Group__4 ;
     public final void rule__DataTypeCS__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8504:1: ( rule__DataTypeCS__Group__3__Impl rule__DataTypeCS__Group__4 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8505:2: rule__DataTypeCS__Group__3__Impl rule__DataTypeCS__Group__4
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9004:1: ( rule__DataTypeCS__Group__3__Impl rule__DataTypeCS__Group__4 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9005:2: rule__DataTypeCS__Group__3__Impl rule__DataTypeCS__Group__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group__3__Impl_in_rule__DataTypeCS__Group__318340);
+            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group__3__Impl_in_rule__DataTypeCS__Group__319182);
             rule__DataTypeCS__Group__3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group__4_in_rule__DataTypeCS__Group__318343);
+            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group__4_in_rule__DataTypeCS__Group__319185);
             rule__DataTypeCS__Group__4();
 
             state._fsp--;
@@ -28009,33 +29057,33 @@
 
 
     // $ANTLR start "rule__DataTypeCS__Group__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8512:1: rule__DataTypeCS__Group__3__Impl : ( ( rule__DataTypeCS__OwnedSignatureAssignment_3 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9012:1: rule__DataTypeCS__Group__3__Impl : ( ( rule__DataTypeCS__OwnedSignatureAssignment_3 )? ) ;
     public final void rule__DataTypeCS__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8516:1: ( ( ( rule__DataTypeCS__OwnedSignatureAssignment_3 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8517:1: ( ( rule__DataTypeCS__OwnedSignatureAssignment_3 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9016:1: ( ( ( rule__DataTypeCS__OwnedSignatureAssignment_3 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9017:1: ( ( rule__DataTypeCS__OwnedSignatureAssignment_3 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8517:1: ( ( rule__DataTypeCS__OwnedSignatureAssignment_3 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8518:1: ( rule__DataTypeCS__OwnedSignatureAssignment_3 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9017:1: ( ( rule__DataTypeCS__OwnedSignatureAssignment_3 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9018:1: ( rule__DataTypeCS__OwnedSignatureAssignment_3 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDataTypeCSAccess().getOwnedSignatureAssignment_3()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8519:1: ( rule__DataTypeCS__OwnedSignatureAssignment_3 )?
-            int alt108=2;
-            int LA108_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9019:1: ( rule__DataTypeCS__OwnedSignatureAssignment_3 )?
+            int alt128=2;
+            int LA128_0 = input.LA(1);
 
-            if ( (LA108_0==67||LA108_0==95) ) {
-                alt108=1;
+            if ( (LA128_0==76||LA128_0==104) ) {
+                alt128=1;
             }
-            switch (alt108) {
+            switch (alt128) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8519:2: rule__DataTypeCS__OwnedSignatureAssignment_3
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9019:2: rule__DataTypeCS__OwnedSignatureAssignment_3
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__OwnedSignatureAssignment_3_in_rule__DataTypeCS__Group__3__Impl18370);
+                    pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__OwnedSignatureAssignment_3_in_rule__DataTypeCS__Group__3__Impl19212);
                     rule__DataTypeCS__OwnedSignatureAssignment_3();
 
                     state._fsp--;
@@ -28071,21 +29119,21 @@
 
 
     // $ANTLR start "rule__DataTypeCS__Group__4"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8529:1: rule__DataTypeCS__Group__4 : rule__DataTypeCS__Group__4__Impl rule__DataTypeCS__Group__5 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9029:1: rule__DataTypeCS__Group__4 : rule__DataTypeCS__Group__4__Impl rule__DataTypeCS__Group__5 ;
     public final void rule__DataTypeCS__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8533:1: ( rule__DataTypeCS__Group__4__Impl rule__DataTypeCS__Group__5 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8534:2: rule__DataTypeCS__Group__4__Impl rule__DataTypeCS__Group__5
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9033:1: ( rule__DataTypeCS__Group__4__Impl rule__DataTypeCS__Group__5 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9034:2: rule__DataTypeCS__Group__4__Impl rule__DataTypeCS__Group__5
             {
-            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group__4__Impl_in_rule__DataTypeCS__Group__418401);
+            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group__4__Impl_in_rule__DataTypeCS__Group__419243);
             rule__DataTypeCS__Group__4__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group__5_in_rule__DataTypeCS__Group__418404);
+            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group__5_in_rule__DataTypeCS__Group__419246);
             rule__DataTypeCS__Group__5();
 
             state._fsp--;
@@ -28109,33 +29157,33 @@
 
 
     // $ANTLR start "rule__DataTypeCS__Group__4__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8541:1: rule__DataTypeCS__Group__4__Impl : ( ( rule__DataTypeCS__Group_4__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9041:1: rule__DataTypeCS__Group__4__Impl : ( ( rule__DataTypeCS__Group_4__0 )? ) ;
     public final void rule__DataTypeCS__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8545:1: ( ( ( rule__DataTypeCS__Group_4__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8546:1: ( ( rule__DataTypeCS__Group_4__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9045:1: ( ( ( rule__DataTypeCS__Group_4__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9046:1: ( ( rule__DataTypeCS__Group_4__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8546:1: ( ( rule__DataTypeCS__Group_4__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8547:1: ( rule__DataTypeCS__Group_4__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9046:1: ( ( rule__DataTypeCS__Group_4__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9047:1: ( rule__DataTypeCS__Group_4__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDataTypeCSAccess().getGroup_4()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8548:1: ( rule__DataTypeCS__Group_4__0 )?
-            int alt109=2;
-            int LA109_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9048:1: ( rule__DataTypeCS__Group_4__0 )?
+            int alt129=2;
+            int LA129_0 = input.LA(1);
 
-            if ( (LA109_0==97) ) {
-                alt109=1;
+            if ( (LA129_0==106) ) {
+                alt129=1;
             }
-            switch (alt109) {
+            switch (alt129) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8548:2: rule__DataTypeCS__Group_4__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9048:2: rule__DataTypeCS__Group_4__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group_4__0_in_rule__DataTypeCS__Group__4__Impl18431);
+                    pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group_4__0_in_rule__DataTypeCS__Group__4__Impl19273);
                     rule__DataTypeCS__Group_4__0();
 
                     state._fsp--;
@@ -28171,21 +29219,21 @@
 
 
     // $ANTLR start "rule__DataTypeCS__Group__5"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8558:1: rule__DataTypeCS__Group__5 : rule__DataTypeCS__Group__5__Impl rule__DataTypeCS__Group__6 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9058:1: rule__DataTypeCS__Group__5 : rule__DataTypeCS__Group__5__Impl rule__DataTypeCS__Group__6 ;
     public final void rule__DataTypeCS__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8562:1: ( rule__DataTypeCS__Group__5__Impl rule__DataTypeCS__Group__6 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8563:2: rule__DataTypeCS__Group__5__Impl rule__DataTypeCS__Group__6
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9062:1: ( rule__DataTypeCS__Group__5__Impl rule__DataTypeCS__Group__6 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9063:2: rule__DataTypeCS__Group__5__Impl rule__DataTypeCS__Group__6
             {
-            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group__5__Impl_in_rule__DataTypeCS__Group__518462);
+            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group__5__Impl_in_rule__DataTypeCS__Group__519304);
             rule__DataTypeCS__Group__5__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group__6_in_rule__DataTypeCS__Group__518465);
+            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group__6_in_rule__DataTypeCS__Group__519307);
             rule__DataTypeCS__Group__6();
 
             state._fsp--;
@@ -28209,44 +29257,44 @@
 
 
     // $ANTLR start "rule__DataTypeCS__Group__5__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8570:1: rule__DataTypeCS__Group__5__Impl : ( ( rule__DataTypeCS__Group_5__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9070:1: rule__DataTypeCS__Group__5__Impl : ( ( rule__DataTypeCS__Group_5__0 )? ) ;
     public final void rule__DataTypeCS__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8574:1: ( ( ( rule__DataTypeCS__Group_5__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8575:1: ( ( rule__DataTypeCS__Group_5__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9074:1: ( ( ( rule__DataTypeCS__Group_5__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9075:1: ( ( rule__DataTypeCS__Group_5__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8575:1: ( ( rule__DataTypeCS__Group_5__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8576:1: ( rule__DataTypeCS__Group_5__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9075:1: ( ( rule__DataTypeCS__Group_5__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9076:1: ( rule__DataTypeCS__Group_5__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDataTypeCSAccess().getGroup_5()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8577:1: ( rule__DataTypeCS__Group_5__0 )?
-            int alt110=2;
-            int LA110_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9077:1: ( rule__DataTypeCS__Group_5__0 )?
+            int alt130=2;
+            int LA130_0 = input.LA(1);
 
-            if ( (LA110_0==99) ) {
-                int LA110_1 = input.LA(2);
+            if ( (LA130_0==108) ) {
+                int LA130_1 = input.LA(2);
 
-                if ( (LA110_1==100) ) {
-                    int LA110_3 = input.LA(3);
+                if ( (LA130_1==61||LA130_1==68) ) {
+                    alt130=1;
+                }
+                else if ( (LA130_1==109) ) {
+                    int LA130_4 = input.LA(3);
 
-                    if ( (LA110_3==53||LA110_3==99) ) {
-                        alt110=1;
+                    if ( (LA130_4==53||LA130_4==108) ) {
+                        alt130=1;
                     }
                 }
-                else if ( (LA110_1==54||LA110_1==59) ) {
-                    alt110=1;
-                }
             }
-            switch (alt110) {
+            switch (alt130) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8577:2: rule__DataTypeCS__Group_5__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9077:2: rule__DataTypeCS__Group_5__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group_5__0_in_rule__DataTypeCS__Group__5__Impl18492);
+                    pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group_5__0_in_rule__DataTypeCS__Group__5__Impl19334);
                     rule__DataTypeCS__Group_5__0();
 
                     state._fsp--;
@@ -28282,16 +29330,16 @@
 
 
     // $ANTLR start "rule__DataTypeCS__Group__6"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8587:1: rule__DataTypeCS__Group__6 : rule__DataTypeCS__Group__6__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9087:1: rule__DataTypeCS__Group__6 : rule__DataTypeCS__Group__6__Impl ;
     public final void rule__DataTypeCS__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8591:1: ( rule__DataTypeCS__Group__6__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8592:2: rule__DataTypeCS__Group__6__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9091:1: ( rule__DataTypeCS__Group__6__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9092:2: rule__DataTypeCS__Group__6__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group__6__Impl_in_rule__DataTypeCS__Group__618523);
+            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group__6__Impl_in_rule__DataTypeCS__Group__619365);
             rule__DataTypeCS__Group__6__Impl();
 
             state._fsp--;
@@ -28315,25 +29363,25 @@
 
 
     // $ANTLR start "rule__DataTypeCS__Group__6__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8598:1: rule__DataTypeCS__Group__6__Impl : ( ( rule__DataTypeCS__Alternatives_6 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9098:1: rule__DataTypeCS__Group__6__Impl : ( ( rule__DataTypeCS__Alternatives_6 ) ) ;
     public final void rule__DataTypeCS__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8602:1: ( ( ( rule__DataTypeCS__Alternatives_6 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8603:1: ( ( rule__DataTypeCS__Alternatives_6 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9102:1: ( ( ( rule__DataTypeCS__Alternatives_6 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9103:1: ( ( rule__DataTypeCS__Alternatives_6 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8603:1: ( ( rule__DataTypeCS__Alternatives_6 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8604:1: ( rule__DataTypeCS__Alternatives_6 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9103:1: ( ( rule__DataTypeCS__Alternatives_6 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9104:1: ( rule__DataTypeCS__Alternatives_6 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDataTypeCSAccess().getAlternatives_6()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8605:1: ( rule__DataTypeCS__Alternatives_6 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8605:2: rule__DataTypeCS__Alternatives_6
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9105:1: ( rule__DataTypeCS__Alternatives_6 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9105:2: rule__DataTypeCS__Alternatives_6
             {
-            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Alternatives_6_in_rule__DataTypeCS__Group__6__Impl18550);
+            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Alternatives_6_in_rule__DataTypeCS__Group__6__Impl19392);
             rule__DataTypeCS__Alternatives_6();
 
             state._fsp--;
@@ -28366,21 +29414,21 @@
 
 
     // $ANTLR start "rule__DataTypeCS__Group_4__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8629:1: rule__DataTypeCS__Group_4__0 : rule__DataTypeCS__Group_4__0__Impl rule__DataTypeCS__Group_4__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9129:1: rule__DataTypeCS__Group_4__0 : rule__DataTypeCS__Group_4__0__Impl rule__DataTypeCS__Group_4__1 ;
     public final void rule__DataTypeCS__Group_4__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8633:1: ( rule__DataTypeCS__Group_4__0__Impl rule__DataTypeCS__Group_4__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8634:2: rule__DataTypeCS__Group_4__0__Impl rule__DataTypeCS__Group_4__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9133:1: ( rule__DataTypeCS__Group_4__0__Impl rule__DataTypeCS__Group_4__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9134:2: rule__DataTypeCS__Group_4__0__Impl rule__DataTypeCS__Group_4__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group_4__0__Impl_in_rule__DataTypeCS__Group_4__018594);
+            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group_4__0__Impl_in_rule__DataTypeCS__Group_4__019436);
             rule__DataTypeCS__Group_4__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group_4__1_in_rule__DataTypeCS__Group_4__018597);
+            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group_4__1_in_rule__DataTypeCS__Group_4__019439);
             rule__DataTypeCS__Group_4__1();
 
             state._fsp--;
@@ -28404,22 +29452,22 @@
 
 
     // $ANTLR start "rule__DataTypeCS__Group_4__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8641:1: rule__DataTypeCS__Group_4__0__Impl : ( ':' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9141:1: rule__DataTypeCS__Group_4__0__Impl : ( ':' ) ;
     public final void rule__DataTypeCS__Group_4__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8645:1: ( ( ':' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8646:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9145:1: ( ( ':' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9146:1: ( ':' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8646:1: ( ':' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8647:1: ':'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9146:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9147:1: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDataTypeCSAccess().getColonKeyword_4_0()); 
             }
-            match(input,97,FollowSets000.FOLLOW_97_in_rule__DataTypeCS__Group_4__0__Impl18625); if (state.failed) return ;
+            match(input,106,FollowSets000.FOLLOW_106_in_rule__DataTypeCS__Group_4__0__Impl19467); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDataTypeCSAccess().getColonKeyword_4_0()); 
             }
@@ -28445,16 +29493,16 @@
 
 
     // $ANTLR start "rule__DataTypeCS__Group_4__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8660:1: rule__DataTypeCS__Group_4__1 : rule__DataTypeCS__Group_4__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9160:1: rule__DataTypeCS__Group_4__1 : rule__DataTypeCS__Group_4__1__Impl ;
     public final void rule__DataTypeCS__Group_4__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8664:1: ( rule__DataTypeCS__Group_4__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8665:2: rule__DataTypeCS__Group_4__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9164:1: ( rule__DataTypeCS__Group_4__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9165:2: rule__DataTypeCS__Group_4__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group_4__1__Impl_in_rule__DataTypeCS__Group_4__118656);
+            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group_4__1__Impl_in_rule__DataTypeCS__Group_4__119498);
             rule__DataTypeCS__Group_4__1__Impl();
 
             state._fsp--;
@@ -28478,25 +29526,25 @@
 
 
     // $ANTLR start "rule__DataTypeCS__Group_4__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8671:1: rule__DataTypeCS__Group_4__1__Impl : ( ( rule__DataTypeCS__InstanceClassNameAssignment_4_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9171:1: rule__DataTypeCS__Group_4__1__Impl : ( ( rule__DataTypeCS__InstanceClassNameAssignment_4_1 ) ) ;
     public final void rule__DataTypeCS__Group_4__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8675:1: ( ( ( rule__DataTypeCS__InstanceClassNameAssignment_4_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8676:1: ( ( rule__DataTypeCS__InstanceClassNameAssignment_4_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9175:1: ( ( ( rule__DataTypeCS__InstanceClassNameAssignment_4_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9176:1: ( ( rule__DataTypeCS__InstanceClassNameAssignment_4_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8676:1: ( ( rule__DataTypeCS__InstanceClassNameAssignment_4_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8677:1: ( rule__DataTypeCS__InstanceClassNameAssignment_4_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9176:1: ( ( rule__DataTypeCS__InstanceClassNameAssignment_4_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9177:1: ( rule__DataTypeCS__InstanceClassNameAssignment_4_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDataTypeCSAccess().getInstanceClassNameAssignment_4_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8678:1: ( rule__DataTypeCS__InstanceClassNameAssignment_4_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8678:2: rule__DataTypeCS__InstanceClassNameAssignment_4_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9178:1: ( rule__DataTypeCS__InstanceClassNameAssignment_4_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9178:2: rule__DataTypeCS__InstanceClassNameAssignment_4_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__InstanceClassNameAssignment_4_1_in_rule__DataTypeCS__Group_4__1__Impl18683);
+            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__InstanceClassNameAssignment_4_1_in_rule__DataTypeCS__Group_4__1__Impl19525);
             rule__DataTypeCS__InstanceClassNameAssignment_4_1();
 
             state._fsp--;
@@ -28529,21 +29577,21 @@
 
 
     // $ANTLR start "rule__DataTypeCS__Group_5__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8692:1: rule__DataTypeCS__Group_5__0 : rule__DataTypeCS__Group_5__0__Impl rule__DataTypeCS__Group_5__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9192:1: rule__DataTypeCS__Group_5__0 : rule__DataTypeCS__Group_5__0__Impl rule__DataTypeCS__Group_5__1 ;
     public final void rule__DataTypeCS__Group_5__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8696:1: ( rule__DataTypeCS__Group_5__0__Impl rule__DataTypeCS__Group_5__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8697:2: rule__DataTypeCS__Group_5__0__Impl rule__DataTypeCS__Group_5__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9196:1: ( rule__DataTypeCS__Group_5__0__Impl rule__DataTypeCS__Group_5__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9197:2: rule__DataTypeCS__Group_5__0__Impl rule__DataTypeCS__Group_5__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group_5__0__Impl_in_rule__DataTypeCS__Group_5__018717);
+            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group_5__0__Impl_in_rule__DataTypeCS__Group_5__019559);
             rule__DataTypeCS__Group_5__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group_5__1_in_rule__DataTypeCS__Group_5__018720);
+            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group_5__1_in_rule__DataTypeCS__Group_5__019562);
             rule__DataTypeCS__Group_5__1();
 
             state._fsp--;
@@ -28567,22 +29615,22 @@
 
 
     // $ANTLR start "rule__DataTypeCS__Group_5__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8704:1: rule__DataTypeCS__Group_5__0__Impl : ( '{' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9204:1: rule__DataTypeCS__Group_5__0__Impl : ( '{' ) ;
     public final void rule__DataTypeCS__Group_5__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8708:1: ( ( '{' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8709:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9208:1: ( ( '{' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9209:1: ( '{' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8709:1: ( '{' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8710:1: '{'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9209:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9210:1: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDataTypeCSAccess().getLeftCurlyBracketKeyword_5_0()); 
             }
-            match(input,99,FollowSets000.FOLLOW_99_in_rule__DataTypeCS__Group_5__0__Impl18748); if (state.failed) return ;
+            match(input,108,FollowSets000.FOLLOW_108_in_rule__DataTypeCS__Group_5__0__Impl19590); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDataTypeCSAccess().getLeftCurlyBracketKeyword_5_0()); 
             }
@@ -28608,21 +29656,21 @@
 
 
     // $ANTLR start "rule__DataTypeCS__Group_5__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8723:1: rule__DataTypeCS__Group_5__1 : rule__DataTypeCS__Group_5__1__Impl rule__DataTypeCS__Group_5__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9223:1: rule__DataTypeCS__Group_5__1 : rule__DataTypeCS__Group_5__1__Impl rule__DataTypeCS__Group_5__2 ;
     public final void rule__DataTypeCS__Group_5__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8727:1: ( rule__DataTypeCS__Group_5__1__Impl rule__DataTypeCS__Group_5__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8728:2: rule__DataTypeCS__Group_5__1__Impl rule__DataTypeCS__Group_5__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9227:1: ( rule__DataTypeCS__Group_5__1__Impl rule__DataTypeCS__Group_5__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9228:2: rule__DataTypeCS__Group_5__1__Impl rule__DataTypeCS__Group_5__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group_5__1__Impl_in_rule__DataTypeCS__Group_5__118779);
+            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group_5__1__Impl_in_rule__DataTypeCS__Group_5__119621);
             rule__DataTypeCS__Group_5__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group_5__2_in_rule__DataTypeCS__Group_5__118782);
+            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group_5__2_in_rule__DataTypeCS__Group_5__119624);
             rule__DataTypeCS__Group_5__2();
 
             state._fsp--;
@@ -28646,33 +29694,33 @@
 
 
     // $ANTLR start "rule__DataTypeCS__Group_5__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8735:1: rule__DataTypeCS__Group_5__1__Impl : ( ( rule__DataTypeCS__Alternatives_5_1 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9235:1: rule__DataTypeCS__Group_5__1__Impl : ( ( rule__DataTypeCS__Alternatives_5_1 )? ) ;
     public final void rule__DataTypeCS__Group_5__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8739:1: ( ( ( rule__DataTypeCS__Alternatives_5_1 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8740:1: ( ( rule__DataTypeCS__Alternatives_5_1 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9239:1: ( ( ( rule__DataTypeCS__Alternatives_5_1 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9240:1: ( ( rule__DataTypeCS__Alternatives_5_1 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8740:1: ( ( rule__DataTypeCS__Alternatives_5_1 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8741:1: ( rule__DataTypeCS__Alternatives_5_1 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9240:1: ( ( rule__DataTypeCS__Alternatives_5_1 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9241:1: ( rule__DataTypeCS__Alternatives_5_1 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDataTypeCSAccess().getAlternatives_5_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8742:1: ( rule__DataTypeCS__Alternatives_5_1 )?
-            int alt111=2;
-            int LA111_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9242:1: ( rule__DataTypeCS__Alternatives_5_1 )?
+            int alt131=2;
+            int LA131_0 = input.LA(1);
 
-            if ( (LA111_0==54||LA111_0==59) ) {
-                alt111=1;
+            if ( (LA131_0==61||LA131_0==68) ) {
+                alt131=1;
             }
-            switch (alt111) {
+            switch (alt131) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8742:2: rule__DataTypeCS__Alternatives_5_1
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9242:2: rule__DataTypeCS__Alternatives_5_1
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Alternatives_5_1_in_rule__DataTypeCS__Group_5__1__Impl18809);
+                    pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Alternatives_5_1_in_rule__DataTypeCS__Group_5__1__Impl19651);
                     rule__DataTypeCS__Alternatives_5_1();
 
                     state._fsp--;
@@ -28708,16 +29756,16 @@
 
 
     // $ANTLR start "rule__DataTypeCS__Group_5__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8752:1: rule__DataTypeCS__Group_5__2 : rule__DataTypeCS__Group_5__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9252:1: rule__DataTypeCS__Group_5__2 : rule__DataTypeCS__Group_5__2__Impl ;
     public final void rule__DataTypeCS__Group_5__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8756:1: ( rule__DataTypeCS__Group_5__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8757:2: rule__DataTypeCS__Group_5__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9256:1: ( rule__DataTypeCS__Group_5__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9257:2: rule__DataTypeCS__Group_5__2__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group_5__2__Impl_in_rule__DataTypeCS__Group_5__218840);
+            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group_5__2__Impl_in_rule__DataTypeCS__Group_5__219682);
             rule__DataTypeCS__Group_5__2__Impl();
 
             state._fsp--;
@@ -28741,22 +29789,22 @@
 
 
     // $ANTLR start "rule__DataTypeCS__Group_5__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8763:1: rule__DataTypeCS__Group_5__2__Impl : ( '}' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9263:1: rule__DataTypeCS__Group_5__2__Impl : ( '}' ) ;
     public final void rule__DataTypeCS__Group_5__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8767:1: ( ( '}' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8768:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9267:1: ( ( '}' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9268:1: ( '}' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8768:1: ( '}' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8769:1: '}'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9268:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9269:1: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDataTypeCSAccess().getRightCurlyBracketKeyword_5_2()); 
             }
-            match(input,100,FollowSets000.FOLLOW_100_in_rule__DataTypeCS__Group_5__2__Impl18868); if (state.failed) return ;
+            match(input,109,FollowSets000.FOLLOW_109_in_rule__DataTypeCS__Group_5__2__Impl19710); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDataTypeCSAccess().getRightCurlyBracketKeyword_5_2()); 
             }
@@ -28782,21 +29830,21 @@
 
 
     // $ANTLR start "rule__DataTypeCS__Group_6_0__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8788:1: rule__DataTypeCS__Group_6_0__0 : rule__DataTypeCS__Group_6_0__0__Impl rule__DataTypeCS__Group_6_0__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9288:1: rule__DataTypeCS__Group_6_0__0 : rule__DataTypeCS__Group_6_0__0__Impl rule__DataTypeCS__Group_6_0__1 ;
     public final void rule__DataTypeCS__Group_6_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8792:1: ( rule__DataTypeCS__Group_6_0__0__Impl rule__DataTypeCS__Group_6_0__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8793:2: rule__DataTypeCS__Group_6_0__0__Impl rule__DataTypeCS__Group_6_0__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9292:1: ( rule__DataTypeCS__Group_6_0__0__Impl rule__DataTypeCS__Group_6_0__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9293:2: rule__DataTypeCS__Group_6_0__0__Impl rule__DataTypeCS__Group_6_0__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group_6_0__0__Impl_in_rule__DataTypeCS__Group_6_0__018905);
+            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group_6_0__0__Impl_in_rule__DataTypeCS__Group_6_0__019747);
             rule__DataTypeCS__Group_6_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group_6_0__1_in_rule__DataTypeCS__Group_6_0__018908);
+            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group_6_0__1_in_rule__DataTypeCS__Group_6_0__019750);
             rule__DataTypeCS__Group_6_0__1();
 
             state._fsp--;
@@ -28820,22 +29868,22 @@
 
 
     // $ANTLR start "rule__DataTypeCS__Group_6_0__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8800:1: rule__DataTypeCS__Group_6_0__0__Impl : ( '{' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9300:1: rule__DataTypeCS__Group_6_0__0__Impl : ( '{' ) ;
     public final void rule__DataTypeCS__Group_6_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8804:1: ( ( '{' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8805:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9304:1: ( ( '{' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9305:1: ( '{' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8805:1: ( '{' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8806:1: '{'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9305:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9306:1: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDataTypeCSAccess().getLeftCurlyBracketKeyword_6_0_0()); 
             }
-            match(input,99,FollowSets000.FOLLOW_99_in_rule__DataTypeCS__Group_6_0__0__Impl18936); if (state.failed) return ;
+            match(input,108,FollowSets000.FOLLOW_108_in_rule__DataTypeCS__Group_6_0__0__Impl19778); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDataTypeCSAccess().getLeftCurlyBracketKeyword_6_0_0()); 
             }
@@ -28861,21 +29909,21 @@
 
 
     // $ANTLR start "rule__DataTypeCS__Group_6_0__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8819:1: rule__DataTypeCS__Group_6_0__1 : rule__DataTypeCS__Group_6_0__1__Impl rule__DataTypeCS__Group_6_0__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9319:1: rule__DataTypeCS__Group_6_0__1 : rule__DataTypeCS__Group_6_0__1__Impl rule__DataTypeCS__Group_6_0__2 ;
     public final void rule__DataTypeCS__Group_6_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8823:1: ( rule__DataTypeCS__Group_6_0__1__Impl rule__DataTypeCS__Group_6_0__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8824:2: rule__DataTypeCS__Group_6_0__1__Impl rule__DataTypeCS__Group_6_0__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9323:1: ( rule__DataTypeCS__Group_6_0__1__Impl rule__DataTypeCS__Group_6_0__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9324:2: rule__DataTypeCS__Group_6_0__1__Impl rule__DataTypeCS__Group_6_0__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group_6_0__1__Impl_in_rule__DataTypeCS__Group_6_0__118967);
+            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group_6_0__1__Impl_in_rule__DataTypeCS__Group_6_0__119809);
             rule__DataTypeCS__Group_6_0__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group_6_0__2_in_rule__DataTypeCS__Group_6_0__118970);
+            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group_6_0__2_in_rule__DataTypeCS__Group_6_0__119812);
             rule__DataTypeCS__Group_6_0__2();
 
             state._fsp--;
@@ -28899,37 +29947,37 @@
 
 
     // $ANTLR start "rule__DataTypeCS__Group_6_0__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8831:1: rule__DataTypeCS__Group_6_0__1__Impl : ( ( rule__DataTypeCS__Alternatives_6_0_1 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9331:1: rule__DataTypeCS__Group_6_0__1__Impl : ( ( rule__DataTypeCS__Alternatives_6_0_1 )* ) ;
     public final void rule__DataTypeCS__Group_6_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8835:1: ( ( ( rule__DataTypeCS__Alternatives_6_0_1 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8836:1: ( ( rule__DataTypeCS__Alternatives_6_0_1 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9335:1: ( ( ( rule__DataTypeCS__Alternatives_6_0_1 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9336:1: ( ( rule__DataTypeCS__Alternatives_6_0_1 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8836:1: ( ( rule__DataTypeCS__Alternatives_6_0_1 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8837:1: ( rule__DataTypeCS__Alternatives_6_0_1 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9336:1: ( ( rule__DataTypeCS__Alternatives_6_0_1 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9337:1: ( rule__DataTypeCS__Alternatives_6_0_1 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDataTypeCSAccess().getAlternatives_6_0_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8838:1: ( rule__DataTypeCS__Alternatives_6_0_1 )*
-            loop112:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9338:1: ( rule__DataTypeCS__Alternatives_6_0_1 )*
+            loop132:
             do {
-                int alt112=2;
-                int LA112_0 = input.LA(1);
+                int alt132=2;
+                int LA132_0 = input.LA(1);
 
-                if ( (LA112_0==20||(LA112_0>=55 && LA112_0<=57)||LA112_0==60) ) {
-                    alt112=1;
+                if ( (LA132_0==20||(LA132_0>=64 && LA132_0<=66)||LA132_0==69) ) {
+                    alt132=1;
                 }
 
 
-                switch (alt112) {
+                switch (alt132) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8838:2: rule__DataTypeCS__Alternatives_6_0_1
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9338:2: rule__DataTypeCS__Alternatives_6_0_1
             	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Alternatives_6_0_1_in_rule__DataTypeCS__Group_6_0__1__Impl18997);
+            	    pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Alternatives_6_0_1_in_rule__DataTypeCS__Group_6_0__1__Impl19839);
             	    rule__DataTypeCS__Alternatives_6_0_1();
 
             	    state._fsp--;
@@ -28939,7 +29987,7 @@
             	    break;
 
             	default :
-            	    break loop112;
+            	    break loop132;
                 }
             } while (true);
 
@@ -28968,16 +30016,16 @@
 
 
     // $ANTLR start "rule__DataTypeCS__Group_6_0__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8848:1: rule__DataTypeCS__Group_6_0__2 : rule__DataTypeCS__Group_6_0__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9348:1: rule__DataTypeCS__Group_6_0__2 : rule__DataTypeCS__Group_6_0__2__Impl ;
     public final void rule__DataTypeCS__Group_6_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8852:1: ( rule__DataTypeCS__Group_6_0__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8853:2: rule__DataTypeCS__Group_6_0__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9352:1: ( rule__DataTypeCS__Group_6_0__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9353:2: rule__DataTypeCS__Group_6_0__2__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group_6_0__2__Impl_in_rule__DataTypeCS__Group_6_0__219028);
+            pushFollow(FollowSets000.FOLLOW_rule__DataTypeCS__Group_6_0__2__Impl_in_rule__DataTypeCS__Group_6_0__219870);
             rule__DataTypeCS__Group_6_0__2__Impl();
 
             state._fsp--;
@@ -29001,22 +30049,22 @@
 
 
     // $ANTLR start "rule__DataTypeCS__Group_6_0__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8859:1: rule__DataTypeCS__Group_6_0__2__Impl : ( '}' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9359:1: rule__DataTypeCS__Group_6_0__2__Impl : ( '}' ) ;
     public final void rule__DataTypeCS__Group_6_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8863:1: ( ( '}' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8864:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9363:1: ( ( '}' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9364:1: ( '}' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8864:1: ( '}' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8865:1: '}'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9364:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9365:1: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDataTypeCSAccess().getRightCurlyBracketKeyword_6_0_2()); 
             }
-            match(input,100,FollowSets000.FOLLOW_100_in_rule__DataTypeCS__Group_6_0__2__Impl19056); if (state.failed) return ;
+            match(input,109,FollowSets000.FOLLOW_109_in_rule__DataTypeCS__Group_6_0__2__Impl19898); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDataTypeCSAccess().getRightCurlyBracketKeyword_6_0_2()); 
             }
@@ -29042,21 +30090,21 @@
 
 
     // $ANTLR start "rule__DetailCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8884:1: rule__DetailCS__Group__0 : rule__DetailCS__Group__0__Impl rule__DetailCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9384:1: rule__DetailCS__Group__0 : rule__DetailCS__Group__0__Impl rule__DetailCS__Group__1 ;
     public final void rule__DetailCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8888:1: ( rule__DetailCS__Group__0__Impl rule__DetailCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8889:2: rule__DetailCS__Group__0__Impl rule__DetailCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9388:1: ( rule__DetailCS__Group__0__Impl rule__DetailCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9389:2: rule__DetailCS__Group__0__Impl rule__DetailCS__Group__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__DetailCS__Group__0__Impl_in_rule__DetailCS__Group__019093);
+            pushFollow(FollowSets000.FOLLOW_rule__DetailCS__Group__0__Impl_in_rule__DetailCS__Group__019935);
             rule__DetailCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__DetailCS__Group__1_in_rule__DetailCS__Group__019096);
+            pushFollow(FollowSets000.FOLLOW_rule__DetailCS__Group__1_in_rule__DetailCS__Group__019938);
             rule__DetailCS__Group__1();
 
             state._fsp--;
@@ -29080,25 +30128,25 @@
 
 
     // $ANTLR start "rule__DetailCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8896:1: rule__DetailCS__Group__0__Impl : ( ( rule__DetailCS__NameAssignment_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9396:1: rule__DetailCS__Group__0__Impl : ( ( rule__DetailCS__NameAssignment_0 ) ) ;
     public final void rule__DetailCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8900:1: ( ( ( rule__DetailCS__NameAssignment_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8901:1: ( ( rule__DetailCS__NameAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9400:1: ( ( ( rule__DetailCS__NameAssignment_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9401:1: ( ( rule__DetailCS__NameAssignment_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8901:1: ( ( rule__DetailCS__NameAssignment_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8902:1: ( rule__DetailCS__NameAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9401:1: ( ( rule__DetailCS__NameAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9402:1: ( rule__DetailCS__NameAssignment_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDetailCSAccess().getNameAssignment_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8903:1: ( rule__DetailCS__NameAssignment_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8903:2: rule__DetailCS__NameAssignment_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9403:1: ( rule__DetailCS__NameAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9403:2: rule__DetailCS__NameAssignment_0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__DetailCS__NameAssignment_0_in_rule__DetailCS__Group__0__Impl19123);
+            pushFollow(FollowSets000.FOLLOW_rule__DetailCS__NameAssignment_0_in_rule__DetailCS__Group__0__Impl19965);
             rule__DetailCS__NameAssignment_0();
 
             state._fsp--;
@@ -29131,21 +30179,21 @@
 
 
     // $ANTLR start "rule__DetailCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8913:1: rule__DetailCS__Group__1 : rule__DetailCS__Group__1__Impl rule__DetailCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9413:1: rule__DetailCS__Group__1 : rule__DetailCS__Group__1__Impl rule__DetailCS__Group__2 ;
     public final void rule__DetailCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8917:1: ( rule__DetailCS__Group__1__Impl rule__DetailCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8918:2: rule__DetailCS__Group__1__Impl rule__DetailCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9417:1: ( rule__DetailCS__Group__1__Impl rule__DetailCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9418:2: rule__DetailCS__Group__1__Impl rule__DetailCS__Group__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__DetailCS__Group__1__Impl_in_rule__DetailCS__Group__119153);
+            pushFollow(FollowSets000.FOLLOW_rule__DetailCS__Group__1__Impl_in_rule__DetailCS__Group__119995);
             rule__DetailCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__DetailCS__Group__2_in_rule__DetailCS__Group__119156);
+            pushFollow(FollowSets000.FOLLOW_rule__DetailCS__Group__2_in_rule__DetailCS__Group__119998);
             rule__DetailCS__Group__2();
 
             state._fsp--;
@@ -29169,22 +30217,22 @@
 
 
     // $ANTLR start "rule__DetailCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8925:1: rule__DetailCS__Group__1__Impl : ( '=' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9425:1: rule__DetailCS__Group__1__Impl : ( '=' ) ;
     public final void rule__DetailCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8929:1: ( ( '=' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8930:1: ( '=' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9429:1: ( ( '=' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9430:1: ( '=' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8930:1: ( '=' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8931:1: '='
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9430:1: ( '=' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9431:1: '='
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDetailCSAccess().getEqualsSignKeyword_1()); 
             }
-            match(input,70,FollowSets000.FOLLOW_70_in_rule__DetailCS__Group__1__Impl19184); if (state.failed) return ;
+            match(input,79,FollowSets000.FOLLOW_79_in_rule__DetailCS__Group__1__Impl20026); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDetailCSAccess().getEqualsSignKeyword_1()); 
             }
@@ -29210,16 +30258,16 @@
 
 
     // $ANTLR start "rule__DetailCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8944:1: rule__DetailCS__Group__2 : rule__DetailCS__Group__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9444:1: rule__DetailCS__Group__2 : rule__DetailCS__Group__2__Impl ;
     public final void rule__DetailCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8948:1: ( rule__DetailCS__Group__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8949:2: rule__DetailCS__Group__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9448:1: ( rule__DetailCS__Group__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9449:2: rule__DetailCS__Group__2__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__DetailCS__Group__2__Impl_in_rule__DetailCS__Group__219215);
+            pushFollow(FollowSets000.FOLLOW_rule__DetailCS__Group__2__Impl_in_rule__DetailCS__Group__220057);
             rule__DetailCS__Group__2__Impl();
 
             state._fsp--;
@@ -29243,37 +30291,37 @@
 
 
     // $ANTLR start "rule__DetailCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8955:1: rule__DetailCS__Group__2__Impl : ( ( rule__DetailCS__ValuesAssignment_2 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9455:1: rule__DetailCS__Group__2__Impl : ( ( rule__DetailCS__ValuesAssignment_2 )* ) ;
     public final void rule__DetailCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8959:1: ( ( ( rule__DetailCS__ValuesAssignment_2 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8960:1: ( ( rule__DetailCS__ValuesAssignment_2 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9459:1: ( ( ( rule__DetailCS__ValuesAssignment_2 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9460:1: ( ( rule__DetailCS__ValuesAssignment_2 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8960:1: ( ( rule__DetailCS__ValuesAssignment_2 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8961:1: ( rule__DetailCS__ValuesAssignment_2 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9460:1: ( ( rule__DetailCS__ValuesAssignment_2 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9461:1: ( rule__DetailCS__ValuesAssignment_2 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDetailCSAccess().getValuesAssignment_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8962:1: ( rule__DetailCS__ValuesAssignment_2 )*
-            loop113:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9462:1: ( rule__DetailCS__ValuesAssignment_2 )*
+            loop133:
             do {
-                int alt113=2;
-                int LA113_0 = input.LA(1);
+                int alt133=2;
+                int LA133_0 = input.LA(1);
 
-                if ( ((LA113_0>=RULE_SINGLE_QUOTED_STRING && LA113_0<=RULE_ML_SINGLE_QUOTED_STRING)) ) {
-                    alt113=1;
+                if ( ((LA133_0>=RULE_SINGLE_QUOTED_STRING && LA133_0<=RULE_ML_SINGLE_QUOTED_STRING)) ) {
+                    alt133=1;
                 }
 
 
-                switch (alt113) {
+                switch (alt133) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8962:2: rule__DetailCS__ValuesAssignment_2
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9462:2: rule__DetailCS__ValuesAssignment_2
             	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__DetailCS__ValuesAssignment_2_in_rule__DetailCS__Group__2__Impl19242);
+            	    pushFollow(FollowSets000.FOLLOW_rule__DetailCS__ValuesAssignment_2_in_rule__DetailCS__Group__2__Impl20084);
             	    rule__DetailCS__ValuesAssignment_2();
 
             	    state._fsp--;
@@ -29283,7 +30331,7 @@
             	    break;
 
             	default :
-            	    break loop113;
+            	    break loop133;
                 }
             } while (true);
 
@@ -29312,21 +30360,21 @@
 
 
     // $ANTLR start "rule__DocumentationCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8978:1: rule__DocumentationCS__Group__0 : rule__DocumentationCS__Group__0__Impl rule__DocumentationCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9478:1: rule__DocumentationCS__Group__0 : rule__DocumentationCS__Group__0__Impl rule__DocumentationCS__Group__1 ;
     public final void rule__DocumentationCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8982:1: ( rule__DocumentationCS__Group__0__Impl rule__DocumentationCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8983:2: rule__DocumentationCS__Group__0__Impl rule__DocumentationCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9482:1: ( rule__DocumentationCS__Group__0__Impl rule__DocumentationCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9483:2: rule__DocumentationCS__Group__0__Impl rule__DocumentationCS__Group__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group__0__Impl_in_rule__DocumentationCS__Group__019279);
+            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group__0__Impl_in_rule__DocumentationCS__Group__020121);
             rule__DocumentationCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group__1_in_rule__DocumentationCS__Group__019282);
+            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group__1_in_rule__DocumentationCS__Group__020124);
             rule__DocumentationCS__Group__1();
 
             state._fsp--;
@@ -29350,23 +30398,23 @@
 
 
     // $ANTLR start "rule__DocumentationCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8990:1: rule__DocumentationCS__Group__0__Impl : ( () ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9490:1: rule__DocumentationCS__Group__0__Impl : ( () ) ;
     public final void rule__DocumentationCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8994:1: ( ( () ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8995:1: ( () )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9494:1: ( ( () ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9495:1: ( () )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8995:1: ( () )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8996:1: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9495:1: ( () )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9496:1: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDocumentationCSAccess().getDocumentationCSAction_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8997:1: ()
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:8999:1: 
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9497:1: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9499:1: 
             {
             }
 
@@ -29391,21 +30439,21 @@
 
 
     // $ANTLR start "rule__DocumentationCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9009:1: rule__DocumentationCS__Group__1 : rule__DocumentationCS__Group__1__Impl rule__DocumentationCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9509:1: rule__DocumentationCS__Group__1 : rule__DocumentationCS__Group__1__Impl rule__DocumentationCS__Group__2 ;
     public final void rule__DocumentationCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9013:1: ( rule__DocumentationCS__Group__1__Impl rule__DocumentationCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9014:2: rule__DocumentationCS__Group__1__Impl rule__DocumentationCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9513:1: ( rule__DocumentationCS__Group__1__Impl rule__DocumentationCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9514:2: rule__DocumentationCS__Group__1__Impl rule__DocumentationCS__Group__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group__1__Impl_in_rule__DocumentationCS__Group__119340);
+            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group__1__Impl_in_rule__DocumentationCS__Group__120182);
             rule__DocumentationCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group__2_in_rule__DocumentationCS__Group__119343);
+            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group__2_in_rule__DocumentationCS__Group__120185);
             rule__DocumentationCS__Group__2();
 
             state._fsp--;
@@ -29429,22 +30477,22 @@
 
 
     // $ANTLR start "rule__DocumentationCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9021:1: rule__DocumentationCS__Group__1__Impl : ( 'documentation' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9521:1: rule__DocumentationCS__Group__1__Impl : ( 'documentation' ) ;
     public final void rule__DocumentationCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9025:1: ( ( 'documentation' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9026:1: ( 'documentation' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9525:1: ( ( 'documentation' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9526:1: ( 'documentation' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9026:1: ( 'documentation' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9027:1: 'documentation'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9526:1: ( 'documentation' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9527:1: 'documentation'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDocumentationCSAccess().getDocumentationKeyword_1()); 
             }
-            match(input,56,FollowSets000.FOLLOW_56_in_rule__DocumentationCS__Group__1__Impl19371); if (state.failed) return ;
+            match(input,65,FollowSets000.FOLLOW_65_in_rule__DocumentationCS__Group__1__Impl20213); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDocumentationCSAccess().getDocumentationKeyword_1()); 
             }
@@ -29470,21 +30518,21 @@
 
 
     // $ANTLR start "rule__DocumentationCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9040:1: rule__DocumentationCS__Group__2 : rule__DocumentationCS__Group__2__Impl rule__DocumentationCS__Group__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9540:1: rule__DocumentationCS__Group__2 : rule__DocumentationCS__Group__2__Impl rule__DocumentationCS__Group__3 ;
     public final void rule__DocumentationCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9044:1: ( rule__DocumentationCS__Group__2__Impl rule__DocumentationCS__Group__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9045:2: rule__DocumentationCS__Group__2__Impl rule__DocumentationCS__Group__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9544:1: ( rule__DocumentationCS__Group__2__Impl rule__DocumentationCS__Group__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9545:2: rule__DocumentationCS__Group__2__Impl rule__DocumentationCS__Group__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group__2__Impl_in_rule__DocumentationCS__Group__219402);
+            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group__2__Impl_in_rule__DocumentationCS__Group__220244);
             rule__DocumentationCS__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group__3_in_rule__DocumentationCS__Group__219405);
+            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group__3_in_rule__DocumentationCS__Group__220247);
             rule__DocumentationCS__Group__3();
 
             state._fsp--;
@@ -29508,33 +30556,33 @@
 
 
     // $ANTLR start "rule__DocumentationCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9052:1: rule__DocumentationCS__Group__2__Impl : ( ( rule__DocumentationCS__ValueAssignment_2 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9552:1: rule__DocumentationCS__Group__2__Impl : ( ( rule__DocumentationCS__ValueAssignment_2 )? ) ;
     public final void rule__DocumentationCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9056:1: ( ( ( rule__DocumentationCS__ValueAssignment_2 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9057:1: ( ( rule__DocumentationCS__ValueAssignment_2 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9556:1: ( ( ( rule__DocumentationCS__ValueAssignment_2 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9557:1: ( ( rule__DocumentationCS__ValueAssignment_2 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9057:1: ( ( rule__DocumentationCS__ValueAssignment_2 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9058:1: ( rule__DocumentationCS__ValueAssignment_2 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9557:1: ( ( rule__DocumentationCS__ValueAssignment_2 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9558:1: ( rule__DocumentationCS__ValueAssignment_2 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDocumentationCSAccess().getValueAssignment_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9059:1: ( rule__DocumentationCS__ValueAssignment_2 )?
-            int alt114=2;
-            int LA114_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9559:1: ( rule__DocumentationCS__ValueAssignment_2 )?
+            int alt134=2;
+            int LA134_0 = input.LA(1);
 
-            if ( (LA114_0==RULE_SINGLE_QUOTED_STRING) ) {
-                alt114=1;
+            if ( (LA134_0==RULE_SINGLE_QUOTED_STRING) ) {
+                alt134=1;
             }
-            switch (alt114) {
+            switch (alt134) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9059:2: rule__DocumentationCS__ValueAssignment_2
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9559:2: rule__DocumentationCS__ValueAssignment_2
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__ValueAssignment_2_in_rule__DocumentationCS__Group__2__Impl19432);
+                    pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__ValueAssignment_2_in_rule__DocumentationCS__Group__2__Impl20274);
                     rule__DocumentationCS__ValueAssignment_2();
 
                     state._fsp--;
@@ -29570,21 +30618,21 @@
 
 
     // $ANTLR start "rule__DocumentationCS__Group__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9069:1: rule__DocumentationCS__Group__3 : rule__DocumentationCS__Group__3__Impl rule__DocumentationCS__Group__4 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9569:1: rule__DocumentationCS__Group__3 : rule__DocumentationCS__Group__3__Impl rule__DocumentationCS__Group__4 ;
     public final void rule__DocumentationCS__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9073:1: ( rule__DocumentationCS__Group__3__Impl rule__DocumentationCS__Group__4 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9074:2: rule__DocumentationCS__Group__3__Impl rule__DocumentationCS__Group__4
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9573:1: ( rule__DocumentationCS__Group__3__Impl rule__DocumentationCS__Group__4 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9574:2: rule__DocumentationCS__Group__3__Impl rule__DocumentationCS__Group__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group__3__Impl_in_rule__DocumentationCS__Group__319463);
+            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group__3__Impl_in_rule__DocumentationCS__Group__320305);
             rule__DocumentationCS__Group__3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group__4_in_rule__DocumentationCS__Group__319466);
+            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group__4_in_rule__DocumentationCS__Group__320308);
             rule__DocumentationCS__Group__4();
 
             state._fsp--;
@@ -29608,33 +30656,33 @@
 
 
     // $ANTLR start "rule__DocumentationCS__Group__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9081:1: rule__DocumentationCS__Group__3__Impl : ( ( rule__DocumentationCS__Group_3__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9581:1: rule__DocumentationCS__Group__3__Impl : ( ( rule__DocumentationCS__Group_3__0 )? ) ;
     public final void rule__DocumentationCS__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9085:1: ( ( ( rule__DocumentationCS__Group_3__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9086:1: ( ( rule__DocumentationCS__Group_3__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9585:1: ( ( ( rule__DocumentationCS__Group_3__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9586:1: ( ( rule__DocumentationCS__Group_3__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9086:1: ( ( rule__DocumentationCS__Group_3__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9087:1: ( rule__DocumentationCS__Group_3__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9586:1: ( ( rule__DocumentationCS__Group_3__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9587:1: ( rule__DocumentationCS__Group_3__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDocumentationCSAccess().getGroup_3()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9088:1: ( rule__DocumentationCS__Group_3__0 )?
-            int alt115=2;
-            int LA115_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9588:1: ( rule__DocumentationCS__Group_3__0 )?
+            int alt135=2;
+            int LA135_0 = input.LA(1);
 
-            if ( (LA115_0==95) ) {
-                alt115=1;
+            if ( (LA135_0==104) ) {
+                alt135=1;
             }
-            switch (alt115) {
+            switch (alt135) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9088:2: rule__DocumentationCS__Group_3__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9588:2: rule__DocumentationCS__Group_3__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group_3__0_in_rule__DocumentationCS__Group__3__Impl19493);
+                    pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group_3__0_in_rule__DocumentationCS__Group__3__Impl20335);
                     rule__DocumentationCS__Group_3__0();
 
                     state._fsp--;
@@ -29670,16 +30718,16 @@
 
 
     // $ANTLR start "rule__DocumentationCS__Group__4"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9098:1: rule__DocumentationCS__Group__4 : rule__DocumentationCS__Group__4__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9598:1: rule__DocumentationCS__Group__4 : rule__DocumentationCS__Group__4__Impl ;
     public final void rule__DocumentationCS__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9102:1: ( rule__DocumentationCS__Group__4__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9103:2: rule__DocumentationCS__Group__4__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9602:1: ( rule__DocumentationCS__Group__4__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9603:2: rule__DocumentationCS__Group__4__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group__4__Impl_in_rule__DocumentationCS__Group__419524);
+            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group__4__Impl_in_rule__DocumentationCS__Group__420366);
             rule__DocumentationCS__Group__4__Impl();
 
             state._fsp--;
@@ -29703,22 +30751,22 @@
 
 
     // $ANTLR start "rule__DocumentationCS__Group__4__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9109:1: rule__DocumentationCS__Group__4__Impl : ( ';' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9609:1: rule__DocumentationCS__Group__4__Impl : ( ';' ) ;
     public final void rule__DocumentationCS__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9113:1: ( ( ';' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9114:1: ( ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9613:1: ( ( ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9614:1: ( ';' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9114:1: ( ';' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9115:1: ';'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9614:1: ( ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9615:1: ';'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDocumentationCSAccess().getSemicolonKeyword_4()); 
             }
-            match(input,53,FollowSets000.FOLLOW_53_in_rule__DocumentationCS__Group__4__Impl19552); if (state.failed) return ;
+            match(input,53,FollowSets000.FOLLOW_53_in_rule__DocumentationCS__Group__4__Impl20394); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDocumentationCSAccess().getSemicolonKeyword_4()); 
             }
@@ -29744,21 +30792,21 @@
 
 
     // $ANTLR start "rule__DocumentationCS__Group_3__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9138:1: rule__DocumentationCS__Group_3__0 : rule__DocumentationCS__Group_3__0__Impl rule__DocumentationCS__Group_3__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9638:1: rule__DocumentationCS__Group_3__0 : rule__DocumentationCS__Group_3__0__Impl rule__DocumentationCS__Group_3__1 ;
     public final void rule__DocumentationCS__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9142:1: ( rule__DocumentationCS__Group_3__0__Impl rule__DocumentationCS__Group_3__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9143:2: rule__DocumentationCS__Group_3__0__Impl rule__DocumentationCS__Group_3__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9642:1: ( rule__DocumentationCS__Group_3__0__Impl rule__DocumentationCS__Group_3__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9643:2: rule__DocumentationCS__Group_3__0__Impl rule__DocumentationCS__Group_3__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group_3__0__Impl_in_rule__DocumentationCS__Group_3__019593);
+            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group_3__0__Impl_in_rule__DocumentationCS__Group_3__020435);
             rule__DocumentationCS__Group_3__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group_3__1_in_rule__DocumentationCS__Group_3__019596);
+            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group_3__1_in_rule__DocumentationCS__Group_3__020438);
             rule__DocumentationCS__Group_3__1();
 
             state._fsp--;
@@ -29782,22 +30830,22 @@
 
 
     // $ANTLR start "rule__DocumentationCS__Group_3__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9150:1: rule__DocumentationCS__Group_3__0__Impl : ( '(' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9650:1: rule__DocumentationCS__Group_3__0__Impl : ( '(' ) ;
     public final void rule__DocumentationCS__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9154:1: ( ( '(' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9155:1: ( '(' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9654:1: ( ( '(' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9655:1: ( '(' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9155:1: ( '(' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9156:1: '('
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9655:1: ( '(' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9656:1: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDocumentationCSAccess().getLeftParenthesisKeyword_3_0()); 
             }
-            match(input,95,FollowSets000.FOLLOW_95_in_rule__DocumentationCS__Group_3__0__Impl19624); if (state.failed) return ;
+            match(input,104,FollowSets000.FOLLOW_104_in_rule__DocumentationCS__Group_3__0__Impl20466); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDocumentationCSAccess().getLeftParenthesisKeyword_3_0()); 
             }
@@ -29823,21 +30871,21 @@
 
 
     // $ANTLR start "rule__DocumentationCS__Group_3__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9169:1: rule__DocumentationCS__Group_3__1 : rule__DocumentationCS__Group_3__1__Impl rule__DocumentationCS__Group_3__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9669:1: rule__DocumentationCS__Group_3__1 : rule__DocumentationCS__Group_3__1__Impl rule__DocumentationCS__Group_3__2 ;
     public final void rule__DocumentationCS__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9173:1: ( rule__DocumentationCS__Group_3__1__Impl rule__DocumentationCS__Group_3__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9174:2: rule__DocumentationCS__Group_3__1__Impl rule__DocumentationCS__Group_3__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9673:1: ( rule__DocumentationCS__Group_3__1__Impl rule__DocumentationCS__Group_3__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9674:2: rule__DocumentationCS__Group_3__1__Impl rule__DocumentationCS__Group_3__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group_3__1__Impl_in_rule__DocumentationCS__Group_3__119655);
+            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group_3__1__Impl_in_rule__DocumentationCS__Group_3__120497);
             rule__DocumentationCS__Group_3__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group_3__2_in_rule__DocumentationCS__Group_3__119658);
+            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group_3__2_in_rule__DocumentationCS__Group_3__120500);
             rule__DocumentationCS__Group_3__2();
 
             state._fsp--;
@@ -29861,25 +30909,25 @@
 
 
     // $ANTLR start "rule__DocumentationCS__Group_3__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9181:1: rule__DocumentationCS__Group_3__1__Impl : ( ( rule__DocumentationCS__OwnedDetailsAssignment_3_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9681:1: rule__DocumentationCS__Group_3__1__Impl : ( ( rule__DocumentationCS__OwnedDetailsAssignment_3_1 ) ) ;
     public final void rule__DocumentationCS__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9185:1: ( ( ( rule__DocumentationCS__OwnedDetailsAssignment_3_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9186:1: ( ( rule__DocumentationCS__OwnedDetailsAssignment_3_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9685:1: ( ( ( rule__DocumentationCS__OwnedDetailsAssignment_3_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9686:1: ( ( rule__DocumentationCS__OwnedDetailsAssignment_3_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9186:1: ( ( rule__DocumentationCS__OwnedDetailsAssignment_3_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9187:1: ( rule__DocumentationCS__OwnedDetailsAssignment_3_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9686:1: ( ( rule__DocumentationCS__OwnedDetailsAssignment_3_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9687:1: ( rule__DocumentationCS__OwnedDetailsAssignment_3_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDocumentationCSAccess().getOwnedDetailsAssignment_3_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9188:1: ( rule__DocumentationCS__OwnedDetailsAssignment_3_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9188:2: rule__DocumentationCS__OwnedDetailsAssignment_3_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9688:1: ( rule__DocumentationCS__OwnedDetailsAssignment_3_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9688:2: rule__DocumentationCS__OwnedDetailsAssignment_3_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__OwnedDetailsAssignment_3_1_in_rule__DocumentationCS__Group_3__1__Impl19685);
+            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__OwnedDetailsAssignment_3_1_in_rule__DocumentationCS__Group_3__1__Impl20527);
             rule__DocumentationCS__OwnedDetailsAssignment_3_1();
 
             state._fsp--;
@@ -29912,21 +30960,21 @@
 
 
     // $ANTLR start "rule__DocumentationCS__Group_3__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9198:1: rule__DocumentationCS__Group_3__2 : rule__DocumentationCS__Group_3__2__Impl rule__DocumentationCS__Group_3__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9698:1: rule__DocumentationCS__Group_3__2 : rule__DocumentationCS__Group_3__2__Impl rule__DocumentationCS__Group_3__3 ;
     public final void rule__DocumentationCS__Group_3__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9202:1: ( rule__DocumentationCS__Group_3__2__Impl rule__DocumentationCS__Group_3__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9203:2: rule__DocumentationCS__Group_3__2__Impl rule__DocumentationCS__Group_3__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9702:1: ( rule__DocumentationCS__Group_3__2__Impl rule__DocumentationCS__Group_3__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9703:2: rule__DocumentationCS__Group_3__2__Impl rule__DocumentationCS__Group_3__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group_3__2__Impl_in_rule__DocumentationCS__Group_3__219715);
+            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group_3__2__Impl_in_rule__DocumentationCS__Group_3__220557);
             rule__DocumentationCS__Group_3__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group_3__3_in_rule__DocumentationCS__Group_3__219718);
+            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group_3__3_in_rule__DocumentationCS__Group_3__220560);
             rule__DocumentationCS__Group_3__3();
 
             state._fsp--;
@@ -29950,37 +30998,37 @@
 
 
     // $ANTLR start "rule__DocumentationCS__Group_3__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9210:1: rule__DocumentationCS__Group_3__2__Impl : ( ( rule__DocumentationCS__Group_3_2__0 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9710:1: rule__DocumentationCS__Group_3__2__Impl : ( ( rule__DocumentationCS__Group_3_2__0 )* ) ;
     public final void rule__DocumentationCS__Group_3__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9214:1: ( ( ( rule__DocumentationCS__Group_3_2__0 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9215:1: ( ( rule__DocumentationCS__Group_3_2__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9714:1: ( ( ( rule__DocumentationCS__Group_3_2__0 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9715:1: ( ( rule__DocumentationCS__Group_3_2__0 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9215:1: ( ( rule__DocumentationCS__Group_3_2__0 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9216:1: ( rule__DocumentationCS__Group_3_2__0 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9715:1: ( ( rule__DocumentationCS__Group_3_2__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9716:1: ( rule__DocumentationCS__Group_3_2__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDocumentationCSAccess().getGroup_3_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9217:1: ( rule__DocumentationCS__Group_3_2__0 )*
-            loop116:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9717:1: ( rule__DocumentationCS__Group_3_2__0 )*
+            loop136:
             do {
-                int alt116=2;
-                int LA116_0 = input.LA(1);
+                int alt136=2;
+                int LA136_0 = input.LA(1);
 
-                if ( (LA116_0==98) ) {
-                    alt116=1;
+                if ( (LA136_0==107) ) {
+                    alt136=1;
                 }
 
 
-                switch (alt116) {
+                switch (alt136) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9217:2: rule__DocumentationCS__Group_3_2__0
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9717:2: rule__DocumentationCS__Group_3_2__0
             	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group_3_2__0_in_rule__DocumentationCS__Group_3__2__Impl19745);
+            	    pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group_3_2__0_in_rule__DocumentationCS__Group_3__2__Impl20587);
             	    rule__DocumentationCS__Group_3_2__0();
 
             	    state._fsp--;
@@ -29990,7 +31038,7 @@
             	    break;
 
             	default :
-            	    break loop116;
+            	    break loop136;
                 }
             } while (true);
 
@@ -30019,16 +31067,16 @@
 
 
     // $ANTLR start "rule__DocumentationCS__Group_3__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9227:1: rule__DocumentationCS__Group_3__3 : rule__DocumentationCS__Group_3__3__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9727:1: rule__DocumentationCS__Group_3__3 : rule__DocumentationCS__Group_3__3__Impl ;
     public final void rule__DocumentationCS__Group_3__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9231:1: ( rule__DocumentationCS__Group_3__3__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9232:2: rule__DocumentationCS__Group_3__3__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9731:1: ( rule__DocumentationCS__Group_3__3__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9732:2: rule__DocumentationCS__Group_3__3__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group_3__3__Impl_in_rule__DocumentationCS__Group_3__319776);
+            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group_3__3__Impl_in_rule__DocumentationCS__Group_3__320618);
             rule__DocumentationCS__Group_3__3__Impl();
 
             state._fsp--;
@@ -30052,22 +31100,22 @@
 
 
     // $ANTLR start "rule__DocumentationCS__Group_3__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9238:1: rule__DocumentationCS__Group_3__3__Impl : ( ')' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9738:1: rule__DocumentationCS__Group_3__3__Impl : ( ')' ) ;
     public final void rule__DocumentationCS__Group_3__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9242:1: ( ( ')' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9243:1: ( ')' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9742:1: ( ( ')' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9743:1: ( ')' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9243:1: ( ')' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9244:1: ')'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9743:1: ( ')' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9744:1: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDocumentationCSAccess().getRightParenthesisKeyword_3_3()); 
             }
-            match(input,96,FollowSets000.FOLLOW_96_in_rule__DocumentationCS__Group_3__3__Impl19804); if (state.failed) return ;
+            match(input,105,FollowSets000.FOLLOW_105_in_rule__DocumentationCS__Group_3__3__Impl20646); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDocumentationCSAccess().getRightParenthesisKeyword_3_3()); 
             }
@@ -30093,21 +31141,21 @@
 
 
     // $ANTLR start "rule__DocumentationCS__Group_3_2__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9265:1: rule__DocumentationCS__Group_3_2__0 : rule__DocumentationCS__Group_3_2__0__Impl rule__DocumentationCS__Group_3_2__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9765:1: rule__DocumentationCS__Group_3_2__0 : rule__DocumentationCS__Group_3_2__0__Impl rule__DocumentationCS__Group_3_2__1 ;
     public final void rule__DocumentationCS__Group_3_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9269:1: ( rule__DocumentationCS__Group_3_2__0__Impl rule__DocumentationCS__Group_3_2__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9270:2: rule__DocumentationCS__Group_3_2__0__Impl rule__DocumentationCS__Group_3_2__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9769:1: ( rule__DocumentationCS__Group_3_2__0__Impl rule__DocumentationCS__Group_3_2__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9770:2: rule__DocumentationCS__Group_3_2__0__Impl rule__DocumentationCS__Group_3_2__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group_3_2__0__Impl_in_rule__DocumentationCS__Group_3_2__019843);
+            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group_3_2__0__Impl_in_rule__DocumentationCS__Group_3_2__020685);
             rule__DocumentationCS__Group_3_2__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group_3_2__1_in_rule__DocumentationCS__Group_3_2__019846);
+            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group_3_2__1_in_rule__DocumentationCS__Group_3_2__020688);
             rule__DocumentationCS__Group_3_2__1();
 
             state._fsp--;
@@ -30131,22 +31179,22 @@
 
 
     // $ANTLR start "rule__DocumentationCS__Group_3_2__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9277:1: rule__DocumentationCS__Group_3_2__0__Impl : ( ',' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9777:1: rule__DocumentationCS__Group_3_2__0__Impl : ( ',' ) ;
     public final void rule__DocumentationCS__Group_3_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9281:1: ( ( ',' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9282:1: ( ',' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9781:1: ( ( ',' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9782:1: ( ',' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9282:1: ( ',' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9283:1: ','
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9782:1: ( ',' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9783:1: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDocumentationCSAccess().getCommaKeyword_3_2_0()); 
             }
-            match(input,98,FollowSets000.FOLLOW_98_in_rule__DocumentationCS__Group_3_2__0__Impl19874); if (state.failed) return ;
+            match(input,107,FollowSets000.FOLLOW_107_in_rule__DocumentationCS__Group_3_2__0__Impl20716); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDocumentationCSAccess().getCommaKeyword_3_2_0()); 
             }
@@ -30172,16 +31220,16 @@
 
 
     // $ANTLR start "rule__DocumentationCS__Group_3_2__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9296:1: rule__DocumentationCS__Group_3_2__1 : rule__DocumentationCS__Group_3_2__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9796:1: rule__DocumentationCS__Group_3_2__1 : rule__DocumentationCS__Group_3_2__1__Impl ;
     public final void rule__DocumentationCS__Group_3_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9300:1: ( rule__DocumentationCS__Group_3_2__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9301:2: rule__DocumentationCS__Group_3_2__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9800:1: ( rule__DocumentationCS__Group_3_2__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9801:2: rule__DocumentationCS__Group_3_2__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group_3_2__1__Impl_in_rule__DocumentationCS__Group_3_2__119905);
+            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__Group_3_2__1__Impl_in_rule__DocumentationCS__Group_3_2__120747);
             rule__DocumentationCS__Group_3_2__1__Impl();
 
             state._fsp--;
@@ -30205,25 +31253,25 @@
 
 
     // $ANTLR start "rule__DocumentationCS__Group_3_2__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9307:1: rule__DocumentationCS__Group_3_2__1__Impl : ( ( rule__DocumentationCS__OwnedDetailsAssignment_3_2_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9807:1: rule__DocumentationCS__Group_3_2__1__Impl : ( ( rule__DocumentationCS__OwnedDetailsAssignment_3_2_1 ) ) ;
     public final void rule__DocumentationCS__Group_3_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9311:1: ( ( ( rule__DocumentationCS__OwnedDetailsAssignment_3_2_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9312:1: ( ( rule__DocumentationCS__OwnedDetailsAssignment_3_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9811:1: ( ( ( rule__DocumentationCS__OwnedDetailsAssignment_3_2_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9812:1: ( ( rule__DocumentationCS__OwnedDetailsAssignment_3_2_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9312:1: ( ( rule__DocumentationCS__OwnedDetailsAssignment_3_2_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9313:1: ( rule__DocumentationCS__OwnedDetailsAssignment_3_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9812:1: ( ( rule__DocumentationCS__OwnedDetailsAssignment_3_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9813:1: ( rule__DocumentationCS__OwnedDetailsAssignment_3_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDocumentationCSAccess().getOwnedDetailsAssignment_3_2_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9314:1: ( rule__DocumentationCS__OwnedDetailsAssignment_3_2_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9314:2: rule__DocumentationCS__OwnedDetailsAssignment_3_2_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9814:1: ( rule__DocumentationCS__OwnedDetailsAssignment_3_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9814:2: rule__DocumentationCS__OwnedDetailsAssignment_3_2_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__OwnedDetailsAssignment_3_2_1_in_rule__DocumentationCS__Group_3_2__1__Impl19932);
+            pushFollow(FollowSets000.FOLLOW_rule__DocumentationCS__OwnedDetailsAssignment_3_2_1_in_rule__DocumentationCS__Group_3_2__1__Impl20774);
             rule__DocumentationCS__OwnedDetailsAssignment_3_2_1();
 
             state._fsp--;
@@ -30256,21 +31304,21 @@
 
 
     // $ANTLR start "rule__EnumerationCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9328:1: rule__EnumerationCS__Group__0 : rule__EnumerationCS__Group__0__Impl rule__EnumerationCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9828:1: rule__EnumerationCS__Group__0 : rule__EnumerationCS__Group__0__Impl rule__EnumerationCS__Group__1 ;
     public final void rule__EnumerationCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9332:1: ( rule__EnumerationCS__Group__0__Impl rule__EnumerationCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9333:2: rule__EnumerationCS__Group__0__Impl rule__EnumerationCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9832:1: ( rule__EnumerationCS__Group__0__Impl rule__EnumerationCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9833:2: rule__EnumerationCS__Group__0__Impl rule__EnumerationCS__Group__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group__0__Impl_in_rule__EnumerationCS__Group__019966);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group__0__Impl_in_rule__EnumerationCS__Group__020808);
             rule__EnumerationCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group__1_in_rule__EnumerationCS__Group__019969);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group__1_in_rule__EnumerationCS__Group__020811);
             rule__EnumerationCS__Group__1();
 
             state._fsp--;
@@ -30294,22 +31342,22 @@
 
 
     // $ANTLR start "rule__EnumerationCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9340:1: rule__EnumerationCS__Group__0__Impl : ( 'enum' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9840:1: rule__EnumerationCS__Group__0__Impl : ( 'enum' ) ;
     public final void rule__EnumerationCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9344:1: ( ( 'enum' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9345:1: ( 'enum' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9844:1: ( ( 'enum' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9845:1: ( 'enum' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9345:1: ( 'enum' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9346:1: 'enum'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9845:1: ( 'enum' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9846:1: 'enum'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumerationCSAccess().getEnumKeyword_0()); 
             }
-            match(input,27,FollowSets000.FOLLOW_27_in_rule__EnumerationCS__Group__0__Impl19997); if (state.failed) return ;
+            match(input,27,FollowSets000.FOLLOW_27_in_rule__EnumerationCS__Group__0__Impl20839); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getEnumerationCSAccess().getEnumKeyword_0()); 
             }
@@ -30335,21 +31383,21 @@
 
 
     // $ANTLR start "rule__EnumerationCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9359:1: rule__EnumerationCS__Group__1 : rule__EnumerationCS__Group__1__Impl rule__EnumerationCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9859:1: rule__EnumerationCS__Group__1 : rule__EnumerationCS__Group__1__Impl rule__EnumerationCS__Group__2 ;
     public final void rule__EnumerationCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9363:1: ( rule__EnumerationCS__Group__1__Impl rule__EnumerationCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9364:2: rule__EnumerationCS__Group__1__Impl rule__EnumerationCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9863:1: ( rule__EnumerationCS__Group__1__Impl rule__EnumerationCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9864:2: rule__EnumerationCS__Group__1__Impl rule__EnumerationCS__Group__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group__1__Impl_in_rule__EnumerationCS__Group__120028);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group__1__Impl_in_rule__EnumerationCS__Group__120870);
             rule__EnumerationCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group__2_in_rule__EnumerationCS__Group__120031);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group__2_in_rule__EnumerationCS__Group__120873);
             rule__EnumerationCS__Group__2();
 
             state._fsp--;
@@ -30373,25 +31421,25 @@
 
 
     // $ANTLR start "rule__EnumerationCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9371:1: rule__EnumerationCS__Group__1__Impl : ( ( rule__EnumerationCS__NameAssignment_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9871:1: rule__EnumerationCS__Group__1__Impl : ( ( rule__EnumerationCS__NameAssignment_1 ) ) ;
     public final void rule__EnumerationCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9375:1: ( ( ( rule__EnumerationCS__NameAssignment_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9376:1: ( ( rule__EnumerationCS__NameAssignment_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9875:1: ( ( ( rule__EnumerationCS__NameAssignment_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9876:1: ( ( rule__EnumerationCS__NameAssignment_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9376:1: ( ( rule__EnumerationCS__NameAssignment_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9377:1: ( rule__EnumerationCS__NameAssignment_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9876:1: ( ( rule__EnumerationCS__NameAssignment_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9877:1: ( rule__EnumerationCS__NameAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumerationCSAccess().getNameAssignment_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9378:1: ( rule__EnumerationCS__NameAssignment_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9378:2: rule__EnumerationCS__NameAssignment_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9878:1: ( rule__EnumerationCS__NameAssignment_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9878:2: rule__EnumerationCS__NameAssignment_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__NameAssignment_1_in_rule__EnumerationCS__Group__1__Impl20058);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__NameAssignment_1_in_rule__EnumerationCS__Group__1__Impl20900);
             rule__EnumerationCS__NameAssignment_1();
 
             state._fsp--;
@@ -30424,21 +31472,21 @@
 
 
     // $ANTLR start "rule__EnumerationCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9388:1: rule__EnumerationCS__Group__2 : rule__EnumerationCS__Group__2__Impl rule__EnumerationCS__Group__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9888:1: rule__EnumerationCS__Group__2 : rule__EnumerationCS__Group__2__Impl rule__EnumerationCS__Group__3 ;
     public final void rule__EnumerationCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9392:1: ( rule__EnumerationCS__Group__2__Impl rule__EnumerationCS__Group__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9393:2: rule__EnumerationCS__Group__2__Impl rule__EnumerationCS__Group__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9892:1: ( rule__EnumerationCS__Group__2__Impl rule__EnumerationCS__Group__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9893:2: rule__EnumerationCS__Group__2__Impl rule__EnumerationCS__Group__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group__2__Impl_in_rule__EnumerationCS__Group__220088);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group__2__Impl_in_rule__EnumerationCS__Group__220930);
             rule__EnumerationCS__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group__3_in_rule__EnumerationCS__Group__220091);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group__3_in_rule__EnumerationCS__Group__220933);
             rule__EnumerationCS__Group__3();
 
             state._fsp--;
@@ -30462,33 +31510,33 @@
 
 
     // $ANTLR start "rule__EnumerationCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9400:1: rule__EnumerationCS__Group__2__Impl : ( ( rule__EnumerationCS__OwnedSignatureAssignment_2 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9900:1: rule__EnumerationCS__Group__2__Impl : ( ( rule__EnumerationCS__OwnedSignatureAssignment_2 )? ) ;
     public final void rule__EnumerationCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9404:1: ( ( ( rule__EnumerationCS__OwnedSignatureAssignment_2 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9405:1: ( ( rule__EnumerationCS__OwnedSignatureAssignment_2 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9904:1: ( ( ( rule__EnumerationCS__OwnedSignatureAssignment_2 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9905:1: ( ( rule__EnumerationCS__OwnedSignatureAssignment_2 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9405:1: ( ( rule__EnumerationCS__OwnedSignatureAssignment_2 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9406:1: ( rule__EnumerationCS__OwnedSignatureAssignment_2 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9905:1: ( ( rule__EnumerationCS__OwnedSignatureAssignment_2 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9906:1: ( rule__EnumerationCS__OwnedSignatureAssignment_2 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumerationCSAccess().getOwnedSignatureAssignment_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9407:1: ( rule__EnumerationCS__OwnedSignatureAssignment_2 )?
-            int alt117=2;
-            int LA117_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9907:1: ( rule__EnumerationCS__OwnedSignatureAssignment_2 )?
+            int alt137=2;
+            int LA137_0 = input.LA(1);
 
-            if ( (LA117_0==67||LA117_0==95) ) {
-                alt117=1;
+            if ( (LA137_0==76||LA137_0==104) ) {
+                alt137=1;
             }
-            switch (alt117) {
+            switch (alt137) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9407:2: rule__EnumerationCS__OwnedSignatureAssignment_2
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9907:2: rule__EnumerationCS__OwnedSignatureAssignment_2
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__OwnedSignatureAssignment_2_in_rule__EnumerationCS__Group__2__Impl20118);
+                    pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__OwnedSignatureAssignment_2_in_rule__EnumerationCS__Group__2__Impl20960);
                     rule__EnumerationCS__OwnedSignatureAssignment_2();
 
                     state._fsp--;
@@ -30524,21 +31572,21 @@
 
 
     // $ANTLR start "rule__EnumerationCS__Group__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9417:1: rule__EnumerationCS__Group__3 : rule__EnumerationCS__Group__3__Impl rule__EnumerationCS__Group__4 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9917:1: rule__EnumerationCS__Group__3 : rule__EnumerationCS__Group__3__Impl rule__EnumerationCS__Group__4 ;
     public final void rule__EnumerationCS__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9421:1: ( rule__EnumerationCS__Group__3__Impl rule__EnumerationCS__Group__4 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9422:2: rule__EnumerationCS__Group__3__Impl rule__EnumerationCS__Group__4
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9921:1: ( rule__EnumerationCS__Group__3__Impl rule__EnumerationCS__Group__4 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9922:2: rule__EnumerationCS__Group__3__Impl rule__EnumerationCS__Group__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group__3__Impl_in_rule__EnumerationCS__Group__320149);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group__3__Impl_in_rule__EnumerationCS__Group__320991);
             rule__EnumerationCS__Group__3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group__4_in_rule__EnumerationCS__Group__320152);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group__4_in_rule__EnumerationCS__Group__320994);
             rule__EnumerationCS__Group__4();
 
             state._fsp--;
@@ -30562,33 +31610,33 @@
 
 
     // $ANTLR start "rule__EnumerationCS__Group__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9429:1: rule__EnumerationCS__Group__3__Impl : ( ( rule__EnumerationCS__Group_3__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9929:1: rule__EnumerationCS__Group__3__Impl : ( ( rule__EnumerationCS__Group_3__0 )? ) ;
     public final void rule__EnumerationCS__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9433:1: ( ( ( rule__EnumerationCS__Group_3__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9434:1: ( ( rule__EnumerationCS__Group_3__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9933:1: ( ( ( rule__EnumerationCS__Group_3__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9934:1: ( ( rule__EnumerationCS__Group_3__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9434:1: ( ( rule__EnumerationCS__Group_3__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9435:1: ( rule__EnumerationCS__Group_3__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9934:1: ( ( rule__EnumerationCS__Group_3__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9935:1: ( rule__EnumerationCS__Group_3__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumerationCSAccess().getGroup_3()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9436:1: ( rule__EnumerationCS__Group_3__0 )?
-            int alt118=2;
-            int LA118_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9936:1: ( rule__EnumerationCS__Group_3__0 )?
+            int alt138=2;
+            int LA138_0 = input.LA(1);
 
-            if ( (LA118_0==97) ) {
-                alt118=1;
+            if ( (LA138_0==106) ) {
+                alt138=1;
             }
-            switch (alt118) {
+            switch (alt138) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9436:2: rule__EnumerationCS__Group_3__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9936:2: rule__EnumerationCS__Group_3__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group_3__0_in_rule__EnumerationCS__Group__3__Impl20179);
+                    pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group_3__0_in_rule__EnumerationCS__Group__3__Impl21021);
                     rule__EnumerationCS__Group_3__0();
 
                     state._fsp--;
@@ -30624,21 +31672,21 @@
 
 
     // $ANTLR start "rule__EnumerationCS__Group__4"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9446:1: rule__EnumerationCS__Group__4 : rule__EnumerationCS__Group__4__Impl rule__EnumerationCS__Group__5 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9946:1: rule__EnumerationCS__Group__4 : rule__EnumerationCS__Group__4__Impl rule__EnumerationCS__Group__5 ;
     public final void rule__EnumerationCS__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9450:1: ( rule__EnumerationCS__Group__4__Impl rule__EnumerationCS__Group__5 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9451:2: rule__EnumerationCS__Group__4__Impl rule__EnumerationCS__Group__5
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9950:1: ( rule__EnumerationCS__Group__4__Impl rule__EnumerationCS__Group__5 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9951:2: rule__EnumerationCS__Group__4__Impl rule__EnumerationCS__Group__5
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group__4__Impl_in_rule__EnumerationCS__Group__420210);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group__4__Impl_in_rule__EnumerationCS__Group__421052);
             rule__EnumerationCS__Group__4__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group__5_in_rule__EnumerationCS__Group__420213);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group__5_in_rule__EnumerationCS__Group__421055);
             rule__EnumerationCS__Group__5();
 
             state._fsp--;
@@ -30662,44 +31710,44 @@
 
 
     // $ANTLR start "rule__EnumerationCS__Group__4__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9458:1: rule__EnumerationCS__Group__4__Impl : ( ( rule__EnumerationCS__Group_4__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9958:1: rule__EnumerationCS__Group__4__Impl : ( ( rule__EnumerationCS__Group_4__0 )? ) ;
     public final void rule__EnumerationCS__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9462:1: ( ( ( rule__EnumerationCS__Group_4__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9463:1: ( ( rule__EnumerationCS__Group_4__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9962:1: ( ( ( rule__EnumerationCS__Group_4__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9963:1: ( ( rule__EnumerationCS__Group_4__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9463:1: ( ( rule__EnumerationCS__Group_4__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9464:1: ( rule__EnumerationCS__Group_4__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9963:1: ( ( rule__EnumerationCS__Group_4__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9964:1: ( rule__EnumerationCS__Group_4__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumerationCSAccess().getGroup_4()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9465:1: ( rule__EnumerationCS__Group_4__0 )?
-            int alt119=2;
-            int LA119_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9965:1: ( rule__EnumerationCS__Group_4__0 )?
+            int alt139=2;
+            int LA139_0 = input.LA(1);
 
-            if ( (LA119_0==99) ) {
-                int LA119_1 = input.LA(2);
+            if ( (LA139_0==108) ) {
+                int LA139_1 = input.LA(2);
 
-                if ( (LA119_1==100) ) {
-                    int LA119_3 = input.LA(3);
+                if ( (LA139_1==109) ) {
+                    int LA139_3 = input.LA(3);
 
-                    if ( (LA119_3==53||LA119_3==99) ) {
-                        alt119=1;
+                    if ( (LA139_3==53||LA139_3==108) ) {
+                        alt139=1;
                     }
                 }
-                else if ( (LA119_1==54||LA119_1==59) ) {
-                    alt119=1;
+                else if ( (LA139_1==61||LA139_1==68) ) {
+                    alt139=1;
                 }
             }
-            switch (alt119) {
+            switch (alt139) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9465:2: rule__EnumerationCS__Group_4__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9965:2: rule__EnumerationCS__Group_4__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group_4__0_in_rule__EnumerationCS__Group__4__Impl20240);
+                    pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group_4__0_in_rule__EnumerationCS__Group__4__Impl21082);
                     rule__EnumerationCS__Group_4__0();
 
                     state._fsp--;
@@ -30735,16 +31783,16 @@
 
 
     // $ANTLR start "rule__EnumerationCS__Group__5"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9475:1: rule__EnumerationCS__Group__5 : rule__EnumerationCS__Group__5__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9975:1: rule__EnumerationCS__Group__5 : rule__EnumerationCS__Group__5__Impl ;
     public final void rule__EnumerationCS__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9479:1: ( rule__EnumerationCS__Group__5__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9480:2: rule__EnumerationCS__Group__5__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9979:1: ( rule__EnumerationCS__Group__5__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9980:2: rule__EnumerationCS__Group__5__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group__5__Impl_in_rule__EnumerationCS__Group__520271);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group__5__Impl_in_rule__EnumerationCS__Group__521113);
             rule__EnumerationCS__Group__5__Impl();
 
             state._fsp--;
@@ -30768,25 +31816,25 @@
 
 
     // $ANTLR start "rule__EnumerationCS__Group__5__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9486:1: rule__EnumerationCS__Group__5__Impl : ( ( rule__EnumerationCS__Alternatives_5 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9986:1: rule__EnumerationCS__Group__5__Impl : ( ( rule__EnumerationCS__Alternatives_5 ) ) ;
     public final void rule__EnumerationCS__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9490:1: ( ( ( rule__EnumerationCS__Alternatives_5 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9491:1: ( ( rule__EnumerationCS__Alternatives_5 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9990:1: ( ( ( rule__EnumerationCS__Alternatives_5 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9991:1: ( ( rule__EnumerationCS__Alternatives_5 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9491:1: ( ( rule__EnumerationCS__Alternatives_5 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9492:1: ( rule__EnumerationCS__Alternatives_5 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9991:1: ( ( rule__EnumerationCS__Alternatives_5 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9992:1: ( rule__EnumerationCS__Alternatives_5 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumerationCSAccess().getAlternatives_5()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9493:1: ( rule__EnumerationCS__Alternatives_5 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9493:2: rule__EnumerationCS__Alternatives_5
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9993:1: ( rule__EnumerationCS__Alternatives_5 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9993:2: rule__EnumerationCS__Alternatives_5
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Alternatives_5_in_rule__EnumerationCS__Group__5__Impl20298);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Alternatives_5_in_rule__EnumerationCS__Group__5__Impl21140);
             rule__EnumerationCS__Alternatives_5();
 
             state._fsp--;
@@ -30819,21 +31867,21 @@
 
 
     // $ANTLR start "rule__EnumerationCS__Group_3__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9515:1: rule__EnumerationCS__Group_3__0 : rule__EnumerationCS__Group_3__0__Impl rule__EnumerationCS__Group_3__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10015:1: rule__EnumerationCS__Group_3__0 : rule__EnumerationCS__Group_3__0__Impl rule__EnumerationCS__Group_3__1 ;
     public final void rule__EnumerationCS__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9519:1: ( rule__EnumerationCS__Group_3__0__Impl rule__EnumerationCS__Group_3__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9520:2: rule__EnumerationCS__Group_3__0__Impl rule__EnumerationCS__Group_3__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10019:1: ( rule__EnumerationCS__Group_3__0__Impl rule__EnumerationCS__Group_3__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10020:2: rule__EnumerationCS__Group_3__0__Impl rule__EnumerationCS__Group_3__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group_3__0__Impl_in_rule__EnumerationCS__Group_3__020340);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group_3__0__Impl_in_rule__EnumerationCS__Group_3__021182);
             rule__EnumerationCS__Group_3__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group_3__1_in_rule__EnumerationCS__Group_3__020343);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group_3__1_in_rule__EnumerationCS__Group_3__021185);
             rule__EnumerationCS__Group_3__1();
 
             state._fsp--;
@@ -30857,22 +31905,22 @@
 
 
     // $ANTLR start "rule__EnumerationCS__Group_3__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9527:1: rule__EnumerationCS__Group_3__0__Impl : ( ':' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10027:1: rule__EnumerationCS__Group_3__0__Impl : ( ':' ) ;
     public final void rule__EnumerationCS__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9531:1: ( ( ':' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9532:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10031:1: ( ( ':' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10032:1: ( ':' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9532:1: ( ':' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9533:1: ':'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10032:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10033:1: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumerationCSAccess().getColonKeyword_3_0()); 
             }
-            match(input,97,FollowSets000.FOLLOW_97_in_rule__EnumerationCS__Group_3__0__Impl20371); if (state.failed) return ;
+            match(input,106,FollowSets000.FOLLOW_106_in_rule__EnumerationCS__Group_3__0__Impl21213); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getEnumerationCSAccess().getColonKeyword_3_0()); 
             }
@@ -30898,16 +31946,16 @@
 
 
     // $ANTLR start "rule__EnumerationCS__Group_3__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9546:1: rule__EnumerationCS__Group_3__1 : rule__EnumerationCS__Group_3__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10046:1: rule__EnumerationCS__Group_3__1 : rule__EnumerationCS__Group_3__1__Impl ;
     public final void rule__EnumerationCS__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9550:1: ( rule__EnumerationCS__Group_3__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9551:2: rule__EnumerationCS__Group_3__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10050:1: ( rule__EnumerationCS__Group_3__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10051:2: rule__EnumerationCS__Group_3__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group_3__1__Impl_in_rule__EnumerationCS__Group_3__120402);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group_3__1__Impl_in_rule__EnumerationCS__Group_3__121244);
             rule__EnumerationCS__Group_3__1__Impl();
 
             state._fsp--;
@@ -30931,25 +31979,25 @@
 
 
     // $ANTLR start "rule__EnumerationCS__Group_3__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9557:1: rule__EnumerationCS__Group_3__1__Impl : ( ( rule__EnumerationCS__InstanceClassNameAssignment_3_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10057:1: rule__EnumerationCS__Group_3__1__Impl : ( ( rule__EnumerationCS__InstanceClassNameAssignment_3_1 ) ) ;
     public final void rule__EnumerationCS__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9561:1: ( ( ( rule__EnumerationCS__InstanceClassNameAssignment_3_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9562:1: ( ( rule__EnumerationCS__InstanceClassNameAssignment_3_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10061:1: ( ( ( rule__EnumerationCS__InstanceClassNameAssignment_3_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10062:1: ( ( rule__EnumerationCS__InstanceClassNameAssignment_3_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9562:1: ( ( rule__EnumerationCS__InstanceClassNameAssignment_3_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9563:1: ( rule__EnumerationCS__InstanceClassNameAssignment_3_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10062:1: ( ( rule__EnumerationCS__InstanceClassNameAssignment_3_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10063:1: ( rule__EnumerationCS__InstanceClassNameAssignment_3_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumerationCSAccess().getInstanceClassNameAssignment_3_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9564:1: ( rule__EnumerationCS__InstanceClassNameAssignment_3_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9564:2: rule__EnumerationCS__InstanceClassNameAssignment_3_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10064:1: ( rule__EnumerationCS__InstanceClassNameAssignment_3_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10064:2: rule__EnumerationCS__InstanceClassNameAssignment_3_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__InstanceClassNameAssignment_3_1_in_rule__EnumerationCS__Group_3__1__Impl20429);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__InstanceClassNameAssignment_3_1_in_rule__EnumerationCS__Group_3__1__Impl21271);
             rule__EnumerationCS__InstanceClassNameAssignment_3_1();
 
             state._fsp--;
@@ -30982,21 +32030,21 @@
 
 
     // $ANTLR start "rule__EnumerationCS__Group_4__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9578:1: rule__EnumerationCS__Group_4__0 : rule__EnumerationCS__Group_4__0__Impl rule__EnumerationCS__Group_4__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10078:1: rule__EnumerationCS__Group_4__0 : rule__EnumerationCS__Group_4__0__Impl rule__EnumerationCS__Group_4__1 ;
     public final void rule__EnumerationCS__Group_4__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9582:1: ( rule__EnumerationCS__Group_4__0__Impl rule__EnumerationCS__Group_4__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9583:2: rule__EnumerationCS__Group_4__0__Impl rule__EnumerationCS__Group_4__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10082:1: ( rule__EnumerationCS__Group_4__0__Impl rule__EnumerationCS__Group_4__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10083:2: rule__EnumerationCS__Group_4__0__Impl rule__EnumerationCS__Group_4__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group_4__0__Impl_in_rule__EnumerationCS__Group_4__020463);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group_4__0__Impl_in_rule__EnumerationCS__Group_4__021305);
             rule__EnumerationCS__Group_4__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group_4__1_in_rule__EnumerationCS__Group_4__020466);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group_4__1_in_rule__EnumerationCS__Group_4__021308);
             rule__EnumerationCS__Group_4__1();
 
             state._fsp--;
@@ -31020,22 +32068,22 @@
 
 
     // $ANTLR start "rule__EnumerationCS__Group_4__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9590:1: rule__EnumerationCS__Group_4__0__Impl : ( '{' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10090:1: rule__EnumerationCS__Group_4__0__Impl : ( '{' ) ;
     public final void rule__EnumerationCS__Group_4__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9594:1: ( ( '{' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9595:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10094:1: ( ( '{' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10095:1: ( '{' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9595:1: ( '{' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9596:1: '{'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10095:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10096:1: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumerationCSAccess().getLeftCurlyBracketKeyword_4_0()); 
             }
-            match(input,99,FollowSets000.FOLLOW_99_in_rule__EnumerationCS__Group_4__0__Impl20494); if (state.failed) return ;
+            match(input,108,FollowSets000.FOLLOW_108_in_rule__EnumerationCS__Group_4__0__Impl21336); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getEnumerationCSAccess().getLeftCurlyBracketKeyword_4_0()); 
             }
@@ -31061,21 +32109,21 @@
 
 
     // $ANTLR start "rule__EnumerationCS__Group_4__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9609:1: rule__EnumerationCS__Group_4__1 : rule__EnumerationCS__Group_4__1__Impl rule__EnumerationCS__Group_4__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10109:1: rule__EnumerationCS__Group_4__1 : rule__EnumerationCS__Group_4__1__Impl rule__EnumerationCS__Group_4__2 ;
     public final void rule__EnumerationCS__Group_4__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9613:1: ( rule__EnumerationCS__Group_4__1__Impl rule__EnumerationCS__Group_4__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9614:2: rule__EnumerationCS__Group_4__1__Impl rule__EnumerationCS__Group_4__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10113:1: ( rule__EnumerationCS__Group_4__1__Impl rule__EnumerationCS__Group_4__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10114:2: rule__EnumerationCS__Group_4__1__Impl rule__EnumerationCS__Group_4__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group_4__1__Impl_in_rule__EnumerationCS__Group_4__120525);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group_4__1__Impl_in_rule__EnumerationCS__Group_4__121367);
             rule__EnumerationCS__Group_4__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group_4__2_in_rule__EnumerationCS__Group_4__120528);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group_4__2_in_rule__EnumerationCS__Group_4__121370);
             rule__EnumerationCS__Group_4__2();
 
             state._fsp--;
@@ -31099,33 +32147,33 @@
 
 
     // $ANTLR start "rule__EnumerationCS__Group_4__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9621:1: rule__EnumerationCS__Group_4__1__Impl : ( ( rule__EnumerationCS__Alternatives_4_1 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10121:1: rule__EnumerationCS__Group_4__1__Impl : ( ( rule__EnumerationCS__Alternatives_4_1 )? ) ;
     public final void rule__EnumerationCS__Group_4__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9625:1: ( ( ( rule__EnumerationCS__Alternatives_4_1 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9626:1: ( ( rule__EnumerationCS__Alternatives_4_1 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10125:1: ( ( ( rule__EnumerationCS__Alternatives_4_1 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10126:1: ( ( rule__EnumerationCS__Alternatives_4_1 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9626:1: ( ( rule__EnumerationCS__Alternatives_4_1 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9627:1: ( rule__EnumerationCS__Alternatives_4_1 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10126:1: ( ( rule__EnumerationCS__Alternatives_4_1 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10127:1: ( rule__EnumerationCS__Alternatives_4_1 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumerationCSAccess().getAlternatives_4_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9628:1: ( rule__EnumerationCS__Alternatives_4_1 )?
-            int alt120=2;
-            int LA120_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10128:1: ( rule__EnumerationCS__Alternatives_4_1 )?
+            int alt140=2;
+            int LA140_0 = input.LA(1);
 
-            if ( (LA120_0==54||LA120_0==59) ) {
-                alt120=1;
+            if ( (LA140_0==61||LA140_0==68) ) {
+                alt140=1;
             }
-            switch (alt120) {
+            switch (alt140) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9628:2: rule__EnumerationCS__Alternatives_4_1
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10128:2: rule__EnumerationCS__Alternatives_4_1
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Alternatives_4_1_in_rule__EnumerationCS__Group_4__1__Impl20555);
+                    pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Alternatives_4_1_in_rule__EnumerationCS__Group_4__1__Impl21397);
                     rule__EnumerationCS__Alternatives_4_1();
 
                     state._fsp--;
@@ -31161,16 +32209,16 @@
 
 
     // $ANTLR start "rule__EnumerationCS__Group_4__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9638:1: rule__EnumerationCS__Group_4__2 : rule__EnumerationCS__Group_4__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10138:1: rule__EnumerationCS__Group_4__2 : rule__EnumerationCS__Group_4__2__Impl ;
     public final void rule__EnumerationCS__Group_4__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9642:1: ( rule__EnumerationCS__Group_4__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9643:2: rule__EnumerationCS__Group_4__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10142:1: ( rule__EnumerationCS__Group_4__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10143:2: rule__EnumerationCS__Group_4__2__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group_4__2__Impl_in_rule__EnumerationCS__Group_4__220586);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group_4__2__Impl_in_rule__EnumerationCS__Group_4__221428);
             rule__EnumerationCS__Group_4__2__Impl();
 
             state._fsp--;
@@ -31194,22 +32242,22 @@
 
 
     // $ANTLR start "rule__EnumerationCS__Group_4__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9649:1: rule__EnumerationCS__Group_4__2__Impl : ( '}' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10149:1: rule__EnumerationCS__Group_4__2__Impl : ( '}' ) ;
     public final void rule__EnumerationCS__Group_4__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9653:1: ( ( '}' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9654:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10153:1: ( ( '}' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10154:1: ( '}' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9654:1: ( '}' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9655:1: '}'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10154:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10155:1: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumerationCSAccess().getRightCurlyBracketKeyword_4_2()); 
             }
-            match(input,100,FollowSets000.FOLLOW_100_in_rule__EnumerationCS__Group_4__2__Impl20614); if (state.failed) return ;
+            match(input,109,FollowSets000.FOLLOW_109_in_rule__EnumerationCS__Group_4__2__Impl21456); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getEnumerationCSAccess().getRightCurlyBracketKeyword_4_2()); 
             }
@@ -31235,21 +32283,21 @@
 
 
     // $ANTLR start "rule__EnumerationCS__Group_5_0__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9674:1: rule__EnumerationCS__Group_5_0__0 : rule__EnumerationCS__Group_5_0__0__Impl rule__EnumerationCS__Group_5_0__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10174:1: rule__EnumerationCS__Group_5_0__0 : rule__EnumerationCS__Group_5_0__0__Impl rule__EnumerationCS__Group_5_0__1 ;
     public final void rule__EnumerationCS__Group_5_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9678:1: ( rule__EnumerationCS__Group_5_0__0__Impl rule__EnumerationCS__Group_5_0__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9679:2: rule__EnumerationCS__Group_5_0__0__Impl rule__EnumerationCS__Group_5_0__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10178:1: ( rule__EnumerationCS__Group_5_0__0__Impl rule__EnumerationCS__Group_5_0__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10179:2: rule__EnumerationCS__Group_5_0__0__Impl rule__EnumerationCS__Group_5_0__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group_5_0__0__Impl_in_rule__EnumerationCS__Group_5_0__020651);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group_5_0__0__Impl_in_rule__EnumerationCS__Group_5_0__021493);
             rule__EnumerationCS__Group_5_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group_5_0__1_in_rule__EnumerationCS__Group_5_0__020654);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group_5_0__1_in_rule__EnumerationCS__Group_5_0__021496);
             rule__EnumerationCS__Group_5_0__1();
 
             state._fsp--;
@@ -31273,22 +32321,22 @@
 
 
     // $ANTLR start "rule__EnumerationCS__Group_5_0__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9686:1: rule__EnumerationCS__Group_5_0__0__Impl : ( '{' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10186:1: rule__EnumerationCS__Group_5_0__0__Impl : ( '{' ) ;
     public final void rule__EnumerationCS__Group_5_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9690:1: ( ( '{' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9691:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10190:1: ( ( '{' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10191:1: ( '{' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9691:1: ( '{' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9692:1: '{'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10191:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10192:1: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumerationCSAccess().getLeftCurlyBracketKeyword_5_0_0()); 
             }
-            match(input,99,FollowSets000.FOLLOW_99_in_rule__EnumerationCS__Group_5_0__0__Impl20682); if (state.failed) return ;
+            match(input,108,FollowSets000.FOLLOW_108_in_rule__EnumerationCS__Group_5_0__0__Impl21524); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getEnumerationCSAccess().getLeftCurlyBracketKeyword_5_0_0()); 
             }
@@ -31314,21 +32362,21 @@
 
 
     // $ANTLR start "rule__EnumerationCS__Group_5_0__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9705:1: rule__EnumerationCS__Group_5_0__1 : rule__EnumerationCS__Group_5_0__1__Impl rule__EnumerationCS__Group_5_0__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10205:1: rule__EnumerationCS__Group_5_0__1 : rule__EnumerationCS__Group_5_0__1__Impl rule__EnumerationCS__Group_5_0__2 ;
     public final void rule__EnumerationCS__Group_5_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9709:1: ( rule__EnumerationCS__Group_5_0__1__Impl rule__EnumerationCS__Group_5_0__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9710:2: rule__EnumerationCS__Group_5_0__1__Impl rule__EnumerationCS__Group_5_0__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10209:1: ( rule__EnumerationCS__Group_5_0__1__Impl rule__EnumerationCS__Group_5_0__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10210:2: rule__EnumerationCS__Group_5_0__1__Impl rule__EnumerationCS__Group_5_0__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group_5_0__1__Impl_in_rule__EnumerationCS__Group_5_0__120713);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group_5_0__1__Impl_in_rule__EnumerationCS__Group_5_0__121555);
             rule__EnumerationCS__Group_5_0__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group_5_0__2_in_rule__EnumerationCS__Group_5_0__120716);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group_5_0__2_in_rule__EnumerationCS__Group_5_0__121558);
             rule__EnumerationCS__Group_5_0__2();
 
             state._fsp--;
@@ -31352,37 +32400,37 @@
 
 
     // $ANTLR start "rule__EnumerationCS__Group_5_0__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9717:1: rule__EnumerationCS__Group_5_0__1__Impl : ( ( rule__EnumerationCS__Alternatives_5_0_1 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10217:1: rule__EnumerationCS__Group_5_0__1__Impl : ( ( rule__EnumerationCS__Alternatives_5_0_1 )* ) ;
     public final void rule__EnumerationCS__Group_5_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9721:1: ( ( ( rule__EnumerationCS__Alternatives_5_0_1 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9722:1: ( ( rule__EnumerationCS__Alternatives_5_0_1 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10221:1: ( ( ( rule__EnumerationCS__Alternatives_5_0_1 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10222:1: ( ( rule__EnumerationCS__Alternatives_5_0_1 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9722:1: ( ( rule__EnumerationCS__Alternatives_5_0_1 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9723:1: ( rule__EnumerationCS__Alternatives_5_0_1 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10222:1: ( ( rule__EnumerationCS__Alternatives_5_0_1 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10223:1: ( rule__EnumerationCS__Alternatives_5_0_1 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumerationCSAccess().getAlternatives_5_0_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9724:1: ( rule__EnumerationCS__Alternatives_5_0_1 )*
-            loop121:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10224:1: ( rule__EnumerationCS__Alternatives_5_0_1 )*
+            loop141:
             do {
-                int alt121=2;
-                int LA121_0 = input.LA(1);
+                int alt141=2;
+                int LA141_0 = input.LA(1);
 
-                if ( ((LA121_0>=RULE_SIMPLE_ID && LA121_0<=RULE_ESCAPED_ID)||(LA121_0>=17 && LA121_0<=52)||(LA121_0>=55 && LA121_0<=58)||LA121_0==60) ) {
-                    alt121=1;
+                if ( ((LA141_0>=RULE_SIMPLE_ID && LA141_0<=RULE_ESCAPED_ID)||(LA141_0>=17 && LA141_0<=52)||(LA141_0>=64 && LA141_0<=67)||LA141_0==69) ) {
+                    alt141=1;
                 }
 
 
-                switch (alt121) {
+                switch (alt141) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9724:2: rule__EnumerationCS__Alternatives_5_0_1
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10224:2: rule__EnumerationCS__Alternatives_5_0_1
             	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Alternatives_5_0_1_in_rule__EnumerationCS__Group_5_0__1__Impl20743);
+            	    pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Alternatives_5_0_1_in_rule__EnumerationCS__Group_5_0__1__Impl21585);
             	    rule__EnumerationCS__Alternatives_5_0_1();
 
             	    state._fsp--;
@@ -31392,7 +32440,7 @@
             	    break;
 
             	default :
-            	    break loop121;
+            	    break loop141;
                 }
             } while (true);
 
@@ -31421,16 +32469,16 @@
 
 
     // $ANTLR start "rule__EnumerationCS__Group_5_0__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9734:1: rule__EnumerationCS__Group_5_0__2 : rule__EnumerationCS__Group_5_0__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10234:1: rule__EnumerationCS__Group_5_0__2 : rule__EnumerationCS__Group_5_0__2__Impl ;
     public final void rule__EnumerationCS__Group_5_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9738:1: ( rule__EnumerationCS__Group_5_0__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9739:2: rule__EnumerationCS__Group_5_0__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10238:1: ( rule__EnumerationCS__Group_5_0__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10239:2: rule__EnumerationCS__Group_5_0__2__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group_5_0__2__Impl_in_rule__EnumerationCS__Group_5_0__220774);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationCS__Group_5_0__2__Impl_in_rule__EnumerationCS__Group_5_0__221616);
             rule__EnumerationCS__Group_5_0__2__Impl();
 
             state._fsp--;
@@ -31454,22 +32502,22 @@
 
 
     // $ANTLR start "rule__EnumerationCS__Group_5_0__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9745:1: rule__EnumerationCS__Group_5_0__2__Impl : ( '}' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10245:1: rule__EnumerationCS__Group_5_0__2__Impl : ( '}' ) ;
     public final void rule__EnumerationCS__Group_5_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9749:1: ( ( '}' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9750:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10249:1: ( ( '}' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10250:1: ( '}' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9750:1: ( '}' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9751:1: '}'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10250:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10251:1: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumerationCSAccess().getRightCurlyBracketKeyword_5_0_2()); 
             }
-            match(input,100,FollowSets000.FOLLOW_100_in_rule__EnumerationCS__Group_5_0__2__Impl20802); if (state.failed) return ;
+            match(input,109,FollowSets000.FOLLOW_109_in_rule__EnumerationCS__Group_5_0__2__Impl21644); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getEnumerationCSAccess().getRightCurlyBracketKeyword_5_0_2()); 
             }
@@ -31495,21 +32543,21 @@
 
 
     // $ANTLR start "rule__EnumerationLiteralCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9770:1: rule__EnumerationLiteralCS__Group__0 : rule__EnumerationLiteralCS__Group__0__Impl rule__EnumerationLiteralCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10270:1: rule__EnumerationLiteralCS__Group__0 : rule__EnumerationLiteralCS__Group__0__Impl rule__EnumerationLiteralCS__Group__1 ;
     public final void rule__EnumerationLiteralCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9774:1: ( rule__EnumerationLiteralCS__Group__0__Impl rule__EnumerationLiteralCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9775:2: rule__EnumerationLiteralCS__Group__0__Impl rule__EnumerationLiteralCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10274:1: ( rule__EnumerationLiteralCS__Group__0__Impl rule__EnumerationLiteralCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10275:2: rule__EnumerationLiteralCS__Group__0__Impl rule__EnumerationLiteralCS__Group__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Group__0__Impl_in_rule__EnumerationLiteralCS__Group__020839);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Group__0__Impl_in_rule__EnumerationLiteralCS__Group__021681);
             rule__EnumerationLiteralCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Group__1_in_rule__EnumerationLiteralCS__Group__020842);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Group__1_in_rule__EnumerationLiteralCS__Group__021684);
             rule__EnumerationLiteralCS__Group__1();
 
             state._fsp--;
@@ -31533,25 +32581,25 @@
 
 
     // $ANTLR start "rule__EnumerationLiteralCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9782:1: rule__EnumerationLiteralCS__Group__0__Impl : ( ( rule__EnumerationLiteralCS__Alternatives_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10282:1: rule__EnumerationLiteralCS__Group__0__Impl : ( ( rule__EnumerationLiteralCS__Alternatives_0 ) ) ;
     public final void rule__EnumerationLiteralCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9786:1: ( ( ( rule__EnumerationLiteralCS__Alternatives_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9787:1: ( ( rule__EnumerationLiteralCS__Alternatives_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10286:1: ( ( ( rule__EnumerationLiteralCS__Alternatives_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10287:1: ( ( rule__EnumerationLiteralCS__Alternatives_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9787:1: ( ( rule__EnumerationLiteralCS__Alternatives_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9788:1: ( rule__EnumerationLiteralCS__Alternatives_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10287:1: ( ( rule__EnumerationLiteralCS__Alternatives_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10288:1: ( rule__EnumerationLiteralCS__Alternatives_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumerationLiteralCSAccess().getAlternatives_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9789:1: ( rule__EnumerationLiteralCS__Alternatives_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9789:2: rule__EnumerationLiteralCS__Alternatives_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10289:1: ( rule__EnumerationLiteralCS__Alternatives_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10289:2: rule__EnumerationLiteralCS__Alternatives_0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Alternatives_0_in_rule__EnumerationLiteralCS__Group__0__Impl20869);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Alternatives_0_in_rule__EnumerationLiteralCS__Group__0__Impl21711);
             rule__EnumerationLiteralCS__Alternatives_0();
 
             state._fsp--;
@@ -31584,21 +32632,21 @@
 
 
     // $ANTLR start "rule__EnumerationLiteralCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9799:1: rule__EnumerationLiteralCS__Group__1 : rule__EnumerationLiteralCS__Group__1__Impl rule__EnumerationLiteralCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10299:1: rule__EnumerationLiteralCS__Group__1 : rule__EnumerationLiteralCS__Group__1__Impl rule__EnumerationLiteralCS__Group__2 ;
     public final void rule__EnumerationLiteralCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9803:1: ( rule__EnumerationLiteralCS__Group__1__Impl rule__EnumerationLiteralCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9804:2: rule__EnumerationLiteralCS__Group__1__Impl rule__EnumerationLiteralCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10303:1: ( rule__EnumerationLiteralCS__Group__1__Impl rule__EnumerationLiteralCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10304:2: rule__EnumerationLiteralCS__Group__1__Impl rule__EnumerationLiteralCS__Group__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Group__1__Impl_in_rule__EnumerationLiteralCS__Group__120899);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Group__1__Impl_in_rule__EnumerationLiteralCS__Group__121741);
             rule__EnumerationLiteralCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Group__2_in_rule__EnumerationLiteralCS__Group__120902);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Group__2_in_rule__EnumerationLiteralCS__Group__121744);
             rule__EnumerationLiteralCS__Group__2();
 
             state._fsp--;
@@ -31622,33 +32670,33 @@
 
 
     // $ANTLR start "rule__EnumerationLiteralCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9811:1: rule__EnumerationLiteralCS__Group__1__Impl : ( ( rule__EnumerationLiteralCS__Group_1__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10311:1: rule__EnumerationLiteralCS__Group__1__Impl : ( ( rule__EnumerationLiteralCS__Group_1__0 )? ) ;
     public final void rule__EnumerationLiteralCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9815:1: ( ( ( rule__EnumerationLiteralCS__Group_1__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9816:1: ( ( rule__EnumerationLiteralCS__Group_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10315:1: ( ( ( rule__EnumerationLiteralCS__Group_1__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10316:1: ( ( rule__EnumerationLiteralCS__Group_1__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9816:1: ( ( rule__EnumerationLiteralCS__Group_1__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9817:1: ( rule__EnumerationLiteralCS__Group_1__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10316:1: ( ( rule__EnumerationLiteralCS__Group_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10317:1: ( rule__EnumerationLiteralCS__Group_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumerationLiteralCSAccess().getGroup_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9818:1: ( rule__EnumerationLiteralCS__Group_1__0 )?
-            int alt122=2;
-            int LA122_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10318:1: ( rule__EnumerationLiteralCS__Group_1__0 )?
+            int alt142=2;
+            int LA142_0 = input.LA(1);
 
-            if ( (LA122_0==70) ) {
-                alt122=1;
+            if ( (LA142_0==79) ) {
+                alt142=1;
             }
-            switch (alt122) {
+            switch (alt142) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9818:2: rule__EnumerationLiteralCS__Group_1__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10318:2: rule__EnumerationLiteralCS__Group_1__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Group_1__0_in_rule__EnumerationLiteralCS__Group__1__Impl20929);
+                    pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Group_1__0_in_rule__EnumerationLiteralCS__Group__1__Impl21771);
                     rule__EnumerationLiteralCS__Group_1__0();
 
                     state._fsp--;
@@ -31684,16 +32732,16 @@
 
 
     // $ANTLR start "rule__EnumerationLiteralCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9828:1: rule__EnumerationLiteralCS__Group__2 : rule__EnumerationLiteralCS__Group__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10328:1: rule__EnumerationLiteralCS__Group__2 : rule__EnumerationLiteralCS__Group__2__Impl ;
     public final void rule__EnumerationLiteralCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9832:1: ( rule__EnumerationLiteralCS__Group__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9833:2: rule__EnumerationLiteralCS__Group__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10332:1: ( rule__EnumerationLiteralCS__Group__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10333:2: rule__EnumerationLiteralCS__Group__2__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Group__2__Impl_in_rule__EnumerationLiteralCS__Group__220960);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Group__2__Impl_in_rule__EnumerationLiteralCS__Group__221802);
             rule__EnumerationLiteralCS__Group__2__Impl();
 
             state._fsp--;
@@ -31717,25 +32765,25 @@
 
 
     // $ANTLR start "rule__EnumerationLiteralCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9839:1: rule__EnumerationLiteralCS__Group__2__Impl : ( ( rule__EnumerationLiteralCS__Alternatives_2 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10339:1: rule__EnumerationLiteralCS__Group__2__Impl : ( ( rule__EnumerationLiteralCS__Alternatives_2 ) ) ;
     public final void rule__EnumerationLiteralCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9843:1: ( ( ( rule__EnumerationLiteralCS__Alternatives_2 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9844:1: ( ( rule__EnumerationLiteralCS__Alternatives_2 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10343:1: ( ( ( rule__EnumerationLiteralCS__Alternatives_2 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10344:1: ( ( rule__EnumerationLiteralCS__Alternatives_2 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9844:1: ( ( rule__EnumerationLiteralCS__Alternatives_2 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9845:1: ( rule__EnumerationLiteralCS__Alternatives_2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10344:1: ( ( rule__EnumerationLiteralCS__Alternatives_2 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10345:1: ( rule__EnumerationLiteralCS__Alternatives_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumerationLiteralCSAccess().getAlternatives_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9846:1: ( rule__EnumerationLiteralCS__Alternatives_2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9846:2: rule__EnumerationLiteralCS__Alternatives_2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10346:1: ( rule__EnumerationLiteralCS__Alternatives_2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10346:2: rule__EnumerationLiteralCS__Alternatives_2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Alternatives_2_in_rule__EnumerationLiteralCS__Group__2__Impl20987);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Alternatives_2_in_rule__EnumerationLiteralCS__Group__2__Impl21829);
             rule__EnumerationLiteralCS__Alternatives_2();
 
             state._fsp--;
@@ -31768,21 +32816,21 @@
 
 
     // $ANTLR start "rule__EnumerationLiteralCS__Group_0_0__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9862:1: rule__EnumerationLiteralCS__Group_0_0__0 : rule__EnumerationLiteralCS__Group_0_0__0__Impl rule__EnumerationLiteralCS__Group_0_0__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10362:1: rule__EnumerationLiteralCS__Group_0_0__0 : rule__EnumerationLiteralCS__Group_0_0__0__Impl rule__EnumerationLiteralCS__Group_0_0__1 ;
     public final void rule__EnumerationLiteralCS__Group_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9866:1: ( rule__EnumerationLiteralCS__Group_0_0__0__Impl rule__EnumerationLiteralCS__Group_0_0__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9867:2: rule__EnumerationLiteralCS__Group_0_0__0__Impl rule__EnumerationLiteralCS__Group_0_0__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10366:1: ( rule__EnumerationLiteralCS__Group_0_0__0__Impl rule__EnumerationLiteralCS__Group_0_0__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10367:2: rule__EnumerationLiteralCS__Group_0_0__0__Impl rule__EnumerationLiteralCS__Group_0_0__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Group_0_0__0__Impl_in_rule__EnumerationLiteralCS__Group_0_0__021023);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Group_0_0__0__Impl_in_rule__EnumerationLiteralCS__Group_0_0__021865);
             rule__EnumerationLiteralCS__Group_0_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Group_0_0__1_in_rule__EnumerationLiteralCS__Group_0_0__021026);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Group_0_0__1_in_rule__EnumerationLiteralCS__Group_0_0__021868);
             rule__EnumerationLiteralCS__Group_0_0__1();
 
             state._fsp--;
@@ -31806,22 +32854,22 @@
 
 
     // $ANTLR start "rule__EnumerationLiteralCS__Group_0_0__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9874:1: rule__EnumerationLiteralCS__Group_0_0__0__Impl : ( 'literal' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10374:1: rule__EnumerationLiteralCS__Group_0_0__0__Impl : ( 'literal' ) ;
     public final void rule__EnumerationLiteralCS__Group_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9878:1: ( ( 'literal' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9879:1: ( 'literal' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10378:1: ( ( 'literal' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10379:1: ( 'literal' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9879:1: ( 'literal' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9880:1: 'literal'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10379:1: ( 'literal' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10380:1: 'literal'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumerationLiteralCSAccess().getLiteralKeyword_0_0_0()); 
             }
-            match(input,58,FollowSets000.FOLLOW_58_in_rule__EnumerationLiteralCS__Group_0_0__0__Impl21054); if (state.failed) return ;
+            match(input,67,FollowSets000.FOLLOW_67_in_rule__EnumerationLiteralCS__Group_0_0__0__Impl21896); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getEnumerationLiteralCSAccess().getLiteralKeyword_0_0_0()); 
             }
@@ -31847,16 +32895,16 @@
 
 
     // $ANTLR start "rule__EnumerationLiteralCS__Group_0_0__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9893:1: rule__EnumerationLiteralCS__Group_0_0__1 : rule__EnumerationLiteralCS__Group_0_0__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10393:1: rule__EnumerationLiteralCS__Group_0_0__1 : rule__EnumerationLiteralCS__Group_0_0__1__Impl ;
     public final void rule__EnumerationLiteralCS__Group_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9897:1: ( rule__EnumerationLiteralCS__Group_0_0__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9898:2: rule__EnumerationLiteralCS__Group_0_0__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10397:1: ( rule__EnumerationLiteralCS__Group_0_0__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10398:2: rule__EnumerationLiteralCS__Group_0_0__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Group_0_0__1__Impl_in_rule__EnumerationLiteralCS__Group_0_0__121085);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Group_0_0__1__Impl_in_rule__EnumerationLiteralCS__Group_0_0__121927);
             rule__EnumerationLiteralCS__Group_0_0__1__Impl();
 
             state._fsp--;
@@ -31880,25 +32928,25 @@
 
 
     // $ANTLR start "rule__EnumerationLiteralCS__Group_0_0__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9904:1: rule__EnumerationLiteralCS__Group_0_0__1__Impl : ( ( rule__EnumerationLiteralCS__NameAssignment_0_0_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10404:1: rule__EnumerationLiteralCS__Group_0_0__1__Impl : ( ( rule__EnumerationLiteralCS__NameAssignment_0_0_1 ) ) ;
     public final void rule__EnumerationLiteralCS__Group_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9908:1: ( ( ( rule__EnumerationLiteralCS__NameAssignment_0_0_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9909:1: ( ( rule__EnumerationLiteralCS__NameAssignment_0_0_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10408:1: ( ( ( rule__EnumerationLiteralCS__NameAssignment_0_0_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10409:1: ( ( rule__EnumerationLiteralCS__NameAssignment_0_0_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9909:1: ( ( rule__EnumerationLiteralCS__NameAssignment_0_0_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9910:1: ( rule__EnumerationLiteralCS__NameAssignment_0_0_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10409:1: ( ( rule__EnumerationLiteralCS__NameAssignment_0_0_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10410:1: ( rule__EnumerationLiteralCS__NameAssignment_0_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumerationLiteralCSAccess().getNameAssignment_0_0_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9911:1: ( rule__EnumerationLiteralCS__NameAssignment_0_0_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9911:2: rule__EnumerationLiteralCS__NameAssignment_0_0_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10411:1: ( rule__EnumerationLiteralCS__NameAssignment_0_0_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10411:2: rule__EnumerationLiteralCS__NameAssignment_0_0_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__NameAssignment_0_0_1_in_rule__EnumerationLiteralCS__Group_0_0__1__Impl21112);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__NameAssignment_0_0_1_in_rule__EnumerationLiteralCS__Group_0_0__1__Impl21954);
             rule__EnumerationLiteralCS__NameAssignment_0_0_1();
 
             state._fsp--;
@@ -31931,21 +32979,21 @@
 
 
     // $ANTLR start "rule__EnumerationLiteralCS__Group_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9925:1: rule__EnumerationLiteralCS__Group_1__0 : rule__EnumerationLiteralCS__Group_1__0__Impl rule__EnumerationLiteralCS__Group_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10425:1: rule__EnumerationLiteralCS__Group_1__0 : rule__EnumerationLiteralCS__Group_1__0__Impl rule__EnumerationLiteralCS__Group_1__1 ;
     public final void rule__EnumerationLiteralCS__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9929:1: ( rule__EnumerationLiteralCS__Group_1__0__Impl rule__EnumerationLiteralCS__Group_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9930:2: rule__EnumerationLiteralCS__Group_1__0__Impl rule__EnumerationLiteralCS__Group_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10429:1: ( rule__EnumerationLiteralCS__Group_1__0__Impl rule__EnumerationLiteralCS__Group_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10430:2: rule__EnumerationLiteralCS__Group_1__0__Impl rule__EnumerationLiteralCS__Group_1__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Group_1__0__Impl_in_rule__EnumerationLiteralCS__Group_1__021146);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Group_1__0__Impl_in_rule__EnumerationLiteralCS__Group_1__021988);
             rule__EnumerationLiteralCS__Group_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Group_1__1_in_rule__EnumerationLiteralCS__Group_1__021149);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Group_1__1_in_rule__EnumerationLiteralCS__Group_1__021991);
             rule__EnumerationLiteralCS__Group_1__1();
 
             state._fsp--;
@@ -31969,22 +33017,22 @@
 
 
     // $ANTLR start "rule__EnumerationLiteralCS__Group_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9937:1: rule__EnumerationLiteralCS__Group_1__0__Impl : ( '=' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10437:1: rule__EnumerationLiteralCS__Group_1__0__Impl : ( '=' ) ;
     public final void rule__EnumerationLiteralCS__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9941:1: ( ( '=' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9942:1: ( '=' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10441:1: ( ( '=' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10442:1: ( '=' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9942:1: ( '=' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9943:1: '='
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10442:1: ( '=' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10443:1: '='
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumerationLiteralCSAccess().getEqualsSignKeyword_1_0()); 
             }
-            match(input,70,FollowSets000.FOLLOW_70_in_rule__EnumerationLiteralCS__Group_1__0__Impl21177); if (state.failed) return ;
+            match(input,79,FollowSets000.FOLLOW_79_in_rule__EnumerationLiteralCS__Group_1__0__Impl22019); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getEnumerationLiteralCSAccess().getEqualsSignKeyword_1_0()); 
             }
@@ -32010,16 +33058,16 @@
 
 
     // $ANTLR start "rule__EnumerationLiteralCS__Group_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9956:1: rule__EnumerationLiteralCS__Group_1__1 : rule__EnumerationLiteralCS__Group_1__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10456:1: rule__EnumerationLiteralCS__Group_1__1 : rule__EnumerationLiteralCS__Group_1__1__Impl ;
     public final void rule__EnumerationLiteralCS__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9960:1: ( rule__EnumerationLiteralCS__Group_1__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9961:2: rule__EnumerationLiteralCS__Group_1__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10460:1: ( rule__EnumerationLiteralCS__Group_1__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10461:2: rule__EnumerationLiteralCS__Group_1__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Group_1__1__Impl_in_rule__EnumerationLiteralCS__Group_1__121208);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Group_1__1__Impl_in_rule__EnumerationLiteralCS__Group_1__122050);
             rule__EnumerationLiteralCS__Group_1__1__Impl();
 
             state._fsp--;
@@ -32043,25 +33091,25 @@
 
 
     // $ANTLR start "rule__EnumerationLiteralCS__Group_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9967:1: rule__EnumerationLiteralCS__Group_1__1__Impl : ( ( rule__EnumerationLiteralCS__ValueAssignment_1_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10467:1: rule__EnumerationLiteralCS__Group_1__1__Impl : ( ( rule__EnumerationLiteralCS__ValueAssignment_1_1 ) ) ;
     public final void rule__EnumerationLiteralCS__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9971:1: ( ( ( rule__EnumerationLiteralCS__ValueAssignment_1_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9972:1: ( ( rule__EnumerationLiteralCS__ValueAssignment_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10471:1: ( ( ( rule__EnumerationLiteralCS__ValueAssignment_1_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10472:1: ( ( rule__EnumerationLiteralCS__ValueAssignment_1_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9972:1: ( ( rule__EnumerationLiteralCS__ValueAssignment_1_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9973:1: ( rule__EnumerationLiteralCS__ValueAssignment_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10472:1: ( ( rule__EnumerationLiteralCS__ValueAssignment_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10473:1: ( rule__EnumerationLiteralCS__ValueAssignment_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumerationLiteralCSAccess().getValueAssignment_1_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9974:1: ( rule__EnumerationLiteralCS__ValueAssignment_1_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9974:2: rule__EnumerationLiteralCS__ValueAssignment_1_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10474:1: ( rule__EnumerationLiteralCS__ValueAssignment_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10474:2: rule__EnumerationLiteralCS__ValueAssignment_1_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__ValueAssignment_1_1_in_rule__EnumerationLiteralCS__Group_1__1__Impl21235);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__ValueAssignment_1_1_in_rule__EnumerationLiteralCS__Group_1__1__Impl22077);
             rule__EnumerationLiteralCS__ValueAssignment_1_1();
 
             state._fsp--;
@@ -32094,21 +33142,21 @@
 
 
     // $ANTLR start "rule__EnumerationLiteralCS__Group_2_0__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9988:1: rule__EnumerationLiteralCS__Group_2_0__0 : rule__EnumerationLiteralCS__Group_2_0__0__Impl rule__EnumerationLiteralCS__Group_2_0__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10488:1: rule__EnumerationLiteralCS__Group_2_0__0 : rule__EnumerationLiteralCS__Group_2_0__0__Impl rule__EnumerationLiteralCS__Group_2_0__1 ;
     public final void rule__EnumerationLiteralCS__Group_2_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9992:1: ( rule__EnumerationLiteralCS__Group_2_0__0__Impl rule__EnumerationLiteralCS__Group_2_0__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:9993:2: rule__EnumerationLiteralCS__Group_2_0__0__Impl rule__EnumerationLiteralCS__Group_2_0__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10492:1: ( rule__EnumerationLiteralCS__Group_2_0__0__Impl rule__EnumerationLiteralCS__Group_2_0__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10493:2: rule__EnumerationLiteralCS__Group_2_0__0__Impl rule__EnumerationLiteralCS__Group_2_0__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Group_2_0__0__Impl_in_rule__EnumerationLiteralCS__Group_2_0__021269);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Group_2_0__0__Impl_in_rule__EnumerationLiteralCS__Group_2_0__022111);
             rule__EnumerationLiteralCS__Group_2_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Group_2_0__1_in_rule__EnumerationLiteralCS__Group_2_0__021272);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Group_2_0__1_in_rule__EnumerationLiteralCS__Group_2_0__022114);
             rule__EnumerationLiteralCS__Group_2_0__1();
 
             state._fsp--;
@@ -32132,22 +33180,22 @@
 
 
     // $ANTLR start "rule__EnumerationLiteralCS__Group_2_0__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10000:1: rule__EnumerationLiteralCS__Group_2_0__0__Impl : ( '{' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10500:1: rule__EnumerationLiteralCS__Group_2_0__0__Impl : ( '{' ) ;
     public final void rule__EnumerationLiteralCS__Group_2_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10004:1: ( ( '{' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10005:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10504:1: ( ( '{' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10505:1: ( '{' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10005:1: ( '{' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10006:1: '{'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10505:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10506:1: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumerationLiteralCSAccess().getLeftCurlyBracketKeyword_2_0_0()); 
             }
-            match(input,99,FollowSets000.FOLLOW_99_in_rule__EnumerationLiteralCS__Group_2_0__0__Impl21300); if (state.failed) return ;
+            match(input,108,FollowSets000.FOLLOW_108_in_rule__EnumerationLiteralCS__Group_2_0__0__Impl22142); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getEnumerationLiteralCSAccess().getLeftCurlyBracketKeyword_2_0_0()); 
             }
@@ -32173,21 +33221,21 @@
 
 
     // $ANTLR start "rule__EnumerationLiteralCS__Group_2_0__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10019:1: rule__EnumerationLiteralCS__Group_2_0__1 : rule__EnumerationLiteralCS__Group_2_0__1__Impl rule__EnumerationLiteralCS__Group_2_0__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10519:1: rule__EnumerationLiteralCS__Group_2_0__1 : rule__EnumerationLiteralCS__Group_2_0__1__Impl rule__EnumerationLiteralCS__Group_2_0__2 ;
     public final void rule__EnumerationLiteralCS__Group_2_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10023:1: ( rule__EnumerationLiteralCS__Group_2_0__1__Impl rule__EnumerationLiteralCS__Group_2_0__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10024:2: rule__EnumerationLiteralCS__Group_2_0__1__Impl rule__EnumerationLiteralCS__Group_2_0__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10523:1: ( rule__EnumerationLiteralCS__Group_2_0__1__Impl rule__EnumerationLiteralCS__Group_2_0__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10524:2: rule__EnumerationLiteralCS__Group_2_0__1__Impl rule__EnumerationLiteralCS__Group_2_0__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Group_2_0__1__Impl_in_rule__EnumerationLiteralCS__Group_2_0__121331);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Group_2_0__1__Impl_in_rule__EnumerationLiteralCS__Group_2_0__122173);
             rule__EnumerationLiteralCS__Group_2_0__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Group_2_0__2_in_rule__EnumerationLiteralCS__Group_2_0__121334);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Group_2_0__2_in_rule__EnumerationLiteralCS__Group_2_0__122176);
             rule__EnumerationLiteralCS__Group_2_0__2();
 
             state._fsp--;
@@ -32211,37 +33259,37 @@
 
 
     // $ANTLR start "rule__EnumerationLiteralCS__Group_2_0__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10031:1: rule__EnumerationLiteralCS__Group_2_0__1__Impl : ( ( rule__EnumerationLiteralCS__OwnedAnnotationsAssignment_2_0_1 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10531:1: rule__EnumerationLiteralCS__Group_2_0__1__Impl : ( ( rule__EnumerationLiteralCS__OwnedAnnotationsAssignment_2_0_1 )* ) ;
     public final void rule__EnumerationLiteralCS__Group_2_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10035:1: ( ( ( rule__EnumerationLiteralCS__OwnedAnnotationsAssignment_2_0_1 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10036:1: ( ( rule__EnumerationLiteralCS__OwnedAnnotationsAssignment_2_0_1 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10535:1: ( ( ( rule__EnumerationLiteralCS__OwnedAnnotationsAssignment_2_0_1 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10536:1: ( ( rule__EnumerationLiteralCS__OwnedAnnotationsAssignment_2_0_1 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10036:1: ( ( rule__EnumerationLiteralCS__OwnedAnnotationsAssignment_2_0_1 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10037:1: ( rule__EnumerationLiteralCS__OwnedAnnotationsAssignment_2_0_1 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10536:1: ( ( rule__EnumerationLiteralCS__OwnedAnnotationsAssignment_2_0_1 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10537:1: ( rule__EnumerationLiteralCS__OwnedAnnotationsAssignment_2_0_1 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumerationLiteralCSAccess().getOwnedAnnotationsAssignment_2_0_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10038:1: ( rule__EnumerationLiteralCS__OwnedAnnotationsAssignment_2_0_1 )*
-            loop123:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10538:1: ( rule__EnumerationLiteralCS__OwnedAnnotationsAssignment_2_0_1 )*
+            loop143:
             do {
-                int alt123=2;
-                int LA123_0 = input.LA(1);
+                int alt143=2;
+                int LA143_0 = input.LA(1);
 
-                if ( ((LA123_0>=55 && LA123_0<=56)||LA123_0==60) ) {
-                    alt123=1;
+                if ( ((LA143_0>=64 && LA143_0<=65)||LA143_0==69) ) {
+                    alt143=1;
                 }
 
 
-                switch (alt123) {
+                switch (alt143) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10038:2: rule__EnumerationLiteralCS__OwnedAnnotationsAssignment_2_0_1
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10538:2: rule__EnumerationLiteralCS__OwnedAnnotationsAssignment_2_0_1
             	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__OwnedAnnotationsAssignment_2_0_1_in_rule__EnumerationLiteralCS__Group_2_0__1__Impl21361);
+            	    pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__OwnedAnnotationsAssignment_2_0_1_in_rule__EnumerationLiteralCS__Group_2_0__1__Impl22203);
             	    rule__EnumerationLiteralCS__OwnedAnnotationsAssignment_2_0_1();
 
             	    state._fsp--;
@@ -32251,7 +33299,7 @@
             	    break;
 
             	default :
-            	    break loop123;
+            	    break loop143;
                 }
             } while (true);
 
@@ -32280,16 +33328,16 @@
 
 
     // $ANTLR start "rule__EnumerationLiteralCS__Group_2_0__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10048:1: rule__EnumerationLiteralCS__Group_2_0__2 : rule__EnumerationLiteralCS__Group_2_0__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10548:1: rule__EnumerationLiteralCS__Group_2_0__2 : rule__EnumerationLiteralCS__Group_2_0__2__Impl ;
     public final void rule__EnumerationLiteralCS__Group_2_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10052:1: ( rule__EnumerationLiteralCS__Group_2_0__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10053:2: rule__EnumerationLiteralCS__Group_2_0__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10552:1: ( rule__EnumerationLiteralCS__Group_2_0__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10553:2: rule__EnumerationLiteralCS__Group_2_0__2__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Group_2_0__2__Impl_in_rule__EnumerationLiteralCS__Group_2_0__221392);
+            pushFollow(FollowSets000.FOLLOW_rule__EnumerationLiteralCS__Group_2_0__2__Impl_in_rule__EnumerationLiteralCS__Group_2_0__222234);
             rule__EnumerationLiteralCS__Group_2_0__2__Impl();
 
             state._fsp--;
@@ -32313,22 +33361,22 @@
 
 
     // $ANTLR start "rule__EnumerationLiteralCS__Group_2_0__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10059:1: rule__EnumerationLiteralCS__Group_2_0__2__Impl : ( '}' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10559:1: rule__EnumerationLiteralCS__Group_2_0__2__Impl : ( '}' ) ;
     public final void rule__EnumerationLiteralCS__Group_2_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10063:1: ( ( '}' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10064:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10563:1: ( ( '}' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10564:1: ( '}' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10064:1: ( '}' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10065:1: '}'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10564:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10565:1: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumerationLiteralCSAccess().getRightCurlyBracketKeyword_2_0_2()); 
             }
-            match(input,100,FollowSets000.FOLLOW_100_in_rule__EnumerationLiteralCS__Group_2_0__2__Impl21420); if (state.failed) return ;
+            match(input,109,FollowSets000.FOLLOW_109_in_rule__EnumerationLiteralCS__Group_2_0__2__Impl22262); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getEnumerationLiteralCSAccess().getRightCurlyBracketKeyword_2_0_2()); 
             }
@@ -32354,21 +33402,21 @@
 
 
     // $ANTLR start "rule__ImportCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10084:1: rule__ImportCS__Group__0 : rule__ImportCS__Group__0__Impl rule__ImportCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10584:1: rule__ImportCS__Group__0 : rule__ImportCS__Group__0__Impl rule__ImportCS__Group__1 ;
     public final void rule__ImportCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10088:1: ( rule__ImportCS__Group__0__Impl rule__ImportCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10089:2: rule__ImportCS__Group__0__Impl rule__ImportCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10588:1: ( rule__ImportCS__Group__0__Impl rule__ImportCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10589:2: rule__ImportCS__Group__0__Impl rule__ImportCS__Group__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ImportCS__Group__0__Impl_in_rule__ImportCS__Group__021457);
+            pushFollow(FollowSets000.FOLLOW_rule__ImportCS__Group__0__Impl_in_rule__ImportCS__Group__022299);
             rule__ImportCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__ImportCS__Group__1_in_rule__ImportCS__Group__021460);
+            pushFollow(FollowSets000.FOLLOW_rule__ImportCS__Group__1_in_rule__ImportCS__Group__022302);
             rule__ImportCS__Group__1();
 
             state._fsp--;
@@ -32392,22 +33440,22 @@
 
 
     // $ANTLR start "rule__ImportCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10096:1: rule__ImportCS__Group__0__Impl : ( 'import' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10596:1: rule__ImportCS__Group__0__Impl : ( 'import' ) ;
     public final void rule__ImportCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10100:1: ( ( 'import' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10101:1: ( 'import' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10600:1: ( ( 'import' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10601:1: ( 'import' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10101:1: ( 'import' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10102:1: 'import'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10601:1: ( 'import' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10602:1: 'import'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImportCSAccess().getImportKeyword_0()); 
             }
-            match(input,30,FollowSets000.FOLLOW_30_in_rule__ImportCS__Group__0__Impl21488); if (state.failed) return ;
+            match(input,30,FollowSets000.FOLLOW_30_in_rule__ImportCS__Group__0__Impl22330); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getImportCSAccess().getImportKeyword_0()); 
             }
@@ -32433,21 +33481,21 @@
 
 
     // $ANTLR start "rule__ImportCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10115:1: rule__ImportCS__Group__1 : rule__ImportCS__Group__1__Impl rule__ImportCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10615:1: rule__ImportCS__Group__1 : rule__ImportCS__Group__1__Impl rule__ImportCS__Group__2 ;
     public final void rule__ImportCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10119:1: ( rule__ImportCS__Group__1__Impl rule__ImportCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10120:2: rule__ImportCS__Group__1__Impl rule__ImportCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10619:1: ( rule__ImportCS__Group__1__Impl rule__ImportCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10620:2: rule__ImportCS__Group__1__Impl rule__ImportCS__Group__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ImportCS__Group__1__Impl_in_rule__ImportCS__Group__121519);
+            pushFollow(FollowSets000.FOLLOW_rule__ImportCS__Group__1__Impl_in_rule__ImportCS__Group__122361);
             rule__ImportCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__ImportCS__Group__2_in_rule__ImportCS__Group__121522);
+            pushFollow(FollowSets000.FOLLOW_rule__ImportCS__Group__2_in_rule__ImportCS__Group__122364);
             rule__ImportCS__Group__2();
 
             state._fsp--;
@@ -32471,29 +33519,29 @@
 
 
     // $ANTLR start "rule__ImportCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10127:1: rule__ImportCS__Group__1__Impl : ( ( rule__ImportCS__Group_1__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10627:1: rule__ImportCS__Group__1__Impl : ( ( rule__ImportCS__Group_1__0 )? ) ;
     public final void rule__ImportCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10131:1: ( ( ( rule__ImportCS__Group_1__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10132:1: ( ( rule__ImportCS__Group_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10631:1: ( ( ( rule__ImportCS__Group_1__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10632:1: ( ( rule__ImportCS__Group_1__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10132:1: ( ( rule__ImportCS__Group_1__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10133:1: ( rule__ImportCS__Group_1__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10632:1: ( ( rule__ImportCS__Group_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10633:1: ( rule__ImportCS__Group_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImportCSAccess().getGroup_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10134:1: ( rule__ImportCS__Group_1__0 )?
-            int alt124=2;
-            alt124 = dfa124.predict(input);
-            switch (alt124) {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10634:1: ( rule__ImportCS__Group_1__0 )?
+            int alt144=2;
+            alt144 = dfa144.predict(input);
+            switch (alt144) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10134:2: rule__ImportCS__Group_1__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10634:2: rule__ImportCS__Group_1__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__ImportCS__Group_1__0_in_rule__ImportCS__Group__1__Impl21549);
+                    pushFollow(FollowSets001.FOLLOW_rule__ImportCS__Group_1__0_in_rule__ImportCS__Group__1__Impl22391);
                     rule__ImportCS__Group_1__0();
 
                     state._fsp--;
@@ -32529,21 +33577,21 @@
 
 
     // $ANTLR start "rule__ImportCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10144:1: rule__ImportCS__Group__2 : rule__ImportCS__Group__2__Impl rule__ImportCS__Group__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10644:1: rule__ImportCS__Group__2 : rule__ImportCS__Group__2__Impl rule__ImportCS__Group__3 ;
     public final void rule__ImportCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10148:1: ( rule__ImportCS__Group__2__Impl rule__ImportCS__Group__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10149:2: rule__ImportCS__Group__2__Impl rule__ImportCS__Group__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10648:1: ( rule__ImportCS__Group__2__Impl rule__ImportCS__Group__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10649:2: rule__ImportCS__Group__2__Impl rule__ImportCS__Group__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ImportCS__Group__2__Impl_in_rule__ImportCS__Group__221580);
+            pushFollow(FollowSets001.FOLLOW_rule__ImportCS__Group__2__Impl_in_rule__ImportCS__Group__222422);
             rule__ImportCS__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__ImportCS__Group__3_in_rule__ImportCS__Group__221583);
+            pushFollow(FollowSets001.FOLLOW_rule__ImportCS__Group__3_in_rule__ImportCS__Group__222425);
             rule__ImportCS__Group__3();
 
             state._fsp--;
@@ -32567,25 +33615,25 @@
 
 
     // $ANTLR start "rule__ImportCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10156:1: rule__ImportCS__Group__2__Impl : ( ( rule__ImportCS__OwnedPathNameAssignment_2 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10656:1: rule__ImportCS__Group__2__Impl : ( ( rule__ImportCS__OwnedPathNameAssignment_2 ) ) ;
     public final void rule__ImportCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10160:1: ( ( ( rule__ImportCS__OwnedPathNameAssignment_2 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10161:1: ( ( rule__ImportCS__OwnedPathNameAssignment_2 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10660:1: ( ( ( rule__ImportCS__OwnedPathNameAssignment_2 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10661:1: ( ( rule__ImportCS__OwnedPathNameAssignment_2 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10161:1: ( ( rule__ImportCS__OwnedPathNameAssignment_2 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10162:1: ( rule__ImportCS__OwnedPathNameAssignment_2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10661:1: ( ( rule__ImportCS__OwnedPathNameAssignment_2 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10662:1: ( rule__ImportCS__OwnedPathNameAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImportCSAccess().getOwnedPathNameAssignment_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10163:1: ( rule__ImportCS__OwnedPathNameAssignment_2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10163:2: rule__ImportCS__OwnedPathNameAssignment_2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10663:1: ( rule__ImportCS__OwnedPathNameAssignment_2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10663:2: rule__ImportCS__OwnedPathNameAssignment_2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ImportCS__OwnedPathNameAssignment_2_in_rule__ImportCS__Group__2__Impl21610);
+            pushFollow(FollowSets001.FOLLOW_rule__ImportCS__OwnedPathNameAssignment_2_in_rule__ImportCS__Group__2__Impl22452);
             rule__ImportCS__OwnedPathNameAssignment_2();
 
             state._fsp--;
@@ -32618,21 +33666,21 @@
 
 
     // $ANTLR start "rule__ImportCS__Group__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10173:1: rule__ImportCS__Group__3 : rule__ImportCS__Group__3__Impl rule__ImportCS__Group__4 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10673:1: rule__ImportCS__Group__3 : rule__ImportCS__Group__3__Impl rule__ImportCS__Group__4 ;
     public final void rule__ImportCS__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10177:1: ( rule__ImportCS__Group__3__Impl rule__ImportCS__Group__4 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10178:2: rule__ImportCS__Group__3__Impl rule__ImportCS__Group__4
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10677:1: ( rule__ImportCS__Group__3__Impl rule__ImportCS__Group__4 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10678:2: rule__ImportCS__Group__3__Impl rule__ImportCS__Group__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ImportCS__Group__3__Impl_in_rule__ImportCS__Group__321640);
+            pushFollow(FollowSets001.FOLLOW_rule__ImportCS__Group__3__Impl_in_rule__ImportCS__Group__322482);
             rule__ImportCS__Group__3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__ImportCS__Group__4_in_rule__ImportCS__Group__321643);
+            pushFollow(FollowSets001.FOLLOW_rule__ImportCS__Group__4_in_rule__ImportCS__Group__322485);
             rule__ImportCS__Group__4();
 
             state._fsp--;
@@ -32656,33 +33704,33 @@
 
 
     // $ANTLR start "rule__ImportCS__Group__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10185:1: rule__ImportCS__Group__3__Impl : ( ( rule__ImportCS__IsAllAssignment_3 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10685:1: rule__ImportCS__Group__3__Impl : ( ( rule__ImportCS__IsAllAssignment_3 )? ) ;
     public final void rule__ImportCS__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10189:1: ( ( ( rule__ImportCS__IsAllAssignment_3 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10190:1: ( ( rule__ImportCS__IsAllAssignment_3 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10689:1: ( ( ( rule__ImportCS__IsAllAssignment_3 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10690:1: ( ( rule__ImportCS__IsAllAssignment_3 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10190:1: ( ( rule__ImportCS__IsAllAssignment_3 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10191:1: ( rule__ImportCS__IsAllAssignment_3 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10690:1: ( ( rule__ImportCS__IsAllAssignment_3 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10691:1: ( rule__ImportCS__IsAllAssignment_3 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImportCSAccess().getIsAllAssignment_3()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10192:1: ( rule__ImportCS__IsAllAssignment_3 )?
-            int alt125=2;
-            int LA125_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10692:1: ( rule__ImportCS__IsAllAssignment_3 )?
+            int alt145=2;
+            int LA145_0 = input.LA(1);
 
-            if ( (LA125_0==128) ) {
-                alt125=1;
+            if ( (LA145_0==130) ) {
+                alt145=1;
             }
-            switch (alt125) {
+            switch (alt145) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10192:2: rule__ImportCS__IsAllAssignment_3
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10692:2: rule__ImportCS__IsAllAssignment_3
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__ImportCS__IsAllAssignment_3_in_rule__ImportCS__Group__3__Impl21670);
+                    pushFollow(FollowSets001.FOLLOW_rule__ImportCS__IsAllAssignment_3_in_rule__ImportCS__Group__3__Impl22512);
                     rule__ImportCS__IsAllAssignment_3();
 
                     state._fsp--;
@@ -32718,16 +33766,16 @@
 
 
     // $ANTLR start "rule__ImportCS__Group__4"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10202:1: rule__ImportCS__Group__4 : rule__ImportCS__Group__4__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10702:1: rule__ImportCS__Group__4 : rule__ImportCS__Group__4__Impl ;
     public final void rule__ImportCS__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10206:1: ( rule__ImportCS__Group__4__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10207:2: rule__ImportCS__Group__4__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10706:1: ( rule__ImportCS__Group__4__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10707:2: rule__ImportCS__Group__4__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ImportCS__Group__4__Impl_in_rule__ImportCS__Group__421701);
+            pushFollow(FollowSets001.FOLLOW_rule__ImportCS__Group__4__Impl_in_rule__ImportCS__Group__422543);
             rule__ImportCS__Group__4__Impl();
 
             state._fsp--;
@@ -32751,22 +33799,22 @@
 
 
     // $ANTLR start "rule__ImportCS__Group__4__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10213:1: rule__ImportCS__Group__4__Impl : ( ';' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10713:1: rule__ImportCS__Group__4__Impl : ( ';' ) ;
     public final void rule__ImportCS__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10217:1: ( ( ';' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10218:1: ( ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10717:1: ( ( ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10718:1: ( ';' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10218:1: ( ';' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10219:1: ';'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10718:1: ( ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10719:1: ';'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImportCSAccess().getSemicolonKeyword_4()); 
             }
-            match(input,53,FollowSets000.FOLLOW_53_in_rule__ImportCS__Group__4__Impl21729); if (state.failed) return ;
+            match(input,53,FollowSets001.FOLLOW_53_in_rule__ImportCS__Group__4__Impl22571); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getImportCSAccess().getSemicolonKeyword_4()); 
             }
@@ -32792,21 +33840,21 @@
 
 
     // $ANTLR start "rule__ImportCS__Group_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10242:1: rule__ImportCS__Group_1__0 : rule__ImportCS__Group_1__0__Impl rule__ImportCS__Group_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10742:1: rule__ImportCS__Group_1__0 : rule__ImportCS__Group_1__0__Impl rule__ImportCS__Group_1__1 ;
     public final void rule__ImportCS__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10246:1: ( rule__ImportCS__Group_1__0__Impl rule__ImportCS__Group_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10247:2: rule__ImportCS__Group_1__0__Impl rule__ImportCS__Group_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10746:1: ( rule__ImportCS__Group_1__0__Impl rule__ImportCS__Group_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10747:2: rule__ImportCS__Group_1__0__Impl rule__ImportCS__Group_1__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ImportCS__Group_1__0__Impl_in_rule__ImportCS__Group_1__021770);
+            pushFollow(FollowSets001.FOLLOW_rule__ImportCS__Group_1__0__Impl_in_rule__ImportCS__Group_1__022612);
             rule__ImportCS__Group_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__ImportCS__Group_1__1_in_rule__ImportCS__Group_1__021773);
+            pushFollow(FollowSets001.FOLLOW_rule__ImportCS__Group_1__1_in_rule__ImportCS__Group_1__022615);
             rule__ImportCS__Group_1__1();
 
             state._fsp--;
@@ -32830,25 +33878,25 @@
 
 
     // $ANTLR start "rule__ImportCS__Group_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10254:1: rule__ImportCS__Group_1__0__Impl : ( ( rule__ImportCS__NameAssignment_1_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10754:1: rule__ImportCS__Group_1__0__Impl : ( ( rule__ImportCS__NameAssignment_1_0 ) ) ;
     public final void rule__ImportCS__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10258:1: ( ( ( rule__ImportCS__NameAssignment_1_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10259:1: ( ( rule__ImportCS__NameAssignment_1_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10758:1: ( ( ( rule__ImportCS__NameAssignment_1_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10759:1: ( ( rule__ImportCS__NameAssignment_1_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10259:1: ( ( rule__ImportCS__NameAssignment_1_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10260:1: ( rule__ImportCS__NameAssignment_1_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10759:1: ( ( rule__ImportCS__NameAssignment_1_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10760:1: ( rule__ImportCS__NameAssignment_1_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImportCSAccess().getNameAssignment_1_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10261:1: ( rule__ImportCS__NameAssignment_1_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10261:2: rule__ImportCS__NameAssignment_1_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10761:1: ( rule__ImportCS__NameAssignment_1_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10761:2: rule__ImportCS__NameAssignment_1_0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ImportCS__NameAssignment_1_0_in_rule__ImportCS__Group_1__0__Impl21800);
+            pushFollow(FollowSets001.FOLLOW_rule__ImportCS__NameAssignment_1_0_in_rule__ImportCS__Group_1__0__Impl22642);
             rule__ImportCS__NameAssignment_1_0();
 
             state._fsp--;
@@ -32881,16 +33929,16 @@
 
 
     // $ANTLR start "rule__ImportCS__Group_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10271:1: rule__ImportCS__Group_1__1 : rule__ImportCS__Group_1__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10771:1: rule__ImportCS__Group_1__1 : rule__ImportCS__Group_1__1__Impl ;
     public final void rule__ImportCS__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10275:1: ( rule__ImportCS__Group_1__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10276:2: rule__ImportCS__Group_1__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10775:1: ( rule__ImportCS__Group_1__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10776:2: rule__ImportCS__Group_1__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ImportCS__Group_1__1__Impl_in_rule__ImportCS__Group_1__121830);
+            pushFollow(FollowSets001.FOLLOW_rule__ImportCS__Group_1__1__Impl_in_rule__ImportCS__Group_1__122672);
             rule__ImportCS__Group_1__1__Impl();
 
             state._fsp--;
@@ -32914,22 +33962,22 @@
 
 
     // $ANTLR start "rule__ImportCS__Group_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10282:1: rule__ImportCS__Group_1__1__Impl : ( ':' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10782:1: rule__ImportCS__Group_1__1__Impl : ( ':' ) ;
     public final void rule__ImportCS__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10286:1: ( ( ':' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10287:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10786:1: ( ( ':' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10787:1: ( ':' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10287:1: ( ':' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10288:1: ':'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10787:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10788:1: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImportCSAccess().getColonKeyword_1_1()); 
             }
-            match(input,97,FollowSets000.FOLLOW_97_in_rule__ImportCS__Group_1__1__Impl21858); if (state.failed) return ;
+            match(input,106,FollowSets001.FOLLOW_106_in_rule__ImportCS__Group_1__1__Impl22700); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getImportCSAccess().getColonKeyword_1_1()); 
             }
@@ -32955,21 +34003,21 @@
 
 
     // $ANTLR start "rule__LibraryCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10305:1: rule__LibraryCS__Group__0 : rule__LibraryCS__Group__0__Impl rule__LibraryCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10805:1: rule__LibraryCS__Group__0 : rule__LibraryCS__Group__0__Impl rule__LibraryCS__Group__1 ;
     public final void rule__LibraryCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10309:1: ( rule__LibraryCS__Group__0__Impl rule__LibraryCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10310:2: rule__LibraryCS__Group__0__Impl rule__LibraryCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10809:1: ( rule__LibraryCS__Group__0__Impl rule__LibraryCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10810:2: rule__LibraryCS__Group__0__Impl rule__LibraryCS__Group__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__LibraryCS__Group__0__Impl_in_rule__LibraryCS__Group__021893);
+            pushFollow(FollowSets001.FOLLOW_rule__LibraryCS__Group__0__Impl_in_rule__LibraryCS__Group__022735);
             rule__LibraryCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__LibraryCS__Group__1_in_rule__LibraryCS__Group__021896);
+            pushFollow(FollowSets001.FOLLOW_rule__LibraryCS__Group__1_in_rule__LibraryCS__Group__022738);
             rule__LibraryCS__Group__1();
 
             state._fsp--;
@@ -32993,22 +34041,22 @@
 
 
     // $ANTLR start "rule__LibraryCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10317:1: rule__LibraryCS__Group__0__Impl : ( 'library' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10817:1: rule__LibraryCS__Group__0__Impl : ( 'library' ) ;
     public final void rule__LibraryCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10321:1: ( ( 'library' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10322:1: ( 'library' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10821:1: ( ( 'library' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10822:1: ( 'library' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10322:1: ( 'library' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10323:1: 'library'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10822:1: ( 'library' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10823:1: 'library'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLibraryCSAccess().getLibraryKeyword_0()); 
             }
-            match(input,34,FollowSets000.FOLLOW_34_in_rule__LibraryCS__Group__0__Impl21924); if (state.failed) return ;
+            match(input,34,FollowSets001.FOLLOW_34_in_rule__LibraryCS__Group__0__Impl22766); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getLibraryCSAccess().getLibraryKeyword_0()); 
             }
@@ -33034,21 +34082,21 @@
 
 
     // $ANTLR start "rule__LibraryCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10336:1: rule__LibraryCS__Group__1 : rule__LibraryCS__Group__1__Impl rule__LibraryCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10836:1: rule__LibraryCS__Group__1 : rule__LibraryCS__Group__1__Impl rule__LibraryCS__Group__2 ;
     public final void rule__LibraryCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10340:1: ( rule__LibraryCS__Group__1__Impl rule__LibraryCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10341:2: rule__LibraryCS__Group__1__Impl rule__LibraryCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10840:1: ( rule__LibraryCS__Group__1__Impl rule__LibraryCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10841:2: rule__LibraryCS__Group__1__Impl rule__LibraryCS__Group__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__LibraryCS__Group__1__Impl_in_rule__LibraryCS__Group__121955);
+            pushFollow(FollowSets001.FOLLOW_rule__LibraryCS__Group__1__Impl_in_rule__LibraryCS__Group__122797);
             rule__LibraryCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets000.FOLLOW_rule__LibraryCS__Group__2_in_rule__LibraryCS__Group__121958);
+            pushFollow(FollowSets001.FOLLOW_rule__LibraryCS__Group__2_in_rule__LibraryCS__Group__122800);
             rule__LibraryCS__Group__2();
 
             state._fsp--;
@@ -33072,33 +34120,33 @@
 
 
     // $ANTLR start "rule__LibraryCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10348:1: rule__LibraryCS__Group__1__Impl : ( ( rule__LibraryCS__Group_1__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10848:1: rule__LibraryCS__Group__1__Impl : ( ( rule__LibraryCS__Group_1__0 )? ) ;
     public final void rule__LibraryCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10352:1: ( ( ( rule__LibraryCS__Group_1__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10353:1: ( ( rule__LibraryCS__Group_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10852:1: ( ( ( rule__LibraryCS__Group_1__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10853:1: ( ( rule__LibraryCS__Group_1__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10353:1: ( ( rule__LibraryCS__Group_1__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10354:1: ( rule__LibraryCS__Group_1__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10853:1: ( ( rule__LibraryCS__Group_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10854:1: ( rule__LibraryCS__Group_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLibraryCSAccess().getGroup_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10355:1: ( rule__LibraryCS__Group_1__0 )?
-            int alt126=2;
-            int LA126_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10855:1: ( rule__LibraryCS__Group_1__0 )?
+            int alt146=2;
+            int LA146_0 = input.LA(1);
 
-            if ( ((LA126_0>=RULE_SIMPLE_ID && LA126_0<=RULE_ESCAPED_ID)||(LA126_0>=17 && LA126_0<=52)||(LA126_0>=55 && LA126_0<=60)) ) {
-                alt126=1;
+            if ( ((LA146_0>=RULE_SIMPLE_ID && LA146_0<=RULE_ESCAPED_ID)||(LA146_0>=17 && LA146_0<=52)||(LA146_0>=64 && LA146_0<=69)) ) {
+                alt146=1;
             }
-            switch (alt126) {
+            switch (alt146) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10355:2: rule__LibraryCS__Group_1__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10855:2: rule__LibraryCS__Group_1__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__LibraryCS__Group_1__0_in_rule__LibraryCS__Group__1__Impl21985);
+                    pushFollow(FollowSets001.FOLLOW_rule__LibraryCS__Group_1__0_in_rule__LibraryCS__Group__1__Impl22827);
                     rule__LibraryCS__Group_1__0();
 
                     state._fsp--;
@@ -33134,21 +34182,21 @@
 
 
     // $ANTLR start "rule__LibraryCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10365:1: rule__LibraryCS__Group__2 : rule__LibraryCS__Group__2__Impl rule__LibraryCS__Group__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10865:1: rule__LibraryCS__Group__2 : rule__LibraryCS__Group__2__Impl rule__LibraryCS__Group__3 ;
     public final void rule__LibraryCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10369:1: ( rule__LibraryCS__Group__2__Impl rule__LibraryCS__Group__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10370:2: rule__LibraryCS__Group__2__Impl rule__LibraryCS__Group__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10869:1: ( rule__LibraryCS__Group__2__Impl rule__LibraryCS__Group__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10870:2: rule__LibraryCS__Group__2__Impl rule__LibraryCS__Group__3
             {
-            pushFollow(FollowSets001.FOLLOW_rule__LibraryCS__Group__2__Impl_in_rule__LibraryCS__Group__222016);
+            pushFollow(FollowSets001.FOLLOW_rule__LibraryCS__Group__2__Impl_in_rule__LibraryCS__Group__222858);
             rule__LibraryCS__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__LibraryCS__Group__3_in_rule__LibraryCS__Group__222019);
+            pushFollow(FollowSets001.FOLLOW_rule__LibraryCS__Group__3_in_rule__LibraryCS__Group__222861);
             rule__LibraryCS__Group__3();
 
             state._fsp--;
@@ -33172,25 +34220,25 @@
 
 
     // $ANTLR start "rule__LibraryCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10377:1: rule__LibraryCS__Group__2__Impl : ( ( rule__LibraryCS__ReferredPackageAssignment_2 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10877:1: rule__LibraryCS__Group__2__Impl : ( ( rule__LibraryCS__ReferredPackageAssignment_2 ) ) ;
     public final void rule__LibraryCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10381:1: ( ( ( rule__LibraryCS__ReferredPackageAssignment_2 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10382:1: ( ( rule__LibraryCS__ReferredPackageAssignment_2 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10881:1: ( ( ( rule__LibraryCS__ReferredPackageAssignment_2 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10882:1: ( ( rule__LibraryCS__ReferredPackageAssignment_2 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10382:1: ( ( rule__LibraryCS__ReferredPackageAssignment_2 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10383:1: ( rule__LibraryCS__ReferredPackageAssignment_2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10882:1: ( ( rule__LibraryCS__ReferredPackageAssignment_2 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10883:1: ( rule__LibraryCS__ReferredPackageAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLibraryCSAccess().getReferredPackageAssignment_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10384:1: ( rule__LibraryCS__ReferredPackageAssignment_2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10384:2: rule__LibraryCS__ReferredPackageAssignment_2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10884:1: ( rule__LibraryCS__ReferredPackageAssignment_2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10884:2: rule__LibraryCS__ReferredPackageAssignment_2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__LibraryCS__ReferredPackageAssignment_2_in_rule__LibraryCS__Group__2__Impl22046);
+            pushFollow(FollowSets001.FOLLOW_rule__LibraryCS__ReferredPackageAssignment_2_in_rule__LibraryCS__Group__2__Impl22888);
             rule__LibraryCS__ReferredPackageAssignment_2();
 
             state._fsp--;
@@ -33223,16 +34271,16 @@
 
 
     // $ANTLR start "rule__LibraryCS__Group__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10394:1: rule__LibraryCS__Group__3 : rule__LibraryCS__Group__3__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10894:1: rule__LibraryCS__Group__3 : rule__LibraryCS__Group__3__Impl ;
     public final void rule__LibraryCS__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10398:1: ( rule__LibraryCS__Group__3__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10399:2: rule__LibraryCS__Group__3__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10898:1: ( rule__LibraryCS__Group__3__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10899:2: rule__LibraryCS__Group__3__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__LibraryCS__Group__3__Impl_in_rule__LibraryCS__Group__322076);
+            pushFollow(FollowSets001.FOLLOW_rule__LibraryCS__Group__3__Impl_in_rule__LibraryCS__Group__322918);
             rule__LibraryCS__Group__3__Impl();
 
             state._fsp--;
@@ -33256,22 +34304,22 @@
 
 
     // $ANTLR start "rule__LibraryCS__Group__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10405:1: rule__LibraryCS__Group__3__Impl : ( ';' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10905:1: rule__LibraryCS__Group__3__Impl : ( ';' ) ;
     public final void rule__LibraryCS__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10409:1: ( ( ';' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10410:1: ( ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10909:1: ( ( ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10910:1: ( ';' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10410:1: ( ';' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10411:1: ';'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10910:1: ( ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10911:1: ';'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLibraryCSAccess().getSemicolonKeyword_3()); 
             }
-            match(input,53,FollowSets001.FOLLOW_53_in_rule__LibraryCS__Group__3__Impl22104); if (state.failed) return ;
+            match(input,53,FollowSets001.FOLLOW_53_in_rule__LibraryCS__Group__3__Impl22946); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getLibraryCSAccess().getSemicolonKeyword_3()); 
             }
@@ -33297,21 +34345,21 @@
 
 
     // $ANTLR start "rule__LibraryCS__Group_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10432:1: rule__LibraryCS__Group_1__0 : rule__LibraryCS__Group_1__0__Impl rule__LibraryCS__Group_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10932:1: rule__LibraryCS__Group_1__0 : rule__LibraryCS__Group_1__0__Impl rule__LibraryCS__Group_1__1 ;
     public final void rule__LibraryCS__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10436:1: ( rule__LibraryCS__Group_1__0__Impl rule__LibraryCS__Group_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10437:2: rule__LibraryCS__Group_1__0__Impl rule__LibraryCS__Group_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10936:1: ( rule__LibraryCS__Group_1__0__Impl rule__LibraryCS__Group_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10937:2: rule__LibraryCS__Group_1__0__Impl rule__LibraryCS__Group_1__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__LibraryCS__Group_1__0__Impl_in_rule__LibraryCS__Group_1__022143);
+            pushFollow(FollowSets001.FOLLOW_rule__LibraryCS__Group_1__0__Impl_in_rule__LibraryCS__Group_1__022985);
             rule__LibraryCS__Group_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__LibraryCS__Group_1__1_in_rule__LibraryCS__Group_1__022146);
+            pushFollow(FollowSets001.FOLLOW_rule__LibraryCS__Group_1__1_in_rule__LibraryCS__Group_1__022988);
             rule__LibraryCS__Group_1__1();
 
             state._fsp--;
@@ -33335,25 +34383,25 @@
 
 
     // $ANTLR start "rule__LibraryCS__Group_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10444:1: rule__LibraryCS__Group_1__0__Impl : ( ( rule__LibraryCS__NameAssignment_1_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10944:1: rule__LibraryCS__Group_1__0__Impl : ( ( rule__LibraryCS__NameAssignment_1_0 ) ) ;
     public final void rule__LibraryCS__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10448:1: ( ( ( rule__LibraryCS__NameAssignment_1_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10449:1: ( ( rule__LibraryCS__NameAssignment_1_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10948:1: ( ( ( rule__LibraryCS__NameAssignment_1_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10949:1: ( ( rule__LibraryCS__NameAssignment_1_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10449:1: ( ( rule__LibraryCS__NameAssignment_1_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10450:1: ( rule__LibraryCS__NameAssignment_1_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10949:1: ( ( rule__LibraryCS__NameAssignment_1_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10950:1: ( rule__LibraryCS__NameAssignment_1_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLibraryCSAccess().getNameAssignment_1_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10451:1: ( rule__LibraryCS__NameAssignment_1_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10451:2: rule__LibraryCS__NameAssignment_1_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10951:1: ( rule__LibraryCS__NameAssignment_1_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10951:2: rule__LibraryCS__NameAssignment_1_0
             {
-            pushFollow(FollowSets001.FOLLOW_rule__LibraryCS__NameAssignment_1_0_in_rule__LibraryCS__Group_1__0__Impl22173);
+            pushFollow(FollowSets001.FOLLOW_rule__LibraryCS__NameAssignment_1_0_in_rule__LibraryCS__Group_1__0__Impl23015);
             rule__LibraryCS__NameAssignment_1_0();
 
             state._fsp--;
@@ -33386,16 +34434,16 @@
 
 
     // $ANTLR start "rule__LibraryCS__Group_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10461:1: rule__LibraryCS__Group_1__1 : rule__LibraryCS__Group_1__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10961:1: rule__LibraryCS__Group_1__1 : rule__LibraryCS__Group_1__1__Impl ;
     public final void rule__LibraryCS__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10465:1: ( rule__LibraryCS__Group_1__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10466:2: rule__LibraryCS__Group_1__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10965:1: ( rule__LibraryCS__Group_1__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10966:2: rule__LibraryCS__Group_1__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__LibraryCS__Group_1__1__Impl_in_rule__LibraryCS__Group_1__122203);
+            pushFollow(FollowSets001.FOLLOW_rule__LibraryCS__Group_1__1__Impl_in_rule__LibraryCS__Group_1__123045);
             rule__LibraryCS__Group_1__1__Impl();
 
             state._fsp--;
@@ -33419,22 +34467,22 @@
 
 
     // $ANTLR start "rule__LibraryCS__Group_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10472:1: rule__LibraryCS__Group_1__1__Impl : ( ':' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10972:1: rule__LibraryCS__Group_1__1__Impl : ( ':' ) ;
     public final void rule__LibraryCS__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10476:1: ( ( ':' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10477:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10976:1: ( ( ':' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10977:1: ( ':' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10477:1: ( ':' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10478:1: ':'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10977:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10978:1: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLibraryCSAccess().getColonKeyword_1_1()); 
             }
-            match(input,97,FollowSets001.FOLLOW_97_in_rule__LibraryCS__Group_1__1__Impl22231); if (state.failed) return ;
+            match(input,106,FollowSets001.FOLLOW_106_in_rule__LibraryCS__Group_1__1__Impl23073); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getLibraryCSAccess().getColonKeyword_1_1()); 
             }
@@ -33460,21 +34508,21 @@
 
 
     // $ANTLR start "rule__ModelElementRefCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10495:1: rule__ModelElementRefCS__Group__0 : rule__ModelElementRefCS__Group__0__Impl rule__ModelElementRefCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10995:1: rule__ModelElementRefCS__Group__0 : rule__ModelElementRefCS__Group__0__Impl rule__ModelElementRefCS__Group__1 ;
     public final void rule__ModelElementRefCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10499:1: ( rule__ModelElementRefCS__Group__0__Impl rule__ModelElementRefCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10500:2: rule__ModelElementRefCS__Group__0__Impl rule__ModelElementRefCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10999:1: ( rule__ModelElementRefCS__Group__0__Impl rule__ModelElementRefCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11000:2: rule__ModelElementRefCS__Group__0__Impl rule__ModelElementRefCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ModelElementRefCS__Group__0__Impl_in_rule__ModelElementRefCS__Group__022266);
+            pushFollow(FollowSets001.FOLLOW_rule__ModelElementRefCS__Group__0__Impl_in_rule__ModelElementRefCS__Group__023108);
             rule__ModelElementRefCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ModelElementRefCS__Group__1_in_rule__ModelElementRefCS__Group__022269);
+            pushFollow(FollowSets001.FOLLOW_rule__ModelElementRefCS__Group__1_in_rule__ModelElementRefCS__Group__023111);
             rule__ModelElementRefCS__Group__1();
 
             state._fsp--;
@@ -33498,22 +34546,22 @@
 
 
     // $ANTLR start "rule__ModelElementRefCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10507:1: rule__ModelElementRefCS__Group__0__Impl : ( 'reference' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11007:1: rule__ModelElementRefCS__Group__0__Impl : ( 'reference' ) ;
     public final void rule__ModelElementRefCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10511:1: ( ( 'reference' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10512:1: ( 'reference' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11011:1: ( ( 'reference' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11012:1: ( 'reference' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10512:1: ( 'reference' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10513:1: 'reference'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11012:1: ( 'reference' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11013:1: 'reference'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getModelElementRefCSAccess().getReferenceKeyword_0()); 
             }
-            match(input,44,FollowSets001.FOLLOW_44_in_rule__ModelElementRefCS__Group__0__Impl22297); if (state.failed) return ;
+            match(input,44,FollowSets001.FOLLOW_44_in_rule__ModelElementRefCS__Group__0__Impl23139); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getModelElementRefCSAccess().getReferenceKeyword_0()); 
             }
@@ -33539,21 +34587,21 @@
 
 
     // $ANTLR start "rule__ModelElementRefCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10526:1: rule__ModelElementRefCS__Group__1 : rule__ModelElementRefCS__Group__1__Impl rule__ModelElementRefCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11026:1: rule__ModelElementRefCS__Group__1 : rule__ModelElementRefCS__Group__1__Impl rule__ModelElementRefCS__Group__2 ;
     public final void rule__ModelElementRefCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10530:1: ( rule__ModelElementRefCS__Group__1__Impl rule__ModelElementRefCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10531:2: rule__ModelElementRefCS__Group__1__Impl rule__ModelElementRefCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11030:1: ( rule__ModelElementRefCS__Group__1__Impl rule__ModelElementRefCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11031:2: rule__ModelElementRefCS__Group__1__Impl rule__ModelElementRefCS__Group__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ModelElementRefCS__Group__1__Impl_in_rule__ModelElementRefCS__Group__122328);
+            pushFollow(FollowSets001.FOLLOW_rule__ModelElementRefCS__Group__1__Impl_in_rule__ModelElementRefCS__Group__123170);
             rule__ModelElementRefCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ModelElementRefCS__Group__2_in_rule__ModelElementRefCS__Group__122331);
+            pushFollow(FollowSets001.FOLLOW_rule__ModelElementRefCS__Group__2_in_rule__ModelElementRefCS__Group__123173);
             rule__ModelElementRefCS__Group__2();
 
             state._fsp--;
@@ -33577,25 +34625,25 @@
 
 
     // $ANTLR start "rule__ModelElementRefCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10538:1: rule__ModelElementRefCS__Group__1__Impl : ( ( rule__ModelElementRefCS__OwnedPathNameAssignment_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11038:1: rule__ModelElementRefCS__Group__1__Impl : ( ( rule__ModelElementRefCS__OwnedPathNameAssignment_1 ) ) ;
     public final void rule__ModelElementRefCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10542:1: ( ( ( rule__ModelElementRefCS__OwnedPathNameAssignment_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10543:1: ( ( rule__ModelElementRefCS__OwnedPathNameAssignment_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11042:1: ( ( ( rule__ModelElementRefCS__OwnedPathNameAssignment_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11043:1: ( ( rule__ModelElementRefCS__OwnedPathNameAssignment_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10543:1: ( ( rule__ModelElementRefCS__OwnedPathNameAssignment_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10544:1: ( rule__ModelElementRefCS__OwnedPathNameAssignment_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11043:1: ( ( rule__ModelElementRefCS__OwnedPathNameAssignment_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11044:1: ( rule__ModelElementRefCS__OwnedPathNameAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getModelElementRefCSAccess().getOwnedPathNameAssignment_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10545:1: ( rule__ModelElementRefCS__OwnedPathNameAssignment_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10545:2: rule__ModelElementRefCS__OwnedPathNameAssignment_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11045:1: ( rule__ModelElementRefCS__OwnedPathNameAssignment_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11045:2: rule__ModelElementRefCS__OwnedPathNameAssignment_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ModelElementRefCS__OwnedPathNameAssignment_1_in_rule__ModelElementRefCS__Group__1__Impl22358);
+            pushFollow(FollowSets001.FOLLOW_rule__ModelElementRefCS__OwnedPathNameAssignment_1_in_rule__ModelElementRefCS__Group__1__Impl23200);
             rule__ModelElementRefCS__OwnedPathNameAssignment_1();
 
             state._fsp--;
@@ -33628,16 +34676,16 @@
 
 
     // $ANTLR start "rule__ModelElementRefCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10555:1: rule__ModelElementRefCS__Group__2 : rule__ModelElementRefCS__Group__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11055:1: rule__ModelElementRefCS__Group__2 : rule__ModelElementRefCS__Group__2__Impl ;
     public final void rule__ModelElementRefCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10559:1: ( rule__ModelElementRefCS__Group__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10560:2: rule__ModelElementRefCS__Group__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11059:1: ( rule__ModelElementRefCS__Group__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11060:2: rule__ModelElementRefCS__Group__2__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ModelElementRefCS__Group__2__Impl_in_rule__ModelElementRefCS__Group__222388);
+            pushFollow(FollowSets001.FOLLOW_rule__ModelElementRefCS__Group__2__Impl_in_rule__ModelElementRefCS__Group__223230);
             rule__ModelElementRefCS__Group__2__Impl();
 
             state._fsp--;
@@ -33661,22 +34709,22 @@
 
 
     // $ANTLR start "rule__ModelElementRefCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10566:1: rule__ModelElementRefCS__Group__2__Impl : ( ';' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11066:1: rule__ModelElementRefCS__Group__2__Impl : ( ';' ) ;
     public final void rule__ModelElementRefCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10570:1: ( ( ';' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10571:1: ( ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11070:1: ( ( ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11071:1: ( ';' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10571:1: ( ';' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10572:1: ';'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11071:1: ( ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11072:1: ';'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getModelElementRefCSAccess().getSemicolonKeyword_2()); 
             }
-            match(input,53,FollowSets001.FOLLOW_53_in_rule__ModelElementRefCS__Group__2__Impl22416); if (state.failed) return ;
+            match(input,53,FollowSets001.FOLLOW_53_in_rule__ModelElementRefCS__Group__2__Impl23258); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getModelElementRefCSAccess().getSemicolonKeyword_2()); 
             }
@@ -33702,21 +34750,21 @@
 
 
     // $ANTLR start "rule__OperationCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10591:1: rule__OperationCS__Group__0 : rule__OperationCS__Group__0__Impl rule__OperationCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11091:1: rule__OperationCS__Group__0 : rule__OperationCS__Group__0__Impl rule__OperationCS__Group__1 ;
     public final void rule__OperationCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10595:1: ( rule__OperationCS__Group__0__Impl rule__OperationCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10596:2: rule__OperationCS__Group__0__Impl rule__OperationCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11095:1: ( rule__OperationCS__Group__0__Impl rule__OperationCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11096:2: rule__OperationCS__Group__0__Impl rule__OperationCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__0__Impl_in_rule__OperationCS__Group__022453);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__0__Impl_in_rule__OperationCS__Group__023295);
             rule__OperationCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__1_in_rule__OperationCS__Group__022456);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__1_in_rule__OperationCS__Group__023298);
             rule__OperationCS__Group__1();
 
             state._fsp--;
@@ -33740,45 +34788,34 @@
 
 
     // $ANTLR start "rule__OperationCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10603:1: rule__OperationCS__Group__0__Impl : ( ( rule__OperationCS__Alternatives_0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11103:1: rule__OperationCS__Group__0__Impl : ( ( rule__OperationCS__UnorderedGroup_0 ) ) ;
     public final void rule__OperationCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10607:1: ( ( ( rule__OperationCS__Alternatives_0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10608:1: ( ( rule__OperationCS__Alternatives_0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11107:1: ( ( ( rule__OperationCS__UnorderedGroup_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11108:1: ( ( rule__OperationCS__UnorderedGroup_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10608:1: ( ( rule__OperationCS__Alternatives_0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10609:1: ( rule__OperationCS__Alternatives_0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11108:1: ( ( rule__OperationCS__UnorderedGroup_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11109:1: ( rule__OperationCS__UnorderedGroup_0 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getOperationCSAccess().getAlternatives_0()); 
+               before(grammarAccess.getOperationCSAccess().getUnorderedGroup_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10610:1: ( rule__OperationCS__Alternatives_0 )?
-            int alt127=2;
-            int LA127_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11110:1: ( rule__OperationCS__UnorderedGroup_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11110:2: rule__OperationCS__UnorderedGroup_0
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__UnorderedGroup_0_in_rule__OperationCS__Group__0__Impl23325);
+            rule__OperationCS__UnorderedGroup_0();
 
-            if ( (LA127_0==24||LA127_0==46) ) {
-                alt127=1;
-            }
-            switch (alt127) {
-                case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10610:2: rule__OperationCS__Alternatives_0
-                    {
-                    pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Alternatives_0_in_rule__OperationCS__Group__0__Impl22483);
-                    rule__OperationCS__Alternatives_0();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-                    break;
+            state._fsp--;
+            if (state.failed) return ;
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getOperationCSAccess().getAlternatives_0()); 
+               after(grammarAccess.getOperationCSAccess().getUnorderedGroup_0()); 
             }
 
             }
@@ -33802,21 +34839,21 @@
 
 
     // $ANTLR start "rule__OperationCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10620:1: rule__OperationCS__Group__1 : rule__OperationCS__Group__1__Impl rule__OperationCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11120:1: rule__OperationCS__Group__1 : rule__OperationCS__Group__1__Impl rule__OperationCS__Group__2 ;
     public final void rule__OperationCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10624:1: ( rule__OperationCS__Group__1__Impl rule__OperationCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10625:2: rule__OperationCS__Group__1__Impl rule__OperationCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11124:1: ( rule__OperationCS__Group__1__Impl rule__OperationCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11125:2: rule__OperationCS__Group__1__Impl rule__OperationCS__Group__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__1__Impl_in_rule__OperationCS__Group__122514);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__1__Impl_in_rule__OperationCS__Group__123355);
             rule__OperationCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__2_in_rule__OperationCS__Group__122517);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__2_in_rule__OperationCS__Group__123358);
             rule__OperationCS__Group__2();
 
             state._fsp--;
@@ -33840,22 +34877,22 @@
 
 
     // $ANTLR start "rule__OperationCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10632:1: rule__OperationCS__Group__1__Impl : ( 'operation' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11132:1: rule__OperationCS__Group__1__Impl : ( 'operation' ) ;
     public final void rule__OperationCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10636:1: ( ( 'operation' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10637:1: ( 'operation' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11136:1: ( ( 'operation' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11137:1: ( 'operation' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10637:1: ( 'operation' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10638:1: 'operation'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11137:1: ( 'operation' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11138:1: 'operation'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getOperationKeyword_1()); 
             }
-            match(input,36,FollowSets001.FOLLOW_36_in_rule__OperationCS__Group__1__Impl22545); if (state.failed) return ;
+            match(input,36,FollowSets001.FOLLOW_36_in_rule__OperationCS__Group__1__Impl23386); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getOperationCSAccess().getOperationKeyword_1()); 
             }
@@ -33881,21 +34918,21 @@
 
 
     // $ANTLR start "rule__OperationCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10651:1: rule__OperationCS__Group__2 : rule__OperationCS__Group__2__Impl rule__OperationCS__Group__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11151:1: rule__OperationCS__Group__2 : rule__OperationCS__Group__2__Impl rule__OperationCS__Group__3 ;
     public final void rule__OperationCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10655:1: ( rule__OperationCS__Group__2__Impl rule__OperationCS__Group__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10656:2: rule__OperationCS__Group__2__Impl rule__OperationCS__Group__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11155:1: ( rule__OperationCS__Group__2__Impl rule__OperationCS__Group__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11156:2: rule__OperationCS__Group__2__Impl rule__OperationCS__Group__3
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__2__Impl_in_rule__OperationCS__Group__222576);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__2__Impl_in_rule__OperationCS__Group__223417);
             rule__OperationCS__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__3_in_rule__OperationCS__Group__222579);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__3_in_rule__OperationCS__Group__223420);
             rule__OperationCS__Group__3();
 
             state._fsp--;
@@ -33919,33 +34956,33 @@
 
 
     // $ANTLR start "rule__OperationCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10663:1: rule__OperationCS__Group__2__Impl : ( ( rule__OperationCS__OwnedSignatureAssignment_2 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11163:1: rule__OperationCS__Group__2__Impl : ( ( rule__OperationCS__OwnedSignatureAssignment_2 )? ) ;
     public final void rule__OperationCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10667:1: ( ( ( rule__OperationCS__OwnedSignatureAssignment_2 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10668:1: ( ( rule__OperationCS__OwnedSignatureAssignment_2 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11167:1: ( ( ( rule__OperationCS__OwnedSignatureAssignment_2 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11168:1: ( ( rule__OperationCS__OwnedSignatureAssignment_2 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10668:1: ( ( rule__OperationCS__OwnedSignatureAssignment_2 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10669:1: ( rule__OperationCS__OwnedSignatureAssignment_2 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11168:1: ( ( rule__OperationCS__OwnedSignatureAssignment_2 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11169:1: ( rule__OperationCS__OwnedSignatureAssignment_2 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getOwnedSignatureAssignment_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10670:1: ( rule__OperationCS__OwnedSignatureAssignment_2 )?
-            int alt128=2;
-            int LA128_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11170:1: ( rule__OperationCS__OwnedSignatureAssignment_2 )?
+            int alt147=2;
+            int LA147_0 = input.LA(1);
 
-            if ( (LA128_0==67||LA128_0==95) ) {
-                alt128=1;
+            if ( (LA147_0==76||LA147_0==104) ) {
+                alt147=1;
             }
-            switch (alt128) {
+            switch (alt147) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10670:2: rule__OperationCS__OwnedSignatureAssignment_2
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11170:2: rule__OperationCS__OwnedSignatureAssignment_2
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__OperationCS__OwnedSignatureAssignment_2_in_rule__OperationCS__Group__2__Impl22606);
+                    pushFollow(FollowSets001.FOLLOW_rule__OperationCS__OwnedSignatureAssignment_2_in_rule__OperationCS__Group__2__Impl23447);
                     rule__OperationCS__OwnedSignatureAssignment_2();
 
                     state._fsp--;
@@ -33981,21 +35018,21 @@
 
 
     // $ANTLR start "rule__OperationCS__Group__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10680:1: rule__OperationCS__Group__3 : rule__OperationCS__Group__3__Impl rule__OperationCS__Group__4 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11180:1: rule__OperationCS__Group__3 : rule__OperationCS__Group__3__Impl rule__OperationCS__Group__4 ;
     public final void rule__OperationCS__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10684:1: ( rule__OperationCS__Group__3__Impl rule__OperationCS__Group__4 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10685:2: rule__OperationCS__Group__3__Impl rule__OperationCS__Group__4
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11184:1: ( rule__OperationCS__Group__3__Impl rule__OperationCS__Group__4 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11185:2: rule__OperationCS__Group__3__Impl rule__OperationCS__Group__4
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__3__Impl_in_rule__OperationCS__Group__322637);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__3__Impl_in_rule__OperationCS__Group__323478);
             rule__OperationCS__Group__3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__4_in_rule__OperationCS__Group__322640);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__4_in_rule__OperationCS__Group__323481);
             rule__OperationCS__Group__4();
 
             state._fsp--;
@@ -34019,25 +35056,25 @@
 
 
     // $ANTLR start "rule__OperationCS__Group__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10692:1: rule__OperationCS__Group__3__Impl : ( ( rule__OperationCS__NameAssignment_3 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11192:1: rule__OperationCS__Group__3__Impl : ( ( rule__OperationCS__NameAssignment_3 ) ) ;
     public final void rule__OperationCS__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10696:1: ( ( ( rule__OperationCS__NameAssignment_3 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10697:1: ( ( rule__OperationCS__NameAssignment_3 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11196:1: ( ( ( rule__OperationCS__NameAssignment_3 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11197:1: ( ( rule__OperationCS__NameAssignment_3 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10697:1: ( ( rule__OperationCS__NameAssignment_3 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10698:1: ( rule__OperationCS__NameAssignment_3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11197:1: ( ( rule__OperationCS__NameAssignment_3 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11198:1: ( rule__OperationCS__NameAssignment_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getNameAssignment_3()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10699:1: ( rule__OperationCS__NameAssignment_3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10699:2: rule__OperationCS__NameAssignment_3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11199:1: ( rule__OperationCS__NameAssignment_3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11199:2: rule__OperationCS__NameAssignment_3
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__NameAssignment_3_in_rule__OperationCS__Group__3__Impl22667);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__NameAssignment_3_in_rule__OperationCS__Group__3__Impl23508);
             rule__OperationCS__NameAssignment_3();
 
             state._fsp--;
@@ -34070,21 +35107,21 @@
 
 
     // $ANTLR start "rule__OperationCS__Group__4"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10709:1: rule__OperationCS__Group__4 : rule__OperationCS__Group__4__Impl rule__OperationCS__Group__5 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11209:1: rule__OperationCS__Group__4 : rule__OperationCS__Group__4__Impl rule__OperationCS__Group__5 ;
     public final void rule__OperationCS__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10713:1: ( rule__OperationCS__Group__4__Impl rule__OperationCS__Group__5 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10714:2: rule__OperationCS__Group__4__Impl rule__OperationCS__Group__5
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11213:1: ( rule__OperationCS__Group__4__Impl rule__OperationCS__Group__5 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11214:2: rule__OperationCS__Group__4__Impl rule__OperationCS__Group__5
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__4__Impl_in_rule__OperationCS__Group__422697);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__4__Impl_in_rule__OperationCS__Group__423538);
             rule__OperationCS__Group__4__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__5_in_rule__OperationCS__Group__422700);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__5_in_rule__OperationCS__Group__423541);
             rule__OperationCS__Group__5();
 
             state._fsp--;
@@ -34108,22 +35145,22 @@
 
 
     // $ANTLR start "rule__OperationCS__Group__4__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10721:1: rule__OperationCS__Group__4__Impl : ( '(' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11221:1: rule__OperationCS__Group__4__Impl : ( '(' ) ;
     public final void rule__OperationCS__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10725:1: ( ( '(' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10726:1: ( '(' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11225:1: ( ( '(' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11226:1: ( '(' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10726:1: ( '(' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10727:1: '('
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11226:1: ( '(' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11227:1: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getLeftParenthesisKeyword_4()); 
             }
-            match(input,95,FollowSets001.FOLLOW_95_in_rule__OperationCS__Group__4__Impl22728); if (state.failed) return ;
+            match(input,104,FollowSets001.FOLLOW_104_in_rule__OperationCS__Group__4__Impl23569); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getOperationCSAccess().getLeftParenthesisKeyword_4()); 
             }
@@ -34149,21 +35186,21 @@
 
 
     // $ANTLR start "rule__OperationCS__Group__5"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10740:1: rule__OperationCS__Group__5 : rule__OperationCS__Group__5__Impl rule__OperationCS__Group__6 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11240:1: rule__OperationCS__Group__5 : rule__OperationCS__Group__5__Impl rule__OperationCS__Group__6 ;
     public final void rule__OperationCS__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10744:1: ( rule__OperationCS__Group__5__Impl rule__OperationCS__Group__6 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10745:2: rule__OperationCS__Group__5__Impl rule__OperationCS__Group__6
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11244:1: ( rule__OperationCS__Group__5__Impl rule__OperationCS__Group__6 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11245:2: rule__OperationCS__Group__5__Impl rule__OperationCS__Group__6
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__5__Impl_in_rule__OperationCS__Group__522759);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__5__Impl_in_rule__OperationCS__Group__523600);
             rule__OperationCS__Group__5__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__6_in_rule__OperationCS__Group__522762);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__6_in_rule__OperationCS__Group__523603);
             rule__OperationCS__Group__6();
 
             state._fsp--;
@@ -34187,33 +35224,33 @@
 
 
     // $ANTLR start "rule__OperationCS__Group__5__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10752:1: rule__OperationCS__Group__5__Impl : ( ( rule__OperationCS__Group_5__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11252:1: rule__OperationCS__Group__5__Impl : ( ( rule__OperationCS__Group_5__0 )? ) ;
     public final void rule__OperationCS__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10756:1: ( ( ( rule__OperationCS__Group_5__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10757:1: ( ( rule__OperationCS__Group_5__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11256:1: ( ( ( rule__OperationCS__Group_5__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11257:1: ( ( rule__OperationCS__Group_5__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10757:1: ( ( rule__OperationCS__Group_5__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10758:1: ( rule__OperationCS__Group_5__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11257:1: ( ( rule__OperationCS__Group_5__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11258:1: ( rule__OperationCS__Group_5__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getGroup_5()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10759:1: ( rule__OperationCS__Group_5__0 )?
-            int alt129=2;
-            int LA129_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11259:1: ( rule__OperationCS__Group_5__0 )?
+            int alt148=2;
+            int LA148_0 = input.LA(1);
 
-            if ( ((LA129_0>=RULE_SIMPLE_ID && LA129_0<=RULE_ESCAPED_ID)||(LA129_0>=17 && LA129_0<=52)||(LA129_0>=55 && LA129_0<=60)) ) {
-                alt129=1;
+            if ( ((LA148_0>=RULE_SIMPLE_ID && LA148_0<=RULE_ESCAPED_ID)||(LA148_0>=17 && LA148_0<=52)||(LA148_0>=64 && LA148_0<=69)) ) {
+                alt148=1;
             }
-            switch (alt129) {
+            switch (alt148) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10759:2: rule__OperationCS__Group_5__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11259:2: rule__OperationCS__Group_5__0
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_5__0_in_rule__OperationCS__Group__5__Impl22789);
+                    pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_5__0_in_rule__OperationCS__Group__5__Impl23630);
                     rule__OperationCS__Group_5__0();
 
                     state._fsp--;
@@ -34249,21 +35286,21 @@
 
 
     // $ANTLR start "rule__OperationCS__Group__6"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10769:1: rule__OperationCS__Group__6 : rule__OperationCS__Group__6__Impl rule__OperationCS__Group__7 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11269:1: rule__OperationCS__Group__6 : rule__OperationCS__Group__6__Impl rule__OperationCS__Group__7 ;
     public final void rule__OperationCS__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10773:1: ( rule__OperationCS__Group__6__Impl rule__OperationCS__Group__7 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10774:2: rule__OperationCS__Group__6__Impl rule__OperationCS__Group__7
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11273:1: ( rule__OperationCS__Group__6__Impl rule__OperationCS__Group__7 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11274:2: rule__OperationCS__Group__6__Impl rule__OperationCS__Group__7
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__6__Impl_in_rule__OperationCS__Group__622820);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__6__Impl_in_rule__OperationCS__Group__623661);
             rule__OperationCS__Group__6__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__7_in_rule__OperationCS__Group__622823);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__7_in_rule__OperationCS__Group__623664);
             rule__OperationCS__Group__7();
 
             state._fsp--;
@@ -34287,22 +35324,22 @@
 
 
     // $ANTLR start "rule__OperationCS__Group__6__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10781:1: rule__OperationCS__Group__6__Impl : ( ')' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11281:1: rule__OperationCS__Group__6__Impl : ( ')' ) ;
     public final void rule__OperationCS__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10785:1: ( ( ')' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10786:1: ( ')' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11285:1: ( ( ')' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11286:1: ( ')' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10786:1: ( ')' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10787:1: ')'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11286:1: ( ')' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11287:1: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getRightParenthesisKeyword_6()); 
             }
-            match(input,96,FollowSets001.FOLLOW_96_in_rule__OperationCS__Group__6__Impl22851); if (state.failed) return ;
+            match(input,105,FollowSets001.FOLLOW_105_in_rule__OperationCS__Group__6__Impl23692); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getOperationCSAccess().getRightParenthesisKeyword_6()); 
             }
@@ -34328,21 +35365,21 @@
 
 
     // $ANTLR start "rule__OperationCS__Group__7"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10800:1: rule__OperationCS__Group__7 : rule__OperationCS__Group__7__Impl rule__OperationCS__Group__8 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11300:1: rule__OperationCS__Group__7 : rule__OperationCS__Group__7__Impl rule__OperationCS__Group__8 ;
     public final void rule__OperationCS__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10804:1: ( rule__OperationCS__Group__7__Impl rule__OperationCS__Group__8 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10805:2: rule__OperationCS__Group__7__Impl rule__OperationCS__Group__8
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11304:1: ( rule__OperationCS__Group__7__Impl rule__OperationCS__Group__8 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11305:2: rule__OperationCS__Group__7__Impl rule__OperationCS__Group__8
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__7__Impl_in_rule__OperationCS__Group__722882);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__7__Impl_in_rule__OperationCS__Group__723723);
             rule__OperationCS__Group__7__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__8_in_rule__OperationCS__Group__722885);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__8_in_rule__OperationCS__Group__723726);
             rule__OperationCS__Group__8();
 
             state._fsp--;
@@ -34366,33 +35403,33 @@
 
 
     // $ANTLR start "rule__OperationCS__Group__7__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10812:1: rule__OperationCS__Group__7__Impl : ( ( rule__OperationCS__Group_7__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11312:1: rule__OperationCS__Group__7__Impl : ( ( rule__OperationCS__Group_7__0 )? ) ;
     public final void rule__OperationCS__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10816:1: ( ( ( rule__OperationCS__Group_7__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10817:1: ( ( rule__OperationCS__Group_7__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11316:1: ( ( ( rule__OperationCS__Group_7__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11317:1: ( ( rule__OperationCS__Group_7__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10817:1: ( ( rule__OperationCS__Group_7__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10818:1: ( rule__OperationCS__Group_7__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11317:1: ( ( rule__OperationCS__Group_7__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11318:1: ( rule__OperationCS__Group_7__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getGroup_7()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10819:1: ( rule__OperationCS__Group_7__0 )?
-            int alt130=2;
-            int LA130_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11319:1: ( rule__OperationCS__Group_7__0 )?
+            int alt149=2;
+            int LA149_0 = input.LA(1);
 
-            if ( (LA130_0==97) ) {
-                alt130=1;
+            if ( (LA149_0==106) ) {
+                alt149=1;
             }
-            switch (alt130) {
+            switch (alt149) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10819:2: rule__OperationCS__Group_7__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11319:2: rule__OperationCS__Group_7__0
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_7__0_in_rule__OperationCS__Group__7__Impl22912);
+                    pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_7__0_in_rule__OperationCS__Group__7__Impl23753);
                     rule__OperationCS__Group_7__0();
 
                     state._fsp--;
@@ -34428,21 +35465,21 @@
 
 
     // $ANTLR start "rule__OperationCS__Group__8"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10829:1: rule__OperationCS__Group__8 : rule__OperationCS__Group__8__Impl rule__OperationCS__Group__9 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11329:1: rule__OperationCS__Group__8 : rule__OperationCS__Group__8__Impl rule__OperationCS__Group__9 ;
     public final void rule__OperationCS__Group__8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10833:1: ( rule__OperationCS__Group__8__Impl rule__OperationCS__Group__9 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10834:2: rule__OperationCS__Group__8__Impl rule__OperationCS__Group__9
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11333:1: ( rule__OperationCS__Group__8__Impl rule__OperationCS__Group__9 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11334:2: rule__OperationCS__Group__8__Impl rule__OperationCS__Group__9
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__8__Impl_in_rule__OperationCS__Group__822943);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__8__Impl_in_rule__OperationCS__Group__823784);
             rule__OperationCS__Group__8__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__9_in_rule__OperationCS__Group__822946);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__9_in_rule__OperationCS__Group__823787);
             rule__OperationCS__Group__9();
 
             state._fsp--;
@@ -34466,33 +35503,33 @@
 
 
     // $ANTLR start "rule__OperationCS__Group__8__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10841:1: rule__OperationCS__Group__8__Impl : ( ( rule__OperationCS__Group_8__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11341:1: rule__OperationCS__Group__8__Impl : ( ( rule__OperationCS__Group_8__0 )? ) ;
     public final void rule__OperationCS__Group__8__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10845:1: ( ( ( rule__OperationCS__Group_8__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10846:1: ( ( rule__OperationCS__Group_8__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11345:1: ( ( ( rule__OperationCS__Group_8__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11346:1: ( ( rule__OperationCS__Group_8__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10846:1: ( ( rule__OperationCS__Group_8__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10847:1: ( rule__OperationCS__Group_8__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11346:1: ( ( rule__OperationCS__Group_8__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11347:1: ( rule__OperationCS__Group_8__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getGroup_8()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10848:1: ( rule__OperationCS__Group_8__0 )?
-            int alt131=2;
-            int LA131_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11348:1: ( rule__OperationCS__Group_8__0 )?
+            int alt150=2;
+            int LA150_0 = input.LA(1);
 
-            if ( (LA131_0==48) ) {
-                alt131=1;
+            if ( (LA150_0==48) ) {
+                alt150=1;
             }
-            switch (alt131) {
+            switch (alt150) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10848:2: rule__OperationCS__Group_8__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11348:2: rule__OperationCS__Group_8__0
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_8__0_in_rule__OperationCS__Group__8__Impl22973);
+                    pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_8__0_in_rule__OperationCS__Group__8__Impl23814);
                     rule__OperationCS__Group_8__0();
 
                     state._fsp--;
@@ -34528,21 +35565,21 @@
 
 
     // $ANTLR start "rule__OperationCS__Group__9"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10858:1: rule__OperationCS__Group__9 : rule__OperationCS__Group__9__Impl rule__OperationCS__Group__10 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11358:1: rule__OperationCS__Group__9 : rule__OperationCS__Group__9__Impl rule__OperationCS__Group__10 ;
     public final void rule__OperationCS__Group__9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10862:1: ( rule__OperationCS__Group__9__Impl rule__OperationCS__Group__10 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10863:2: rule__OperationCS__Group__9__Impl rule__OperationCS__Group__10
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11362:1: ( rule__OperationCS__Group__9__Impl rule__OperationCS__Group__10 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11363:2: rule__OperationCS__Group__9__Impl rule__OperationCS__Group__10
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__9__Impl_in_rule__OperationCS__Group__923004);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__9__Impl_in_rule__OperationCS__Group__923845);
             rule__OperationCS__Group__9__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__10_in_rule__OperationCS__Group__923007);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__10_in_rule__OperationCS__Group__923848);
             rule__OperationCS__Group__10();
 
             state._fsp--;
@@ -34566,38 +35603,53 @@
 
 
     // $ANTLR start "rule__OperationCS__Group__9__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10870:1: rule__OperationCS__Group__9__Impl : ( ( rule__OperationCS__Group_9__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11370:1: rule__OperationCS__Group__9__Impl : ( ( rule__OperationCS__UnorderedGroup_9 )? ) ;
     public final void rule__OperationCS__Group__9__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10874:1: ( ( ( rule__OperationCS__Group_9__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10875:1: ( ( rule__OperationCS__Group_9__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11374:1: ( ( ( rule__OperationCS__UnorderedGroup_9 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11375:1: ( ( rule__OperationCS__UnorderedGroup_9 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10875:1: ( ( rule__OperationCS__Group_9__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10876:1: ( rule__OperationCS__Group_9__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11375:1: ( ( rule__OperationCS__UnorderedGroup_9 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11376:1: ( rule__OperationCS__UnorderedGroup_9 )?
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getOperationCSAccess().getGroup_9()); 
+               before(grammarAccess.getOperationCSAccess().getUnorderedGroup_9()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10877:1: ( rule__OperationCS__Group_9__0 )?
-            int alt132=2;
-            int LA132_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11377:1: ( rule__OperationCS__UnorderedGroup_9 )?
+            int alt151=2;
+            int LA151_0 = input.LA(1);
 
-            if ( (LA132_0==99) ) {
-                int LA132_1 = input.LA(2);
+            if ( (LA151_0==108) ) {
+                int LA151_1 = input.LA(2);
 
-                if ( (LA132_1==26||LA132_1==37||LA132_1==50||LA132_1==120||LA132_1==122||LA132_1==125) ) {
-                    alt132=1;
+                if ( synpred245_InternalOCLinEcore() && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 0) ) {
+                    alt151=1;
                 }
             }
-            switch (alt132) {
+            else if ( LA151_0 ==37 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 1) ) {
+                alt151=1;
+            }
+            else if ( LA151_0 ==56 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 1) ) {
+                alt151=1;
+            }
+            else if ( LA151_0 ==129 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 2) ) {
+                alt151=1;
+            }
+            else if ( LA151_0 ==50 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 2) ) {
+                alt151=1;
+            }
+            else if ( LA151_0 ==109 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 2) ) {
+                alt151=1;
+            }
+            switch (alt151) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10877:2: rule__OperationCS__Group_9__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11377:2: rule__OperationCS__UnorderedGroup_9
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_9__0_in_rule__OperationCS__Group__9__Impl23034);
-                    rule__OperationCS__Group_9__0();
+                    pushFollow(FollowSets001.FOLLOW_rule__OperationCS__UnorderedGroup_9_in_rule__OperationCS__Group__9__Impl23875);
+                    rule__OperationCS__UnorderedGroup_9();
 
                     state._fsp--;
                     if (state.failed) return ;
@@ -34608,7 +35660,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getOperationCSAccess().getGroup_9()); 
+               after(grammarAccess.getOperationCSAccess().getUnorderedGroup_9()); 
             }
 
             }
@@ -34632,16 +35684,16 @@
 
 
     // $ANTLR start "rule__OperationCS__Group__10"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10887:1: rule__OperationCS__Group__10 : rule__OperationCS__Group__10__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11387:1: rule__OperationCS__Group__10 : rule__OperationCS__Group__10__Impl ;
     public final void rule__OperationCS__Group__10() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10891:1: ( rule__OperationCS__Group__10__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10892:2: rule__OperationCS__Group__10__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11391:1: ( rule__OperationCS__Group__10__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11392:2: rule__OperationCS__Group__10__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__10__Impl_in_rule__OperationCS__Group__1023065);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group__10__Impl_in_rule__OperationCS__Group__1023906);
             rule__OperationCS__Group__10__Impl();
 
             state._fsp--;
@@ -34665,25 +35717,25 @@
 
 
     // $ANTLR start "rule__OperationCS__Group__10__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10898:1: rule__OperationCS__Group__10__Impl : ( ( rule__OperationCS__Alternatives_10 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11398:1: rule__OperationCS__Group__10__Impl : ( ( rule__OperationCS__Alternatives_10 ) ) ;
     public final void rule__OperationCS__Group__10__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10902:1: ( ( ( rule__OperationCS__Alternatives_10 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10903:1: ( ( rule__OperationCS__Alternatives_10 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11402:1: ( ( ( rule__OperationCS__Alternatives_10 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11403:1: ( ( rule__OperationCS__Alternatives_10 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10903:1: ( ( rule__OperationCS__Alternatives_10 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10904:1: ( rule__OperationCS__Alternatives_10 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11403:1: ( ( rule__OperationCS__Alternatives_10 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11404:1: ( rule__OperationCS__Alternatives_10 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getAlternatives_10()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10905:1: ( rule__OperationCS__Alternatives_10 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10905:2: rule__OperationCS__Alternatives_10
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11405:1: ( rule__OperationCS__Alternatives_10 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11405:2: rule__OperationCS__Alternatives_10
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Alternatives_10_in_rule__OperationCS__Group__10__Impl23092);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Alternatives_10_in_rule__OperationCS__Group__10__Impl23933);
             rule__OperationCS__Alternatives_10();
 
             state._fsp--;
@@ -34715,390 +35767,22 @@
     // $ANTLR end "rule__OperationCS__Group__10__Impl"
 
 
-    // $ANTLR start "rule__OperationCS__Group_0_0__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10937:1: rule__OperationCS__Group_0_0__0 : rule__OperationCS__Group_0_0__0__Impl rule__OperationCS__Group_0_0__1 ;
-    public final void rule__OperationCS__Group_0_0__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10941:1: ( rule__OperationCS__Group_0_0__0__Impl rule__OperationCS__Group_0_0__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10942:2: rule__OperationCS__Group_0_0__0__Impl rule__OperationCS__Group_0_0__1
-            {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_0_0__0__Impl_in_rule__OperationCS__Group_0_0__023144);
-            rule__OperationCS__Group_0_0__0__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_0_0__1_in_rule__OperationCS__Group_0_0__023147);
-            rule__OperationCS__Group_0_0__1();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__OperationCS__Group_0_0__0"
-
-
-    // $ANTLR start "rule__OperationCS__Group_0_0__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10949:1: rule__OperationCS__Group_0_0__0__Impl : ( ( rule__OperationCS__QualifiersAssignment_0_0_0 ) ) ;
-    public final void rule__OperationCS__Group_0_0__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10953:1: ( ( ( rule__OperationCS__QualifiersAssignment_0_0_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10954:1: ( ( rule__OperationCS__QualifiersAssignment_0_0_0 ) )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10954:1: ( ( rule__OperationCS__QualifiersAssignment_0_0_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10955:1: ( rule__OperationCS__QualifiersAssignment_0_0_0 )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getOperationCSAccess().getQualifiersAssignment_0_0_0()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10956:1: ( rule__OperationCS__QualifiersAssignment_0_0_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10956:2: rule__OperationCS__QualifiersAssignment_0_0_0
-            {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__QualifiersAssignment_0_0_0_in_rule__OperationCS__Group_0_0__0__Impl23174);
-            rule__OperationCS__QualifiersAssignment_0_0_0();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getOperationCSAccess().getQualifiersAssignment_0_0_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__OperationCS__Group_0_0__0__Impl"
-
-
-    // $ANTLR start "rule__OperationCS__Group_0_0__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10966:1: rule__OperationCS__Group_0_0__1 : rule__OperationCS__Group_0_0__1__Impl ;
-    public final void rule__OperationCS__Group_0_0__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10970:1: ( rule__OperationCS__Group_0_0__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10971:2: rule__OperationCS__Group_0_0__1__Impl
-            {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_0_0__1__Impl_in_rule__OperationCS__Group_0_0__123204);
-            rule__OperationCS__Group_0_0__1__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__OperationCS__Group_0_0__1"
-
-
-    // $ANTLR start "rule__OperationCS__Group_0_0__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10977:1: rule__OperationCS__Group_0_0__1__Impl : ( ( rule__OperationCS__QualifiersAssignment_0_0_1 )? ) ;
-    public final void rule__OperationCS__Group_0_0__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10981:1: ( ( ( rule__OperationCS__QualifiersAssignment_0_0_1 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10982:1: ( ( rule__OperationCS__QualifiersAssignment_0_0_1 )? )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10982:1: ( ( rule__OperationCS__QualifiersAssignment_0_0_1 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10983:1: ( rule__OperationCS__QualifiersAssignment_0_0_1 )?
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getOperationCSAccess().getQualifiersAssignment_0_0_1()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10984:1: ( rule__OperationCS__QualifiersAssignment_0_0_1 )?
-            int alt133=2;
-            int LA133_0 = input.LA(1);
-
-            if ( (LA133_0==24) ) {
-                alt133=1;
-            }
-            switch (alt133) {
-                case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10984:2: rule__OperationCS__QualifiersAssignment_0_0_1
-                    {
-                    pushFollow(FollowSets001.FOLLOW_rule__OperationCS__QualifiersAssignment_0_0_1_in_rule__OperationCS__Group_0_0__1__Impl23231);
-                    rule__OperationCS__QualifiersAssignment_0_0_1();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-                    break;
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getOperationCSAccess().getQualifiersAssignment_0_0_1()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__OperationCS__Group_0_0__1__Impl"
-
-
-    // $ANTLR start "rule__OperationCS__Group_0_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:10998:1: rule__OperationCS__Group_0_1__0 : rule__OperationCS__Group_0_1__0__Impl rule__OperationCS__Group_0_1__1 ;
-    public final void rule__OperationCS__Group_0_1__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11002:1: ( rule__OperationCS__Group_0_1__0__Impl rule__OperationCS__Group_0_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11003:2: rule__OperationCS__Group_0_1__0__Impl rule__OperationCS__Group_0_1__1
-            {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_0_1__0__Impl_in_rule__OperationCS__Group_0_1__023266);
-            rule__OperationCS__Group_0_1__0__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_0_1__1_in_rule__OperationCS__Group_0_1__023269);
-            rule__OperationCS__Group_0_1__1();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__OperationCS__Group_0_1__0"
-
-
-    // $ANTLR start "rule__OperationCS__Group_0_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11010:1: rule__OperationCS__Group_0_1__0__Impl : ( ( rule__OperationCS__QualifiersAssignment_0_1_0 ) ) ;
-    public final void rule__OperationCS__Group_0_1__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11014:1: ( ( ( rule__OperationCS__QualifiersAssignment_0_1_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11015:1: ( ( rule__OperationCS__QualifiersAssignment_0_1_0 ) )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11015:1: ( ( rule__OperationCS__QualifiersAssignment_0_1_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11016:1: ( rule__OperationCS__QualifiersAssignment_0_1_0 )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getOperationCSAccess().getQualifiersAssignment_0_1_0()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11017:1: ( rule__OperationCS__QualifiersAssignment_0_1_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11017:2: rule__OperationCS__QualifiersAssignment_0_1_0
-            {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__QualifiersAssignment_0_1_0_in_rule__OperationCS__Group_0_1__0__Impl23296);
-            rule__OperationCS__QualifiersAssignment_0_1_0();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getOperationCSAccess().getQualifiersAssignment_0_1_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__OperationCS__Group_0_1__0__Impl"
-
-
-    // $ANTLR start "rule__OperationCS__Group_0_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11027:1: rule__OperationCS__Group_0_1__1 : rule__OperationCS__Group_0_1__1__Impl ;
-    public final void rule__OperationCS__Group_0_1__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11031:1: ( rule__OperationCS__Group_0_1__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11032:2: rule__OperationCS__Group_0_1__1__Impl
-            {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_0_1__1__Impl_in_rule__OperationCS__Group_0_1__123326);
-            rule__OperationCS__Group_0_1__1__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__OperationCS__Group_0_1__1"
-
-
-    // $ANTLR start "rule__OperationCS__Group_0_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11038:1: rule__OperationCS__Group_0_1__1__Impl : ( ( rule__OperationCS__QualifiersAssignment_0_1_1 )? ) ;
-    public final void rule__OperationCS__Group_0_1__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11042:1: ( ( ( rule__OperationCS__QualifiersAssignment_0_1_1 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11043:1: ( ( rule__OperationCS__QualifiersAssignment_0_1_1 )? )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11043:1: ( ( rule__OperationCS__QualifiersAssignment_0_1_1 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11044:1: ( rule__OperationCS__QualifiersAssignment_0_1_1 )?
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getOperationCSAccess().getQualifiersAssignment_0_1_1()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11045:1: ( rule__OperationCS__QualifiersAssignment_0_1_1 )?
-            int alt134=2;
-            int LA134_0 = input.LA(1);
-
-            if ( (LA134_0==46) ) {
-                alt134=1;
-            }
-            switch (alt134) {
-                case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11045:2: rule__OperationCS__QualifiersAssignment_0_1_1
-                    {
-                    pushFollow(FollowSets001.FOLLOW_rule__OperationCS__QualifiersAssignment_0_1_1_in_rule__OperationCS__Group_0_1__1__Impl23353);
-                    rule__OperationCS__QualifiersAssignment_0_1_1();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-                    break;
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getOperationCSAccess().getQualifiersAssignment_0_1_1()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__OperationCS__Group_0_1__1__Impl"
-
-
     // $ANTLR start "rule__OperationCS__Group_5__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11059:1: rule__OperationCS__Group_5__0 : rule__OperationCS__Group_5__0__Impl rule__OperationCS__Group_5__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11437:1: rule__OperationCS__Group_5__0 : rule__OperationCS__Group_5__0__Impl rule__OperationCS__Group_5__1 ;
     public final void rule__OperationCS__Group_5__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11063:1: ( rule__OperationCS__Group_5__0__Impl rule__OperationCS__Group_5__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11064:2: rule__OperationCS__Group_5__0__Impl rule__OperationCS__Group_5__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11441:1: ( rule__OperationCS__Group_5__0__Impl rule__OperationCS__Group_5__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11442:2: rule__OperationCS__Group_5__0__Impl rule__OperationCS__Group_5__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_5__0__Impl_in_rule__OperationCS__Group_5__023388);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_5__0__Impl_in_rule__OperationCS__Group_5__023985);
             rule__OperationCS__Group_5__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_5__1_in_rule__OperationCS__Group_5__023391);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_5__1_in_rule__OperationCS__Group_5__023988);
             rule__OperationCS__Group_5__1();
 
             state._fsp--;
@@ -35122,25 +35806,25 @@
 
 
     // $ANTLR start "rule__OperationCS__Group_5__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11071:1: rule__OperationCS__Group_5__0__Impl : ( ( rule__OperationCS__OwnedParametersAssignment_5_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11449:1: rule__OperationCS__Group_5__0__Impl : ( ( rule__OperationCS__OwnedParametersAssignment_5_0 ) ) ;
     public final void rule__OperationCS__Group_5__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11075:1: ( ( ( rule__OperationCS__OwnedParametersAssignment_5_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11076:1: ( ( rule__OperationCS__OwnedParametersAssignment_5_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11453:1: ( ( ( rule__OperationCS__OwnedParametersAssignment_5_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11454:1: ( ( rule__OperationCS__OwnedParametersAssignment_5_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11076:1: ( ( rule__OperationCS__OwnedParametersAssignment_5_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11077:1: ( rule__OperationCS__OwnedParametersAssignment_5_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11454:1: ( ( rule__OperationCS__OwnedParametersAssignment_5_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11455:1: ( rule__OperationCS__OwnedParametersAssignment_5_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getOwnedParametersAssignment_5_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11078:1: ( rule__OperationCS__OwnedParametersAssignment_5_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11078:2: rule__OperationCS__OwnedParametersAssignment_5_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11456:1: ( rule__OperationCS__OwnedParametersAssignment_5_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11456:2: rule__OperationCS__OwnedParametersAssignment_5_0
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__OwnedParametersAssignment_5_0_in_rule__OperationCS__Group_5__0__Impl23418);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__OwnedParametersAssignment_5_0_in_rule__OperationCS__Group_5__0__Impl24015);
             rule__OperationCS__OwnedParametersAssignment_5_0();
 
             state._fsp--;
@@ -35173,16 +35857,16 @@
 
 
     // $ANTLR start "rule__OperationCS__Group_5__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11088:1: rule__OperationCS__Group_5__1 : rule__OperationCS__Group_5__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11466:1: rule__OperationCS__Group_5__1 : rule__OperationCS__Group_5__1__Impl ;
     public final void rule__OperationCS__Group_5__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11092:1: ( rule__OperationCS__Group_5__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11093:2: rule__OperationCS__Group_5__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11470:1: ( rule__OperationCS__Group_5__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11471:2: rule__OperationCS__Group_5__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_5__1__Impl_in_rule__OperationCS__Group_5__123448);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_5__1__Impl_in_rule__OperationCS__Group_5__124045);
             rule__OperationCS__Group_5__1__Impl();
 
             state._fsp--;
@@ -35206,37 +35890,37 @@
 
 
     // $ANTLR start "rule__OperationCS__Group_5__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11099:1: rule__OperationCS__Group_5__1__Impl : ( ( rule__OperationCS__Group_5_1__0 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11477:1: rule__OperationCS__Group_5__1__Impl : ( ( rule__OperationCS__Group_5_1__0 )* ) ;
     public final void rule__OperationCS__Group_5__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11103:1: ( ( ( rule__OperationCS__Group_5_1__0 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11104:1: ( ( rule__OperationCS__Group_5_1__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11481:1: ( ( ( rule__OperationCS__Group_5_1__0 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11482:1: ( ( rule__OperationCS__Group_5_1__0 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11104:1: ( ( rule__OperationCS__Group_5_1__0 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11105:1: ( rule__OperationCS__Group_5_1__0 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11482:1: ( ( rule__OperationCS__Group_5_1__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11483:1: ( rule__OperationCS__Group_5_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getGroup_5_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11106:1: ( rule__OperationCS__Group_5_1__0 )*
-            loop135:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11484:1: ( rule__OperationCS__Group_5_1__0 )*
+            loop152:
             do {
-                int alt135=2;
-                int LA135_0 = input.LA(1);
+                int alt152=2;
+                int LA152_0 = input.LA(1);
 
-                if ( (LA135_0==98) ) {
-                    alt135=1;
+                if ( (LA152_0==107) ) {
+                    alt152=1;
                 }
 
 
-                switch (alt135) {
+                switch (alt152) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11106:2: rule__OperationCS__Group_5_1__0
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11484:2: rule__OperationCS__Group_5_1__0
             	    {
-            	    pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_5_1__0_in_rule__OperationCS__Group_5__1__Impl23475);
+            	    pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_5_1__0_in_rule__OperationCS__Group_5__1__Impl24072);
             	    rule__OperationCS__Group_5_1__0();
 
             	    state._fsp--;
@@ -35246,7 +35930,7 @@
             	    break;
 
             	default :
-            	    break loop135;
+            	    break loop152;
                 }
             } while (true);
 
@@ -35275,21 +35959,21 @@
 
 
     // $ANTLR start "rule__OperationCS__Group_5_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11120:1: rule__OperationCS__Group_5_1__0 : rule__OperationCS__Group_5_1__0__Impl rule__OperationCS__Group_5_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11498:1: rule__OperationCS__Group_5_1__0 : rule__OperationCS__Group_5_1__0__Impl rule__OperationCS__Group_5_1__1 ;
     public final void rule__OperationCS__Group_5_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11124:1: ( rule__OperationCS__Group_5_1__0__Impl rule__OperationCS__Group_5_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11125:2: rule__OperationCS__Group_5_1__0__Impl rule__OperationCS__Group_5_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11502:1: ( rule__OperationCS__Group_5_1__0__Impl rule__OperationCS__Group_5_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11503:2: rule__OperationCS__Group_5_1__0__Impl rule__OperationCS__Group_5_1__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_5_1__0__Impl_in_rule__OperationCS__Group_5_1__023510);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_5_1__0__Impl_in_rule__OperationCS__Group_5_1__024107);
             rule__OperationCS__Group_5_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_5_1__1_in_rule__OperationCS__Group_5_1__023513);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_5_1__1_in_rule__OperationCS__Group_5_1__024110);
             rule__OperationCS__Group_5_1__1();
 
             state._fsp--;
@@ -35313,22 +35997,22 @@
 
 
     // $ANTLR start "rule__OperationCS__Group_5_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11132:1: rule__OperationCS__Group_5_1__0__Impl : ( ',' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11510:1: rule__OperationCS__Group_5_1__0__Impl : ( ',' ) ;
     public final void rule__OperationCS__Group_5_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11136:1: ( ( ',' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11137:1: ( ',' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11514:1: ( ( ',' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11515:1: ( ',' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11137:1: ( ',' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11138:1: ','
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11515:1: ( ',' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11516:1: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getCommaKeyword_5_1_0()); 
             }
-            match(input,98,FollowSets001.FOLLOW_98_in_rule__OperationCS__Group_5_1__0__Impl23541); if (state.failed) return ;
+            match(input,107,FollowSets001.FOLLOW_107_in_rule__OperationCS__Group_5_1__0__Impl24138); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getOperationCSAccess().getCommaKeyword_5_1_0()); 
             }
@@ -35354,16 +36038,16 @@
 
 
     // $ANTLR start "rule__OperationCS__Group_5_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11151:1: rule__OperationCS__Group_5_1__1 : rule__OperationCS__Group_5_1__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11529:1: rule__OperationCS__Group_5_1__1 : rule__OperationCS__Group_5_1__1__Impl ;
     public final void rule__OperationCS__Group_5_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11155:1: ( rule__OperationCS__Group_5_1__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11156:2: rule__OperationCS__Group_5_1__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11533:1: ( rule__OperationCS__Group_5_1__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11534:2: rule__OperationCS__Group_5_1__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_5_1__1__Impl_in_rule__OperationCS__Group_5_1__123572);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_5_1__1__Impl_in_rule__OperationCS__Group_5_1__124169);
             rule__OperationCS__Group_5_1__1__Impl();
 
             state._fsp--;
@@ -35387,25 +36071,25 @@
 
 
     // $ANTLR start "rule__OperationCS__Group_5_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11162:1: rule__OperationCS__Group_5_1__1__Impl : ( ( rule__OperationCS__OwnedParametersAssignment_5_1_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11540:1: rule__OperationCS__Group_5_1__1__Impl : ( ( rule__OperationCS__OwnedParametersAssignment_5_1_1 ) ) ;
     public final void rule__OperationCS__Group_5_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11166:1: ( ( ( rule__OperationCS__OwnedParametersAssignment_5_1_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11167:1: ( ( rule__OperationCS__OwnedParametersAssignment_5_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11544:1: ( ( ( rule__OperationCS__OwnedParametersAssignment_5_1_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11545:1: ( ( rule__OperationCS__OwnedParametersAssignment_5_1_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11167:1: ( ( rule__OperationCS__OwnedParametersAssignment_5_1_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11168:1: ( rule__OperationCS__OwnedParametersAssignment_5_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11545:1: ( ( rule__OperationCS__OwnedParametersAssignment_5_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11546:1: ( rule__OperationCS__OwnedParametersAssignment_5_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getOwnedParametersAssignment_5_1_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11169:1: ( rule__OperationCS__OwnedParametersAssignment_5_1_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11169:2: rule__OperationCS__OwnedParametersAssignment_5_1_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11547:1: ( rule__OperationCS__OwnedParametersAssignment_5_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11547:2: rule__OperationCS__OwnedParametersAssignment_5_1_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__OwnedParametersAssignment_5_1_1_in_rule__OperationCS__Group_5_1__1__Impl23599);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__OwnedParametersAssignment_5_1_1_in_rule__OperationCS__Group_5_1__1__Impl24196);
             rule__OperationCS__OwnedParametersAssignment_5_1_1();
 
             state._fsp--;
@@ -35438,21 +36122,21 @@
 
 
     // $ANTLR start "rule__OperationCS__Group_7__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11183:1: rule__OperationCS__Group_7__0 : rule__OperationCS__Group_7__0__Impl rule__OperationCS__Group_7__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11561:1: rule__OperationCS__Group_7__0 : rule__OperationCS__Group_7__0__Impl rule__OperationCS__Group_7__1 ;
     public final void rule__OperationCS__Group_7__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11187:1: ( rule__OperationCS__Group_7__0__Impl rule__OperationCS__Group_7__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11188:2: rule__OperationCS__Group_7__0__Impl rule__OperationCS__Group_7__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11565:1: ( rule__OperationCS__Group_7__0__Impl rule__OperationCS__Group_7__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11566:2: rule__OperationCS__Group_7__0__Impl rule__OperationCS__Group_7__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_7__0__Impl_in_rule__OperationCS__Group_7__023633);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_7__0__Impl_in_rule__OperationCS__Group_7__024230);
             rule__OperationCS__Group_7__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_7__1_in_rule__OperationCS__Group_7__023636);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_7__1_in_rule__OperationCS__Group_7__024233);
             rule__OperationCS__Group_7__1();
 
             state._fsp--;
@@ -35476,22 +36160,22 @@
 
 
     // $ANTLR start "rule__OperationCS__Group_7__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11195:1: rule__OperationCS__Group_7__0__Impl : ( ':' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11573:1: rule__OperationCS__Group_7__0__Impl : ( ':' ) ;
     public final void rule__OperationCS__Group_7__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11199:1: ( ( ':' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11200:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11577:1: ( ( ':' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11578:1: ( ':' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11200:1: ( ':' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11201:1: ':'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11578:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11579:1: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getColonKeyword_7_0()); 
             }
-            match(input,97,FollowSets001.FOLLOW_97_in_rule__OperationCS__Group_7__0__Impl23664); if (state.failed) return ;
+            match(input,106,FollowSets001.FOLLOW_106_in_rule__OperationCS__Group_7__0__Impl24261); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getOperationCSAccess().getColonKeyword_7_0()); 
             }
@@ -35517,16 +36201,16 @@
 
 
     // $ANTLR start "rule__OperationCS__Group_7__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11214:1: rule__OperationCS__Group_7__1 : rule__OperationCS__Group_7__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11592:1: rule__OperationCS__Group_7__1 : rule__OperationCS__Group_7__1__Impl ;
     public final void rule__OperationCS__Group_7__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11218:1: ( rule__OperationCS__Group_7__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11219:2: rule__OperationCS__Group_7__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11596:1: ( rule__OperationCS__Group_7__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11597:2: rule__OperationCS__Group_7__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_7__1__Impl_in_rule__OperationCS__Group_7__123695);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_7__1__Impl_in_rule__OperationCS__Group_7__124292);
             rule__OperationCS__Group_7__1__Impl();
 
             state._fsp--;
@@ -35550,25 +36234,25 @@
 
 
     // $ANTLR start "rule__OperationCS__Group_7__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11225:1: rule__OperationCS__Group_7__1__Impl : ( ( rule__OperationCS__OwnedTypeAssignment_7_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11603:1: rule__OperationCS__Group_7__1__Impl : ( ( rule__OperationCS__OwnedTypeAssignment_7_1 ) ) ;
     public final void rule__OperationCS__Group_7__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11229:1: ( ( ( rule__OperationCS__OwnedTypeAssignment_7_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11230:1: ( ( rule__OperationCS__OwnedTypeAssignment_7_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11607:1: ( ( ( rule__OperationCS__OwnedTypeAssignment_7_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11608:1: ( ( rule__OperationCS__OwnedTypeAssignment_7_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11230:1: ( ( rule__OperationCS__OwnedTypeAssignment_7_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11231:1: ( rule__OperationCS__OwnedTypeAssignment_7_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11608:1: ( ( rule__OperationCS__OwnedTypeAssignment_7_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11609:1: ( rule__OperationCS__OwnedTypeAssignment_7_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getOwnedTypeAssignment_7_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11232:1: ( rule__OperationCS__OwnedTypeAssignment_7_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11232:2: rule__OperationCS__OwnedTypeAssignment_7_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11610:1: ( rule__OperationCS__OwnedTypeAssignment_7_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11610:2: rule__OperationCS__OwnedTypeAssignment_7_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__OwnedTypeAssignment_7_1_in_rule__OperationCS__Group_7__1__Impl23722);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__OwnedTypeAssignment_7_1_in_rule__OperationCS__Group_7__1__Impl24319);
             rule__OperationCS__OwnedTypeAssignment_7_1();
 
             state._fsp--;
@@ -35601,21 +36285,21 @@
 
 
     // $ANTLR start "rule__OperationCS__Group_8__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11246:1: rule__OperationCS__Group_8__0 : rule__OperationCS__Group_8__0__Impl rule__OperationCS__Group_8__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11624:1: rule__OperationCS__Group_8__0 : rule__OperationCS__Group_8__0__Impl rule__OperationCS__Group_8__1 ;
     public final void rule__OperationCS__Group_8__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11250:1: ( rule__OperationCS__Group_8__0__Impl rule__OperationCS__Group_8__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11251:2: rule__OperationCS__Group_8__0__Impl rule__OperationCS__Group_8__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11628:1: ( rule__OperationCS__Group_8__0__Impl rule__OperationCS__Group_8__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11629:2: rule__OperationCS__Group_8__0__Impl rule__OperationCS__Group_8__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_8__0__Impl_in_rule__OperationCS__Group_8__023756);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_8__0__Impl_in_rule__OperationCS__Group_8__024353);
             rule__OperationCS__Group_8__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_8__1_in_rule__OperationCS__Group_8__023759);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_8__1_in_rule__OperationCS__Group_8__024356);
             rule__OperationCS__Group_8__1();
 
             state._fsp--;
@@ -35639,22 +36323,22 @@
 
 
     // $ANTLR start "rule__OperationCS__Group_8__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11258:1: rule__OperationCS__Group_8__0__Impl : ( 'throws' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11636:1: rule__OperationCS__Group_8__0__Impl : ( 'throws' ) ;
     public final void rule__OperationCS__Group_8__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11262:1: ( ( 'throws' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11263:1: ( 'throws' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11640:1: ( ( 'throws' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11641:1: ( 'throws' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11263:1: ( 'throws' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11264:1: 'throws'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11641:1: ( 'throws' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11642:1: 'throws'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getThrowsKeyword_8_0()); 
             }
-            match(input,48,FollowSets001.FOLLOW_48_in_rule__OperationCS__Group_8__0__Impl23787); if (state.failed) return ;
+            match(input,48,FollowSets001.FOLLOW_48_in_rule__OperationCS__Group_8__0__Impl24384); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getOperationCSAccess().getThrowsKeyword_8_0()); 
             }
@@ -35680,21 +36364,21 @@
 
 
     // $ANTLR start "rule__OperationCS__Group_8__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11277:1: rule__OperationCS__Group_8__1 : rule__OperationCS__Group_8__1__Impl rule__OperationCS__Group_8__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11655:1: rule__OperationCS__Group_8__1 : rule__OperationCS__Group_8__1__Impl rule__OperationCS__Group_8__2 ;
     public final void rule__OperationCS__Group_8__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11281:1: ( rule__OperationCS__Group_8__1__Impl rule__OperationCS__Group_8__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11282:2: rule__OperationCS__Group_8__1__Impl rule__OperationCS__Group_8__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11659:1: ( rule__OperationCS__Group_8__1__Impl rule__OperationCS__Group_8__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11660:2: rule__OperationCS__Group_8__1__Impl rule__OperationCS__Group_8__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_8__1__Impl_in_rule__OperationCS__Group_8__123818);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_8__1__Impl_in_rule__OperationCS__Group_8__124415);
             rule__OperationCS__Group_8__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_8__2_in_rule__OperationCS__Group_8__123821);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_8__2_in_rule__OperationCS__Group_8__124418);
             rule__OperationCS__Group_8__2();
 
             state._fsp--;
@@ -35718,25 +36402,25 @@
 
 
     // $ANTLR start "rule__OperationCS__Group_8__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11289:1: rule__OperationCS__Group_8__1__Impl : ( ( rule__OperationCS__OwnedExceptionsAssignment_8_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11667:1: rule__OperationCS__Group_8__1__Impl : ( ( rule__OperationCS__OwnedExceptionsAssignment_8_1 ) ) ;
     public final void rule__OperationCS__Group_8__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11293:1: ( ( ( rule__OperationCS__OwnedExceptionsAssignment_8_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11294:1: ( ( rule__OperationCS__OwnedExceptionsAssignment_8_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11671:1: ( ( ( rule__OperationCS__OwnedExceptionsAssignment_8_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11672:1: ( ( rule__OperationCS__OwnedExceptionsAssignment_8_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11294:1: ( ( rule__OperationCS__OwnedExceptionsAssignment_8_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11295:1: ( rule__OperationCS__OwnedExceptionsAssignment_8_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11672:1: ( ( rule__OperationCS__OwnedExceptionsAssignment_8_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11673:1: ( rule__OperationCS__OwnedExceptionsAssignment_8_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getOwnedExceptionsAssignment_8_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11296:1: ( rule__OperationCS__OwnedExceptionsAssignment_8_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11296:2: rule__OperationCS__OwnedExceptionsAssignment_8_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11674:1: ( rule__OperationCS__OwnedExceptionsAssignment_8_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11674:2: rule__OperationCS__OwnedExceptionsAssignment_8_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__OwnedExceptionsAssignment_8_1_in_rule__OperationCS__Group_8__1__Impl23848);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__OwnedExceptionsAssignment_8_1_in_rule__OperationCS__Group_8__1__Impl24445);
             rule__OperationCS__OwnedExceptionsAssignment_8_1();
 
             state._fsp--;
@@ -35769,16 +36453,16 @@
 
 
     // $ANTLR start "rule__OperationCS__Group_8__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11306:1: rule__OperationCS__Group_8__2 : rule__OperationCS__Group_8__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11684:1: rule__OperationCS__Group_8__2 : rule__OperationCS__Group_8__2__Impl ;
     public final void rule__OperationCS__Group_8__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11310:1: ( rule__OperationCS__Group_8__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11311:2: rule__OperationCS__Group_8__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11688:1: ( rule__OperationCS__Group_8__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11689:2: rule__OperationCS__Group_8__2__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_8__2__Impl_in_rule__OperationCS__Group_8__223878);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_8__2__Impl_in_rule__OperationCS__Group_8__224475);
             rule__OperationCS__Group_8__2__Impl();
 
             state._fsp--;
@@ -35802,37 +36486,37 @@
 
 
     // $ANTLR start "rule__OperationCS__Group_8__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11317:1: rule__OperationCS__Group_8__2__Impl : ( ( rule__OperationCS__Group_8_2__0 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11695:1: rule__OperationCS__Group_8__2__Impl : ( ( rule__OperationCS__Group_8_2__0 )* ) ;
     public final void rule__OperationCS__Group_8__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11321:1: ( ( ( rule__OperationCS__Group_8_2__0 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11322:1: ( ( rule__OperationCS__Group_8_2__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11699:1: ( ( ( rule__OperationCS__Group_8_2__0 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11700:1: ( ( rule__OperationCS__Group_8_2__0 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11322:1: ( ( rule__OperationCS__Group_8_2__0 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11323:1: ( rule__OperationCS__Group_8_2__0 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11700:1: ( ( rule__OperationCS__Group_8_2__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11701:1: ( rule__OperationCS__Group_8_2__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getGroup_8_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11324:1: ( rule__OperationCS__Group_8_2__0 )*
-            loop136:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11702:1: ( rule__OperationCS__Group_8_2__0 )*
+            loop153:
             do {
-                int alt136=2;
-                int LA136_0 = input.LA(1);
+                int alt153=2;
+                int LA153_0 = input.LA(1);
 
-                if ( (LA136_0==98) ) {
-                    alt136=1;
+                if ( (LA153_0==107) ) {
+                    alt153=1;
                 }
 
 
-                switch (alt136) {
+                switch (alt153) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11324:2: rule__OperationCS__Group_8_2__0
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11702:2: rule__OperationCS__Group_8_2__0
             	    {
-            	    pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_8_2__0_in_rule__OperationCS__Group_8__2__Impl23905);
+            	    pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_8_2__0_in_rule__OperationCS__Group_8__2__Impl24502);
             	    rule__OperationCS__Group_8_2__0();
 
             	    state._fsp--;
@@ -35842,7 +36526,7 @@
             	    break;
 
             	default :
-            	    break loop136;
+            	    break loop153;
                 }
             } while (true);
 
@@ -35871,21 +36555,21 @@
 
 
     // $ANTLR start "rule__OperationCS__Group_8_2__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11340:1: rule__OperationCS__Group_8_2__0 : rule__OperationCS__Group_8_2__0__Impl rule__OperationCS__Group_8_2__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11718:1: rule__OperationCS__Group_8_2__0 : rule__OperationCS__Group_8_2__0__Impl rule__OperationCS__Group_8_2__1 ;
     public final void rule__OperationCS__Group_8_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11344:1: ( rule__OperationCS__Group_8_2__0__Impl rule__OperationCS__Group_8_2__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11345:2: rule__OperationCS__Group_8_2__0__Impl rule__OperationCS__Group_8_2__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11722:1: ( rule__OperationCS__Group_8_2__0__Impl rule__OperationCS__Group_8_2__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11723:2: rule__OperationCS__Group_8_2__0__Impl rule__OperationCS__Group_8_2__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_8_2__0__Impl_in_rule__OperationCS__Group_8_2__023942);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_8_2__0__Impl_in_rule__OperationCS__Group_8_2__024539);
             rule__OperationCS__Group_8_2__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_8_2__1_in_rule__OperationCS__Group_8_2__023945);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_8_2__1_in_rule__OperationCS__Group_8_2__024542);
             rule__OperationCS__Group_8_2__1();
 
             state._fsp--;
@@ -35909,22 +36593,22 @@
 
 
     // $ANTLR start "rule__OperationCS__Group_8_2__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11352:1: rule__OperationCS__Group_8_2__0__Impl : ( ',' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11730:1: rule__OperationCS__Group_8_2__0__Impl : ( ',' ) ;
     public final void rule__OperationCS__Group_8_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11356:1: ( ( ',' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11357:1: ( ',' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11734:1: ( ( ',' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11735:1: ( ',' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11357:1: ( ',' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11358:1: ','
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11735:1: ( ',' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11736:1: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getCommaKeyword_8_2_0()); 
             }
-            match(input,98,FollowSets001.FOLLOW_98_in_rule__OperationCS__Group_8_2__0__Impl23973); if (state.failed) return ;
+            match(input,107,FollowSets001.FOLLOW_107_in_rule__OperationCS__Group_8_2__0__Impl24570); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getOperationCSAccess().getCommaKeyword_8_2_0()); 
             }
@@ -35950,16 +36634,16 @@
 
 
     // $ANTLR start "rule__OperationCS__Group_8_2__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11371:1: rule__OperationCS__Group_8_2__1 : rule__OperationCS__Group_8_2__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11749:1: rule__OperationCS__Group_8_2__1 : rule__OperationCS__Group_8_2__1__Impl ;
     public final void rule__OperationCS__Group_8_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11375:1: ( rule__OperationCS__Group_8_2__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11376:2: rule__OperationCS__Group_8_2__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11753:1: ( rule__OperationCS__Group_8_2__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11754:2: rule__OperationCS__Group_8_2__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_8_2__1__Impl_in_rule__OperationCS__Group_8_2__124004);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_8_2__1__Impl_in_rule__OperationCS__Group_8_2__124601);
             rule__OperationCS__Group_8_2__1__Impl();
 
             state._fsp--;
@@ -35983,25 +36667,25 @@
 
 
     // $ANTLR start "rule__OperationCS__Group_8_2__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11382:1: rule__OperationCS__Group_8_2__1__Impl : ( ( rule__OperationCS__OwnedExceptionsAssignment_8_2_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11760:1: rule__OperationCS__Group_8_2__1__Impl : ( ( rule__OperationCS__OwnedExceptionsAssignment_8_2_1 ) ) ;
     public final void rule__OperationCS__Group_8_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11386:1: ( ( ( rule__OperationCS__OwnedExceptionsAssignment_8_2_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11387:1: ( ( rule__OperationCS__OwnedExceptionsAssignment_8_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11764:1: ( ( ( rule__OperationCS__OwnedExceptionsAssignment_8_2_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11765:1: ( ( rule__OperationCS__OwnedExceptionsAssignment_8_2_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11387:1: ( ( rule__OperationCS__OwnedExceptionsAssignment_8_2_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11388:1: ( rule__OperationCS__OwnedExceptionsAssignment_8_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11765:1: ( ( rule__OperationCS__OwnedExceptionsAssignment_8_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11766:1: ( rule__OperationCS__OwnedExceptionsAssignment_8_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getOwnedExceptionsAssignment_8_2_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11389:1: ( rule__OperationCS__OwnedExceptionsAssignment_8_2_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11389:2: rule__OperationCS__OwnedExceptionsAssignment_8_2_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11767:1: ( rule__OperationCS__OwnedExceptionsAssignment_8_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11767:2: rule__OperationCS__OwnedExceptionsAssignment_8_2_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__OwnedExceptionsAssignment_8_2_1_in_rule__OperationCS__Group_8_2__1__Impl24031);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__OwnedExceptionsAssignment_8_2_1_in_rule__OperationCS__Group_8_2__1__Impl24628);
             rule__OperationCS__OwnedExceptionsAssignment_8_2_1();
 
             state._fsp--;
@@ -36033,23 +36717,23 @@
     // $ANTLR end "rule__OperationCS__Group_8_2__1__Impl"
 
 
-    // $ANTLR start "rule__OperationCS__Group_9__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11403:1: rule__OperationCS__Group_9__0 : rule__OperationCS__Group_9__0__Impl rule__OperationCS__Group_9__1 ;
-    public final void rule__OperationCS__Group_9__0() throws RecognitionException {
+    // $ANTLR start "rule__OperationCS__Group_9_0__0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11781:1: rule__OperationCS__Group_9_0__0 : rule__OperationCS__Group_9_0__0__Impl rule__OperationCS__Group_9_0__1 ;
+    public final void rule__OperationCS__Group_9_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11407:1: ( rule__OperationCS__Group_9__0__Impl rule__OperationCS__Group_9__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11408:2: rule__OperationCS__Group_9__0__Impl rule__OperationCS__Group_9__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11785:1: ( rule__OperationCS__Group_9_0__0__Impl rule__OperationCS__Group_9_0__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11786:2: rule__OperationCS__Group_9_0__0__Impl rule__OperationCS__Group_9_0__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_9__0__Impl_in_rule__OperationCS__Group_9__024065);
-            rule__OperationCS__Group_9__0__Impl();
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_9_0__0__Impl_in_rule__OperationCS__Group_9_0__024662);
+            rule__OperationCS__Group_9_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_9__1_in_rule__OperationCS__Group_9__024068);
-            rule__OperationCS__Group_9__1();
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_9_0__1_in_rule__OperationCS__Group_9_0__024665);
+            rule__OperationCS__Group_9_0__1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -36068,28 +36752,28 @@
         }
         return ;
     }
-    // $ANTLR end "rule__OperationCS__Group_9__0"
+    // $ANTLR end "rule__OperationCS__Group_9_0__0"
 
 
-    // $ANTLR start "rule__OperationCS__Group_9__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11415:1: rule__OperationCS__Group_9__0__Impl : ( '{' ) ;
-    public final void rule__OperationCS__Group_9__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__OperationCS__Group_9_0__0__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11793:1: rule__OperationCS__Group_9_0__0__Impl : ( '{' ) ;
+    public final void rule__OperationCS__Group_9_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11419:1: ( ( '{' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11420:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11797:1: ( ( '{' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11798:1: ( '{' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11420:1: ( '{' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11421:1: '{'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11798:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11799:1: '{'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getOperationCSAccess().getLeftCurlyBracketKeyword_9_0()); 
+               before(grammarAccess.getOperationCSAccess().getLeftCurlyBracketKeyword_9_0_0()); 
             }
-            match(input,99,FollowSets001.FOLLOW_99_in_rule__OperationCS__Group_9__0__Impl24096); if (state.failed) return ;
+            match(input,108,FollowSets001.FOLLOW_108_in_rule__OperationCS__Group_9_0__0__Impl24693); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getOperationCSAccess().getLeftCurlyBracketKeyword_9_0()); 
+               after(grammarAccess.getOperationCSAccess().getLeftCurlyBracketKeyword_9_0_0()); 
             }
 
             }
@@ -36109,26 +36793,21 @@
         }
         return ;
     }
-    // $ANTLR end "rule__OperationCS__Group_9__0__Impl"
+    // $ANTLR end "rule__OperationCS__Group_9_0__0__Impl"
 
 
-    // $ANTLR start "rule__OperationCS__Group_9__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11434:1: rule__OperationCS__Group_9__1 : rule__OperationCS__Group_9__1__Impl rule__OperationCS__Group_9__2 ;
-    public final void rule__OperationCS__Group_9__1() throws RecognitionException {
+    // $ANTLR start "rule__OperationCS__Group_9_0__1"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11812:1: rule__OperationCS__Group_9_0__1 : rule__OperationCS__Group_9_0__1__Impl ;
+    public final void rule__OperationCS__Group_9_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11438:1: ( rule__OperationCS__Group_9__1__Impl rule__OperationCS__Group_9__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11439:2: rule__OperationCS__Group_9__1__Impl rule__OperationCS__Group_9__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11816:1: ( rule__OperationCS__Group_9_0__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11817:2: rule__OperationCS__Group_9_0__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_9__1__Impl_in_rule__OperationCS__Group_9__124127);
-            rule__OperationCS__Group_9__1__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_9__2_in_rule__OperationCS__Group_9__124130);
-            rule__OperationCS__Group_9__2();
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_9_0__1__Impl_in_rule__OperationCS__Group_9_0__124724);
+            rule__OperationCS__Group_9_0__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
@@ -36147,159 +36826,49 @@
         }
         return ;
     }
-    // $ANTLR end "rule__OperationCS__Group_9__1"
+    // $ANTLR end "rule__OperationCS__Group_9_0__1"
 
 
-    // $ANTLR start "rule__OperationCS__Group_9__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11446:1: rule__OperationCS__Group_9__1__Impl : ( ( ( rule__OperationCS__Group_9_1__0 ) ) ( ( rule__OperationCS__Group_9_1__0 )* ) ) ;
-    public final void rule__OperationCS__Group_9__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__OperationCS__Group_9_0__1__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11823:1: rule__OperationCS__Group_9_0__1__Impl : ( ( rule__OperationCS__Group_9_0_1__0 )? ) ;
+    public final void rule__OperationCS__Group_9_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11450:1: ( ( ( ( rule__OperationCS__Group_9_1__0 ) ) ( ( rule__OperationCS__Group_9_1__0 )* ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11451:1: ( ( ( rule__OperationCS__Group_9_1__0 ) ) ( ( rule__OperationCS__Group_9_1__0 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11827:1: ( ( ( rule__OperationCS__Group_9_0_1__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11828:1: ( ( rule__OperationCS__Group_9_0_1__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11451:1: ( ( ( rule__OperationCS__Group_9_1__0 ) ) ( ( rule__OperationCS__Group_9_1__0 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11452:1: ( ( rule__OperationCS__Group_9_1__0 ) ) ( ( rule__OperationCS__Group_9_1__0 )* )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11452:1: ( ( rule__OperationCS__Group_9_1__0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11453:1: ( rule__OperationCS__Group_9_1__0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11828:1: ( ( rule__OperationCS__Group_9_0_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11829:1: ( rule__OperationCS__Group_9_0_1__0 )?
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getOperationCSAccess().getGroup_9_1()); 
+               before(grammarAccess.getOperationCSAccess().getGroup_9_0_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11454:1: ( rule__OperationCS__Group_9_1__0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11454:2: rule__OperationCS__Group_9_1__0
-            {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_9_1__0_in_rule__OperationCS__Group_9__1__Impl24159);
-            rule__OperationCS__Group_9_1__0();
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11830:1: ( rule__OperationCS__Group_9_0_1__0 )?
+            int alt154=2;
+            int LA154_0 = input.LA(1);
 
-            state._fsp--;
-            if (state.failed) return ;
+            if ( (LA154_0==26||LA154_0==54) ) {
+                alt154=1;
+            }
+            switch (alt154) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11830:2: rule__OperationCS__Group_9_0_1__0
+                    {
+                    pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_9_0_1__0_in_rule__OperationCS__Group_9_0__1__Impl24751);
+                    rule__OperationCS__Group_9_0_1__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getOperationCSAccess().getGroup_9_1()); 
-            }
-
-            }
-
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11457:1: ( ( rule__OperationCS__Group_9_1__0 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11458:1: ( rule__OperationCS__Group_9_1__0 )*
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getOperationCSAccess().getGroup_9_1()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11459:1: ( rule__OperationCS__Group_9_1__0 )*
-            loop137:
-            do {
-                int alt137=2;
-                int LA137_0 = input.LA(1);
-
-                if ( (LA137_0==26||LA137_0==37||LA137_0==50||LA137_0==120||LA137_0==122||LA137_0==125) ) {
-                    alt137=1;
-                }
-
-
-                switch (alt137) {
-            	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11459:2: rule__OperationCS__Group_9_1__0
-            	    {
-            	    pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_9_1__0_in_rule__OperationCS__Group_9__1__Impl24171);
-            	    rule__OperationCS__Group_9_1__0();
-
-            	    state._fsp--;
-            	    if (state.failed) return ;
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop137;
-                }
-            } while (true);
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getOperationCSAccess().getGroup_9_1()); 
-            }
-
-            }
-
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__OperationCS__Group_9__1__Impl"
-
-
-    // $ANTLR start "rule__OperationCS__Group_9__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11470:1: rule__OperationCS__Group_9__2 : rule__OperationCS__Group_9__2__Impl ;
-    public final void rule__OperationCS__Group_9__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11474:1: ( rule__OperationCS__Group_9__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11475:2: rule__OperationCS__Group_9__2__Impl
-            {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_9__2__Impl_in_rule__OperationCS__Group_9__224204);
-            rule__OperationCS__Group_9__2__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__OperationCS__Group_9__2"
-
-
-    // $ANTLR start "rule__OperationCS__Group_9__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11481:1: rule__OperationCS__Group_9__2__Impl : ( '}' ) ;
-    public final void rule__OperationCS__Group_9__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11485:1: ( ( '}' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11486:1: ( '}' )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11486:1: ( '}' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11487:1: '}'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getOperationCSAccess().getRightCurlyBracketKeyword_9_2()); 
-            }
-            match(input,100,FollowSets001.FOLLOW_100_in_rule__OperationCS__Group_9__2__Impl24232); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getOperationCSAccess().getRightCurlyBracketKeyword_9_2()); 
+               after(grammarAccess.getOperationCSAccess().getGroup_9_0_1()); 
             }
 
             }
@@ -36319,25 +36888,205 @@
         }
         return ;
     }
-    // $ANTLR end "rule__OperationCS__Group_9__2__Impl"
+    // $ANTLR end "rule__OperationCS__Group_9_0__1__Impl"
+
+
+    // $ANTLR start "rule__OperationCS__Group_9_0_1__0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11844:1: rule__OperationCS__Group_9_0_1__0 : rule__OperationCS__Group_9_0_1__0__Impl rule__OperationCS__Group_9_0_1__1 ;
+    public final void rule__OperationCS__Group_9_0_1__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11848:1: ( rule__OperationCS__Group_9_0_1__0__Impl rule__OperationCS__Group_9_0_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11849:2: rule__OperationCS__Group_9_0_1__0__Impl rule__OperationCS__Group_9_0_1__1
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_9_0_1__0__Impl_in_rule__OperationCS__Group_9_0_1__024786);
+            rule__OperationCS__Group_9_0_1__0__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_9_0_1__1_in_rule__OperationCS__Group_9_0_1__024789);
+            rule__OperationCS__Group_9_0_1__1();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OperationCS__Group_9_0_1__0"
+
+
+    // $ANTLR start "rule__OperationCS__Group_9_0_1__0__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11856:1: rule__OperationCS__Group_9_0_1__0__Impl : ( ( rule__OperationCS__Alternatives_9_0_1_0 ) ) ;
+    public final void rule__OperationCS__Group_9_0_1__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11860:1: ( ( ( rule__OperationCS__Alternatives_9_0_1_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11861:1: ( ( rule__OperationCS__Alternatives_9_0_1_0 ) )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11861:1: ( ( rule__OperationCS__Alternatives_9_0_1_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11862:1: ( rule__OperationCS__Alternatives_9_0_1_0 )
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getOperationCSAccess().getAlternatives_9_0_1_0()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11863:1: ( rule__OperationCS__Alternatives_9_0_1_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11863:2: rule__OperationCS__Alternatives_9_0_1_0
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Alternatives_9_0_1_0_in_rule__OperationCS__Group_9_0_1__0__Impl24816);
+            rule__OperationCS__Alternatives_9_0_1_0();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getOperationCSAccess().getAlternatives_9_0_1_0()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OperationCS__Group_9_0_1__0__Impl"
+
+
+    // $ANTLR start "rule__OperationCS__Group_9_0_1__1"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11873:1: rule__OperationCS__Group_9_0_1__1 : rule__OperationCS__Group_9_0_1__1__Impl ;
+    public final void rule__OperationCS__Group_9_0_1__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11877:1: ( rule__OperationCS__Group_9_0_1__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11878:2: rule__OperationCS__Group_9_0_1__1__Impl
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_9_0_1__1__Impl_in_rule__OperationCS__Group_9_0_1__124846);
+            rule__OperationCS__Group_9_0_1__1__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OperationCS__Group_9_0_1__1"
+
+
+    // $ANTLR start "rule__OperationCS__Group_9_0_1__1__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11884:1: rule__OperationCS__Group_9_0_1__1__Impl : ( ( ',' )? ) ;
+    public final void rule__OperationCS__Group_9_0_1__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11888:1: ( ( ( ',' )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11889:1: ( ( ',' )? )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11889:1: ( ( ',' )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11890:1: ( ',' )?
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getOperationCSAccess().getCommaKeyword_9_0_1_1()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11891:1: ( ',' )?
+            int alt155=2;
+            int LA155_0 = input.LA(1);
+
+            if ( (LA155_0==107) ) {
+                alt155=1;
+            }
+            switch (alt155) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11892:2: ','
+                    {
+                    match(input,107,FollowSets001.FOLLOW_107_in_rule__OperationCS__Group_9_0_1__1__Impl24875); if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getOperationCSAccess().getCommaKeyword_9_0_1_1()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OperationCS__Group_9_0_1__1__Impl"
 
 
     // $ANTLR start "rule__OperationCS__Group_9_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11506:1: rule__OperationCS__Group_9_1__0 : rule__OperationCS__Group_9_1__0__Impl rule__OperationCS__Group_9_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11907:1: rule__OperationCS__Group_9_1__0 : rule__OperationCS__Group_9_1__0__Impl rule__OperationCS__Group_9_1__1 ;
     public final void rule__OperationCS__Group_9_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11510:1: ( rule__OperationCS__Group_9_1__0__Impl rule__OperationCS__Group_9_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11511:2: rule__OperationCS__Group_9_1__0__Impl rule__OperationCS__Group_9_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11911:1: ( rule__OperationCS__Group_9_1__0__Impl rule__OperationCS__Group_9_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11912:2: rule__OperationCS__Group_9_1__0__Impl rule__OperationCS__Group_9_1__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_9_1__0__Impl_in_rule__OperationCS__Group_9_1__024269);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_9_1__0__Impl_in_rule__OperationCS__Group_9_1__024912);
             rule__OperationCS__Group_9_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_9_1__1_in_rule__OperationCS__Group_9_1__024272);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_9_1__1_in_rule__OperationCS__Group_9_1__024915);
             rule__OperationCS__Group_9_1__1();
 
             state._fsp--;
@@ -36361,25 +37110,25 @@
 
 
     // $ANTLR start "rule__OperationCS__Group_9_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11518:1: rule__OperationCS__Group_9_1__0__Impl : ( ( rule__OperationCS__Alternatives_9_1_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11919:1: rule__OperationCS__Group_9_1__0__Impl : ( ( rule__OperationCS__Alternatives_9_1_0 ) ) ;
     public final void rule__OperationCS__Group_9_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11522:1: ( ( ( rule__OperationCS__Alternatives_9_1_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11523:1: ( ( rule__OperationCS__Alternatives_9_1_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11923:1: ( ( ( rule__OperationCS__Alternatives_9_1_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11924:1: ( ( rule__OperationCS__Alternatives_9_1_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11523:1: ( ( rule__OperationCS__Alternatives_9_1_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11524:1: ( rule__OperationCS__Alternatives_9_1_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11924:1: ( ( rule__OperationCS__Alternatives_9_1_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11925:1: ( rule__OperationCS__Alternatives_9_1_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getAlternatives_9_1_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11525:1: ( rule__OperationCS__Alternatives_9_1_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11525:2: rule__OperationCS__Alternatives_9_1_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11926:1: ( rule__OperationCS__Alternatives_9_1_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11926:2: rule__OperationCS__Alternatives_9_1_0
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Alternatives_9_1_0_in_rule__OperationCS__Group_9_1__0__Impl24299);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Alternatives_9_1_0_in_rule__OperationCS__Group_9_1__0__Impl24942);
             rule__OperationCS__Alternatives_9_1_0();
 
             state._fsp--;
@@ -36412,16 +37161,16 @@
 
 
     // $ANTLR start "rule__OperationCS__Group_9_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11535:1: rule__OperationCS__Group_9_1__1 : rule__OperationCS__Group_9_1__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11936:1: rule__OperationCS__Group_9_1__1 : rule__OperationCS__Group_9_1__1__Impl ;
     public final void rule__OperationCS__Group_9_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11539:1: ( rule__OperationCS__Group_9_1__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11540:2: rule__OperationCS__Group_9_1__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11940:1: ( rule__OperationCS__Group_9_1__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11941:2: rule__OperationCS__Group_9_1__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_9_1__1__Impl_in_rule__OperationCS__Group_9_1__124329);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_9_1__1__Impl_in_rule__OperationCS__Group_9_1__124972);
             rule__OperationCS__Group_9_1__1__Impl();
 
             state._fsp--;
@@ -36445,33 +37194,33 @@
 
 
     // $ANTLR start "rule__OperationCS__Group_9_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11546:1: rule__OperationCS__Group_9_1__1__Impl : ( ( ',' )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11947:1: rule__OperationCS__Group_9_1__1__Impl : ( ( ',' )? ) ;
     public final void rule__OperationCS__Group_9_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11550:1: ( ( ( ',' )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11551:1: ( ( ',' )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11951:1: ( ( ( ',' )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11952:1: ( ( ',' )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11551:1: ( ( ',' )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11552:1: ( ',' )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11952:1: ( ( ',' )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11953:1: ( ',' )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getCommaKeyword_9_1_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11553:1: ( ',' )?
-            int alt138=2;
-            int LA138_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11954:1: ( ',' )?
+            int alt156=2;
+            int LA156_0 = input.LA(1);
 
-            if ( (LA138_0==98) ) {
-                alt138=1;
+            if ( (LA156_0==107) ) {
+                alt156=1;
             }
-            switch (alt138) {
+            switch (alt156) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11554:2: ','
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11955:2: ','
                     {
-                    match(input,98,FollowSets001.FOLLOW_98_in_rule__OperationCS__Group_9_1__1__Impl24358); if (state.failed) return ;
+                    match(input,107,FollowSets001.FOLLOW_107_in_rule__OperationCS__Group_9_1__1__Impl25001); if (state.failed) return ;
 
                     }
                     break;
@@ -36502,22 +37251,376 @@
     // $ANTLR end "rule__OperationCS__Group_9_1__1__Impl"
 
 
+    // $ANTLR start "rule__OperationCS__Group_9_2__0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11970:1: rule__OperationCS__Group_9_2__0 : rule__OperationCS__Group_9_2__0__Impl rule__OperationCS__Group_9_2__1 ;
+    public final void rule__OperationCS__Group_9_2__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11974:1: ( rule__OperationCS__Group_9_2__0__Impl rule__OperationCS__Group_9_2__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11975:2: rule__OperationCS__Group_9_2__0__Impl rule__OperationCS__Group_9_2__1
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_9_2__0__Impl_in_rule__OperationCS__Group_9_2__025038);
+            rule__OperationCS__Group_9_2__0__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_9_2__1_in_rule__OperationCS__Group_9_2__025041);
+            rule__OperationCS__Group_9_2__1();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OperationCS__Group_9_2__0"
+
+
+    // $ANTLR start "rule__OperationCS__Group_9_2__0__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11982:1: rule__OperationCS__Group_9_2__0__Impl : ( ( rule__OperationCS__Group_9_2_0__0 )? ) ;
+    public final void rule__OperationCS__Group_9_2__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11986:1: ( ( ( rule__OperationCS__Group_9_2_0__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11987:1: ( ( rule__OperationCS__Group_9_2_0__0 )? )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11987:1: ( ( rule__OperationCS__Group_9_2_0__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11988:1: ( rule__OperationCS__Group_9_2_0__0 )?
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getOperationCSAccess().getGroup_9_2_0()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11989:1: ( rule__OperationCS__Group_9_2_0__0 )?
+            int alt157=2;
+            int LA157_0 = input.LA(1);
+
+            if ( (LA157_0==50||LA157_0==129) ) {
+                alt157=1;
+            }
+            switch (alt157) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11989:2: rule__OperationCS__Group_9_2_0__0
+                    {
+                    pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_9_2_0__0_in_rule__OperationCS__Group_9_2__0__Impl25068);
+                    rule__OperationCS__Group_9_2_0__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getOperationCSAccess().getGroup_9_2_0()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OperationCS__Group_9_2__0__Impl"
+
+
+    // $ANTLR start "rule__OperationCS__Group_9_2__1"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11999:1: rule__OperationCS__Group_9_2__1 : rule__OperationCS__Group_9_2__1__Impl ;
+    public final void rule__OperationCS__Group_9_2__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12003:1: ( rule__OperationCS__Group_9_2__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12004:2: rule__OperationCS__Group_9_2__1__Impl
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_9_2__1__Impl_in_rule__OperationCS__Group_9_2__125099);
+            rule__OperationCS__Group_9_2__1__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OperationCS__Group_9_2__1"
+
+
+    // $ANTLR start "rule__OperationCS__Group_9_2__1__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12010:1: rule__OperationCS__Group_9_2__1__Impl : ( '}' ) ;
+    public final void rule__OperationCS__Group_9_2__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12014:1: ( ( '}' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12015:1: ( '}' )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12015:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12016:1: '}'
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getOperationCSAccess().getRightCurlyBracketKeyword_9_2_1()); 
+            }
+            match(input,109,FollowSets001.FOLLOW_109_in_rule__OperationCS__Group_9_2__1__Impl25127); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getOperationCSAccess().getRightCurlyBracketKeyword_9_2_1()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OperationCS__Group_9_2__1__Impl"
+
+
+    // $ANTLR start "rule__OperationCS__Group_9_2_0__0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12033:1: rule__OperationCS__Group_9_2_0__0 : rule__OperationCS__Group_9_2_0__0__Impl rule__OperationCS__Group_9_2_0__1 ;
+    public final void rule__OperationCS__Group_9_2_0__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12037:1: ( rule__OperationCS__Group_9_2_0__0__Impl rule__OperationCS__Group_9_2_0__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12038:2: rule__OperationCS__Group_9_2_0__0__Impl rule__OperationCS__Group_9_2_0__1
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_9_2_0__0__Impl_in_rule__OperationCS__Group_9_2_0__025162);
+            rule__OperationCS__Group_9_2_0__0__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_9_2_0__1_in_rule__OperationCS__Group_9_2_0__025165);
+            rule__OperationCS__Group_9_2_0__1();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OperationCS__Group_9_2_0__0"
+
+
+    // $ANTLR start "rule__OperationCS__Group_9_2_0__0__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12045:1: rule__OperationCS__Group_9_2_0__0__Impl : ( ( rule__OperationCS__Alternatives_9_2_0_0 ) ) ;
+    public final void rule__OperationCS__Group_9_2_0__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12049:1: ( ( ( rule__OperationCS__Alternatives_9_2_0_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12050:1: ( ( rule__OperationCS__Alternatives_9_2_0_0 ) )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12050:1: ( ( rule__OperationCS__Alternatives_9_2_0_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12051:1: ( rule__OperationCS__Alternatives_9_2_0_0 )
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getOperationCSAccess().getAlternatives_9_2_0_0()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12052:1: ( rule__OperationCS__Alternatives_9_2_0_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12052:2: rule__OperationCS__Alternatives_9_2_0_0
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Alternatives_9_2_0_0_in_rule__OperationCS__Group_9_2_0__0__Impl25192);
+            rule__OperationCS__Alternatives_9_2_0_0();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getOperationCSAccess().getAlternatives_9_2_0_0()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OperationCS__Group_9_2_0__0__Impl"
+
+
+    // $ANTLR start "rule__OperationCS__Group_9_2_0__1"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12062:1: rule__OperationCS__Group_9_2_0__1 : rule__OperationCS__Group_9_2_0__1__Impl ;
+    public final void rule__OperationCS__Group_9_2_0__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12066:1: ( rule__OperationCS__Group_9_2_0__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12067:2: rule__OperationCS__Group_9_2_0__1__Impl
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_9_2_0__1__Impl_in_rule__OperationCS__Group_9_2_0__125222);
+            rule__OperationCS__Group_9_2_0__1__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OperationCS__Group_9_2_0__1"
+
+
+    // $ANTLR start "rule__OperationCS__Group_9_2_0__1__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12073:1: rule__OperationCS__Group_9_2_0__1__Impl : ( ( ',' )? ) ;
+    public final void rule__OperationCS__Group_9_2_0__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12077:1: ( ( ( ',' )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12078:1: ( ( ',' )? )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12078:1: ( ( ',' )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12079:1: ( ',' )?
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getOperationCSAccess().getCommaKeyword_9_2_0_1()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12080:1: ( ',' )?
+            int alt158=2;
+            int LA158_0 = input.LA(1);
+
+            if ( (LA158_0==107) ) {
+                alt158=1;
+            }
+            switch (alt158) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12081:2: ','
+                    {
+                    match(input,107,FollowSets001.FOLLOW_107_in_rule__OperationCS__Group_9_2_0__1__Impl25251); if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getOperationCSAccess().getCommaKeyword_9_2_0_1()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OperationCS__Group_9_2_0__1__Impl"
+
+
     // $ANTLR start "rule__OperationCS__Group_10_0__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11569:1: rule__OperationCS__Group_10_0__0 : rule__OperationCS__Group_10_0__0__Impl rule__OperationCS__Group_10_0__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12096:1: rule__OperationCS__Group_10_0__0 : rule__OperationCS__Group_10_0__0__Impl rule__OperationCS__Group_10_0__1 ;
     public final void rule__OperationCS__Group_10_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11573:1: ( rule__OperationCS__Group_10_0__0__Impl rule__OperationCS__Group_10_0__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11574:2: rule__OperationCS__Group_10_0__0__Impl rule__OperationCS__Group_10_0__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12100:1: ( rule__OperationCS__Group_10_0__0__Impl rule__OperationCS__Group_10_0__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12101:2: rule__OperationCS__Group_10_0__0__Impl rule__OperationCS__Group_10_0__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_10_0__0__Impl_in_rule__OperationCS__Group_10_0__024395);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_10_0__0__Impl_in_rule__OperationCS__Group_10_0__025288);
             rule__OperationCS__Group_10_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_10_0__1_in_rule__OperationCS__Group_10_0__024398);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_10_0__1_in_rule__OperationCS__Group_10_0__025291);
             rule__OperationCS__Group_10_0__1();
 
             state._fsp--;
@@ -36541,22 +37644,22 @@
 
 
     // $ANTLR start "rule__OperationCS__Group_10_0__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11581:1: rule__OperationCS__Group_10_0__0__Impl : ( '{' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12108:1: rule__OperationCS__Group_10_0__0__Impl : ( '{' ) ;
     public final void rule__OperationCS__Group_10_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11585:1: ( ( '{' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11586:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12112:1: ( ( '{' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12113:1: ( '{' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11586:1: ( '{' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11587:1: '{'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12113:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12114:1: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getLeftCurlyBracketKeyword_10_0_0()); 
             }
-            match(input,99,FollowSets001.FOLLOW_99_in_rule__OperationCS__Group_10_0__0__Impl24426); if (state.failed) return ;
+            match(input,108,FollowSets001.FOLLOW_108_in_rule__OperationCS__Group_10_0__0__Impl25319); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getOperationCSAccess().getLeftCurlyBracketKeyword_10_0_0()); 
             }
@@ -36582,21 +37685,21 @@
 
 
     // $ANTLR start "rule__OperationCS__Group_10_0__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11600:1: rule__OperationCS__Group_10_0__1 : rule__OperationCS__Group_10_0__1__Impl rule__OperationCS__Group_10_0__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12127:1: rule__OperationCS__Group_10_0__1 : rule__OperationCS__Group_10_0__1__Impl rule__OperationCS__Group_10_0__2 ;
     public final void rule__OperationCS__Group_10_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11604:1: ( rule__OperationCS__Group_10_0__1__Impl rule__OperationCS__Group_10_0__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11605:2: rule__OperationCS__Group_10_0__1__Impl rule__OperationCS__Group_10_0__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12131:1: ( rule__OperationCS__Group_10_0__1__Impl rule__OperationCS__Group_10_0__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12132:2: rule__OperationCS__Group_10_0__1__Impl rule__OperationCS__Group_10_0__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_10_0__1__Impl_in_rule__OperationCS__Group_10_0__124457);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_10_0__1__Impl_in_rule__OperationCS__Group_10_0__125350);
             rule__OperationCS__Group_10_0__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_10_0__2_in_rule__OperationCS__Group_10_0__124460);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_10_0__2_in_rule__OperationCS__Group_10_0__125353);
             rule__OperationCS__Group_10_0__2();
 
             state._fsp--;
@@ -36620,37 +37723,37 @@
 
 
     // $ANTLR start "rule__OperationCS__Group_10_0__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11612:1: rule__OperationCS__Group_10_0__1__Impl : ( ( rule__OperationCS__Alternatives_10_0_1 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12139:1: rule__OperationCS__Group_10_0__1__Impl : ( ( rule__OperationCS__Alternatives_10_0_1 )* ) ;
     public final void rule__OperationCS__Group_10_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11616:1: ( ( ( rule__OperationCS__Alternatives_10_0_1 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11617:1: ( ( rule__OperationCS__Alternatives_10_0_1 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12143:1: ( ( ( rule__OperationCS__Alternatives_10_0_1 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12144:1: ( ( rule__OperationCS__Alternatives_10_0_1 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11617:1: ( ( rule__OperationCS__Alternatives_10_0_1 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11618:1: ( rule__OperationCS__Alternatives_10_0_1 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12144:1: ( ( rule__OperationCS__Alternatives_10_0_1 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12145:1: ( rule__OperationCS__Alternatives_10_0_1 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getAlternatives_10_0_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11619:1: ( rule__OperationCS__Alternatives_10_0_1 )*
-            loop139:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12146:1: ( rule__OperationCS__Alternatives_10_0_1 )*
+            loop159:
             do {
-                int alt139=2;
-                int LA139_0 = input.LA(1);
+                int alt159=2;
+                int LA159_0 = input.LA(1);
 
-                if ( (LA139_0==19||(LA139_0>=39 && LA139_0<=40)||(LA139_0>=55 && LA139_0<=56)||LA139_0==60) ) {
-                    alt139=1;
+                if ( (LA159_0==19||(LA159_0>=39 && LA159_0<=40)||(LA159_0>=64 && LA159_0<=65)||LA159_0==69) ) {
+                    alt159=1;
                 }
 
 
-                switch (alt139) {
+                switch (alt159) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11619:2: rule__OperationCS__Alternatives_10_0_1
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12146:2: rule__OperationCS__Alternatives_10_0_1
             	    {
-            	    pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Alternatives_10_0_1_in_rule__OperationCS__Group_10_0__1__Impl24487);
+            	    pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Alternatives_10_0_1_in_rule__OperationCS__Group_10_0__1__Impl25380);
             	    rule__OperationCS__Alternatives_10_0_1();
 
             	    state._fsp--;
@@ -36660,7 +37763,7 @@
             	    break;
 
             	default :
-            	    break loop139;
+            	    break loop159;
                 }
             } while (true);
 
@@ -36689,16 +37792,16 @@
 
 
     // $ANTLR start "rule__OperationCS__Group_10_0__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11629:1: rule__OperationCS__Group_10_0__2 : rule__OperationCS__Group_10_0__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12156:1: rule__OperationCS__Group_10_0__2 : rule__OperationCS__Group_10_0__2__Impl ;
     public final void rule__OperationCS__Group_10_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11633:1: ( rule__OperationCS__Group_10_0__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11634:2: rule__OperationCS__Group_10_0__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12160:1: ( rule__OperationCS__Group_10_0__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12161:2: rule__OperationCS__Group_10_0__2__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_10_0__2__Impl_in_rule__OperationCS__Group_10_0__224518);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_10_0__2__Impl_in_rule__OperationCS__Group_10_0__225411);
             rule__OperationCS__Group_10_0__2__Impl();
 
             state._fsp--;
@@ -36722,22 +37825,22 @@
 
 
     // $ANTLR start "rule__OperationCS__Group_10_0__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11640:1: rule__OperationCS__Group_10_0__2__Impl : ( '}' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12167:1: rule__OperationCS__Group_10_0__2__Impl : ( '}' ) ;
     public final void rule__OperationCS__Group_10_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11644:1: ( ( '}' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11645:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12171:1: ( ( '}' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12172:1: ( '}' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11645:1: ( '}' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11646:1: '}'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12172:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12173:1: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getRightCurlyBracketKeyword_10_0_2()); 
             }
-            match(input,100,FollowSets001.FOLLOW_100_in_rule__OperationCS__Group_10_0__2__Impl24546); if (state.failed) return ;
+            match(input,109,FollowSets001.FOLLOW_109_in_rule__OperationCS__Group_10_0__2__Impl25439); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getOperationCSAccess().getRightCurlyBracketKeyword_10_0_2()); 
             }
@@ -36763,21 +37866,21 @@
 
 
     // $ANTLR start "rule__OperationCS__Group_10_0_1_2__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11665:1: rule__OperationCS__Group_10_0_1_2__0 : rule__OperationCS__Group_10_0_1_2__0__Impl rule__OperationCS__Group_10_0_1_2__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12192:1: rule__OperationCS__Group_10_0_1_2__0 : rule__OperationCS__Group_10_0_1_2__0__Impl rule__OperationCS__Group_10_0_1_2__1 ;
     public final void rule__OperationCS__Group_10_0_1_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11669:1: ( rule__OperationCS__Group_10_0_1_2__0__Impl rule__OperationCS__Group_10_0_1_2__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11670:2: rule__OperationCS__Group_10_0_1_2__0__Impl rule__OperationCS__Group_10_0_1_2__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12196:1: ( rule__OperationCS__Group_10_0_1_2__0__Impl rule__OperationCS__Group_10_0_1_2__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12197:2: rule__OperationCS__Group_10_0_1_2__0__Impl rule__OperationCS__Group_10_0_1_2__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_10_0_1_2__0__Impl_in_rule__OperationCS__Group_10_0_1_2__024583);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_10_0_1_2__0__Impl_in_rule__OperationCS__Group_10_0_1_2__025476);
             rule__OperationCS__Group_10_0_1_2__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_10_0_1_2__1_in_rule__OperationCS__Group_10_0_1_2__024586);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_10_0_1_2__1_in_rule__OperationCS__Group_10_0_1_2__025479);
             rule__OperationCS__Group_10_0_1_2__1();
 
             state._fsp--;
@@ -36801,22 +37904,22 @@
 
 
     // $ANTLR start "rule__OperationCS__Group_10_0_1_2__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11677:1: rule__OperationCS__Group_10_0_1_2__0__Impl : ( 'body' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12204:1: rule__OperationCS__Group_10_0_1_2__0__Impl : ( 'body' ) ;
     public final void rule__OperationCS__Group_10_0_1_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11681:1: ( ( 'body' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11682:1: ( 'body' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12208:1: ( ( 'body' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12209:1: ( 'body' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11682:1: ( 'body' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11683:1: 'body'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12209:1: ( 'body' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12210:1: 'body'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getBodyKeyword_10_0_1_2_0()); 
             }
-            match(input,19,FollowSets001.FOLLOW_19_in_rule__OperationCS__Group_10_0_1_2__0__Impl24614); if (state.failed) return ;
+            match(input,19,FollowSets001.FOLLOW_19_in_rule__OperationCS__Group_10_0_1_2__0__Impl25507); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getOperationCSAccess().getBodyKeyword_10_0_1_2_0()); 
             }
@@ -36842,21 +37945,21 @@
 
 
     // $ANTLR start "rule__OperationCS__Group_10_0_1_2__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11696:1: rule__OperationCS__Group_10_0_1_2__1 : rule__OperationCS__Group_10_0_1_2__1__Impl rule__OperationCS__Group_10_0_1_2__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12223:1: rule__OperationCS__Group_10_0_1_2__1 : rule__OperationCS__Group_10_0_1_2__1__Impl rule__OperationCS__Group_10_0_1_2__2 ;
     public final void rule__OperationCS__Group_10_0_1_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11700:1: ( rule__OperationCS__Group_10_0_1_2__1__Impl rule__OperationCS__Group_10_0_1_2__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11701:2: rule__OperationCS__Group_10_0_1_2__1__Impl rule__OperationCS__Group_10_0_1_2__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12227:1: ( rule__OperationCS__Group_10_0_1_2__1__Impl rule__OperationCS__Group_10_0_1_2__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12228:2: rule__OperationCS__Group_10_0_1_2__1__Impl rule__OperationCS__Group_10_0_1_2__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_10_0_1_2__1__Impl_in_rule__OperationCS__Group_10_0_1_2__124645);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_10_0_1_2__1__Impl_in_rule__OperationCS__Group_10_0_1_2__125538);
             rule__OperationCS__Group_10_0_1_2__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_10_0_1_2__2_in_rule__OperationCS__Group_10_0_1_2__124648);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_10_0_1_2__2_in_rule__OperationCS__Group_10_0_1_2__125541);
             rule__OperationCS__Group_10_0_1_2__2();
 
             state._fsp--;
@@ -36880,33 +37983,33 @@
 
 
     // $ANTLR start "rule__OperationCS__Group_10_0_1_2__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11708:1: rule__OperationCS__Group_10_0_1_2__1__Impl : ( ( ruleUnrestrictedName )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12235:1: rule__OperationCS__Group_10_0_1_2__1__Impl : ( ( ruleUnrestrictedName )? ) ;
     public final void rule__OperationCS__Group_10_0_1_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11712:1: ( ( ( ruleUnrestrictedName )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11713:1: ( ( ruleUnrestrictedName )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12239:1: ( ( ( ruleUnrestrictedName )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12240:1: ( ( ruleUnrestrictedName )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11713:1: ( ( ruleUnrestrictedName )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11714:1: ( ruleUnrestrictedName )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12240:1: ( ( ruleUnrestrictedName )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12241:1: ( ruleUnrestrictedName )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getUnrestrictedNameParserRuleCall_10_0_1_2_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11715:1: ( ruleUnrestrictedName )?
-            int alt140=2;
-            int LA140_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12242:1: ( ruleUnrestrictedName )?
+            int alt160=2;
+            int LA160_0 = input.LA(1);
 
-            if ( ((LA140_0>=RULE_SIMPLE_ID && LA140_0<=RULE_ESCAPED_ID)||(LA140_0>=17 && LA140_0<=52)||(LA140_0>=55 && LA140_0<=60)) ) {
-                alt140=1;
+            if ( ((LA160_0>=RULE_SIMPLE_ID && LA160_0<=RULE_ESCAPED_ID)||(LA160_0>=17 && LA160_0<=52)||(LA160_0>=64 && LA160_0<=69)) ) {
+                alt160=1;
             }
-            switch (alt140) {
+            switch (alt160) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11715:3: ruleUnrestrictedName
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12242:3: ruleUnrestrictedName
                     {
-                    pushFollow(FollowSets001.FOLLOW_ruleUnrestrictedName_in_rule__OperationCS__Group_10_0_1_2__1__Impl24676);
+                    pushFollow(FollowSets001.FOLLOW_ruleUnrestrictedName_in_rule__OperationCS__Group_10_0_1_2__1__Impl25569);
                     ruleUnrestrictedName();
 
                     state._fsp--;
@@ -36942,21 +38045,21 @@
 
 
     // $ANTLR start "rule__OperationCS__Group_10_0_1_2__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11725:1: rule__OperationCS__Group_10_0_1_2__2 : rule__OperationCS__Group_10_0_1_2__2__Impl rule__OperationCS__Group_10_0_1_2__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12252:1: rule__OperationCS__Group_10_0_1_2__2 : rule__OperationCS__Group_10_0_1_2__2__Impl rule__OperationCS__Group_10_0_1_2__3 ;
     public final void rule__OperationCS__Group_10_0_1_2__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11729:1: ( rule__OperationCS__Group_10_0_1_2__2__Impl rule__OperationCS__Group_10_0_1_2__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11730:2: rule__OperationCS__Group_10_0_1_2__2__Impl rule__OperationCS__Group_10_0_1_2__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12256:1: ( rule__OperationCS__Group_10_0_1_2__2__Impl rule__OperationCS__Group_10_0_1_2__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12257:2: rule__OperationCS__Group_10_0_1_2__2__Impl rule__OperationCS__Group_10_0_1_2__3
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_10_0_1_2__2__Impl_in_rule__OperationCS__Group_10_0_1_2__224707);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_10_0_1_2__2__Impl_in_rule__OperationCS__Group_10_0_1_2__225600);
             rule__OperationCS__Group_10_0_1_2__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_10_0_1_2__3_in_rule__OperationCS__Group_10_0_1_2__224710);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_10_0_1_2__3_in_rule__OperationCS__Group_10_0_1_2__225603);
             rule__OperationCS__Group_10_0_1_2__3();
 
             state._fsp--;
@@ -36980,22 +38083,22 @@
 
 
     // $ANTLR start "rule__OperationCS__Group_10_0_1_2__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11737:1: rule__OperationCS__Group_10_0_1_2__2__Impl : ( ':' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12264:1: rule__OperationCS__Group_10_0_1_2__2__Impl : ( ':' ) ;
     public final void rule__OperationCS__Group_10_0_1_2__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11741:1: ( ( ':' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11742:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12268:1: ( ( ':' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12269:1: ( ':' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11742:1: ( ':' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11743:1: ':'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12269:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12270:1: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getColonKeyword_10_0_1_2_2()); 
             }
-            match(input,97,FollowSets001.FOLLOW_97_in_rule__OperationCS__Group_10_0_1_2__2__Impl24738); if (state.failed) return ;
+            match(input,106,FollowSets001.FOLLOW_106_in_rule__OperationCS__Group_10_0_1_2__2__Impl25631); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getOperationCSAccess().getColonKeyword_10_0_1_2_2()); 
             }
@@ -37021,21 +38124,21 @@
 
 
     // $ANTLR start "rule__OperationCS__Group_10_0_1_2__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11756:1: rule__OperationCS__Group_10_0_1_2__3 : rule__OperationCS__Group_10_0_1_2__3__Impl rule__OperationCS__Group_10_0_1_2__4 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12283:1: rule__OperationCS__Group_10_0_1_2__3 : rule__OperationCS__Group_10_0_1_2__3__Impl rule__OperationCS__Group_10_0_1_2__4 ;
     public final void rule__OperationCS__Group_10_0_1_2__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11760:1: ( rule__OperationCS__Group_10_0_1_2__3__Impl rule__OperationCS__Group_10_0_1_2__4 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11761:2: rule__OperationCS__Group_10_0_1_2__3__Impl rule__OperationCS__Group_10_0_1_2__4
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12287:1: ( rule__OperationCS__Group_10_0_1_2__3__Impl rule__OperationCS__Group_10_0_1_2__4 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12288:2: rule__OperationCS__Group_10_0_1_2__3__Impl rule__OperationCS__Group_10_0_1_2__4
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_10_0_1_2__3__Impl_in_rule__OperationCS__Group_10_0_1_2__324769);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_10_0_1_2__3__Impl_in_rule__OperationCS__Group_10_0_1_2__325662);
             rule__OperationCS__Group_10_0_1_2__3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_10_0_1_2__4_in_rule__OperationCS__Group_10_0_1_2__324772);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_10_0_1_2__4_in_rule__OperationCS__Group_10_0_1_2__325665);
             rule__OperationCS__Group_10_0_1_2__4();
 
             state._fsp--;
@@ -37059,33 +38162,33 @@
 
 
     // $ANTLR start "rule__OperationCS__Group_10_0_1_2__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11768:1: rule__OperationCS__Group_10_0_1_2__3__Impl : ( ( rule__OperationCS__OwnedBodyExpressionsAssignment_10_0_1_2_3 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12295:1: rule__OperationCS__Group_10_0_1_2__3__Impl : ( ( rule__OperationCS__OwnedBodyExpressionsAssignment_10_0_1_2_3 )? ) ;
     public final void rule__OperationCS__Group_10_0_1_2__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11772:1: ( ( ( rule__OperationCS__OwnedBodyExpressionsAssignment_10_0_1_2_3 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11773:1: ( ( rule__OperationCS__OwnedBodyExpressionsAssignment_10_0_1_2_3 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12299:1: ( ( ( rule__OperationCS__OwnedBodyExpressionsAssignment_10_0_1_2_3 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12300:1: ( ( rule__OperationCS__OwnedBodyExpressionsAssignment_10_0_1_2_3 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11773:1: ( ( rule__OperationCS__OwnedBodyExpressionsAssignment_10_0_1_2_3 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11774:1: ( rule__OperationCS__OwnedBodyExpressionsAssignment_10_0_1_2_3 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12300:1: ( ( rule__OperationCS__OwnedBodyExpressionsAssignment_10_0_1_2_3 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12301:1: ( rule__OperationCS__OwnedBodyExpressionsAssignment_10_0_1_2_3 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getOwnedBodyExpressionsAssignment_10_0_1_2_3()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11775:1: ( rule__OperationCS__OwnedBodyExpressionsAssignment_10_0_1_2_3 )?
-            int alt141=2;
-            int LA141_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12302:1: ( rule__OperationCS__OwnedBodyExpressionsAssignment_10_0_1_2_3 )?
+            int alt161=2;
+            int LA161_0 = input.LA(1);
 
-            if ( ((LA141_0>=RULE_INT && LA141_0<=RULE_SINGLE_QUOTED_STRING)||(LA141_0>=RULE_SIMPLE_ID && LA141_0<=RULE_UNQUOTED_STRING)||(LA141_0>=17 && LA141_0<=52)||(LA141_0>=55 && LA141_0<=63)||(LA141_0>=80 && LA141_0<=93)||LA141_0==95||(LA141_0>=105 && LA141_0<=107)||LA141_0==112||(LA141_0>=117 && LA141_0<=118)||(LA141_0>=131 && LA141_0<=132)) ) {
-                alt141=1;
+            if ( ((LA161_0>=RULE_INT && LA161_0<=RULE_SINGLE_QUOTED_STRING)||(LA161_0>=RULE_SIMPLE_ID && LA161_0<=RULE_UNQUOTED_STRING)||(LA161_0>=17 && LA161_0<=52)||(LA161_0>=64 && LA161_0<=72)||(LA161_0>=89 && LA161_0<=102)||LA161_0==104||(LA161_0>=114 && LA161_0<=116)||LA161_0==121||(LA161_0>=126 && LA161_0<=127)||(LA161_0>=131 && LA161_0<=132)) ) {
+                alt161=1;
             }
-            switch (alt141) {
+            switch (alt161) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11775:2: rule__OperationCS__OwnedBodyExpressionsAssignment_10_0_1_2_3
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12302:2: rule__OperationCS__OwnedBodyExpressionsAssignment_10_0_1_2_3
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__OperationCS__OwnedBodyExpressionsAssignment_10_0_1_2_3_in_rule__OperationCS__Group_10_0_1_2__3__Impl24799);
+                    pushFollow(FollowSets001.FOLLOW_rule__OperationCS__OwnedBodyExpressionsAssignment_10_0_1_2_3_in_rule__OperationCS__Group_10_0_1_2__3__Impl25692);
                     rule__OperationCS__OwnedBodyExpressionsAssignment_10_0_1_2_3();
 
                     state._fsp--;
@@ -37121,16 +38224,16 @@
 
 
     // $ANTLR start "rule__OperationCS__Group_10_0_1_2__4"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11785:1: rule__OperationCS__Group_10_0_1_2__4 : rule__OperationCS__Group_10_0_1_2__4__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12312:1: rule__OperationCS__Group_10_0_1_2__4 : rule__OperationCS__Group_10_0_1_2__4__Impl ;
     public final void rule__OperationCS__Group_10_0_1_2__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11789:1: ( rule__OperationCS__Group_10_0_1_2__4__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11790:2: rule__OperationCS__Group_10_0_1_2__4__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12316:1: ( rule__OperationCS__Group_10_0_1_2__4__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12317:2: rule__OperationCS__Group_10_0_1_2__4__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_10_0_1_2__4__Impl_in_rule__OperationCS__Group_10_0_1_2__424830);
+            pushFollow(FollowSets001.FOLLOW_rule__OperationCS__Group_10_0_1_2__4__Impl_in_rule__OperationCS__Group_10_0_1_2__425723);
             rule__OperationCS__Group_10_0_1_2__4__Impl();
 
             state._fsp--;
@@ -37154,22 +38257,22 @@
 
 
     // $ANTLR start "rule__OperationCS__Group_10_0_1_2__4__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11796:1: rule__OperationCS__Group_10_0_1_2__4__Impl : ( ';' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12323:1: rule__OperationCS__Group_10_0_1_2__4__Impl : ( ';' ) ;
     public final void rule__OperationCS__Group_10_0_1_2__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11800:1: ( ( ';' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11801:1: ( ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12327:1: ( ( ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12328:1: ( ';' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11801:1: ( ';' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11802:1: ';'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12328:1: ( ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12329:1: ';'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getSemicolonKeyword_10_0_1_2_4()); 
             }
-            match(input,53,FollowSets001.FOLLOW_53_in_rule__OperationCS__Group_10_0_1_2__4__Impl24858); if (state.failed) return ;
+            match(input,53,FollowSets001.FOLLOW_53_in_rule__OperationCS__Group_10_0_1_2__4__Impl25751); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getOperationCSAccess().getSemicolonKeyword_10_0_1_2_4()); 
             }
@@ -37195,21 +38298,21 @@
 
 
     // $ANTLR start "rule__PackageCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11825:1: rule__PackageCS__Group__0 : rule__PackageCS__Group__0__Impl rule__PackageCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12352:1: rule__PackageCS__Group__0 : rule__PackageCS__Group__0__Impl rule__PackageCS__Group__1 ;
     public final void rule__PackageCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11829:1: ( rule__PackageCS__Group__0__Impl rule__PackageCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11830:2: rule__PackageCS__Group__0__Impl rule__PackageCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12356:1: ( rule__PackageCS__Group__0__Impl rule__PackageCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12357:2: rule__PackageCS__Group__0__Impl rule__PackageCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group__0__Impl_in_rule__PackageCS__Group__024899);
+            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group__0__Impl_in_rule__PackageCS__Group__025792);
             rule__PackageCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group__1_in_rule__PackageCS__Group__024902);
+            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group__1_in_rule__PackageCS__Group__025795);
             rule__PackageCS__Group__1();
 
             state._fsp--;
@@ -37233,22 +38336,22 @@
 
 
     // $ANTLR start "rule__PackageCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11837:1: rule__PackageCS__Group__0__Impl : ( 'package' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12364:1: rule__PackageCS__Group__0__Impl : ( 'package' ) ;
     public final void rule__PackageCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11841:1: ( ( 'package' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11842:1: ( 'package' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12368:1: ( ( 'package' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12369:1: ( 'package' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11842:1: ( 'package' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11843:1: 'package'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12369:1: ( 'package' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12370:1: 'package'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPackageCSAccess().getPackageKeyword_0()); 
             }
-            match(input,38,FollowSets001.FOLLOW_38_in_rule__PackageCS__Group__0__Impl24930); if (state.failed) return ;
+            match(input,38,FollowSets001.FOLLOW_38_in_rule__PackageCS__Group__0__Impl25823); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPackageCSAccess().getPackageKeyword_0()); 
             }
@@ -37274,21 +38377,21 @@
 
 
     // $ANTLR start "rule__PackageCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11856:1: rule__PackageCS__Group__1 : rule__PackageCS__Group__1__Impl rule__PackageCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12383:1: rule__PackageCS__Group__1 : rule__PackageCS__Group__1__Impl rule__PackageCS__Group__2 ;
     public final void rule__PackageCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11860:1: ( rule__PackageCS__Group__1__Impl rule__PackageCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11861:2: rule__PackageCS__Group__1__Impl rule__PackageCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12387:1: ( rule__PackageCS__Group__1__Impl rule__PackageCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12388:2: rule__PackageCS__Group__1__Impl rule__PackageCS__Group__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group__1__Impl_in_rule__PackageCS__Group__124961);
+            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group__1__Impl_in_rule__PackageCS__Group__125854);
             rule__PackageCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group__2_in_rule__PackageCS__Group__124964);
+            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group__2_in_rule__PackageCS__Group__125857);
             rule__PackageCS__Group__2();
 
             state._fsp--;
@@ -37312,25 +38415,25 @@
 
 
     // $ANTLR start "rule__PackageCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11868:1: rule__PackageCS__Group__1__Impl : ( ( rule__PackageCS__NameAssignment_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12395:1: rule__PackageCS__Group__1__Impl : ( ( rule__PackageCS__NameAssignment_1 ) ) ;
     public final void rule__PackageCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11872:1: ( ( ( rule__PackageCS__NameAssignment_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11873:1: ( ( rule__PackageCS__NameAssignment_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12399:1: ( ( ( rule__PackageCS__NameAssignment_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12400:1: ( ( rule__PackageCS__NameAssignment_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11873:1: ( ( rule__PackageCS__NameAssignment_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11874:1: ( rule__PackageCS__NameAssignment_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12400:1: ( ( rule__PackageCS__NameAssignment_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12401:1: ( rule__PackageCS__NameAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPackageCSAccess().getNameAssignment_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11875:1: ( rule__PackageCS__NameAssignment_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11875:2: rule__PackageCS__NameAssignment_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12402:1: ( rule__PackageCS__NameAssignment_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12402:2: rule__PackageCS__NameAssignment_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__NameAssignment_1_in_rule__PackageCS__Group__1__Impl24991);
+            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__NameAssignment_1_in_rule__PackageCS__Group__1__Impl25884);
             rule__PackageCS__NameAssignment_1();
 
             state._fsp--;
@@ -37363,21 +38466,21 @@
 
 
     // $ANTLR start "rule__PackageCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11885:1: rule__PackageCS__Group__2 : rule__PackageCS__Group__2__Impl rule__PackageCS__Group__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12412:1: rule__PackageCS__Group__2 : rule__PackageCS__Group__2__Impl rule__PackageCS__Group__3 ;
     public final void rule__PackageCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11889:1: ( rule__PackageCS__Group__2__Impl rule__PackageCS__Group__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11890:2: rule__PackageCS__Group__2__Impl rule__PackageCS__Group__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12416:1: ( rule__PackageCS__Group__2__Impl rule__PackageCS__Group__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12417:2: rule__PackageCS__Group__2__Impl rule__PackageCS__Group__3
             {
-            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group__2__Impl_in_rule__PackageCS__Group__225021);
+            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group__2__Impl_in_rule__PackageCS__Group__225914);
             rule__PackageCS__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group__3_in_rule__PackageCS__Group__225024);
+            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group__3_in_rule__PackageCS__Group__225917);
             rule__PackageCS__Group__3();
 
             state._fsp--;
@@ -37401,33 +38504,33 @@
 
 
     // $ANTLR start "rule__PackageCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11897:1: rule__PackageCS__Group__2__Impl : ( ( rule__PackageCS__Group_2__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12424:1: rule__PackageCS__Group__2__Impl : ( ( rule__PackageCS__Group_2__0 )? ) ;
     public final void rule__PackageCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11901:1: ( ( ( rule__PackageCS__Group_2__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11902:1: ( ( rule__PackageCS__Group_2__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12428:1: ( ( ( rule__PackageCS__Group_2__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12429:1: ( ( rule__PackageCS__Group_2__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11902:1: ( ( rule__PackageCS__Group_2__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11903:1: ( rule__PackageCS__Group_2__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12429:1: ( ( rule__PackageCS__Group_2__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12430:1: ( rule__PackageCS__Group_2__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPackageCSAccess().getGroup_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11904:1: ( rule__PackageCS__Group_2__0 )?
-            int alt142=2;
-            int LA142_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12431:1: ( rule__PackageCS__Group_2__0 )?
+            int alt162=2;
+            int LA162_0 = input.LA(1);
 
-            if ( (LA142_0==97) ) {
-                alt142=1;
+            if ( (LA162_0==106) ) {
+                alt162=1;
             }
-            switch (alt142) {
+            switch (alt162) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11904:2: rule__PackageCS__Group_2__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12431:2: rule__PackageCS__Group_2__0
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group_2__0_in_rule__PackageCS__Group__2__Impl25051);
+                    pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group_2__0_in_rule__PackageCS__Group__2__Impl25944);
                     rule__PackageCS__Group_2__0();
 
                     state._fsp--;
@@ -37463,21 +38566,21 @@
 
 
     // $ANTLR start "rule__PackageCS__Group__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11914:1: rule__PackageCS__Group__3 : rule__PackageCS__Group__3__Impl rule__PackageCS__Group__4 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12441:1: rule__PackageCS__Group__3 : rule__PackageCS__Group__3__Impl rule__PackageCS__Group__4 ;
     public final void rule__PackageCS__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11918:1: ( rule__PackageCS__Group__3__Impl rule__PackageCS__Group__4 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11919:2: rule__PackageCS__Group__3__Impl rule__PackageCS__Group__4
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12445:1: ( rule__PackageCS__Group__3__Impl rule__PackageCS__Group__4 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12446:2: rule__PackageCS__Group__3__Impl rule__PackageCS__Group__4
             {
-            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group__3__Impl_in_rule__PackageCS__Group__325082);
+            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group__3__Impl_in_rule__PackageCS__Group__325975);
             rule__PackageCS__Group__3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group__4_in_rule__PackageCS__Group__325085);
+            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group__4_in_rule__PackageCS__Group__325978);
             rule__PackageCS__Group__4();
 
             state._fsp--;
@@ -37501,33 +38604,33 @@
 
 
     // $ANTLR start "rule__PackageCS__Group__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11926:1: rule__PackageCS__Group__3__Impl : ( ( rule__PackageCS__Group_3__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12453:1: rule__PackageCS__Group__3__Impl : ( ( rule__PackageCS__Group_3__0 )? ) ;
     public final void rule__PackageCS__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11930:1: ( ( ( rule__PackageCS__Group_3__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11931:1: ( ( rule__PackageCS__Group_3__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12457:1: ( ( ( rule__PackageCS__Group_3__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12458:1: ( ( rule__PackageCS__Group_3__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11931:1: ( ( rule__PackageCS__Group_3__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11932:1: ( rule__PackageCS__Group_3__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12458:1: ( ( rule__PackageCS__Group_3__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12459:1: ( rule__PackageCS__Group_3__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPackageCSAccess().getGroup_3()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11933:1: ( rule__PackageCS__Group_3__0 )?
-            int alt143=2;
-            int LA143_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12460:1: ( rule__PackageCS__Group_3__0 )?
+            int alt163=2;
+            int LA163_0 = input.LA(1);
 
-            if ( (LA143_0==70) ) {
-                alt143=1;
+            if ( (LA163_0==79) ) {
+                alt163=1;
             }
-            switch (alt143) {
+            switch (alt163) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11933:2: rule__PackageCS__Group_3__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12460:2: rule__PackageCS__Group_3__0
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group_3__0_in_rule__PackageCS__Group__3__Impl25112);
+                    pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group_3__0_in_rule__PackageCS__Group__3__Impl26005);
                     rule__PackageCS__Group_3__0();
 
                     state._fsp--;
@@ -37563,16 +38666,16 @@
 
 
     // $ANTLR start "rule__PackageCS__Group__4"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11943:1: rule__PackageCS__Group__4 : rule__PackageCS__Group__4__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12470:1: rule__PackageCS__Group__4 : rule__PackageCS__Group__4__Impl ;
     public final void rule__PackageCS__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11947:1: ( rule__PackageCS__Group__4__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11948:2: rule__PackageCS__Group__4__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12474:1: ( rule__PackageCS__Group__4__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12475:2: rule__PackageCS__Group__4__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group__4__Impl_in_rule__PackageCS__Group__425143);
+            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group__4__Impl_in_rule__PackageCS__Group__426036);
             rule__PackageCS__Group__4__Impl();
 
             state._fsp--;
@@ -37596,25 +38699,25 @@
 
 
     // $ANTLR start "rule__PackageCS__Group__4__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11954:1: rule__PackageCS__Group__4__Impl : ( ( rule__PackageCS__Alternatives_4 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12481:1: rule__PackageCS__Group__4__Impl : ( ( rule__PackageCS__Alternatives_4 ) ) ;
     public final void rule__PackageCS__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11958:1: ( ( ( rule__PackageCS__Alternatives_4 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11959:1: ( ( rule__PackageCS__Alternatives_4 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12485:1: ( ( ( rule__PackageCS__Alternatives_4 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12486:1: ( ( rule__PackageCS__Alternatives_4 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11959:1: ( ( rule__PackageCS__Alternatives_4 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11960:1: ( rule__PackageCS__Alternatives_4 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12486:1: ( ( rule__PackageCS__Alternatives_4 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12487:1: ( rule__PackageCS__Alternatives_4 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPackageCSAccess().getAlternatives_4()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11961:1: ( rule__PackageCS__Alternatives_4 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11961:2: rule__PackageCS__Alternatives_4
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12488:1: ( rule__PackageCS__Alternatives_4 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12488:2: rule__PackageCS__Alternatives_4
             {
-            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Alternatives_4_in_rule__PackageCS__Group__4__Impl25170);
+            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Alternatives_4_in_rule__PackageCS__Group__4__Impl26063);
             rule__PackageCS__Alternatives_4();
 
             state._fsp--;
@@ -37647,21 +38750,21 @@
 
 
     // $ANTLR start "rule__PackageCS__Group_2__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11981:1: rule__PackageCS__Group_2__0 : rule__PackageCS__Group_2__0__Impl rule__PackageCS__Group_2__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12508:1: rule__PackageCS__Group_2__0 : rule__PackageCS__Group_2__0__Impl rule__PackageCS__Group_2__1 ;
     public final void rule__PackageCS__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11985:1: ( rule__PackageCS__Group_2__0__Impl rule__PackageCS__Group_2__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11986:2: rule__PackageCS__Group_2__0__Impl rule__PackageCS__Group_2__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12512:1: ( rule__PackageCS__Group_2__0__Impl rule__PackageCS__Group_2__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12513:2: rule__PackageCS__Group_2__0__Impl rule__PackageCS__Group_2__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group_2__0__Impl_in_rule__PackageCS__Group_2__025210);
+            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group_2__0__Impl_in_rule__PackageCS__Group_2__026103);
             rule__PackageCS__Group_2__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group_2__1_in_rule__PackageCS__Group_2__025213);
+            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group_2__1_in_rule__PackageCS__Group_2__026106);
             rule__PackageCS__Group_2__1();
 
             state._fsp--;
@@ -37685,22 +38788,22 @@
 
 
     // $ANTLR start "rule__PackageCS__Group_2__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11993:1: rule__PackageCS__Group_2__0__Impl : ( ':' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12520:1: rule__PackageCS__Group_2__0__Impl : ( ':' ) ;
     public final void rule__PackageCS__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11997:1: ( ( ':' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11998:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12524:1: ( ( ':' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12525:1: ( ':' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11998:1: ( ':' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11999:1: ':'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12525:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12526:1: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPackageCSAccess().getColonKeyword_2_0()); 
             }
-            match(input,97,FollowSets001.FOLLOW_97_in_rule__PackageCS__Group_2__0__Impl25241); if (state.failed) return ;
+            match(input,106,FollowSets001.FOLLOW_106_in_rule__PackageCS__Group_2__0__Impl26134); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPackageCSAccess().getColonKeyword_2_0()); 
             }
@@ -37726,16 +38829,16 @@
 
 
     // $ANTLR start "rule__PackageCS__Group_2__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12012:1: rule__PackageCS__Group_2__1 : rule__PackageCS__Group_2__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12539:1: rule__PackageCS__Group_2__1 : rule__PackageCS__Group_2__1__Impl ;
     public final void rule__PackageCS__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12016:1: ( rule__PackageCS__Group_2__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12017:2: rule__PackageCS__Group_2__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12543:1: ( rule__PackageCS__Group_2__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12544:2: rule__PackageCS__Group_2__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group_2__1__Impl_in_rule__PackageCS__Group_2__125272);
+            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group_2__1__Impl_in_rule__PackageCS__Group_2__126165);
             rule__PackageCS__Group_2__1__Impl();
 
             state._fsp--;
@@ -37759,25 +38862,25 @@
 
 
     // $ANTLR start "rule__PackageCS__Group_2__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12023:1: rule__PackageCS__Group_2__1__Impl : ( ( rule__PackageCS__NsPrefixAssignment_2_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12550:1: rule__PackageCS__Group_2__1__Impl : ( ( rule__PackageCS__NsPrefixAssignment_2_1 ) ) ;
     public final void rule__PackageCS__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12027:1: ( ( ( rule__PackageCS__NsPrefixAssignment_2_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12028:1: ( ( rule__PackageCS__NsPrefixAssignment_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12554:1: ( ( ( rule__PackageCS__NsPrefixAssignment_2_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12555:1: ( ( rule__PackageCS__NsPrefixAssignment_2_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12028:1: ( ( rule__PackageCS__NsPrefixAssignment_2_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12029:1: ( rule__PackageCS__NsPrefixAssignment_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12555:1: ( ( rule__PackageCS__NsPrefixAssignment_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12556:1: ( rule__PackageCS__NsPrefixAssignment_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPackageCSAccess().getNsPrefixAssignment_2_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12030:1: ( rule__PackageCS__NsPrefixAssignment_2_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12030:2: rule__PackageCS__NsPrefixAssignment_2_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12557:1: ( rule__PackageCS__NsPrefixAssignment_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12557:2: rule__PackageCS__NsPrefixAssignment_2_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__NsPrefixAssignment_2_1_in_rule__PackageCS__Group_2__1__Impl25299);
+            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__NsPrefixAssignment_2_1_in_rule__PackageCS__Group_2__1__Impl26192);
             rule__PackageCS__NsPrefixAssignment_2_1();
 
             state._fsp--;
@@ -37810,21 +38913,21 @@
 
 
     // $ANTLR start "rule__PackageCS__Group_3__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12044:1: rule__PackageCS__Group_3__0 : rule__PackageCS__Group_3__0__Impl rule__PackageCS__Group_3__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12571:1: rule__PackageCS__Group_3__0 : rule__PackageCS__Group_3__0__Impl rule__PackageCS__Group_3__1 ;
     public final void rule__PackageCS__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12048:1: ( rule__PackageCS__Group_3__0__Impl rule__PackageCS__Group_3__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12049:2: rule__PackageCS__Group_3__0__Impl rule__PackageCS__Group_3__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12575:1: ( rule__PackageCS__Group_3__0__Impl rule__PackageCS__Group_3__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12576:2: rule__PackageCS__Group_3__0__Impl rule__PackageCS__Group_3__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group_3__0__Impl_in_rule__PackageCS__Group_3__025333);
+            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group_3__0__Impl_in_rule__PackageCS__Group_3__026226);
             rule__PackageCS__Group_3__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group_3__1_in_rule__PackageCS__Group_3__025336);
+            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group_3__1_in_rule__PackageCS__Group_3__026229);
             rule__PackageCS__Group_3__1();
 
             state._fsp--;
@@ -37848,22 +38951,22 @@
 
 
     // $ANTLR start "rule__PackageCS__Group_3__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12056:1: rule__PackageCS__Group_3__0__Impl : ( '=' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12583:1: rule__PackageCS__Group_3__0__Impl : ( '=' ) ;
     public final void rule__PackageCS__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12060:1: ( ( '=' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12061:1: ( '=' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12587:1: ( ( '=' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12588:1: ( '=' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12061:1: ( '=' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12062:1: '='
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12588:1: ( '=' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12589:1: '='
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPackageCSAccess().getEqualsSignKeyword_3_0()); 
             }
-            match(input,70,FollowSets001.FOLLOW_70_in_rule__PackageCS__Group_3__0__Impl25364); if (state.failed) return ;
+            match(input,79,FollowSets001.FOLLOW_79_in_rule__PackageCS__Group_3__0__Impl26257); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPackageCSAccess().getEqualsSignKeyword_3_0()); 
             }
@@ -37889,16 +38992,16 @@
 
 
     // $ANTLR start "rule__PackageCS__Group_3__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12075:1: rule__PackageCS__Group_3__1 : rule__PackageCS__Group_3__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12602:1: rule__PackageCS__Group_3__1 : rule__PackageCS__Group_3__1__Impl ;
     public final void rule__PackageCS__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12079:1: ( rule__PackageCS__Group_3__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12080:2: rule__PackageCS__Group_3__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12606:1: ( rule__PackageCS__Group_3__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12607:2: rule__PackageCS__Group_3__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group_3__1__Impl_in_rule__PackageCS__Group_3__125395);
+            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group_3__1__Impl_in_rule__PackageCS__Group_3__126288);
             rule__PackageCS__Group_3__1__Impl();
 
             state._fsp--;
@@ -37922,25 +39025,25 @@
 
 
     // $ANTLR start "rule__PackageCS__Group_3__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12086:1: rule__PackageCS__Group_3__1__Impl : ( ( rule__PackageCS__NsURIAssignment_3_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12613:1: rule__PackageCS__Group_3__1__Impl : ( ( rule__PackageCS__NsURIAssignment_3_1 ) ) ;
     public final void rule__PackageCS__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12090:1: ( ( ( rule__PackageCS__NsURIAssignment_3_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12091:1: ( ( rule__PackageCS__NsURIAssignment_3_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12617:1: ( ( ( rule__PackageCS__NsURIAssignment_3_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12618:1: ( ( rule__PackageCS__NsURIAssignment_3_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12091:1: ( ( rule__PackageCS__NsURIAssignment_3_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12092:1: ( rule__PackageCS__NsURIAssignment_3_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12618:1: ( ( rule__PackageCS__NsURIAssignment_3_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12619:1: ( rule__PackageCS__NsURIAssignment_3_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPackageCSAccess().getNsURIAssignment_3_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12093:1: ( rule__PackageCS__NsURIAssignment_3_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12093:2: rule__PackageCS__NsURIAssignment_3_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12620:1: ( rule__PackageCS__NsURIAssignment_3_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12620:2: rule__PackageCS__NsURIAssignment_3_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__NsURIAssignment_3_1_in_rule__PackageCS__Group_3__1__Impl25422);
+            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__NsURIAssignment_3_1_in_rule__PackageCS__Group_3__1__Impl26315);
             rule__PackageCS__NsURIAssignment_3_1();
 
             state._fsp--;
@@ -37973,21 +39076,21 @@
 
 
     // $ANTLR start "rule__PackageCS__Group_4_0__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12107:1: rule__PackageCS__Group_4_0__0 : rule__PackageCS__Group_4_0__0__Impl rule__PackageCS__Group_4_0__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12634:1: rule__PackageCS__Group_4_0__0 : rule__PackageCS__Group_4_0__0__Impl rule__PackageCS__Group_4_0__1 ;
     public final void rule__PackageCS__Group_4_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12111:1: ( rule__PackageCS__Group_4_0__0__Impl rule__PackageCS__Group_4_0__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12112:2: rule__PackageCS__Group_4_0__0__Impl rule__PackageCS__Group_4_0__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12638:1: ( rule__PackageCS__Group_4_0__0__Impl rule__PackageCS__Group_4_0__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12639:2: rule__PackageCS__Group_4_0__0__Impl rule__PackageCS__Group_4_0__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group_4_0__0__Impl_in_rule__PackageCS__Group_4_0__025456);
+            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group_4_0__0__Impl_in_rule__PackageCS__Group_4_0__026349);
             rule__PackageCS__Group_4_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group_4_0__1_in_rule__PackageCS__Group_4_0__025459);
+            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group_4_0__1_in_rule__PackageCS__Group_4_0__026352);
             rule__PackageCS__Group_4_0__1();
 
             state._fsp--;
@@ -38011,22 +39114,22 @@
 
 
     // $ANTLR start "rule__PackageCS__Group_4_0__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12119:1: rule__PackageCS__Group_4_0__0__Impl : ( '{' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12646:1: rule__PackageCS__Group_4_0__0__Impl : ( '{' ) ;
     public final void rule__PackageCS__Group_4_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12123:1: ( ( '{' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12124:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12650:1: ( ( '{' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12651:1: ( '{' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12124:1: ( '{' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12125:1: '{'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12651:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12652:1: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPackageCSAccess().getLeftCurlyBracketKeyword_4_0_0()); 
             }
-            match(input,99,FollowSets001.FOLLOW_99_in_rule__PackageCS__Group_4_0__0__Impl25487); if (state.failed) return ;
+            match(input,108,FollowSets001.FOLLOW_108_in_rule__PackageCS__Group_4_0__0__Impl26380); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPackageCSAccess().getLeftCurlyBracketKeyword_4_0_0()); 
             }
@@ -38052,21 +39155,21 @@
 
 
     // $ANTLR start "rule__PackageCS__Group_4_0__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12138:1: rule__PackageCS__Group_4_0__1 : rule__PackageCS__Group_4_0__1__Impl rule__PackageCS__Group_4_0__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12665:1: rule__PackageCS__Group_4_0__1 : rule__PackageCS__Group_4_0__1__Impl rule__PackageCS__Group_4_0__2 ;
     public final void rule__PackageCS__Group_4_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12142:1: ( rule__PackageCS__Group_4_0__1__Impl rule__PackageCS__Group_4_0__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12143:2: rule__PackageCS__Group_4_0__1__Impl rule__PackageCS__Group_4_0__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12669:1: ( rule__PackageCS__Group_4_0__1__Impl rule__PackageCS__Group_4_0__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12670:2: rule__PackageCS__Group_4_0__1__Impl rule__PackageCS__Group_4_0__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group_4_0__1__Impl_in_rule__PackageCS__Group_4_0__125518);
+            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group_4_0__1__Impl_in_rule__PackageCS__Group_4_0__126411);
             rule__PackageCS__Group_4_0__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group_4_0__2_in_rule__PackageCS__Group_4_0__125521);
+            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group_4_0__2_in_rule__PackageCS__Group_4_0__126414);
             rule__PackageCS__Group_4_0__2();
 
             state._fsp--;
@@ -38090,37 +39193,37 @@
 
 
     // $ANTLR start "rule__PackageCS__Group_4_0__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12150:1: rule__PackageCS__Group_4_0__1__Impl : ( ( rule__PackageCS__Alternatives_4_0_1 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12677:1: rule__PackageCS__Group_4_0__1__Impl : ( ( rule__PackageCS__Alternatives_4_0_1 )* ) ;
     public final void rule__PackageCS__Group_4_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12154:1: ( ( ( rule__PackageCS__Alternatives_4_0_1 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12155:1: ( ( rule__PackageCS__Alternatives_4_0_1 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12681:1: ( ( ( rule__PackageCS__Alternatives_4_0_1 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12682:1: ( ( rule__PackageCS__Alternatives_4_0_1 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12155:1: ( ( rule__PackageCS__Alternatives_4_0_1 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12156:1: ( rule__PackageCS__Alternatives_4_0_1 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12682:1: ( ( rule__PackageCS__Alternatives_4_0_1 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12683:1: ( rule__PackageCS__Alternatives_4_0_1 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPackageCSAccess().getAlternatives_4_0_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12157:1: ( rule__PackageCS__Alternatives_4_0_1 )*
-            loop144:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12684:1: ( rule__PackageCS__Alternatives_4_0_1 )*
+            loop164:
             do {
-                int alt144=2;
-                int LA144_0 = input.LA(1);
+                int alt164=2;
+                int LA164_0 = input.LA(1);
 
-                if ( (LA144_0==17||LA144_0==21||LA144_0==23||LA144_0==27||LA144_0==38||LA144_0==41||(LA144_0>=55 && LA144_0<=56)||LA144_0==60) ) {
-                    alt144=1;
+                if ( (LA164_0==17||LA164_0==21||LA164_0==23||LA164_0==27||LA164_0==38||LA164_0==41||(LA164_0>=64 && LA164_0<=65)||LA164_0==69) ) {
+                    alt164=1;
                 }
 
 
-                switch (alt144) {
+                switch (alt164) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12157:2: rule__PackageCS__Alternatives_4_0_1
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12684:2: rule__PackageCS__Alternatives_4_0_1
             	    {
-            	    pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Alternatives_4_0_1_in_rule__PackageCS__Group_4_0__1__Impl25548);
+            	    pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Alternatives_4_0_1_in_rule__PackageCS__Group_4_0__1__Impl26441);
             	    rule__PackageCS__Alternatives_4_0_1();
 
             	    state._fsp--;
@@ -38130,7 +39233,7 @@
             	    break;
 
             	default :
-            	    break loop144;
+            	    break loop164;
                 }
             } while (true);
 
@@ -38159,16 +39262,16 @@
 
 
     // $ANTLR start "rule__PackageCS__Group_4_0__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12167:1: rule__PackageCS__Group_4_0__2 : rule__PackageCS__Group_4_0__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12694:1: rule__PackageCS__Group_4_0__2 : rule__PackageCS__Group_4_0__2__Impl ;
     public final void rule__PackageCS__Group_4_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12171:1: ( rule__PackageCS__Group_4_0__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12172:2: rule__PackageCS__Group_4_0__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12698:1: ( rule__PackageCS__Group_4_0__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12699:2: rule__PackageCS__Group_4_0__2__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group_4_0__2__Impl_in_rule__PackageCS__Group_4_0__225579);
+            pushFollow(FollowSets001.FOLLOW_rule__PackageCS__Group_4_0__2__Impl_in_rule__PackageCS__Group_4_0__226472);
             rule__PackageCS__Group_4_0__2__Impl();
 
             state._fsp--;
@@ -38192,22 +39295,22 @@
 
 
     // $ANTLR start "rule__PackageCS__Group_4_0__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12178:1: rule__PackageCS__Group_4_0__2__Impl : ( '}' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12705:1: rule__PackageCS__Group_4_0__2__Impl : ( '}' ) ;
     public final void rule__PackageCS__Group_4_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12182:1: ( ( '}' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12183:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12709:1: ( ( '}' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12710:1: ( '}' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12183:1: ( '}' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12184:1: '}'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12710:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12711:1: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPackageCSAccess().getRightCurlyBracketKeyword_4_0_2()); 
             }
-            match(input,100,FollowSets001.FOLLOW_100_in_rule__PackageCS__Group_4_0__2__Impl25607); if (state.failed) return ;
+            match(input,109,FollowSets001.FOLLOW_109_in_rule__PackageCS__Group_4_0__2__Impl26500); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPackageCSAccess().getRightCurlyBracketKeyword_4_0_2()); 
             }
@@ -38233,21 +39336,21 @@
 
 
     // $ANTLR start "rule__ParameterCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12203:1: rule__ParameterCS__Group__0 : rule__ParameterCS__Group__0__Impl rule__ParameterCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12730:1: rule__ParameterCS__Group__0 : rule__ParameterCS__Group__0__Impl rule__ParameterCS__Group__1 ;
     public final void rule__ParameterCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12207:1: ( rule__ParameterCS__Group__0__Impl rule__ParameterCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12208:2: rule__ParameterCS__Group__0__Impl rule__ParameterCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12734:1: ( rule__ParameterCS__Group__0__Impl rule__ParameterCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12735:2: rule__ParameterCS__Group__0__Impl rule__ParameterCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group__0__Impl_in_rule__ParameterCS__Group__025644);
+            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group__0__Impl_in_rule__ParameterCS__Group__026537);
             rule__ParameterCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group__1_in_rule__ParameterCS__Group__025647);
+            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group__1_in_rule__ParameterCS__Group__026540);
             rule__ParameterCS__Group__1();
 
             state._fsp--;
@@ -38271,25 +39374,25 @@
 
 
     // $ANTLR start "rule__ParameterCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12215:1: rule__ParameterCS__Group__0__Impl : ( ( rule__ParameterCS__NameAssignment_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12742:1: rule__ParameterCS__Group__0__Impl : ( ( rule__ParameterCS__NameAssignment_0 ) ) ;
     public final void rule__ParameterCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12219:1: ( ( ( rule__ParameterCS__NameAssignment_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12220:1: ( ( rule__ParameterCS__NameAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12746:1: ( ( ( rule__ParameterCS__NameAssignment_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12747:1: ( ( rule__ParameterCS__NameAssignment_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12220:1: ( ( rule__ParameterCS__NameAssignment_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12221:1: ( rule__ParameterCS__NameAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12747:1: ( ( rule__ParameterCS__NameAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12748:1: ( rule__ParameterCS__NameAssignment_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getParameterCSAccess().getNameAssignment_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12222:1: ( rule__ParameterCS__NameAssignment_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12222:2: rule__ParameterCS__NameAssignment_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12749:1: ( rule__ParameterCS__NameAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12749:2: rule__ParameterCS__NameAssignment_0
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__NameAssignment_0_in_rule__ParameterCS__Group__0__Impl25674);
+            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__NameAssignment_0_in_rule__ParameterCS__Group__0__Impl26567);
             rule__ParameterCS__NameAssignment_0();
 
             state._fsp--;
@@ -38322,21 +39425,21 @@
 
 
     // $ANTLR start "rule__ParameterCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12232:1: rule__ParameterCS__Group__1 : rule__ParameterCS__Group__1__Impl rule__ParameterCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12759:1: rule__ParameterCS__Group__1 : rule__ParameterCS__Group__1__Impl rule__ParameterCS__Group__2 ;
     public final void rule__ParameterCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12236:1: ( rule__ParameterCS__Group__1__Impl rule__ParameterCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12237:2: rule__ParameterCS__Group__1__Impl rule__ParameterCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12763:1: ( rule__ParameterCS__Group__1__Impl rule__ParameterCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12764:2: rule__ParameterCS__Group__1__Impl rule__ParameterCS__Group__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group__1__Impl_in_rule__ParameterCS__Group__125704);
+            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group__1__Impl_in_rule__ParameterCS__Group__126597);
             rule__ParameterCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group__2_in_rule__ParameterCS__Group__125707);
+            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group__2_in_rule__ParameterCS__Group__126600);
             rule__ParameterCS__Group__2();
 
             state._fsp--;
@@ -38360,33 +39463,33 @@
 
 
     // $ANTLR start "rule__ParameterCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12244:1: rule__ParameterCS__Group__1__Impl : ( ( rule__ParameterCS__Group_1__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12771:1: rule__ParameterCS__Group__1__Impl : ( ( rule__ParameterCS__Group_1__0 )? ) ;
     public final void rule__ParameterCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12248:1: ( ( ( rule__ParameterCS__Group_1__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12249:1: ( ( rule__ParameterCS__Group_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12775:1: ( ( ( rule__ParameterCS__Group_1__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12776:1: ( ( rule__ParameterCS__Group_1__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12249:1: ( ( rule__ParameterCS__Group_1__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12250:1: ( rule__ParameterCS__Group_1__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12776:1: ( ( rule__ParameterCS__Group_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12777:1: ( rule__ParameterCS__Group_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getParameterCSAccess().getGroup_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12251:1: ( rule__ParameterCS__Group_1__0 )?
-            int alt145=2;
-            int LA145_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12778:1: ( rule__ParameterCS__Group_1__0 )?
+            int alt165=2;
+            int LA165_0 = input.LA(1);
 
-            if ( (LA145_0==97) ) {
-                alt145=1;
+            if ( (LA165_0==106) ) {
+                alt165=1;
             }
-            switch (alt145) {
+            switch (alt165) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12251:2: rule__ParameterCS__Group_1__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12778:2: rule__ParameterCS__Group_1__0
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_1__0_in_rule__ParameterCS__Group__1__Impl25734);
+                    pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_1__0_in_rule__ParameterCS__Group__1__Impl26627);
                     rule__ParameterCS__Group_1__0();
 
                     state._fsp--;
@@ -38422,21 +39525,21 @@
 
 
     // $ANTLR start "rule__ParameterCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12261:1: rule__ParameterCS__Group__2 : rule__ParameterCS__Group__2__Impl rule__ParameterCS__Group__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12788:1: rule__ParameterCS__Group__2 : rule__ParameterCS__Group__2__Impl rule__ParameterCS__Group__3 ;
     public final void rule__ParameterCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12265:1: ( rule__ParameterCS__Group__2__Impl rule__ParameterCS__Group__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12266:2: rule__ParameterCS__Group__2__Impl rule__ParameterCS__Group__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12792:1: ( rule__ParameterCS__Group__2__Impl rule__ParameterCS__Group__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12793:2: rule__ParameterCS__Group__2__Impl rule__ParameterCS__Group__3
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group__2__Impl_in_rule__ParameterCS__Group__225765);
+            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group__2__Impl_in_rule__ParameterCS__Group__226658);
             rule__ParameterCS__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group__3_in_rule__ParameterCS__Group__225768);
+            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group__3_in_rule__ParameterCS__Group__226661);
             rule__ParameterCS__Group__3();
 
             state._fsp--;
@@ -38460,38 +39563,30 @@
 
 
     // $ANTLR start "rule__ParameterCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12273:1: rule__ParameterCS__Group__2__Impl : ( ( rule__ParameterCS__Group_2__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12800:1: rule__ParameterCS__Group__2__Impl : ( ( rule__ParameterCS__UnorderedGroup_2 )? ) ;
     public final void rule__ParameterCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12277:1: ( ( ( rule__ParameterCS__Group_2__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12278:1: ( ( rule__ParameterCS__Group_2__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12804:1: ( ( ( rule__ParameterCS__UnorderedGroup_2 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12805:1: ( ( rule__ParameterCS__UnorderedGroup_2 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12278:1: ( ( rule__ParameterCS__Group_2__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12279:1: ( rule__ParameterCS__Group_2__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12805:1: ( ( rule__ParameterCS__UnorderedGroup_2 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12806:1: ( rule__ParameterCS__UnorderedGroup_2 )?
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getParameterCSAccess().getGroup_2()); 
+               before(grammarAccess.getParameterCSAccess().getUnorderedGroup_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12280:1: ( rule__ParameterCS__Group_2__0 )?
-            int alt146=2;
-            int LA146_0 = input.LA(1);
-
-            if ( (LA146_0==99) ) {
-                int LA146_1 = input.LA(2);
-
-                if ( (LA146_1==37||LA146_1==50||LA146_1==122||LA146_1==125) ) {
-                    alt146=1;
-                }
-            }
-            switch (alt146) {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12807:1: ( rule__ParameterCS__UnorderedGroup_2 )?
+            int alt166=2;
+            alt166 = dfa166.predict(input);
+            switch (alt166) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12280:2: rule__ParameterCS__Group_2__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12807:2: rule__ParameterCS__UnorderedGroup_2
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_2__0_in_rule__ParameterCS__Group__2__Impl25795);
-                    rule__ParameterCS__Group_2__0();
+                    pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__UnorderedGroup_2_in_rule__ParameterCS__Group__2__Impl26688);
+                    rule__ParameterCS__UnorderedGroup_2();
 
                     state._fsp--;
                     if (state.failed) return ;
@@ -38502,7 +39597,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getParameterCSAccess().getGroup_2()); 
+               after(grammarAccess.getParameterCSAccess().getUnorderedGroup_2()); 
             }
 
             }
@@ -38526,16 +39621,16 @@
 
 
     // $ANTLR start "rule__ParameterCS__Group__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12290:1: rule__ParameterCS__Group__3 : rule__ParameterCS__Group__3__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12817:1: rule__ParameterCS__Group__3 : rule__ParameterCS__Group__3__Impl ;
     public final void rule__ParameterCS__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12294:1: ( rule__ParameterCS__Group__3__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12295:2: rule__ParameterCS__Group__3__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12821:1: ( rule__ParameterCS__Group__3__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12822:2: rule__ParameterCS__Group__3__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group__3__Impl_in_rule__ParameterCS__Group__325826);
+            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group__3__Impl_in_rule__ParameterCS__Group__326719);
             rule__ParameterCS__Group__3__Impl();
 
             state._fsp--;
@@ -38559,33 +39654,33 @@
 
 
     // $ANTLR start "rule__ParameterCS__Group__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12301:1: rule__ParameterCS__Group__3__Impl : ( ( rule__ParameterCS__Group_3__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12828:1: rule__ParameterCS__Group__3__Impl : ( ( rule__ParameterCS__Group_3__0 )? ) ;
     public final void rule__ParameterCS__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12305:1: ( ( ( rule__ParameterCS__Group_3__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12306:1: ( ( rule__ParameterCS__Group_3__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12832:1: ( ( ( rule__ParameterCS__Group_3__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12833:1: ( ( rule__ParameterCS__Group_3__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12306:1: ( ( rule__ParameterCS__Group_3__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12307:1: ( rule__ParameterCS__Group_3__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12833:1: ( ( rule__ParameterCS__Group_3__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12834:1: ( rule__ParameterCS__Group_3__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getParameterCSAccess().getGroup_3()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12308:1: ( rule__ParameterCS__Group_3__0 )?
-            int alt147=2;
-            int LA147_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12835:1: ( rule__ParameterCS__Group_3__0 )?
+            int alt167=2;
+            int LA167_0 = input.LA(1);
 
-            if ( (LA147_0==99) ) {
-                alt147=1;
+            if ( (LA167_0==108) ) {
+                alt167=1;
             }
-            switch (alt147) {
+            switch (alt167) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12308:2: rule__ParameterCS__Group_3__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12835:2: rule__ParameterCS__Group_3__0
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_3__0_in_rule__ParameterCS__Group__3__Impl25853);
+                    pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_3__0_in_rule__ParameterCS__Group__3__Impl26746);
                     rule__ParameterCS__Group_3__0();
 
                     state._fsp--;
@@ -38621,21 +39716,21 @@
 
 
     // $ANTLR start "rule__ParameterCS__Group_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12326:1: rule__ParameterCS__Group_1__0 : rule__ParameterCS__Group_1__0__Impl rule__ParameterCS__Group_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12853:1: rule__ParameterCS__Group_1__0 : rule__ParameterCS__Group_1__0__Impl rule__ParameterCS__Group_1__1 ;
     public final void rule__ParameterCS__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12330:1: ( rule__ParameterCS__Group_1__0__Impl rule__ParameterCS__Group_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12331:2: rule__ParameterCS__Group_1__0__Impl rule__ParameterCS__Group_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12857:1: ( rule__ParameterCS__Group_1__0__Impl rule__ParameterCS__Group_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12858:2: rule__ParameterCS__Group_1__0__Impl rule__ParameterCS__Group_1__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_1__0__Impl_in_rule__ParameterCS__Group_1__025892);
+            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_1__0__Impl_in_rule__ParameterCS__Group_1__026785);
             rule__ParameterCS__Group_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_1__1_in_rule__ParameterCS__Group_1__025895);
+            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_1__1_in_rule__ParameterCS__Group_1__026788);
             rule__ParameterCS__Group_1__1();
 
             state._fsp--;
@@ -38659,22 +39754,22 @@
 
 
     // $ANTLR start "rule__ParameterCS__Group_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12338:1: rule__ParameterCS__Group_1__0__Impl : ( ':' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12865:1: rule__ParameterCS__Group_1__0__Impl : ( ':' ) ;
     public final void rule__ParameterCS__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12342:1: ( ( ':' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12343:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12869:1: ( ( ':' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12870:1: ( ':' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12343:1: ( ':' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12344:1: ':'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12870:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12871:1: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getParameterCSAccess().getColonKeyword_1_0()); 
             }
-            match(input,97,FollowSets001.FOLLOW_97_in_rule__ParameterCS__Group_1__0__Impl25923); if (state.failed) return ;
+            match(input,106,FollowSets001.FOLLOW_106_in_rule__ParameterCS__Group_1__0__Impl26816); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getParameterCSAccess().getColonKeyword_1_0()); 
             }
@@ -38700,16 +39795,16 @@
 
 
     // $ANTLR start "rule__ParameterCS__Group_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12357:1: rule__ParameterCS__Group_1__1 : rule__ParameterCS__Group_1__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12884:1: rule__ParameterCS__Group_1__1 : rule__ParameterCS__Group_1__1__Impl ;
     public final void rule__ParameterCS__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12361:1: ( rule__ParameterCS__Group_1__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12362:2: rule__ParameterCS__Group_1__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12888:1: ( rule__ParameterCS__Group_1__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12889:2: rule__ParameterCS__Group_1__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_1__1__Impl_in_rule__ParameterCS__Group_1__125954);
+            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_1__1__Impl_in_rule__ParameterCS__Group_1__126847);
             rule__ParameterCS__Group_1__1__Impl();
 
             state._fsp--;
@@ -38733,25 +39828,25 @@
 
 
     // $ANTLR start "rule__ParameterCS__Group_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12368:1: rule__ParameterCS__Group_1__1__Impl : ( ( rule__ParameterCS__OwnedTypeAssignment_1_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12895:1: rule__ParameterCS__Group_1__1__Impl : ( ( rule__ParameterCS__OwnedTypeAssignment_1_1 ) ) ;
     public final void rule__ParameterCS__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12372:1: ( ( ( rule__ParameterCS__OwnedTypeAssignment_1_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12373:1: ( ( rule__ParameterCS__OwnedTypeAssignment_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12899:1: ( ( ( rule__ParameterCS__OwnedTypeAssignment_1_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12900:1: ( ( rule__ParameterCS__OwnedTypeAssignment_1_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12373:1: ( ( rule__ParameterCS__OwnedTypeAssignment_1_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12374:1: ( rule__ParameterCS__OwnedTypeAssignment_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12900:1: ( ( rule__ParameterCS__OwnedTypeAssignment_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12901:1: ( rule__ParameterCS__OwnedTypeAssignment_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getParameterCSAccess().getOwnedTypeAssignment_1_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12375:1: ( rule__ParameterCS__OwnedTypeAssignment_1_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12375:2: rule__ParameterCS__OwnedTypeAssignment_1_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12902:1: ( rule__ParameterCS__OwnedTypeAssignment_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12902:2: rule__ParameterCS__OwnedTypeAssignment_1_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__OwnedTypeAssignment_1_1_in_rule__ParameterCS__Group_1__1__Impl25981);
+            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__OwnedTypeAssignment_1_1_in_rule__ParameterCS__Group_1__1__Impl26874);
             rule__ParameterCS__OwnedTypeAssignment_1_1();
 
             state._fsp--;
@@ -38783,23 +39878,23 @@
     // $ANTLR end "rule__ParameterCS__Group_1__1__Impl"
 
 
-    // $ANTLR start "rule__ParameterCS__Group_2__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12389:1: rule__ParameterCS__Group_2__0 : rule__ParameterCS__Group_2__0__Impl rule__ParameterCS__Group_2__1 ;
-    public final void rule__ParameterCS__Group_2__0() throws RecognitionException {
+    // $ANTLR start "rule__ParameterCS__Group_2_0__0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12916:1: rule__ParameterCS__Group_2_0__0 : rule__ParameterCS__Group_2_0__0__Impl rule__ParameterCS__Group_2_0__1 ;
+    public final void rule__ParameterCS__Group_2_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12393:1: ( rule__ParameterCS__Group_2__0__Impl rule__ParameterCS__Group_2__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12394:2: rule__ParameterCS__Group_2__0__Impl rule__ParameterCS__Group_2__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12920:1: ( rule__ParameterCS__Group_2_0__0__Impl rule__ParameterCS__Group_2_0__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12921:2: rule__ParameterCS__Group_2_0__0__Impl rule__ParameterCS__Group_2_0__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_2__0__Impl_in_rule__ParameterCS__Group_2__026015);
-            rule__ParameterCS__Group_2__0__Impl();
+            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_2_0__0__Impl_in_rule__ParameterCS__Group_2_0__026908);
+            rule__ParameterCS__Group_2_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_2__1_in_rule__ParameterCS__Group_2__026018);
-            rule__ParameterCS__Group_2__1();
+            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_2_0__1_in_rule__ParameterCS__Group_2_0__026911);
+            rule__ParameterCS__Group_2_0__1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -38818,28 +39913,28 @@
         }
         return ;
     }
-    // $ANTLR end "rule__ParameterCS__Group_2__0"
+    // $ANTLR end "rule__ParameterCS__Group_2_0__0"
 
 
-    // $ANTLR start "rule__ParameterCS__Group_2__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12401:1: rule__ParameterCS__Group_2__0__Impl : ( '{' ) ;
-    public final void rule__ParameterCS__Group_2__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__ParameterCS__Group_2_0__0__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12928:1: rule__ParameterCS__Group_2_0__0__Impl : ( '{' ) ;
+    public final void rule__ParameterCS__Group_2_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12405:1: ( ( '{' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12406:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12932:1: ( ( '{' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12933:1: ( '{' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12406:1: ( '{' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12407:1: '{'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12933:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12934:1: '{'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getParameterCSAccess().getLeftCurlyBracketKeyword_2_0()); 
+               before(grammarAccess.getParameterCSAccess().getLeftCurlyBracketKeyword_2_0_0()); 
             }
-            match(input,99,FollowSets001.FOLLOW_99_in_rule__ParameterCS__Group_2__0__Impl26046); if (state.failed) return ;
+            match(input,108,FollowSets001.FOLLOW_108_in_rule__ParameterCS__Group_2_0__0__Impl26939); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getParameterCSAccess().getLeftCurlyBracketKeyword_2_0()); 
+               after(grammarAccess.getParameterCSAccess().getLeftCurlyBracketKeyword_2_0_0()); 
             }
 
             }
@@ -38859,26 +39954,21 @@
         }
         return ;
     }
-    // $ANTLR end "rule__ParameterCS__Group_2__0__Impl"
+    // $ANTLR end "rule__ParameterCS__Group_2_0__0__Impl"
 
 
-    // $ANTLR start "rule__ParameterCS__Group_2__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12420:1: rule__ParameterCS__Group_2__1 : rule__ParameterCS__Group_2__1__Impl rule__ParameterCS__Group_2__2 ;
-    public final void rule__ParameterCS__Group_2__1() throws RecognitionException {
+    // $ANTLR start "rule__ParameterCS__Group_2_0__1"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12947:1: rule__ParameterCS__Group_2_0__1 : rule__ParameterCS__Group_2_0__1__Impl ;
+    public final void rule__ParameterCS__Group_2_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12424:1: ( rule__ParameterCS__Group_2__1__Impl rule__ParameterCS__Group_2__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12425:2: rule__ParameterCS__Group_2__1__Impl rule__ParameterCS__Group_2__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12951:1: ( rule__ParameterCS__Group_2_0__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12952:2: rule__ParameterCS__Group_2_0__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_2__1__Impl_in_rule__ParameterCS__Group_2__126077);
-            rule__ParameterCS__Group_2__1__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_2__2_in_rule__ParameterCS__Group_2__126080);
-            rule__ParameterCS__Group_2__2();
+            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_2_0__1__Impl_in_rule__ParameterCS__Group_2_0__126970);
+            rule__ParameterCS__Group_2_0__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
@@ -38897,33 +39987,130 @@
         }
         return ;
     }
-    // $ANTLR end "rule__ParameterCS__Group_2__1"
+    // $ANTLR end "rule__ParameterCS__Group_2_0__1"
 
 
-    // $ANTLR start "rule__ParameterCS__Group_2__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12432:1: rule__ParameterCS__Group_2__1__Impl : ( ( ( rule__ParameterCS__Group_2_1__0 ) ) ( ( rule__ParameterCS__Group_2_1__0 )* ) ) ;
-    public final void rule__ParameterCS__Group_2__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__ParameterCS__Group_2_0__1__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12958:1: rule__ParameterCS__Group_2_0__1__Impl : ( ( rule__ParameterCS__Group_2_0_1__0 )? ) ;
+    public final void rule__ParameterCS__Group_2_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12436:1: ( ( ( ( rule__ParameterCS__Group_2_1__0 ) ) ( ( rule__ParameterCS__Group_2_1__0 )* ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12437:1: ( ( ( rule__ParameterCS__Group_2_1__0 ) ) ( ( rule__ParameterCS__Group_2_1__0 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12962:1: ( ( ( rule__ParameterCS__Group_2_0_1__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12963:1: ( ( rule__ParameterCS__Group_2_0_1__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12437:1: ( ( ( rule__ParameterCS__Group_2_1__0 ) ) ( ( rule__ParameterCS__Group_2_1__0 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12438:1: ( ( rule__ParameterCS__Group_2_1__0 ) ) ( ( rule__ParameterCS__Group_2_1__0 )* )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12438:1: ( ( rule__ParameterCS__Group_2_1__0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12439:1: ( rule__ParameterCS__Group_2_1__0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12963:1: ( ( rule__ParameterCS__Group_2_0_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12964:1: ( rule__ParameterCS__Group_2_0_1__0 )?
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getParameterCSAccess().getGroup_2_1()); 
+               before(grammarAccess.getParameterCSAccess().getGroup_2_0_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12440:1: ( rule__ParameterCS__Group_2_1__0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12440:2: rule__ParameterCS__Group_2_1__0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12965:1: ( rule__ParameterCS__Group_2_0_1__0 )?
+            int alt168=2;
+            int LA168_0 = input.LA(1);
+
+            if ( (LA168_0==37||LA168_0==56) ) {
+                alt168=1;
+            }
+            switch (alt168) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12965:2: rule__ParameterCS__Group_2_0_1__0
+                    {
+                    pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_2_0_1__0_in_rule__ParameterCS__Group_2_0__1__Impl26997);
+                    rule__ParameterCS__Group_2_0_1__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getParameterCSAccess().getGroup_2_0_1()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ParameterCS__Group_2_0__1__Impl"
+
+
+    // $ANTLR start "rule__ParameterCS__Group_2_0_1__0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12979:1: rule__ParameterCS__Group_2_0_1__0 : rule__ParameterCS__Group_2_0_1__0__Impl rule__ParameterCS__Group_2_0_1__1 ;
+    public final void rule__ParameterCS__Group_2_0_1__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12983:1: ( rule__ParameterCS__Group_2_0_1__0__Impl rule__ParameterCS__Group_2_0_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12984:2: rule__ParameterCS__Group_2_0_1__0__Impl rule__ParameterCS__Group_2_0_1__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_2_1__0_in_rule__ParameterCS__Group_2__1__Impl26109);
-            rule__ParameterCS__Group_2_1__0();
+            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_2_0_1__0__Impl_in_rule__ParameterCS__Group_2_0_1__027032);
+            rule__ParameterCS__Group_2_0_1__0__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_2_0_1__1_in_rule__ParameterCS__Group_2_0_1__027035);
+            rule__ParameterCS__Group_2_0_1__1();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ParameterCS__Group_2_0_1__0"
+
+
+    // $ANTLR start "rule__ParameterCS__Group_2_0_1__0__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12991:1: rule__ParameterCS__Group_2_0_1__0__Impl : ( ( rule__ParameterCS__Alternatives_2_0_1_0 ) ) ;
+    public final void rule__ParameterCS__Group_2_0_1__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12995:1: ( ( ( rule__ParameterCS__Alternatives_2_0_1_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12996:1: ( ( rule__ParameterCS__Alternatives_2_0_1_0 ) )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12996:1: ( ( rule__ParameterCS__Alternatives_2_0_1_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12997:1: ( rule__ParameterCS__Alternatives_2_0_1_0 )
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getParameterCSAccess().getAlternatives_2_0_1_0()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12998:1: ( rule__ParameterCS__Alternatives_2_0_1_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12998:2: rule__ParameterCS__Alternatives_2_0_1_0
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Alternatives_2_0_1_0_in_rule__ParameterCS__Group_2_0_1__0__Impl27062);
+            rule__ParameterCS__Alternatives_2_0_1_0();
 
             state._fsp--;
             if (state.failed) return ;
@@ -38931,125 +40118,120 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getParameterCSAccess().getGroup_2_1()); 
+               after(grammarAccess.getParameterCSAccess().getAlternatives_2_0_1_0()); 
             }
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12443:1: ( ( rule__ParameterCS__Group_2_1__0 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12444:1: ( rule__ParameterCS__Group_2_1__0 )*
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ParameterCS__Group_2_0_1__0__Impl"
+
+
+    // $ANTLR start "rule__ParameterCS__Group_2_0_1__1"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13008:1: rule__ParameterCS__Group_2_0_1__1 : rule__ParameterCS__Group_2_0_1__1__Impl ;
+    public final void rule__ParameterCS__Group_2_0_1__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13012:1: ( rule__ParameterCS__Group_2_0_1__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13013:2: rule__ParameterCS__Group_2_0_1__1__Impl
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_2_0_1__1__Impl_in_rule__ParameterCS__Group_2_0_1__127092);
+            rule__ParameterCS__Group_2_0_1__1__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ParameterCS__Group_2_0_1__1"
+
+
+    // $ANTLR start "rule__ParameterCS__Group_2_0_1__1__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13019:1: rule__ParameterCS__Group_2_0_1__1__Impl : ( ( ',' )? ) ;
+    public final void rule__ParameterCS__Group_2_0_1__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13023:1: ( ( ( ',' )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13024:1: ( ( ',' )? )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13024:1: ( ( ',' )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13025:1: ( ',' )?
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getParameterCSAccess().getGroup_2_1()); 
+               before(grammarAccess.getParameterCSAccess().getCommaKeyword_2_0_1_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12445:1: ( rule__ParameterCS__Group_2_1__0 )*
-            loop148:
-            do {
-                int alt148=2;
-                int LA148_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13026:1: ( ',' )?
+            int alt169=2;
+            int LA169_0 = input.LA(1);
 
-                if ( (LA148_0==37||LA148_0==50||LA148_0==122||LA148_0==125) ) {
-                    alt148=1;
+            if ( (LA169_0==107) ) {
+                int LA169_1 = input.LA(2);
+
+                if ( (LA169_1==50) ) {
+                    int LA169_3 = input.LA(3);
+
+                    if ( (LA169_3==107) ) {
+                        int LA169_5 = input.LA(4);
+
+                        if ( (LA169_5==109) ) {
+                            alt169=1;
+                        }
+                    }
+                    else if ( (LA169_3==109) ) {
+                        int LA169_6 = input.LA(4);
+
+                        if ( (synpred263_InternalOCLinEcore()) ) {
+                            alt169=1;
+                        }
+                    }
                 }
-
-
-                switch (alt148) {
-            	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12445:2: rule__ParameterCS__Group_2_1__0
-            	    {
-            	    pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_2_1__0_in_rule__ParameterCS__Group_2__1__Impl26121);
-            	    rule__ParameterCS__Group_2_1__0();
-
-            	    state._fsp--;
-            	    if (state.failed) return ;
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop148;
+                else if ( (LA169_1==EOF||LA169_1==105||(LA169_1>=107 && LA169_1<=109)||LA169_1==129) ) {
+                    alt169=1;
                 }
-            } while (true);
+            }
+            switch (alt169) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13027:2: ','
+                    {
+                    match(input,107,FollowSets001.FOLLOW_107_in_rule__ParameterCS__Group_2_0_1__1__Impl27121); if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getParameterCSAccess().getGroup_2_1()); 
-            }
-
-            }
-
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ParameterCS__Group_2__1__Impl"
-
-
-    // $ANTLR start "rule__ParameterCS__Group_2__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12456:1: rule__ParameterCS__Group_2__2 : rule__ParameterCS__Group_2__2__Impl ;
-    public final void rule__ParameterCS__Group_2__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12460:1: ( rule__ParameterCS__Group_2__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12461:2: rule__ParameterCS__Group_2__2__Impl
-            {
-            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_2__2__Impl_in_rule__ParameterCS__Group_2__226154);
-            rule__ParameterCS__Group_2__2__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ParameterCS__Group_2__2"
-
-
-    // $ANTLR start "rule__ParameterCS__Group_2__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12467:1: rule__ParameterCS__Group_2__2__Impl : ( '}' ) ;
-    public final void rule__ParameterCS__Group_2__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12471:1: ( ( '}' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12472:1: ( '}' )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12472:1: ( '}' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12473:1: '}'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getParameterCSAccess().getRightCurlyBracketKeyword_2_2()); 
-            }
-            match(input,100,FollowSets001.FOLLOW_100_in_rule__ParameterCS__Group_2__2__Impl26182); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getParameterCSAccess().getRightCurlyBracketKeyword_2_2()); 
+               after(grammarAccess.getParameterCSAccess().getCommaKeyword_2_0_1_1()); 
             }
 
             }
@@ -39069,25 +40251,25 @@
         }
         return ;
     }
-    // $ANTLR end "rule__ParameterCS__Group_2__2__Impl"
+    // $ANTLR end "rule__ParameterCS__Group_2_0_1__1__Impl"
 
 
     // $ANTLR start "rule__ParameterCS__Group_2_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12492:1: rule__ParameterCS__Group_2_1__0 : rule__ParameterCS__Group_2_1__0__Impl rule__ParameterCS__Group_2_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13042:1: rule__ParameterCS__Group_2_1__0 : rule__ParameterCS__Group_2_1__0__Impl rule__ParameterCS__Group_2_1__1 ;
     public final void rule__ParameterCS__Group_2_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12496:1: ( rule__ParameterCS__Group_2_1__0__Impl rule__ParameterCS__Group_2_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12497:2: rule__ParameterCS__Group_2_1__0__Impl rule__ParameterCS__Group_2_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13046:1: ( rule__ParameterCS__Group_2_1__0__Impl rule__ParameterCS__Group_2_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13047:2: rule__ParameterCS__Group_2_1__0__Impl rule__ParameterCS__Group_2_1__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_2_1__0__Impl_in_rule__ParameterCS__Group_2_1__026219);
+            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_2_1__0__Impl_in_rule__ParameterCS__Group_2_1__027158);
             rule__ParameterCS__Group_2_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_2_1__1_in_rule__ParameterCS__Group_2_1__026222);
+            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_2_1__1_in_rule__ParameterCS__Group_2_1__027161);
             rule__ParameterCS__Group_2_1__1();
 
             state._fsp--;
@@ -39111,34 +40293,45 @@
 
 
     // $ANTLR start "rule__ParameterCS__Group_2_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12504:1: rule__ParameterCS__Group_2_1__0__Impl : ( ( rule__ParameterCS__Alternatives_2_1_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13054:1: rule__ParameterCS__Group_2_1__0__Impl : ( ( rule__ParameterCS__Group_2_1_0__0 )? ) ;
     public final void rule__ParameterCS__Group_2_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12508:1: ( ( ( rule__ParameterCS__Alternatives_2_1_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12509:1: ( ( rule__ParameterCS__Alternatives_2_1_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13058:1: ( ( ( rule__ParameterCS__Group_2_1_0__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13059:1: ( ( rule__ParameterCS__Group_2_1_0__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12509:1: ( ( rule__ParameterCS__Alternatives_2_1_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12510:1: ( rule__ParameterCS__Alternatives_2_1_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13059:1: ( ( rule__ParameterCS__Group_2_1_0__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13060:1: ( rule__ParameterCS__Group_2_1_0__0 )?
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getParameterCSAccess().getAlternatives_2_1_0()); 
+               before(grammarAccess.getParameterCSAccess().getGroup_2_1_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12511:1: ( rule__ParameterCS__Alternatives_2_1_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12511:2: rule__ParameterCS__Alternatives_2_1_0
-            {
-            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Alternatives_2_1_0_in_rule__ParameterCS__Group_2_1__0__Impl26249);
-            rule__ParameterCS__Alternatives_2_1_0();
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13061:1: ( rule__ParameterCS__Group_2_1_0__0 )?
+            int alt170=2;
+            int LA170_0 = input.LA(1);
 
-            state._fsp--;
-            if (state.failed) return ;
+            if ( (LA170_0==50||LA170_0==129) ) {
+                alt170=1;
+            }
+            switch (alt170) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13061:2: rule__ParameterCS__Group_2_1_0__0
+                    {
+                    pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_2_1_0__0_in_rule__ParameterCS__Group_2_1__0__Impl27188);
+                    rule__ParameterCS__Group_2_1_0__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getParameterCSAccess().getAlternatives_2_1_0()); 
+               after(grammarAccess.getParameterCSAccess().getGroup_2_1_0()); 
             }
 
             }
@@ -39162,16 +40355,16 @@
 
 
     // $ANTLR start "rule__ParameterCS__Group_2_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12521:1: rule__ParameterCS__Group_2_1__1 : rule__ParameterCS__Group_2_1__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13071:1: rule__ParameterCS__Group_2_1__1 : rule__ParameterCS__Group_2_1__1__Impl ;
     public final void rule__ParameterCS__Group_2_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12525:1: ( rule__ParameterCS__Group_2_1__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12526:2: rule__ParameterCS__Group_2_1__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13075:1: ( rule__ParameterCS__Group_2_1__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13076:2: rule__ParameterCS__Group_2_1__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_2_1__1__Impl_in_rule__ParameterCS__Group_2_1__126279);
+            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_2_1__1__Impl_in_rule__ParameterCS__Group_2_1__127219);
             rule__ParameterCS__Group_2_1__1__Impl();
 
             state._fsp--;
@@ -39195,41 +40388,24 @@
 
 
     // $ANTLR start "rule__ParameterCS__Group_2_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12532:1: rule__ParameterCS__Group_2_1__1__Impl : ( ( ',' )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13082:1: rule__ParameterCS__Group_2_1__1__Impl : ( '}' ) ;
     public final void rule__ParameterCS__Group_2_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12536:1: ( ( ( ',' )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12537:1: ( ( ',' )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13086:1: ( ( '}' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13087:1: ( '}' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12537:1: ( ( ',' )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12538:1: ( ',' )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13087:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13088:1: '}'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getParameterCSAccess().getCommaKeyword_2_1_1()); 
+               before(grammarAccess.getParameterCSAccess().getRightCurlyBracketKeyword_2_1_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12539:1: ( ',' )?
-            int alt149=2;
-            int LA149_0 = input.LA(1);
-
-            if ( (LA149_0==98) ) {
-                alt149=1;
-            }
-            switch (alt149) {
-                case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12540:2: ','
-                    {
-                    match(input,98,FollowSets001.FOLLOW_98_in_rule__ParameterCS__Group_2_1__1__Impl26308); if (state.failed) return ;
-
-                    }
-                    break;
-
-            }
-
+            match(input,109,FollowSets001.FOLLOW_109_in_rule__ParameterCS__Group_2_1__1__Impl27247); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getParameterCSAccess().getCommaKeyword_2_1_1()); 
+               after(grammarAccess.getParameterCSAccess().getRightCurlyBracketKeyword_2_1_1()); 
             }
 
             }
@@ -39252,22 +40428,202 @@
     // $ANTLR end "rule__ParameterCS__Group_2_1__1__Impl"
 
 
+    // $ANTLR start "rule__ParameterCS__Group_2_1_0__0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13105:1: rule__ParameterCS__Group_2_1_0__0 : rule__ParameterCS__Group_2_1_0__0__Impl rule__ParameterCS__Group_2_1_0__1 ;
+    public final void rule__ParameterCS__Group_2_1_0__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13109:1: ( rule__ParameterCS__Group_2_1_0__0__Impl rule__ParameterCS__Group_2_1_0__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13110:2: rule__ParameterCS__Group_2_1_0__0__Impl rule__ParameterCS__Group_2_1_0__1
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_2_1_0__0__Impl_in_rule__ParameterCS__Group_2_1_0__027282);
+            rule__ParameterCS__Group_2_1_0__0__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_2_1_0__1_in_rule__ParameterCS__Group_2_1_0__027285);
+            rule__ParameterCS__Group_2_1_0__1();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ParameterCS__Group_2_1_0__0"
+
+
+    // $ANTLR start "rule__ParameterCS__Group_2_1_0__0__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13117:1: rule__ParameterCS__Group_2_1_0__0__Impl : ( ( rule__ParameterCS__Alternatives_2_1_0_0 ) ) ;
+    public final void rule__ParameterCS__Group_2_1_0__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13121:1: ( ( ( rule__ParameterCS__Alternatives_2_1_0_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13122:1: ( ( rule__ParameterCS__Alternatives_2_1_0_0 ) )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13122:1: ( ( rule__ParameterCS__Alternatives_2_1_0_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13123:1: ( rule__ParameterCS__Alternatives_2_1_0_0 )
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getParameterCSAccess().getAlternatives_2_1_0_0()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13124:1: ( rule__ParameterCS__Alternatives_2_1_0_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13124:2: rule__ParameterCS__Alternatives_2_1_0_0
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Alternatives_2_1_0_0_in_rule__ParameterCS__Group_2_1_0__0__Impl27312);
+            rule__ParameterCS__Alternatives_2_1_0_0();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getParameterCSAccess().getAlternatives_2_1_0_0()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ParameterCS__Group_2_1_0__0__Impl"
+
+
+    // $ANTLR start "rule__ParameterCS__Group_2_1_0__1"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13134:1: rule__ParameterCS__Group_2_1_0__1 : rule__ParameterCS__Group_2_1_0__1__Impl ;
+    public final void rule__ParameterCS__Group_2_1_0__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13138:1: ( rule__ParameterCS__Group_2_1_0__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13139:2: rule__ParameterCS__Group_2_1_0__1__Impl
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_2_1_0__1__Impl_in_rule__ParameterCS__Group_2_1_0__127342);
+            rule__ParameterCS__Group_2_1_0__1__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ParameterCS__Group_2_1_0__1"
+
+
+    // $ANTLR start "rule__ParameterCS__Group_2_1_0__1__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13145:1: rule__ParameterCS__Group_2_1_0__1__Impl : ( ( ',' )? ) ;
+    public final void rule__ParameterCS__Group_2_1_0__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13149:1: ( ( ( ',' )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13150:1: ( ( ',' )? )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13150:1: ( ( ',' )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13151:1: ( ',' )?
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getParameterCSAccess().getCommaKeyword_2_1_0_1()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13152:1: ( ',' )?
+            int alt171=2;
+            int LA171_0 = input.LA(1);
+
+            if ( (LA171_0==107) ) {
+                alt171=1;
+            }
+            switch (alt171) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13153:2: ','
+                    {
+                    match(input,107,FollowSets001.FOLLOW_107_in_rule__ParameterCS__Group_2_1_0__1__Impl27371); if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getParameterCSAccess().getCommaKeyword_2_1_0_1()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ParameterCS__Group_2_1_0__1__Impl"
+
+
     // $ANTLR start "rule__ParameterCS__Group_3__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12555:1: rule__ParameterCS__Group_3__0 : rule__ParameterCS__Group_3__0__Impl rule__ParameterCS__Group_3__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13168:1: rule__ParameterCS__Group_3__0 : rule__ParameterCS__Group_3__0__Impl rule__ParameterCS__Group_3__1 ;
     public final void rule__ParameterCS__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12559:1: ( rule__ParameterCS__Group_3__0__Impl rule__ParameterCS__Group_3__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12560:2: rule__ParameterCS__Group_3__0__Impl rule__ParameterCS__Group_3__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13172:1: ( rule__ParameterCS__Group_3__0__Impl rule__ParameterCS__Group_3__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13173:2: rule__ParameterCS__Group_3__0__Impl rule__ParameterCS__Group_3__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_3__0__Impl_in_rule__ParameterCS__Group_3__026345);
+            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_3__0__Impl_in_rule__ParameterCS__Group_3__027408);
             rule__ParameterCS__Group_3__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_3__1_in_rule__ParameterCS__Group_3__026348);
+            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_3__1_in_rule__ParameterCS__Group_3__027411);
             rule__ParameterCS__Group_3__1();
 
             state._fsp--;
@@ -39291,22 +40647,22 @@
 
 
     // $ANTLR start "rule__ParameterCS__Group_3__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12567:1: rule__ParameterCS__Group_3__0__Impl : ( '{' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13180:1: rule__ParameterCS__Group_3__0__Impl : ( '{' ) ;
     public final void rule__ParameterCS__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12571:1: ( ( '{' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12572:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13184:1: ( ( '{' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13185:1: ( '{' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12572:1: ( '{' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12573:1: '{'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13185:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13186:1: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getParameterCSAccess().getLeftCurlyBracketKeyword_3_0()); 
             }
-            match(input,99,FollowSets001.FOLLOW_99_in_rule__ParameterCS__Group_3__0__Impl26376); if (state.failed) return ;
+            match(input,108,FollowSets001.FOLLOW_108_in_rule__ParameterCS__Group_3__0__Impl27439); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getParameterCSAccess().getLeftCurlyBracketKeyword_3_0()); 
             }
@@ -39332,21 +40688,21 @@
 
 
     // $ANTLR start "rule__ParameterCS__Group_3__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12586:1: rule__ParameterCS__Group_3__1 : rule__ParameterCS__Group_3__1__Impl rule__ParameterCS__Group_3__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13199:1: rule__ParameterCS__Group_3__1 : rule__ParameterCS__Group_3__1__Impl rule__ParameterCS__Group_3__2 ;
     public final void rule__ParameterCS__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12590:1: ( rule__ParameterCS__Group_3__1__Impl rule__ParameterCS__Group_3__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12591:2: rule__ParameterCS__Group_3__1__Impl rule__ParameterCS__Group_3__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13203:1: ( rule__ParameterCS__Group_3__1__Impl rule__ParameterCS__Group_3__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13204:2: rule__ParameterCS__Group_3__1__Impl rule__ParameterCS__Group_3__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_3__1__Impl_in_rule__ParameterCS__Group_3__126407);
+            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_3__1__Impl_in_rule__ParameterCS__Group_3__127470);
             rule__ParameterCS__Group_3__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_3__2_in_rule__ParameterCS__Group_3__126410);
+            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_3__2_in_rule__ParameterCS__Group_3__127473);
             rule__ParameterCS__Group_3__2();
 
             state._fsp--;
@@ -39370,37 +40726,37 @@
 
 
     // $ANTLR start "rule__ParameterCS__Group_3__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12598:1: rule__ParameterCS__Group_3__1__Impl : ( ( rule__ParameterCS__OwnedAnnotationsAssignment_3_1 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13211:1: rule__ParameterCS__Group_3__1__Impl : ( ( rule__ParameterCS__OwnedAnnotationsAssignment_3_1 )* ) ;
     public final void rule__ParameterCS__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12602:1: ( ( ( rule__ParameterCS__OwnedAnnotationsAssignment_3_1 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12603:1: ( ( rule__ParameterCS__OwnedAnnotationsAssignment_3_1 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13215:1: ( ( ( rule__ParameterCS__OwnedAnnotationsAssignment_3_1 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13216:1: ( ( rule__ParameterCS__OwnedAnnotationsAssignment_3_1 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12603:1: ( ( rule__ParameterCS__OwnedAnnotationsAssignment_3_1 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12604:1: ( rule__ParameterCS__OwnedAnnotationsAssignment_3_1 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13216:1: ( ( rule__ParameterCS__OwnedAnnotationsAssignment_3_1 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13217:1: ( rule__ParameterCS__OwnedAnnotationsAssignment_3_1 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getParameterCSAccess().getOwnedAnnotationsAssignment_3_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12605:1: ( rule__ParameterCS__OwnedAnnotationsAssignment_3_1 )*
-            loop150:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13218:1: ( rule__ParameterCS__OwnedAnnotationsAssignment_3_1 )*
+            loop172:
             do {
-                int alt150=2;
-                int LA150_0 = input.LA(1);
+                int alt172=2;
+                int LA172_0 = input.LA(1);
 
-                if ( ((LA150_0>=55 && LA150_0<=56)||LA150_0==60) ) {
-                    alt150=1;
+                if ( ((LA172_0>=64 && LA172_0<=65)||LA172_0==69) ) {
+                    alt172=1;
                 }
 
 
-                switch (alt150) {
+                switch (alt172) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12605:2: rule__ParameterCS__OwnedAnnotationsAssignment_3_1
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13218:2: rule__ParameterCS__OwnedAnnotationsAssignment_3_1
             	    {
-            	    pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__OwnedAnnotationsAssignment_3_1_in_rule__ParameterCS__Group_3__1__Impl26437);
+            	    pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__OwnedAnnotationsAssignment_3_1_in_rule__ParameterCS__Group_3__1__Impl27500);
             	    rule__ParameterCS__OwnedAnnotationsAssignment_3_1();
 
             	    state._fsp--;
@@ -39410,7 +40766,7 @@
             	    break;
 
             	default :
-            	    break loop150;
+            	    break loop172;
                 }
             } while (true);
 
@@ -39439,16 +40795,16 @@
 
 
     // $ANTLR start "rule__ParameterCS__Group_3__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12615:1: rule__ParameterCS__Group_3__2 : rule__ParameterCS__Group_3__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13228:1: rule__ParameterCS__Group_3__2 : rule__ParameterCS__Group_3__2__Impl ;
     public final void rule__ParameterCS__Group_3__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12619:1: ( rule__ParameterCS__Group_3__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12620:2: rule__ParameterCS__Group_3__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13232:1: ( rule__ParameterCS__Group_3__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13233:2: rule__ParameterCS__Group_3__2__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_3__2__Impl_in_rule__ParameterCS__Group_3__226468);
+            pushFollow(FollowSets001.FOLLOW_rule__ParameterCS__Group_3__2__Impl_in_rule__ParameterCS__Group_3__227531);
             rule__ParameterCS__Group_3__2__Impl();
 
             state._fsp--;
@@ -39472,22 +40828,22 @@
 
 
     // $ANTLR start "rule__ParameterCS__Group_3__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12626:1: rule__ParameterCS__Group_3__2__Impl : ( '}' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13239:1: rule__ParameterCS__Group_3__2__Impl : ( '}' ) ;
     public final void rule__ParameterCS__Group_3__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12630:1: ( ( '}' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12631:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13243:1: ( ( '}' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13244:1: ( '}' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12631:1: ( '}' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12632:1: '}'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13244:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13245:1: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getParameterCSAccess().getRightCurlyBracketKeyword_3_2()); 
             }
-            match(input,100,FollowSets001.FOLLOW_100_in_rule__ParameterCS__Group_3__2__Impl26496); if (state.failed) return ;
+            match(input,109,FollowSets001.FOLLOW_109_in_rule__ParameterCS__Group_3__2__Impl27559); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getParameterCSAccess().getRightCurlyBracketKeyword_3_2()); 
             }
@@ -39513,21 +40869,21 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12651:1: rule__ReferenceCS__Group__0 : rule__ReferenceCS__Group__0__Impl rule__ReferenceCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13264:1: rule__ReferenceCS__Group__0 : rule__ReferenceCS__Group__0__Impl rule__ReferenceCS__Group__1 ;
     public final void rule__ReferenceCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12655:1: ( rule__ReferenceCS__Group__0__Impl rule__ReferenceCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12656:2: rule__ReferenceCS__Group__0__Impl rule__ReferenceCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13268:1: ( rule__ReferenceCS__Group__0__Impl rule__ReferenceCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13269:2: rule__ReferenceCS__Group__0__Impl rule__ReferenceCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group__0__Impl_in_rule__ReferenceCS__Group__026533);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group__0__Impl_in_rule__ReferenceCS__Group__027596);
             rule__ReferenceCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group__1_in_rule__ReferenceCS__Group__026536);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group__1_in_rule__ReferenceCS__Group__027599);
             rule__ReferenceCS__Group__1();
 
             state._fsp--;
@@ -39551,45 +40907,34 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12663:1: rule__ReferenceCS__Group__0__Impl : ( ( rule__ReferenceCS__Alternatives_0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13276:1: rule__ReferenceCS__Group__0__Impl : ( ( rule__ReferenceCS__UnorderedGroup_0 ) ) ;
     public final void rule__ReferenceCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12667:1: ( ( ( rule__ReferenceCS__Alternatives_0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12668:1: ( ( rule__ReferenceCS__Alternatives_0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13280:1: ( ( ( rule__ReferenceCS__UnorderedGroup_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13281:1: ( ( rule__ReferenceCS__UnorderedGroup_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12668:1: ( ( rule__ReferenceCS__Alternatives_0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12669:1: ( rule__ReferenceCS__Alternatives_0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13281:1: ( ( rule__ReferenceCS__UnorderedGroup_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13282:1: ( rule__ReferenceCS__UnorderedGroup_0 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getAlternatives_0()); 
+               before(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12670:1: ( rule__ReferenceCS__Alternatives_0 )?
-            int alt151=2;
-            int LA151_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13283:1: ( rule__ReferenceCS__UnorderedGroup_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13283:2: rule__ReferenceCS__UnorderedGroup_0
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__UnorderedGroup_0_in_rule__ReferenceCS__Group__0__Impl27626);
+            rule__ReferenceCS__UnorderedGroup_0();
 
-            if ( (LA151_0==24||LA151_0==46) ) {
-                alt151=1;
-            }
-            switch (alt151) {
-                case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12670:2: rule__ReferenceCS__Alternatives_0
-                    {
-                    pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Alternatives_0_in_rule__ReferenceCS__Group__0__Impl26563);
-                    rule__ReferenceCS__Alternatives_0();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-                    break;
+            state._fsp--;
+            if (state.failed) return ;
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getAlternatives_0()); 
+               after(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0()); 
             }
 
             }
@@ -39613,21 +40958,21 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12680:1: rule__ReferenceCS__Group__1 : rule__ReferenceCS__Group__1__Impl rule__ReferenceCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13293:1: rule__ReferenceCS__Group__1 : rule__ReferenceCS__Group__1__Impl rule__ReferenceCS__Group__2 ;
     public final void rule__ReferenceCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12684:1: ( rule__ReferenceCS__Group__1__Impl rule__ReferenceCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12685:2: rule__ReferenceCS__Group__1__Impl rule__ReferenceCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13297:1: ( rule__ReferenceCS__Group__1__Impl rule__ReferenceCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13298:2: rule__ReferenceCS__Group__1__Impl rule__ReferenceCS__Group__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group__1__Impl_in_rule__ReferenceCS__Group__126594);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group__1__Impl_in_rule__ReferenceCS__Group__127656);
             rule__ReferenceCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group__2_in_rule__ReferenceCS__Group__126597);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group__2_in_rule__ReferenceCS__Group__127659);
             rule__ReferenceCS__Group__2();
 
             state._fsp--;
@@ -39651,22 +40996,22 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12692:1: rule__ReferenceCS__Group__1__Impl : ( 'property' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13305:1: rule__ReferenceCS__Group__1__Impl : ( 'property' ) ;
     public final void rule__ReferenceCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12696:1: ( ( 'property' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12697:1: ( 'property' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13309:1: ( ( 'property' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13310:1: ( 'property' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12697:1: ( 'property' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12698:1: 'property'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13310:1: ( 'property' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13311:1: 'property'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getPropertyKeyword_1()); 
             }
-            match(input,42,FollowSets001.FOLLOW_42_in_rule__ReferenceCS__Group__1__Impl26625); if (state.failed) return ;
+            match(input,42,FollowSets001.FOLLOW_42_in_rule__ReferenceCS__Group__1__Impl27687); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReferenceCSAccess().getPropertyKeyword_1()); 
             }
@@ -39692,21 +41037,21 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12711:1: rule__ReferenceCS__Group__2 : rule__ReferenceCS__Group__2__Impl rule__ReferenceCS__Group__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13324:1: rule__ReferenceCS__Group__2 : rule__ReferenceCS__Group__2__Impl rule__ReferenceCS__Group__3 ;
     public final void rule__ReferenceCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12715:1: ( rule__ReferenceCS__Group__2__Impl rule__ReferenceCS__Group__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12716:2: rule__ReferenceCS__Group__2__Impl rule__ReferenceCS__Group__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13328:1: ( rule__ReferenceCS__Group__2__Impl rule__ReferenceCS__Group__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13329:2: rule__ReferenceCS__Group__2__Impl rule__ReferenceCS__Group__3
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group__2__Impl_in_rule__ReferenceCS__Group__226656);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group__2__Impl_in_rule__ReferenceCS__Group__227718);
             rule__ReferenceCS__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group__3_in_rule__ReferenceCS__Group__226659);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group__3_in_rule__ReferenceCS__Group__227721);
             rule__ReferenceCS__Group__3();
 
             state._fsp--;
@@ -39730,25 +41075,25 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12723:1: rule__ReferenceCS__Group__2__Impl : ( ( rule__ReferenceCS__NameAssignment_2 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13336:1: rule__ReferenceCS__Group__2__Impl : ( ( rule__ReferenceCS__NameAssignment_2 ) ) ;
     public final void rule__ReferenceCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12727:1: ( ( ( rule__ReferenceCS__NameAssignment_2 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12728:1: ( ( rule__ReferenceCS__NameAssignment_2 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13340:1: ( ( ( rule__ReferenceCS__NameAssignment_2 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13341:1: ( ( rule__ReferenceCS__NameAssignment_2 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12728:1: ( ( rule__ReferenceCS__NameAssignment_2 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12729:1: ( rule__ReferenceCS__NameAssignment_2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13341:1: ( ( rule__ReferenceCS__NameAssignment_2 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13342:1: ( rule__ReferenceCS__NameAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getNameAssignment_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12730:1: ( rule__ReferenceCS__NameAssignment_2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12730:2: rule__ReferenceCS__NameAssignment_2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13343:1: ( rule__ReferenceCS__NameAssignment_2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13343:2: rule__ReferenceCS__NameAssignment_2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__NameAssignment_2_in_rule__ReferenceCS__Group__2__Impl26686);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__NameAssignment_2_in_rule__ReferenceCS__Group__2__Impl27748);
             rule__ReferenceCS__NameAssignment_2();
 
             state._fsp--;
@@ -39781,21 +41126,21 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12740:1: rule__ReferenceCS__Group__3 : rule__ReferenceCS__Group__3__Impl rule__ReferenceCS__Group__4 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13353:1: rule__ReferenceCS__Group__3 : rule__ReferenceCS__Group__3__Impl rule__ReferenceCS__Group__4 ;
     public final void rule__ReferenceCS__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12744:1: ( rule__ReferenceCS__Group__3__Impl rule__ReferenceCS__Group__4 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12745:2: rule__ReferenceCS__Group__3__Impl rule__ReferenceCS__Group__4
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13357:1: ( rule__ReferenceCS__Group__3__Impl rule__ReferenceCS__Group__4 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13358:2: rule__ReferenceCS__Group__3__Impl rule__ReferenceCS__Group__4
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group__3__Impl_in_rule__ReferenceCS__Group__326716);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group__3__Impl_in_rule__ReferenceCS__Group__327778);
             rule__ReferenceCS__Group__3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group__4_in_rule__ReferenceCS__Group__326719);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group__4_in_rule__ReferenceCS__Group__327781);
             rule__ReferenceCS__Group__4();
 
             state._fsp--;
@@ -39819,33 +41164,33 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12752:1: rule__ReferenceCS__Group__3__Impl : ( ( rule__ReferenceCS__Group_3__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13365:1: rule__ReferenceCS__Group__3__Impl : ( ( rule__ReferenceCS__Group_3__0 )? ) ;
     public final void rule__ReferenceCS__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12756:1: ( ( ( rule__ReferenceCS__Group_3__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12757:1: ( ( rule__ReferenceCS__Group_3__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13369:1: ( ( ( rule__ReferenceCS__Group_3__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13370:1: ( ( rule__ReferenceCS__Group_3__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12757:1: ( ( rule__ReferenceCS__Group_3__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12758:1: ( rule__ReferenceCS__Group_3__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13370:1: ( ( rule__ReferenceCS__Group_3__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13371:1: ( rule__ReferenceCS__Group_3__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getGroup_3()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12759:1: ( rule__ReferenceCS__Group_3__0 )?
-            int alt152=2;
-            int LA152_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13372:1: ( rule__ReferenceCS__Group_3__0 )?
+            int alt173=2;
+            int LA173_0 = input.LA(1);
 
-            if ( (LA152_0==101) ) {
-                alt152=1;
+            if ( (LA173_0==110) ) {
+                alt173=1;
             }
-            switch (alt152) {
+            switch (alt173) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12759:2: rule__ReferenceCS__Group_3__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13372:2: rule__ReferenceCS__Group_3__0
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_3__0_in_rule__ReferenceCS__Group__3__Impl26746);
+                    pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_3__0_in_rule__ReferenceCS__Group__3__Impl27808);
                     rule__ReferenceCS__Group_3__0();
 
                     state._fsp--;
@@ -39881,21 +41226,21 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group__4"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12769:1: rule__ReferenceCS__Group__4 : rule__ReferenceCS__Group__4__Impl rule__ReferenceCS__Group__5 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13382:1: rule__ReferenceCS__Group__4 : rule__ReferenceCS__Group__4__Impl rule__ReferenceCS__Group__5 ;
     public final void rule__ReferenceCS__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12773:1: ( rule__ReferenceCS__Group__4__Impl rule__ReferenceCS__Group__5 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12774:2: rule__ReferenceCS__Group__4__Impl rule__ReferenceCS__Group__5
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13386:1: ( rule__ReferenceCS__Group__4__Impl rule__ReferenceCS__Group__5 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13387:2: rule__ReferenceCS__Group__4__Impl rule__ReferenceCS__Group__5
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group__4__Impl_in_rule__ReferenceCS__Group__426777);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group__4__Impl_in_rule__ReferenceCS__Group__427839);
             rule__ReferenceCS__Group__4__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group__5_in_rule__ReferenceCS__Group__426780);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group__5_in_rule__ReferenceCS__Group__427842);
             rule__ReferenceCS__Group__5();
 
             state._fsp--;
@@ -39919,33 +41264,33 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group__4__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12781:1: rule__ReferenceCS__Group__4__Impl : ( ( rule__ReferenceCS__Group_4__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13394:1: rule__ReferenceCS__Group__4__Impl : ( ( rule__ReferenceCS__Group_4__0 )? ) ;
     public final void rule__ReferenceCS__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12785:1: ( ( ( rule__ReferenceCS__Group_4__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12786:1: ( ( rule__ReferenceCS__Group_4__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13398:1: ( ( ( rule__ReferenceCS__Group_4__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13399:1: ( ( rule__ReferenceCS__Group_4__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12786:1: ( ( rule__ReferenceCS__Group_4__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12787:1: ( rule__ReferenceCS__Group_4__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13399:1: ( ( rule__ReferenceCS__Group_4__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13400:1: ( rule__ReferenceCS__Group_4__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getGroup_4()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12788:1: ( rule__ReferenceCS__Group_4__0 )?
-            int alt153=2;
-            int LA153_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13401:1: ( rule__ReferenceCS__Group_4__0 )?
+            int alt174=2;
+            int LA174_0 = input.LA(1);
 
-            if ( (LA153_0==97) ) {
-                alt153=1;
+            if ( (LA174_0==106) ) {
+                alt174=1;
             }
-            switch (alt153) {
+            switch (alt174) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12788:2: rule__ReferenceCS__Group_4__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13401:2: rule__ReferenceCS__Group_4__0
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_4__0_in_rule__ReferenceCS__Group__4__Impl26807);
+                    pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_4__0_in_rule__ReferenceCS__Group__4__Impl27869);
                     rule__ReferenceCS__Group_4__0();
 
                     state._fsp--;
@@ -39981,21 +41326,21 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group__5"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12798:1: rule__ReferenceCS__Group__5 : rule__ReferenceCS__Group__5__Impl rule__ReferenceCS__Group__6 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13411:1: rule__ReferenceCS__Group__5 : rule__ReferenceCS__Group__5__Impl rule__ReferenceCS__Group__6 ;
     public final void rule__ReferenceCS__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12802:1: ( rule__ReferenceCS__Group__5__Impl rule__ReferenceCS__Group__6 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12803:2: rule__ReferenceCS__Group__5__Impl rule__ReferenceCS__Group__6
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13415:1: ( rule__ReferenceCS__Group__5__Impl rule__ReferenceCS__Group__6 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13416:2: rule__ReferenceCS__Group__5__Impl rule__ReferenceCS__Group__6
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group__5__Impl_in_rule__ReferenceCS__Group__526838);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group__5__Impl_in_rule__ReferenceCS__Group__527900);
             rule__ReferenceCS__Group__5__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group__6_in_rule__ReferenceCS__Group__526841);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group__6_in_rule__ReferenceCS__Group__527903);
             rule__ReferenceCS__Group__6();
 
             state._fsp--;
@@ -40019,33 +41364,33 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group__5__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12810:1: rule__ReferenceCS__Group__5__Impl : ( ( rule__ReferenceCS__Group_5__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13423:1: rule__ReferenceCS__Group__5__Impl : ( ( rule__ReferenceCS__Group_5__0 )? ) ;
     public final void rule__ReferenceCS__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12814:1: ( ( ( rule__ReferenceCS__Group_5__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12815:1: ( ( rule__ReferenceCS__Group_5__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13427:1: ( ( ( rule__ReferenceCS__Group_5__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13428:1: ( ( rule__ReferenceCS__Group_5__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12815:1: ( ( rule__ReferenceCS__Group_5__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12816:1: ( rule__ReferenceCS__Group_5__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13428:1: ( ( rule__ReferenceCS__Group_5__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13429:1: ( rule__ReferenceCS__Group_5__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getGroup_5()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12817:1: ( rule__ReferenceCS__Group_5__0 )?
-            int alt154=2;
-            int LA154_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13430:1: ( rule__ReferenceCS__Group_5__0 )?
+            int alt175=2;
+            int LA175_0 = input.LA(1);
 
-            if ( (LA154_0==70) ) {
-                alt154=1;
+            if ( (LA175_0==79) ) {
+                alt175=1;
             }
-            switch (alt154) {
+            switch (alt175) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12817:2: rule__ReferenceCS__Group_5__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13430:2: rule__ReferenceCS__Group_5__0
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_5__0_in_rule__ReferenceCS__Group__5__Impl26868);
+                    pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_5__0_in_rule__ReferenceCS__Group__5__Impl27930);
                     rule__ReferenceCS__Group_5__0();
 
                     state._fsp--;
@@ -40081,21 +41426,21 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group__6"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12827:1: rule__ReferenceCS__Group__6 : rule__ReferenceCS__Group__6__Impl rule__ReferenceCS__Group__7 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13440:1: rule__ReferenceCS__Group__6 : rule__ReferenceCS__Group__6__Impl rule__ReferenceCS__Group__7 ;
     public final void rule__ReferenceCS__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12831:1: ( rule__ReferenceCS__Group__6__Impl rule__ReferenceCS__Group__7 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12832:2: rule__ReferenceCS__Group__6__Impl rule__ReferenceCS__Group__7
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13444:1: ( rule__ReferenceCS__Group__6__Impl rule__ReferenceCS__Group__7 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13445:2: rule__ReferenceCS__Group__6__Impl rule__ReferenceCS__Group__7
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group__6__Impl_in_rule__ReferenceCS__Group__626899);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group__6__Impl_in_rule__ReferenceCS__Group__627961);
             rule__ReferenceCS__Group__6__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group__7_in_rule__ReferenceCS__Group__626902);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group__7_in_rule__ReferenceCS__Group__627964);
             rule__ReferenceCS__Group__7();
 
             state._fsp--;
@@ -40119,38 +41464,30 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group__6__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12839:1: rule__ReferenceCS__Group__6__Impl : ( ( rule__ReferenceCS__Group_6__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13452:1: rule__ReferenceCS__Group__6__Impl : ( ( rule__ReferenceCS__UnorderedGroup_6 )? ) ;
     public final void rule__ReferenceCS__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12843:1: ( ( ( rule__ReferenceCS__Group_6__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12844:1: ( ( rule__ReferenceCS__Group_6__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13456:1: ( ( ( rule__ReferenceCS__UnorderedGroup_6 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13457:1: ( ( rule__ReferenceCS__UnorderedGroup_6 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12844:1: ( ( rule__ReferenceCS__Group_6__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12845:1: ( rule__ReferenceCS__Group_6__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13457:1: ( ( rule__ReferenceCS__UnorderedGroup_6 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13458:1: ( rule__ReferenceCS__UnorderedGroup_6 )?
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getGroup_6()); 
+               before(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12846:1: ( rule__ReferenceCS__Group_6__0 )?
-            int alt155=2;
-            int LA155_0 = input.LA(1);
-
-            if ( (LA155_0==99) ) {
-                int LA155_1 = input.LA(2);
-
-                if ( (LA155_1==22||LA155_1==26||LA155_1==37||LA155_1==43||LA155_1==45||(LA155_1>=49 && LA155_1<=52)||LA155_1==120||(LA155_1>=122 && LA155_1<=127)||(LA155_1>=129 && LA155_1<=130)) ) {
-                    alt155=1;
-                }
-            }
-            switch (alt155) {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13459:1: ( rule__ReferenceCS__UnorderedGroup_6 )?
+            int alt176=2;
+            alt176 = dfa176.predict(input);
+            switch (alt176) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12846:2: rule__ReferenceCS__Group_6__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13459:2: rule__ReferenceCS__UnorderedGroup_6
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6__0_in_rule__ReferenceCS__Group__6__Impl26929);
-                    rule__ReferenceCS__Group_6__0();
+                    pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__UnorderedGroup_6_in_rule__ReferenceCS__Group__6__Impl27991);
+                    rule__ReferenceCS__UnorderedGroup_6();
 
                     state._fsp--;
                     if (state.failed) return ;
@@ -40161,7 +41498,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getGroup_6()); 
+               after(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6()); 
             }
 
             }
@@ -40185,16 +41522,16 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group__7"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12856:1: rule__ReferenceCS__Group__7 : rule__ReferenceCS__Group__7__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13469:1: rule__ReferenceCS__Group__7 : rule__ReferenceCS__Group__7__Impl ;
     public final void rule__ReferenceCS__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12860:1: ( rule__ReferenceCS__Group__7__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12861:2: rule__ReferenceCS__Group__7__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13473:1: ( rule__ReferenceCS__Group__7__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13474:2: rule__ReferenceCS__Group__7__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group__7__Impl_in_rule__ReferenceCS__Group__726960);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group__7__Impl_in_rule__ReferenceCS__Group__728022);
             rule__ReferenceCS__Group__7__Impl();
 
             state._fsp--;
@@ -40218,25 +41555,25 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group__7__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12867:1: rule__ReferenceCS__Group__7__Impl : ( ( rule__ReferenceCS__Alternatives_7 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13480:1: rule__ReferenceCS__Group__7__Impl : ( ( rule__ReferenceCS__Alternatives_7 ) ) ;
     public final void rule__ReferenceCS__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12871:1: ( ( ( rule__ReferenceCS__Alternatives_7 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12872:1: ( ( rule__ReferenceCS__Alternatives_7 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13484:1: ( ( ( rule__ReferenceCS__Alternatives_7 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13485:1: ( ( rule__ReferenceCS__Alternatives_7 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12872:1: ( ( rule__ReferenceCS__Alternatives_7 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12873:1: ( rule__ReferenceCS__Alternatives_7 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13485:1: ( ( rule__ReferenceCS__Alternatives_7 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13486:1: ( rule__ReferenceCS__Alternatives_7 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getAlternatives_7()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12874:1: ( rule__ReferenceCS__Alternatives_7 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12874:2: rule__ReferenceCS__Alternatives_7
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13487:1: ( rule__ReferenceCS__Alternatives_7 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13487:2: rule__ReferenceCS__Alternatives_7
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Alternatives_7_in_rule__ReferenceCS__Group__7__Impl26987);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Alternatives_7_in_rule__ReferenceCS__Group__7__Impl28049);
             rule__ReferenceCS__Alternatives_7();
 
             state._fsp--;
@@ -40268,390 +41605,22 @@
     // $ANTLR end "rule__ReferenceCS__Group__7__Impl"
 
 
-    // $ANTLR start "rule__ReferenceCS__Group_0_0__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12900:1: rule__ReferenceCS__Group_0_0__0 : rule__ReferenceCS__Group_0_0__0__Impl rule__ReferenceCS__Group_0_0__1 ;
-    public final void rule__ReferenceCS__Group_0_0__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12904:1: ( rule__ReferenceCS__Group_0_0__0__Impl rule__ReferenceCS__Group_0_0__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12905:2: rule__ReferenceCS__Group_0_0__0__Impl rule__ReferenceCS__Group_0_0__1
-            {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_0_0__0__Impl_in_rule__ReferenceCS__Group_0_0__027033);
-            rule__ReferenceCS__Group_0_0__0__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_0_0__1_in_rule__ReferenceCS__Group_0_0__027036);
-            rule__ReferenceCS__Group_0_0__1();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ReferenceCS__Group_0_0__0"
-
-
-    // $ANTLR start "rule__ReferenceCS__Group_0_0__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12912:1: rule__ReferenceCS__Group_0_0__0__Impl : ( ( rule__ReferenceCS__QualifiersAssignment_0_0_0 ) ) ;
-    public final void rule__ReferenceCS__Group_0_0__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12916:1: ( ( ( rule__ReferenceCS__QualifiersAssignment_0_0_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12917:1: ( ( rule__ReferenceCS__QualifiersAssignment_0_0_0 ) )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12917:1: ( ( rule__ReferenceCS__QualifiersAssignment_0_0_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12918:1: ( rule__ReferenceCS__QualifiersAssignment_0_0_0 )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_0_0_0()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12919:1: ( rule__ReferenceCS__QualifiersAssignment_0_0_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12919:2: rule__ReferenceCS__QualifiersAssignment_0_0_0
-            {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__QualifiersAssignment_0_0_0_in_rule__ReferenceCS__Group_0_0__0__Impl27063);
-            rule__ReferenceCS__QualifiersAssignment_0_0_0();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_0_0_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ReferenceCS__Group_0_0__0__Impl"
-
-
-    // $ANTLR start "rule__ReferenceCS__Group_0_0__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12929:1: rule__ReferenceCS__Group_0_0__1 : rule__ReferenceCS__Group_0_0__1__Impl ;
-    public final void rule__ReferenceCS__Group_0_0__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12933:1: ( rule__ReferenceCS__Group_0_0__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12934:2: rule__ReferenceCS__Group_0_0__1__Impl
-            {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_0_0__1__Impl_in_rule__ReferenceCS__Group_0_0__127093);
-            rule__ReferenceCS__Group_0_0__1__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ReferenceCS__Group_0_0__1"
-
-
-    // $ANTLR start "rule__ReferenceCS__Group_0_0__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12940:1: rule__ReferenceCS__Group_0_0__1__Impl : ( ( rule__ReferenceCS__QualifiersAssignment_0_0_1 )? ) ;
-    public final void rule__ReferenceCS__Group_0_0__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12944:1: ( ( ( rule__ReferenceCS__QualifiersAssignment_0_0_1 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12945:1: ( ( rule__ReferenceCS__QualifiersAssignment_0_0_1 )? )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12945:1: ( ( rule__ReferenceCS__QualifiersAssignment_0_0_1 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12946:1: ( rule__ReferenceCS__QualifiersAssignment_0_0_1 )?
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_0_0_1()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12947:1: ( rule__ReferenceCS__QualifiersAssignment_0_0_1 )?
-            int alt156=2;
-            int LA156_0 = input.LA(1);
-
-            if ( (LA156_0==24) ) {
-                alt156=1;
-            }
-            switch (alt156) {
-                case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12947:2: rule__ReferenceCS__QualifiersAssignment_0_0_1
-                    {
-                    pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__QualifiersAssignment_0_0_1_in_rule__ReferenceCS__Group_0_0__1__Impl27120);
-                    rule__ReferenceCS__QualifiersAssignment_0_0_1();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-                    break;
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_0_0_1()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ReferenceCS__Group_0_0__1__Impl"
-
-
-    // $ANTLR start "rule__ReferenceCS__Group_0_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12961:1: rule__ReferenceCS__Group_0_1__0 : rule__ReferenceCS__Group_0_1__0__Impl rule__ReferenceCS__Group_0_1__1 ;
-    public final void rule__ReferenceCS__Group_0_1__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12965:1: ( rule__ReferenceCS__Group_0_1__0__Impl rule__ReferenceCS__Group_0_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12966:2: rule__ReferenceCS__Group_0_1__0__Impl rule__ReferenceCS__Group_0_1__1
-            {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_0_1__0__Impl_in_rule__ReferenceCS__Group_0_1__027155);
-            rule__ReferenceCS__Group_0_1__0__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_0_1__1_in_rule__ReferenceCS__Group_0_1__027158);
-            rule__ReferenceCS__Group_0_1__1();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ReferenceCS__Group_0_1__0"
-
-
-    // $ANTLR start "rule__ReferenceCS__Group_0_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12973:1: rule__ReferenceCS__Group_0_1__0__Impl : ( ( rule__ReferenceCS__QualifiersAssignment_0_1_0 ) ) ;
-    public final void rule__ReferenceCS__Group_0_1__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12977:1: ( ( ( rule__ReferenceCS__QualifiersAssignment_0_1_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12978:1: ( ( rule__ReferenceCS__QualifiersAssignment_0_1_0 ) )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12978:1: ( ( rule__ReferenceCS__QualifiersAssignment_0_1_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12979:1: ( rule__ReferenceCS__QualifiersAssignment_0_1_0 )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_0_1_0()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12980:1: ( rule__ReferenceCS__QualifiersAssignment_0_1_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12980:2: rule__ReferenceCS__QualifiersAssignment_0_1_0
-            {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__QualifiersAssignment_0_1_0_in_rule__ReferenceCS__Group_0_1__0__Impl27185);
-            rule__ReferenceCS__QualifiersAssignment_0_1_0();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_0_1_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ReferenceCS__Group_0_1__0__Impl"
-
-
-    // $ANTLR start "rule__ReferenceCS__Group_0_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12990:1: rule__ReferenceCS__Group_0_1__1 : rule__ReferenceCS__Group_0_1__1__Impl ;
-    public final void rule__ReferenceCS__Group_0_1__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12994:1: ( rule__ReferenceCS__Group_0_1__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12995:2: rule__ReferenceCS__Group_0_1__1__Impl
-            {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_0_1__1__Impl_in_rule__ReferenceCS__Group_0_1__127215);
-            rule__ReferenceCS__Group_0_1__1__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ReferenceCS__Group_0_1__1"
-
-
-    // $ANTLR start "rule__ReferenceCS__Group_0_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13001:1: rule__ReferenceCS__Group_0_1__1__Impl : ( ( rule__ReferenceCS__QualifiersAssignment_0_1_1 )? ) ;
-    public final void rule__ReferenceCS__Group_0_1__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13005:1: ( ( ( rule__ReferenceCS__QualifiersAssignment_0_1_1 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13006:1: ( ( rule__ReferenceCS__QualifiersAssignment_0_1_1 )? )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13006:1: ( ( rule__ReferenceCS__QualifiersAssignment_0_1_1 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13007:1: ( rule__ReferenceCS__QualifiersAssignment_0_1_1 )?
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_0_1_1()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13008:1: ( rule__ReferenceCS__QualifiersAssignment_0_1_1 )?
-            int alt157=2;
-            int LA157_0 = input.LA(1);
-
-            if ( (LA157_0==46) ) {
-                alt157=1;
-            }
-            switch (alt157) {
-                case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13008:2: rule__ReferenceCS__QualifiersAssignment_0_1_1
-                    {
-                    pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__QualifiersAssignment_0_1_1_in_rule__ReferenceCS__Group_0_1__1__Impl27242);
-                    rule__ReferenceCS__QualifiersAssignment_0_1_1();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-                    break;
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersAssignment_0_1_1()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ReferenceCS__Group_0_1__1__Impl"
-
-
     // $ANTLR start "rule__ReferenceCS__Group_3__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13022:1: rule__ReferenceCS__Group_3__0 : rule__ReferenceCS__Group_3__0__Impl rule__ReferenceCS__Group_3__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13513:1: rule__ReferenceCS__Group_3__0 : rule__ReferenceCS__Group_3__0__Impl rule__ReferenceCS__Group_3__1 ;
     public final void rule__ReferenceCS__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13026:1: ( rule__ReferenceCS__Group_3__0__Impl rule__ReferenceCS__Group_3__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13027:2: rule__ReferenceCS__Group_3__0__Impl rule__ReferenceCS__Group_3__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13517:1: ( rule__ReferenceCS__Group_3__0__Impl rule__ReferenceCS__Group_3__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13518:2: rule__ReferenceCS__Group_3__0__Impl rule__ReferenceCS__Group_3__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_3__0__Impl_in_rule__ReferenceCS__Group_3__027277);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_3__0__Impl_in_rule__ReferenceCS__Group_3__028095);
             rule__ReferenceCS__Group_3__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_3__1_in_rule__ReferenceCS__Group_3__027280);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_3__1_in_rule__ReferenceCS__Group_3__028098);
             rule__ReferenceCS__Group_3__1();
 
             state._fsp--;
@@ -40675,22 +41644,22 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_3__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13034:1: rule__ReferenceCS__Group_3__0__Impl : ( '#' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13525:1: rule__ReferenceCS__Group_3__0__Impl : ( '#' ) ;
     public final void rule__ReferenceCS__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13038:1: ( ( '#' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13039:1: ( '#' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13529:1: ( ( '#' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13530:1: ( '#' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13039:1: ( '#' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13040:1: '#'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13530:1: ( '#' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13531:1: '#'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getNumberSignKeyword_3_0()); 
             }
-            match(input,101,FollowSets001.FOLLOW_101_in_rule__ReferenceCS__Group_3__0__Impl27308); if (state.failed) return ;
+            match(input,110,FollowSets001.FOLLOW_110_in_rule__ReferenceCS__Group_3__0__Impl28126); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReferenceCSAccess().getNumberSignKeyword_3_0()); 
             }
@@ -40716,16 +41685,16 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_3__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13053:1: rule__ReferenceCS__Group_3__1 : rule__ReferenceCS__Group_3__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13544:1: rule__ReferenceCS__Group_3__1 : rule__ReferenceCS__Group_3__1__Impl ;
     public final void rule__ReferenceCS__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13057:1: ( rule__ReferenceCS__Group_3__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13058:2: rule__ReferenceCS__Group_3__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13548:1: ( rule__ReferenceCS__Group_3__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13549:2: rule__ReferenceCS__Group_3__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_3__1__Impl_in_rule__ReferenceCS__Group_3__127339);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_3__1__Impl_in_rule__ReferenceCS__Group_3__128157);
             rule__ReferenceCS__Group_3__1__Impl();
 
             state._fsp--;
@@ -40749,25 +41718,25 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_3__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13064:1: rule__ReferenceCS__Group_3__1__Impl : ( ( rule__ReferenceCS__ReferredOppositeAssignment_3_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13555:1: rule__ReferenceCS__Group_3__1__Impl : ( ( rule__ReferenceCS__ReferredOppositeAssignment_3_1 ) ) ;
     public final void rule__ReferenceCS__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13068:1: ( ( ( rule__ReferenceCS__ReferredOppositeAssignment_3_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13069:1: ( ( rule__ReferenceCS__ReferredOppositeAssignment_3_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13559:1: ( ( ( rule__ReferenceCS__ReferredOppositeAssignment_3_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13560:1: ( ( rule__ReferenceCS__ReferredOppositeAssignment_3_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13069:1: ( ( rule__ReferenceCS__ReferredOppositeAssignment_3_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13070:1: ( rule__ReferenceCS__ReferredOppositeAssignment_3_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13560:1: ( ( rule__ReferenceCS__ReferredOppositeAssignment_3_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13561:1: ( rule__ReferenceCS__ReferredOppositeAssignment_3_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getReferredOppositeAssignment_3_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13071:1: ( rule__ReferenceCS__ReferredOppositeAssignment_3_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13071:2: rule__ReferenceCS__ReferredOppositeAssignment_3_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13562:1: ( rule__ReferenceCS__ReferredOppositeAssignment_3_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13562:2: rule__ReferenceCS__ReferredOppositeAssignment_3_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__ReferredOppositeAssignment_3_1_in_rule__ReferenceCS__Group_3__1__Impl27366);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__ReferredOppositeAssignment_3_1_in_rule__ReferenceCS__Group_3__1__Impl28184);
             rule__ReferenceCS__ReferredOppositeAssignment_3_1();
 
             state._fsp--;
@@ -40800,21 +41769,21 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_4__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13085:1: rule__ReferenceCS__Group_4__0 : rule__ReferenceCS__Group_4__0__Impl rule__ReferenceCS__Group_4__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13576:1: rule__ReferenceCS__Group_4__0 : rule__ReferenceCS__Group_4__0__Impl rule__ReferenceCS__Group_4__1 ;
     public final void rule__ReferenceCS__Group_4__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13089:1: ( rule__ReferenceCS__Group_4__0__Impl rule__ReferenceCS__Group_4__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13090:2: rule__ReferenceCS__Group_4__0__Impl rule__ReferenceCS__Group_4__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13580:1: ( rule__ReferenceCS__Group_4__0__Impl rule__ReferenceCS__Group_4__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13581:2: rule__ReferenceCS__Group_4__0__Impl rule__ReferenceCS__Group_4__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_4__0__Impl_in_rule__ReferenceCS__Group_4__027400);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_4__0__Impl_in_rule__ReferenceCS__Group_4__028218);
             rule__ReferenceCS__Group_4__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_4__1_in_rule__ReferenceCS__Group_4__027403);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_4__1_in_rule__ReferenceCS__Group_4__028221);
             rule__ReferenceCS__Group_4__1();
 
             state._fsp--;
@@ -40838,22 +41807,22 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_4__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13097:1: rule__ReferenceCS__Group_4__0__Impl : ( ':' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13588:1: rule__ReferenceCS__Group_4__0__Impl : ( ':' ) ;
     public final void rule__ReferenceCS__Group_4__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13101:1: ( ( ':' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13102:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13592:1: ( ( ':' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13593:1: ( ':' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13102:1: ( ':' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13103:1: ':'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13593:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13594:1: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getColonKeyword_4_0()); 
             }
-            match(input,97,FollowSets001.FOLLOW_97_in_rule__ReferenceCS__Group_4__0__Impl27431); if (state.failed) return ;
+            match(input,106,FollowSets001.FOLLOW_106_in_rule__ReferenceCS__Group_4__0__Impl28249); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReferenceCSAccess().getColonKeyword_4_0()); 
             }
@@ -40879,16 +41848,16 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_4__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13116:1: rule__ReferenceCS__Group_4__1 : rule__ReferenceCS__Group_4__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13607:1: rule__ReferenceCS__Group_4__1 : rule__ReferenceCS__Group_4__1__Impl ;
     public final void rule__ReferenceCS__Group_4__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13120:1: ( rule__ReferenceCS__Group_4__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13121:2: rule__ReferenceCS__Group_4__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13611:1: ( rule__ReferenceCS__Group_4__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13612:2: rule__ReferenceCS__Group_4__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_4__1__Impl_in_rule__ReferenceCS__Group_4__127462);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_4__1__Impl_in_rule__ReferenceCS__Group_4__128280);
             rule__ReferenceCS__Group_4__1__Impl();
 
             state._fsp--;
@@ -40912,25 +41881,25 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_4__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13127:1: rule__ReferenceCS__Group_4__1__Impl : ( ( rule__ReferenceCS__OwnedTypeAssignment_4_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13618:1: rule__ReferenceCS__Group_4__1__Impl : ( ( rule__ReferenceCS__OwnedTypeAssignment_4_1 ) ) ;
     public final void rule__ReferenceCS__Group_4__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13131:1: ( ( ( rule__ReferenceCS__OwnedTypeAssignment_4_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13132:1: ( ( rule__ReferenceCS__OwnedTypeAssignment_4_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13622:1: ( ( ( rule__ReferenceCS__OwnedTypeAssignment_4_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13623:1: ( ( rule__ReferenceCS__OwnedTypeAssignment_4_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13132:1: ( ( rule__ReferenceCS__OwnedTypeAssignment_4_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13133:1: ( rule__ReferenceCS__OwnedTypeAssignment_4_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13623:1: ( ( rule__ReferenceCS__OwnedTypeAssignment_4_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13624:1: ( rule__ReferenceCS__OwnedTypeAssignment_4_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getOwnedTypeAssignment_4_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13134:1: ( rule__ReferenceCS__OwnedTypeAssignment_4_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13134:2: rule__ReferenceCS__OwnedTypeAssignment_4_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13625:1: ( rule__ReferenceCS__OwnedTypeAssignment_4_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13625:2: rule__ReferenceCS__OwnedTypeAssignment_4_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__OwnedTypeAssignment_4_1_in_rule__ReferenceCS__Group_4__1__Impl27489);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__OwnedTypeAssignment_4_1_in_rule__ReferenceCS__Group_4__1__Impl28307);
             rule__ReferenceCS__OwnedTypeAssignment_4_1();
 
             state._fsp--;
@@ -40963,21 +41932,21 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_5__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13148:1: rule__ReferenceCS__Group_5__0 : rule__ReferenceCS__Group_5__0__Impl rule__ReferenceCS__Group_5__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13639:1: rule__ReferenceCS__Group_5__0 : rule__ReferenceCS__Group_5__0__Impl rule__ReferenceCS__Group_5__1 ;
     public final void rule__ReferenceCS__Group_5__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13152:1: ( rule__ReferenceCS__Group_5__0__Impl rule__ReferenceCS__Group_5__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13153:2: rule__ReferenceCS__Group_5__0__Impl rule__ReferenceCS__Group_5__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13643:1: ( rule__ReferenceCS__Group_5__0__Impl rule__ReferenceCS__Group_5__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13644:2: rule__ReferenceCS__Group_5__0__Impl rule__ReferenceCS__Group_5__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_5__0__Impl_in_rule__ReferenceCS__Group_5__027523);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_5__0__Impl_in_rule__ReferenceCS__Group_5__028341);
             rule__ReferenceCS__Group_5__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_5__1_in_rule__ReferenceCS__Group_5__027526);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_5__1_in_rule__ReferenceCS__Group_5__028344);
             rule__ReferenceCS__Group_5__1();
 
             state._fsp--;
@@ -41001,22 +41970,22 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_5__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13160:1: rule__ReferenceCS__Group_5__0__Impl : ( '=' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13651:1: rule__ReferenceCS__Group_5__0__Impl : ( '=' ) ;
     public final void rule__ReferenceCS__Group_5__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13164:1: ( ( '=' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13165:1: ( '=' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13655:1: ( ( '=' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13656:1: ( '=' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13165:1: ( '=' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13166:1: '='
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13656:1: ( '=' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13657:1: '='
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getEqualsSignKeyword_5_0()); 
             }
-            match(input,70,FollowSets001.FOLLOW_70_in_rule__ReferenceCS__Group_5__0__Impl27554); if (state.failed) return ;
+            match(input,79,FollowSets001.FOLLOW_79_in_rule__ReferenceCS__Group_5__0__Impl28372); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReferenceCSAccess().getEqualsSignKeyword_5_0()); 
             }
@@ -41042,16 +42011,16 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_5__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13179:1: rule__ReferenceCS__Group_5__1 : rule__ReferenceCS__Group_5__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13670:1: rule__ReferenceCS__Group_5__1 : rule__ReferenceCS__Group_5__1__Impl ;
     public final void rule__ReferenceCS__Group_5__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13183:1: ( rule__ReferenceCS__Group_5__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13184:2: rule__ReferenceCS__Group_5__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13674:1: ( rule__ReferenceCS__Group_5__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13675:2: rule__ReferenceCS__Group_5__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_5__1__Impl_in_rule__ReferenceCS__Group_5__127585);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_5__1__Impl_in_rule__ReferenceCS__Group_5__128403);
             rule__ReferenceCS__Group_5__1__Impl();
 
             state._fsp--;
@@ -41075,25 +42044,25 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_5__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13190:1: rule__ReferenceCS__Group_5__1__Impl : ( ( rule__ReferenceCS__DefaultAssignment_5_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13681:1: rule__ReferenceCS__Group_5__1__Impl : ( ( rule__ReferenceCS__DefaultAssignment_5_1 ) ) ;
     public final void rule__ReferenceCS__Group_5__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13194:1: ( ( ( rule__ReferenceCS__DefaultAssignment_5_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13195:1: ( ( rule__ReferenceCS__DefaultAssignment_5_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13685:1: ( ( ( rule__ReferenceCS__DefaultAssignment_5_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13686:1: ( ( rule__ReferenceCS__DefaultAssignment_5_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13195:1: ( ( rule__ReferenceCS__DefaultAssignment_5_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13196:1: ( rule__ReferenceCS__DefaultAssignment_5_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13686:1: ( ( rule__ReferenceCS__DefaultAssignment_5_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13687:1: ( rule__ReferenceCS__DefaultAssignment_5_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getDefaultAssignment_5_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13197:1: ( rule__ReferenceCS__DefaultAssignment_5_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13197:2: rule__ReferenceCS__DefaultAssignment_5_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13688:1: ( rule__ReferenceCS__DefaultAssignment_5_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13688:2: rule__ReferenceCS__DefaultAssignment_5_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__DefaultAssignment_5_1_in_rule__ReferenceCS__Group_5__1__Impl27612);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__DefaultAssignment_5_1_in_rule__ReferenceCS__Group_5__1__Impl28430);
             rule__ReferenceCS__DefaultAssignment_5_1();
 
             state._fsp--;
@@ -41125,23 +42094,23 @@
     // $ANTLR end "rule__ReferenceCS__Group_5__1__Impl"
 
 
-    // $ANTLR start "rule__ReferenceCS__Group_6__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13211:1: rule__ReferenceCS__Group_6__0 : rule__ReferenceCS__Group_6__0__Impl rule__ReferenceCS__Group_6__1 ;
-    public final void rule__ReferenceCS__Group_6__0() throws RecognitionException {
+    // $ANTLR start "rule__ReferenceCS__Group_6_0__0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13702:1: rule__ReferenceCS__Group_6_0__0 : rule__ReferenceCS__Group_6_0__0__Impl rule__ReferenceCS__Group_6_0__1 ;
+    public final void rule__ReferenceCS__Group_6_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13215:1: ( rule__ReferenceCS__Group_6__0__Impl rule__ReferenceCS__Group_6__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13216:2: rule__ReferenceCS__Group_6__0__Impl rule__ReferenceCS__Group_6__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13706:1: ( rule__ReferenceCS__Group_6_0__0__Impl rule__ReferenceCS__Group_6_0__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13707:2: rule__ReferenceCS__Group_6_0__0__Impl rule__ReferenceCS__Group_6_0__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6__0__Impl_in_rule__ReferenceCS__Group_6__027646);
-            rule__ReferenceCS__Group_6__0__Impl();
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_0__0__Impl_in_rule__ReferenceCS__Group_6_0__028464);
+            rule__ReferenceCS__Group_6_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6__1_in_rule__ReferenceCS__Group_6__027649);
-            rule__ReferenceCS__Group_6__1();
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_0__1_in_rule__ReferenceCS__Group_6_0__028467);
+            rule__ReferenceCS__Group_6_0__1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -41160,28 +42129,28 @@
         }
         return ;
     }
-    // $ANTLR end "rule__ReferenceCS__Group_6__0"
+    // $ANTLR end "rule__ReferenceCS__Group_6_0__0"
 
 
-    // $ANTLR start "rule__ReferenceCS__Group_6__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13223:1: rule__ReferenceCS__Group_6__0__Impl : ( '{' ) ;
-    public final void rule__ReferenceCS__Group_6__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__ReferenceCS__Group_6_0__0__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13714:1: rule__ReferenceCS__Group_6_0__0__Impl : ( '{' ) ;
+    public final void rule__ReferenceCS__Group_6_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13227:1: ( ( '{' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13228:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13718:1: ( ( '{' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13719:1: ( '{' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13228:1: ( '{' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13229:1: '{'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13719:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13720:1: '{'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_6_0()); 
+               before(grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_6_0_0()); 
             }
-            match(input,99,FollowSets001.FOLLOW_99_in_rule__ReferenceCS__Group_6__0__Impl27677); if (state.failed) return ;
+            match(input,108,FollowSets001.FOLLOW_108_in_rule__ReferenceCS__Group_6_0__0__Impl28495); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_6_0()); 
+               after(grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_6_0_0()); 
             }
 
             }
@@ -41201,26 +42170,21 @@
         }
         return ;
     }
-    // $ANTLR end "rule__ReferenceCS__Group_6__0__Impl"
+    // $ANTLR end "rule__ReferenceCS__Group_6_0__0__Impl"
 
 
-    // $ANTLR start "rule__ReferenceCS__Group_6__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13242:1: rule__ReferenceCS__Group_6__1 : rule__ReferenceCS__Group_6__1__Impl rule__ReferenceCS__Group_6__2 ;
-    public final void rule__ReferenceCS__Group_6__1() throws RecognitionException {
+    // $ANTLR start "rule__ReferenceCS__Group_6_0__1"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13733:1: rule__ReferenceCS__Group_6_0__1 : rule__ReferenceCS__Group_6_0__1__Impl ;
+    public final void rule__ReferenceCS__Group_6_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13246:1: ( rule__ReferenceCS__Group_6__1__Impl rule__ReferenceCS__Group_6__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13247:2: rule__ReferenceCS__Group_6__1__Impl rule__ReferenceCS__Group_6__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13737:1: ( rule__ReferenceCS__Group_6_0__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13738:2: rule__ReferenceCS__Group_6_0__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6__1__Impl_in_rule__ReferenceCS__Group_6__127708);
-            rule__ReferenceCS__Group_6__1__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6__2_in_rule__ReferenceCS__Group_6__127711);
-            rule__ReferenceCS__Group_6__2();
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_0__1__Impl_in_rule__ReferenceCS__Group_6_0__128526);
+            rule__ReferenceCS__Group_6_0__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
@@ -41239,159 +42203,49 @@
         }
         return ;
     }
-    // $ANTLR end "rule__ReferenceCS__Group_6__1"
+    // $ANTLR end "rule__ReferenceCS__Group_6_0__1"
 
 
-    // $ANTLR start "rule__ReferenceCS__Group_6__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13254:1: rule__ReferenceCS__Group_6__1__Impl : ( ( ( rule__ReferenceCS__Group_6_1__0 ) ) ( ( rule__ReferenceCS__Group_6_1__0 )* ) ) ;
-    public final void rule__ReferenceCS__Group_6__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__ReferenceCS__Group_6_0__1__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13744:1: rule__ReferenceCS__Group_6_0__1__Impl : ( ( rule__ReferenceCS__Group_6_0_1__0 )? ) ;
+    public final void rule__ReferenceCS__Group_6_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13258:1: ( ( ( ( rule__ReferenceCS__Group_6_1__0 ) ) ( ( rule__ReferenceCS__Group_6_1__0 )* ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13259:1: ( ( ( rule__ReferenceCS__Group_6_1__0 ) ) ( ( rule__ReferenceCS__Group_6_1__0 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13748:1: ( ( ( rule__ReferenceCS__Group_6_0_1__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13749:1: ( ( rule__ReferenceCS__Group_6_0_1__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13259:1: ( ( ( rule__ReferenceCS__Group_6_1__0 ) ) ( ( rule__ReferenceCS__Group_6_1__0 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13260:1: ( ( rule__ReferenceCS__Group_6_1__0 ) ) ( ( rule__ReferenceCS__Group_6_1__0 )* )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13260:1: ( ( rule__ReferenceCS__Group_6_1__0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13261:1: ( rule__ReferenceCS__Group_6_1__0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13749:1: ( ( rule__ReferenceCS__Group_6_0_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13750:1: ( rule__ReferenceCS__Group_6_0_1__0 )?
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getGroup_6_1()); 
+               before(grammarAccess.getReferenceCSAccess().getGroup_6_0_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13262:1: ( rule__ReferenceCS__Group_6_1__0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13262:2: rule__ReferenceCS__Group_6_1__0
-            {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_1__0_in_rule__ReferenceCS__Group_6__1__Impl27740);
-            rule__ReferenceCS__Group_6_1__0();
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13751:1: ( rule__ReferenceCS__Group_6_0_1__0 )?
+            int alt177=2;
+            int LA177_0 = input.LA(1);
 
-            state._fsp--;
-            if (state.failed) return ;
+            if ( (LA177_0==22||LA177_0==62) ) {
+                alt177=1;
+            }
+            switch (alt177) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13751:2: rule__ReferenceCS__Group_6_0_1__0
+                    {
+                    pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_0_1__0_in_rule__ReferenceCS__Group_6_0__1__Impl28553);
+                    rule__ReferenceCS__Group_6_0_1__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getGroup_6_1()); 
-            }
-
-            }
-
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13265:1: ( ( rule__ReferenceCS__Group_6_1__0 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13266:1: ( rule__ReferenceCS__Group_6_1__0 )*
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getGroup_6_1()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13267:1: ( rule__ReferenceCS__Group_6_1__0 )*
-            loop158:
-            do {
-                int alt158=2;
-                int LA158_0 = input.LA(1);
-
-                if ( (LA158_0==22||LA158_0==26||LA158_0==37||LA158_0==43||LA158_0==45||(LA158_0>=49 && LA158_0<=52)||LA158_0==120||(LA158_0>=122 && LA158_0<=127)||(LA158_0>=129 && LA158_0<=130)) ) {
-                    alt158=1;
-                }
-
-
-                switch (alt158) {
-            	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13267:2: rule__ReferenceCS__Group_6_1__0
-            	    {
-            	    pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_1__0_in_rule__ReferenceCS__Group_6__1__Impl27752);
-            	    rule__ReferenceCS__Group_6_1__0();
-
-            	    state._fsp--;
-            	    if (state.failed) return ;
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop158;
-                }
-            } while (true);
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getGroup_6_1()); 
-            }
-
-            }
-
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ReferenceCS__Group_6__1__Impl"
-
-
-    // $ANTLR start "rule__ReferenceCS__Group_6__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13278:1: rule__ReferenceCS__Group_6__2 : rule__ReferenceCS__Group_6__2__Impl ;
-    public final void rule__ReferenceCS__Group_6__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13282:1: ( rule__ReferenceCS__Group_6__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13283:2: rule__ReferenceCS__Group_6__2__Impl
-            {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6__2__Impl_in_rule__ReferenceCS__Group_6__227785);
-            rule__ReferenceCS__Group_6__2__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ReferenceCS__Group_6__2"
-
-
-    // $ANTLR start "rule__ReferenceCS__Group_6__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13289:1: rule__ReferenceCS__Group_6__2__Impl : ( '}' ) ;
-    public final void rule__ReferenceCS__Group_6__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13293:1: ( ( '}' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13294:1: ( '}' )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13294:1: ( '}' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13295:1: '}'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_6_2()); 
-            }
-            match(input,100,FollowSets001.FOLLOW_100_in_rule__ReferenceCS__Group_6__2__Impl27813); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_6_2()); 
+               after(grammarAccess.getReferenceCSAccess().getGroup_6_0_1()); 
             }
 
             }
@@ -41411,25 +42265,205 @@
         }
         return ;
     }
-    // $ANTLR end "rule__ReferenceCS__Group_6__2__Impl"
+    // $ANTLR end "rule__ReferenceCS__Group_6_0__1__Impl"
+
+
+    // $ANTLR start "rule__ReferenceCS__Group_6_0_1__0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13765:1: rule__ReferenceCS__Group_6_0_1__0 : rule__ReferenceCS__Group_6_0_1__0__Impl rule__ReferenceCS__Group_6_0_1__1 ;
+    public final void rule__ReferenceCS__Group_6_0_1__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13769:1: ( rule__ReferenceCS__Group_6_0_1__0__Impl rule__ReferenceCS__Group_6_0_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13770:2: rule__ReferenceCS__Group_6_0_1__0__Impl rule__ReferenceCS__Group_6_0_1__1
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_0_1__0__Impl_in_rule__ReferenceCS__Group_6_0_1__028588);
+            rule__ReferenceCS__Group_6_0_1__0__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_0_1__1_in_rule__ReferenceCS__Group_6_0_1__028591);
+            rule__ReferenceCS__Group_6_0_1__1();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Group_6_0_1__0"
+
+
+    // $ANTLR start "rule__ReferenceCS__Group_6_0_1__0__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13777:1: rule__ReferenceCS__Group_6_0_1__0__Impl : ( ( rule__ReferenceCS__Alternatives_6_0_1_0 ) ) ;
+    public final void rule__ReferenceCS__Group_6_0_1__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13781:1: ( ( ( rule__ReferenceCS__Alternatives_6_0_1_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13782:1: ( ( rule__ReferenceCS__Alternatives_6_0_1_0 ) )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13782:1: ( ( rule__ReferenceCS__Alternatives_6_0_1_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13783:1: ( rule__ReferenceCS__Alternatives_6_0_1_0 )
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getReferenceCSAccess().getAlternatives_6_0_1_0()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13784:1: ( rule__ReferenceCS__Alternatives_6_0_1_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13784:2: rule__ReferenceCS__Alternatives_6_0_1_0
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Alternatives_6_0_1_0_in_rule__ReferenceCS__Group_6_0_1__0__Impl28618);
+            rule__ReferenceCS__Alternatives_6_0_1_0();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getReferenceCSAccess().getAlternatives_6_0_1_0()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Group_6_0_1__0__Impl"
+
+
+    // $ANTLR start "rule__ReferenceCS__Group_6_0_1__1"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13794:1: rule__ReferenceCS__Group_6_0_1__1 : rule__ReferenceCS__Group_6_0_1__1__Impl ;
+    public final void rule__ReferenceCS__Group_6_0_1__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13798:1: ( rule__ReferenceCS__Group_6_0_1__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13799:2: rule__ReferenceCS__Group_6_0_1__1__Impl
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_0_1__1__Impl_in_rule__ReferenceCS__Group_6_0_1__128648);
+            rule__ReferenceCS__Group_6_0_1__1__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Group_6_0_1__1"
+
+
+    // $ANTLR start "rule__ReferenceCS__Group_6_0_1__1__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13805:1: rule__ReferenceCS__Group_6_0_1__1__Impl : ( ( ',' )? ) ;
+    public final void rule__ReferenceCS__Group_6_0_1__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13809:1: ( ( ( ',' )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13810:1: ( ( ',' )? )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13810:1: ( ( ',' )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13811:1: ( ',' )?
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getReferenceCSAccess().getCommaKeyword_6_0_1_1()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13812:1: ( ',' )?
+            int alt178=2;
+            int LA178_0 = input.LA(1);
+
+            if ( (LA178_0==107) ) {
+                alt178=1;
+            }
+            switch (alt178) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13813:2: ','
+                    {
+                    match(input,107,FollowSets001.FOLLOW_107_in_rule__ReferenceCS__Group_6_0_1__1__Impl28677); if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getReferenceCSAccess().getCommaKeyword_6_0_1_1()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Group_6_0_1__1__Impl"
 
 
     // $ANTLR start "rule__ReferenceCS__Group_6_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13314:1: rule__ReferenceCS__Group_6_1__0 : rule__ReferenceCS__Group_6_1__0__Impl rule__ReferenceCS__Group_6_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13828:1: rule__ReferenceCS__Group_6_1__0 : rule__ReferenceCS__Group_6_1__0__Impl rule__ReferenceCS__Group_6_1__1 ;
     public final void rule__ReferenceCS__Group_6_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13318:1: ( rule__ReferenceCS__Group_6_1__0__Impl rule__ReferenceCS__Group_6_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13319:2: rule__ReferenceCS__Group_6_1__0__Impl rule__ReferenceCS__Group_6_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13832:1: ( rule__ReferenceCS__Group_6_1__0__Impl rule__ReferenceCS__Group_6_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13833:2: rule__ReferenceCS__Group_6_1__0__Impl rule__ReferenceCS__Group_6_1__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_1__0__Impl_in_rule__ReferenceCS__Group_6_1__027850);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_1__0__Impl_in_rule__ReferenceCS__Group_6_1__028714);
             rule__ReferenceCS__Group_6_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_1__1_in_rule__ReferenceCS__Group_6_1__027853);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_1__1_in_rule__ReferenceCS__Group_6_1__028717);
             rule__ReferenceCS__Group_6_1__1();
 
             state._fsp--;
@@ -41453,25 +42487,25 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_6_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13326:1: rule__ReferenceCS__Group_6_1__0__Impl : ( ( rule__ReferenceCS__Alternatives_6_1_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13840:1: rule__ReferenceCS__Group_6_1__0__Impl : ( ( rule__ReferenceCS__Alternatives_6_1_0 ) ) ;
     public final void rule__ReferenceCS__Group_6_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13330:1: ( ( ( rule__ReferenceCS__Alternatives_6_1_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13331:1: ( ( rule__ReferenceCS__Alternatives_6_1_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13844:1: ( ( ( rule__ReferenceCS__Alternatives_6_1_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13845:1: ( ( rule__ReferenceCS__Alternatives_6_1_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13331:1: ( ( rule__ReferenceCS__Alternatives_6_1_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13332:1: ( rule__ReferenceCS__Alternatives_6_1_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13845:1: ( ( rule__ReferenceCS__Alternatives_6_1_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13846:1: ( rule__ReferenceCS__Alternatives_6_1_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getAlternatives_6_1_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13333:1: ( rule__ReferenceCS__Alternatives_6_1_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13333:2: rule__ReferenceCS__Alternatives_6_1_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13847:1: ( rule__ReferenceCS__Alternatives_6_1_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13847:2: rule__ReferenceCS__Alternatives_6_1_0
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Alternatives_6_1_0_in_rule__ReferenceCS__Group_6_1__0__Impl27880);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Alternatives_6_1_0_in_rule__ReferenceCS__Group_6_1__0__Impl28744);
             rule__ReferenceCS__Alternatives_6_1_0();
 
             state._fsp--;
@@ -41504,16 +42538,16 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_6_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13343:1: rule__ReferenceCS__Group_6_1__1 : rule__ReferenceCS__Group_6_1__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13857:1: rule__ReferenceCS__Group_6_1__1 : rule__ReferenceCS__Group_6_1__1__Impl ;
     public final void rule__ReferenceCS__Group_6_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13347:1: ( rule__ReferenceCS__Group_6_1__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13348:2: rule__ReferenceCS__Group_6_1__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13861:1: ( rule__ReferenceCS__Group_6_1__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13862:2: rule__ReferenceCS__Group_6_1__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_1__1__Impl_in_rule__ReferenceCS__Group_6_1__127910);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_1__1__Impl_in_rule__ReferenceCS__Group_6_1__128774);
             rule__ReferenceCS__Group_6_1__1__Impl();
 
             state._fsp--;
@@ -41537,33 +42571,33 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_6_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13354:1: rule__ReferenceCS__Group_6_1__1__Impl : ( ( ',' )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13868:1: rule__ReferenceCS__Group_6_1__1__Impl : ( ( ',' )? ) ;
     public final void rule__ReferenceCS__Group_6_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13358:1: ( ( ( ',' )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13359:1: ( ( ',' )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13872:1: ( ( ( ',' )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13873:1: ( ( ',' )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13359:1: ( ( ',' )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13360:1: ( ',' )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13873:1: ( ( ',' )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13874:1: ( ',' )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getCommaKeyword_6_1_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13361:1: ( ',' )?
-            int alt159=2;
-            int LA159_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13875:1: ( ',' )?
+            int alt179=2;
+            int LA179_0 = input.LA(1);
 
-            if ( (LA159_0==98) ) {
-                alt159=1;
+            if ( (LA179_0==107) ) {
+                alt179=1;
             }
-            switch (alt159) {
+            switch (alt179) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13362:2: ','
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13876:2: ','
                     {
-                    match(input,98,FollowSets001.FOLLOW_98_in_rule__ReferenceCS__Group_6_1__1__Impl27939); if (state.failed) return ;
+                    match(input,107,FollowSets001.FOLLOW_107_in_rule__ReferenceCS__Group_6_1__1__Impl28803); if (state.failed) return ;
 
                     }
                     break;
@@ -41594,22 +42628,1456 @@
     // $ANTLR end "rule__ReferenceCS__Group_6_1__1__Impl"
 
 
+    // $ANTLR start "rule__ReferenceCS__Group_6_2__0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13891:1: rule__ReferenceCS__Group_6_2__0 : rule__ReferenceCS__Group_6_2__0__Impl rule__ReferenceCS__Group_6_2__1 ;
+    public final void rule__ReferenceCS__Group_6_2__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13895:1: ( rule__ReferenceCS__Group_6_2__0__Impl rule__ReferenceCS__Group_6_2__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13896:2: rule__ReferenceCS__Group_6_2__0__Impl rule__ReferenceCS__Group_6_2__1
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_2__0__Impl_in_rule__ReferenceCS__Group_6_2__028840);
+            rule__ReferenceCS__Group_6_2__0__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_2__1_in_rule__ReferenceCS__Group_6_2__028843);
+            rule__ReferenceCS__Group_6_2__1();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Group_6_2__0"
+
+
+    // $ANTLR start "rule__ReferenceCS__Group_6_2__0__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13903:1: rule__ReferenceCS__Group_6_2__0__Impl : ( ( rule__ReferenceCS__Alternatives_6_2_0 ) ) ;
+    public final void rule__ReferenceCS__Group_6_2__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13907:1: ( ( ( rule__ReferenceCS__Alternatives_6_2_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13908:1: ( ( rule__ReferenceCS__Alternatives_6_2_0 ) )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13908:1: ( ( rule__ReferenceCS__Alternatives_6_2_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13909:1: ( rule__ReferenceCS__Alternatives_6_2_0 )
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getReferenceCSAccess().getAlternatives_6_2_0()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13910:1: ( rule__ReferenceCS__Alternatives_6_2_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13910:2: rule__ReferenceCS__Alternatives_6_2_0
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Alternatives_6_2_0_in_rule__ReferenceCS__Group_6_2__0__Impl28870);
+            rule__ReferenceCS__Alternatives_6_2_0();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getReferenceCSAccess().getAlternatives_6_2_0()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Group_6_2__0__Impl"
+
+
+    // $ANTLR start "rule__ReferenceCS__Group_6_2__1"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13920:1: rule__ReferenceCS__Group_6_2__1 : rule__ReferenceCS__Group_6_2__1__Impl ;
+    public final void rule__ReferenceCS__Group_6_2__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13924:1: ( rule__ReferenceCS__Group_6_2__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13925:2: rule__ReferenceCS__Group_6_2__1__Impl
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_2__1__Impl_in_rule__ReferenceCS__Group_6_2__128900);
+            rule__ReferenceCS__Group_6_2__1__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Group_6_2__1"
+
+
+    // $ANTLR start "rule__ReferenceCS__Group_6_2__1__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13931:1: rule__ReferenceCS__Group_6_2__1__Impl : ( ( ',' )? ) ;
+    public final void rule__ReferenceCS__Group_6_2__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13935:1: ( ( ( ',' )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13936:1: ( ( ',' )? )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13936:1: ( ( ',' )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13937:1: ( ',' )?
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getReferenceCSAccess().getCommaKeyword_6_2_1()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13938:1: ( ',' )?
+            int alt180=2;
+            int LA180_0 = input.LA(1);
+
+            if ( (LA180_0==107) ) {
+                alt180=1;
+            }
+            switch (alt180) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13939:2: ','
+                    {
+                    match(input,107,FollowSets001.FOLLOW_107_in_rule__ReferenceCS__Group_6_2__1__Impl28929); if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getReferenceCSAccess().getCommaKeyword_6_2_1()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Group_6_2__1__Impl"
+
+
+    // $ANTLR start "rule__ReferenceCS__Group_6_3__0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13954:1: rule__ReferenceCS__Group_6_3__0 : rule__ReferenceCS__Group_6_3__0__Impl rule__ReferenceCS__Group_6_3__1 ;
+    public final void rule__ReferenceCS__Group_6_3__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13958:1: ( rule__ReferenceCS__Group_6_3__0__Impl rule__ReferenceCS__Group_6_3__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13959:2: rule__ReferenceCS__Group_6_3__0__Impl rule__ReferenceCS__Group_6_3__1
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_3__0__Impl_in_rule__ReferenceCS__Group_6_3__028966);
+            rule__ReferenceCS__Group_6_3__0__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_3__1_in_rule__ReferenceCS__Group_6_3__028969);
+            rule__ReferenceCS__Group_6_3__1();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Group_6_3__0"
+
+
+    // $ANTLR start "rule__ReferenceCS__Group_6_3__0__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13966:1: rule__ReferenceCS__Group_6_3__0__Impl : ( ( rule__ReferenceCS__Alternatives_6_3_0 ) ) ;
+    public final void rule__ReferenceCS__Group_6_3__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13970:1: ( ( ( rule__ReferenceCS__Alternatives_6_3_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13971:1: ( ( rule__ReferenceCS__Alternatives_6_3_0 ) )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13971:1: ( ( rule__ReferenceCS__Alternatives_6_3_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13972:1: ( rule__ReferenceCS__Alternatives_6_3_0 )
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getReferenceCSAccess().getAlternatives_6_3_0()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13973:1: ( rule__ReferenceCS__Alternatives_6_3_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13973:2: rule__ReferenceCS__Alternatives_6_3_0
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Alternatives_6_3_0_in_rule__ReferenceCS__Group_6_3__0__Impl28996);
+            rule__ReferenceCS__Alternatives_6_3_0();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getReferenceCSAccess().getAlternatives_6_3_0()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Group_6_3__0__Impl"
+
+
+    // $ANTLR start "rule__ReferenceCS__Group_6_3__1"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13983:1: rule__ReferenceCS__Group_6_3__1 : rule__ReferenceCS__Group_6_3__1__Impl ;
+    public final void rule__ReferenceCS__Group_6_3__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13987:1: ( rule__ReferenceCS__Group_6_3__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13988:2: rule__ReferenceCS__Group_6_3__1__Impl
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_3__1__Impl_in_rule__ReferenceCS__Group_6_3__129026);
+            rule__ReferenceCS__Group_6_3__1__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Group_6_3__1"
+
+
+    // $ANTLR start "rule__ReferenceCS__Group_6_3__1__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13994:1: rule__ReferenceCS__Group_6_3__1__Impl : ( ( ',' )? ) ;
+    public final void rule__ReferenceCS__Group_6_3__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13998:1: ( ( ( ',' )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13999:1: ( ( ',' )? )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13999:1: ( ( ',' )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14000:1: ( ',' )?
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getReferenceCSAccess().getCommaKeyword_6_3_1()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14001:1: ( ',' )?
+            int alt181=2;
+            int LA181_0 = input.LA(1);
+
+            if ( (LA181_0==107) ) {
+                alt181=1;
+            }
+            switch (alt181) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14002:2: ','
+                    {
+                    match(input,107,FollowSets001.FOLLOW_107_in_rule__ReferenceCS__Group_6_3__1__Impl29055); if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getReferenceCSAccess().getCommaKeyword_6_3_1()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Group_6_3__1__Impl"
+
+
+    // $ANTLR start "rule__ReferenceCS__Group_6_4__0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14017:1: rule__ReferenceCS__Group_6_4__0 : rule__ReferenceCS__Group_6_4__0__Impl rule__ReferenceCS__Group_6_4__1 ;
+    public final void rule__ReferenceCS__Group_6_4__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14021:1: ( rule__ReferenceCS__Group_6_4__0__Impl rule__ReferenceCS__Group_6_4__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14022:2: rule__ReferenceCS__Group_6_4__0__Impl rule__ReferenceCS__Group_6_4__1
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_4__0__Impl_in_rule__ReferenceCS__Group_6_4__029092);
+            rule__ReferenceCS__Group_6_4__0__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_4__1_in_rule__ReferenceCS__Group_6_4__029095);
+            rule__ReferenceCS__Group_6_4__1();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Group_6_4__0"
+
+
+    // $ANTLR start "rule__ReferenceCS__Group_6_4__0__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14029:1: rule__ReferenceCS__Group_6_4__0__Impl : ( ( rule__ReferenceCS__Alternatives_6_4_0 ) ) ;
+    public final void rule__ReferenceCS__Group_6_4__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14033:1: ( ( ( rule__ReferenceCS__Alternatives_6_4_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14034:1: ( ( rule__ReferenceCS__Alternatives_6_4_0 ) )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14034:1: ( ( rule__ReferenceCS__Alternatives_6_4_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14035:1: ( rule__ReferenceCS__Alternatives_6_4_0 )
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getReferenceCSAccess().getAlternatives_6_4_0()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14036:1: ( rule__ReferenceCS__Alternatives_6_4_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14036:2: rule__ReferenceCS__Alternatives_6_4_0
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Alternatives_6_4_0_in_rule__ReferenceCS__Group_6_4__0__Impl29122);
+            rule__ReferenceCS__Alternatives_6_4_0();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getReferenceCSAccess().getAlternatives_6_4_0()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Group_6_4__0__Impl"
+
+
+    // $ANTLR start "rule__ReferenceCS__Group_6_4__1"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14046:1: rule__ReferenceCS__Group_6_4__1 : rule__ReferenceCS__Group_6_4__1__Impl ;
+    public final void rule__ReferenceCS__Group_6_4__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14050:1: ( rule__ReferenceCS__Group_6_4__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14051:2: rule__ReferenceCS__Group_6_4__1__Impl
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_4__1__Impl_in_rule__ReferenceCS__Group_6_4__129152);
+            rule__ReferenceCS__Group_6_4__1__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Group_6_4__1"
+
+
+    // $ANTLR start "rule__ReferenceCS__Group_6_4__1__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14057:1: rule__ReferenceCS__Group_6_4__1__Impl : ( ( ',' )? ) ;
+    public final void rule__ReferenceCS__Group_6_4__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14061:1: ( ( ( ',' )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14062:1: ( ( ',' )? )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14062:1: ( ( ',' )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14063:1: ( ',' )?
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getReferenceCSAccess().getCommaKeyword_6_4_1()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14064:1: ( ',' )?
+            int alt182=2;
+            int LA182_0 = input.LA(1);
+
+            if ( (LA182_0==107) ) {
+                alt182=1;
+            }
+            switch (alt182) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14065:2: ','
+                    {
+                    match(input,107,FollowSets001.FOLLOW_107_in_rule__ReferenceCS__Group_6_4__1__Impl29181); if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getReferenceCSAccess().getCommaKeyword_6_4_1()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Group_6_4__1__Impl"
+
+
+    // $ANTLR start "rule__ReferenceCS__Group_6_5__0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14080:1: rule__ReferenceCS__Group_6_5__0 : rule__ReferenceCS__Group_6_5__0__Impl rule__ReferenceCS__Group_6_5__1 ;
+    public final void rule__ReferenceCS__Group_6_5__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14084:1: ( rule__ReferenceCS__Group_6_5__0__Impl rule__ReferenceCS__Group_6_5__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14085:2: rule__ReferenceCS__Group_6_5__0__Impl rule__ReferenceCS__Group_6_5__1
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_5__0__Impl_in_rule__ReferenceCS__Group_6_5__029218);
+            rule__ReferenceCS__Group_6_5__0__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_5__1_in_rule__ReferenceCS__Group_6_5__029221);
+            rule__ReferenceCS__Group_6_5__1();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Group_6_5__0"
+
+
+    // $ANTLR start "rule__ReferenceCS__Group_6_5__0__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14092:1: rule__ReferenceCS__Group_6_5__0__Impl : ( ( rule__ReferenceCS__Alternatives_6_5_0 ) ) ;
+    public final void rule__ReferenceCS__Group_6_5__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14096:1: ( ( ( rule__ReferenceCS__Alternatives_6_5_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14097:1: ( ( rule__ReferenceCS__Alternatives_6_5_0 ) )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14097:1: ( ( rule__ReferenceCS__Alternatives_6_5_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14098:1: ( rule__ReferenceCS__Alternatives_6_5_0 )
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getReferenceCSAccess().getAlternatives_6_5_0()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14099:1: ( rule__ReferenceCS__Alternatives_6_5_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14099:2: rule__ReferenceCS__Alternatives_6_5_0
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Alternatives_6_5_0_in_rule__ReferenceCS__Group_6_5__0__Impl29248);
+            rule__ReferenceCS__Alternatives_6_5_0();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getReferenceCSAccess().getAlternatives_6_5_0()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Group_6_5__0__Impl"
+
+
+    // $ANTLR start "rule__ReferenceCS__Group_6_5__1"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14109:1: rule__ReferenceCS__Group_6_5__1 : rule__ReferenceCS__Group_6_5__1__Impl ;
+    public final void rule__ReferenceCS__Group_6_5__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14113:1: ( rule__ReferenceCS__Group_6_5__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14114:2: rule__ReferenceCS__Group_6_5__1__Impl
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_5__1__Impl_in_rule__ReferenceCS__Group_6_5__129278);
+            rule__ReferenceCS__Group_6_5__1__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Group_6_5__1"
+
+
+    // $ANTLR start "rule__ReferenceCS__Group_6_5__1__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14120:1: rule__ReferenceCS__Group_6_5__1__Impl : ( ( ',' )? ) ;
+    public final void rule__ReferenceCS__Group_6_5__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14124:1: ( ( ( ',' )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14125:1: ( ( ',' )? )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14125:1: ( ( ',' )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14126:1: ( ',' )?
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getReferenceCSAccess().getCommaKeyword_6_5_1()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14127:1: ( ',' )?
+            int alt183=2;
+            int LA183_0 = input.LA(1);
+
+            if ( (LA183_0==107) ) {
+                alt183=1;
+            }
+            switch (alt183) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14128:2: ','
+                    {
+                    match(input,107,FollowSets001.FOLLOW_107_in_rule__ReferenceCS__Group_6_5__1__Impl29307); if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getReferenceCSAccess().getCommaKeyword_6_5_1()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Group_6_5__1__Impl"
+
+
+    // $ANTLR start "rule__ReferenceCS__Group_6_6__0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14143:1: rule__ReferenceCS__Group_6_6__0 : rule__ReferenceCS__Group_6_6__0__Impl rule__ReferenceCS__Group_6_6__1 ;
+    public final void rule__ReferenceCS__Group_6_6__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14147:1: ( rule__ReferenceCS__Group_6_6__0__Impl rule__ReferenceCS__Group_6_6__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14148:2: rule__ReferenceCS__Group_6_6__0__Impl rule__ReferenceCS__Group_6_6__1
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_6__0__Impl_in_rule__ReferenceCS__Group_6_6__029344);
+            rule__ReferenceCS__Group_6_6__0__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_6__1_in_rule__ReferenceCS__Group_6_6__029347);
+            rule__ReferenceCS__Group_6_6__1();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Group_6_6__0"
+
+
+    // $ANTLR start "rule__ReferenceCS__Group_6_6__0__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14155:1: rule__ReferenceCS__Group_6_6__0__Impl : ( ( rule__ReferenceCS__Alternatives_6_6_0 ) ) ;
+    public final void rule__ReferenceCS__Group_6_6__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14159:1: ( ( ( rule__ReferenceCS__Alternatives_6_6_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14160:1: ( ( rule__ReferenceCS__Alternatives_6_6_0 ) )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14160:1: ( ( rule__ReferenceCS__Alternatives_6_6_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14161:1: ( rule__ReferenceCS__Alternatives_6_6_0 )
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getReferenceCSAccess().getAlternatives_6_6_0()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14162:1: ( rule__ReferenceCS__Alternatives_6_6_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14162:2: rule__ReferenceCS__Alternatives_6_6_0
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Alternatives_6_6_0_in_rule__ReferenceCS__Group_6_6__0__Impl29374);
+            rule__ReferenceCS__Alternatives_6_6_0();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getReferenceCSAccess().getAlternatives_6_6_0()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Group_6_6__0__Impl"
+
+
+    // $ANTLR start "rule__ReferenceCS__Group_6_6__1"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14172:1: rule__ReferenceCS__Group_6_6__1 : rule__ReferenceCS__Group_6_6__1__Impl ;
+    public final void rule__ReferenceCS__Group_6_6__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14176:1: ( rule__ReferenceCS__Group_6_6__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14177:2: rule__ReferenceCS__Group_6_6__1__Impl
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_6__1__Impl_in_rule__ReferenceCS__Group_6_6__129404);
+            rule__ReferenceCS__Group_6_6__1__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Group_6_6__1"
+
+
+    // $ANTLR start "rule__ReferenceCS__Group_6_6__1__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14183:1: rule__ReferenceCS__Group_6_6__1__Impl : ( ( ',' )? ) ;
+    public final void rule__ReferenceCS__Group_6_6__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14187:1: ( ( ( ',' )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14188:1: ( ( ',' )? )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14188:1: ( ( ',' )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14189:1: ( ',' )?
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getReferenceCSAccess().getCommaKeyword_6_6_1()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14190:1: ( ',' )?
+            int alt184=2;
+            int LA184_0 = input.LA(1);
+
+            if ( (LA184_0==107) ) {
+                alt184=1;
+            }
+            switch (alt184) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14191:2: ','
+                    {
+                    match(input,107,FollowSets001.FOLLOW_107_in_rule__ReferenceCS__Group_6_6__1__Impl29433); if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getReferenceCSAccess().getCommaKeyword_6_6_1()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Group_6_6__1__Impl"
+
+
+    // $ANTLR start "rule__ReferenceCS__Group_6_7__0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14206:1: rule__ReferenceCS__Group_6_7__0 : rule__ReferenceCS__Group_6_7__0__Impl rule__ReferenceCS__Group_6_7__1 ;
+    public final void rule__ReferenceCS__Group_6_7__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14210:1: ( rule__ReferenceCS__Group_6_7__0__Impl rule__ReferenceCS__Group_6_7__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14211:2: rule__ReferenceCS__Group_6_7__0__Impl rule__ReferenceCS__Group_6_7__1
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_7__0__Impl_in_rule__ReferenceCS__Group_6_7__029470);
+            rule__ReferenceCS__Group_6_7__0__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_7__1_in_rule__ReferenceCS__Group_6_7__029473);
+            rule__ReferenceCS__Group_6_7__1();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Group_6_7__0"
+
+
+    // $ANTLR start "rule__ReferenceCS__Group_6_7__0__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14218:1: rule__ReferenceCS__Group_6_7__0__Impl : ( ( rule__ReferenceCS__Alternatives_6_7_0 ) ) ;
+    public final void rule__ReferenceCS__Group_6_7__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14222:1: ( ( ( rule__ReferenceCS__Alternatives_6_7_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14223:1: ( ( rule__ReferenceCS__Alternatives_6_7_0 ) )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14223:1: ( ( rule__ReferenceCS__Alternatives_6_7_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14224:1: ( rule__ReferenceCS__Alternatives_6_7_0 )
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getReferenceCSAccess().getAlternatives_6_7_0()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14225:1: ( rule__ReferenceCS__Alternatives_6_7_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14225:2: rule__ReferenceCS__Alternatives_6_7_0
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Alternatives_6_7_0_in_rule__ReferenceCS__Group_6_7__0__Impl29500);
+            rule__ReferenceCS__Alternatives_6_7_0();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getReferenceCSAccess().getAlternatives_6_7_0()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Group_6_7__0__Impl"
+
+
+    // $ANTLR start "rule__ReferenceCS__Group_6_7__1"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14235:1: rule__ReferenceCS__Group_6_7__1 : rule__ReferenceCS__Group_6_7__1__Impl ;
+    public final void rule__ReferenceCS__Group_6_7__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14239:1: ( rule__ReferenceCS__Group_6_7__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14240:2: rule__ReferenceCS__Group_6_7__1__Impl
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_7__1__Impl_in_rule__ReferenceCS__Group_6_7__129530);
+            rule__ReferenceCS__Group_6_7__1__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Group_6_7__1"
+
+
+    // $ANTLR start "rule__ReferenceCS__Group_6_7__1__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14246:1: rule__ReferenceCS__Group_6_7__1__Impl : ( ( ',' )? ) ;
+    public final void rule__ReferenceCS__Group_6_7__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14250:1: ( ( ( ',' )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14251:1: ( ( ',' )? )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14251:1: ( ( ',' )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14252:1: ( ',' )?
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getReferenceCSAccess().getCommaKeyword_6_7_1()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14253:1: ( ',' )?
+            int alt185=2;
+            int LA185_0 = input.LA(1);
+
+            if ( (LA185_0==107) ) {
+                alt185=1;
+            }
+            switch (alt185) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14254:2: ','
+                    {
+                    match(input,107,FollowSets001.FOLLOW_107_in_rule__ReferenceCS__Group_6_7__1__Impl29559); if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getReferenceCSAccess().getCommaKeyword_6_7_1()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Group_6_7__1__Impl"
+
+
+    // $ANTLR start "rule__ReferenceCS__Group_6_8__0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14269:1: rule__ReferenceCS__Group_6_8__0 : rule__ReferenceCS__Group_6_8__0__Impl rule__ReferenceCS__Group_6_8__1 ;
+    public final void rule__ReferenceCS__Group_6_8__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14273:1: ( rule__ReferenceCS__Group_6_8__0__Impl rule__ReferenceCS__Group_6_8__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14274:2: rule__ReferenceCS__Group_6_8__0__Impl rule__ReferenceCS__Group_6_8__1
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_8__0__Impl_in_rule__ReferenceCS__Group_6_8__029596);
+            rule__ReferenceCS__Group_6_8__0__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_8__1_in_rule__ReferenceCS__Group_6_8__029599);
+            rule__ReferenceCS__Group_6_8__1();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Group_6_8__0"
+
+
+    // $ANTLR start "rule__ReferenceCS__Group_6_8__0__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14281:1: rule__ReferenceCS__Group_6_8__0__Impl : ( ( rule__ReferenceCS__Group_6_8_0__0 )? ) ;
+    public final void rule__ReferenceCS__Group_6_8__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14285:1: ( ( ( rule__ReferenceCS__Group_6_8_0__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14286:1: ( ( rule__ReferenceCS__Group_6_8_0__0 )? )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14286:1: ( ( rule__ReferenceCS__Group_6_8_0__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14287:1: ( rule__ReferenceCS__Group_6_8_0__0 )?
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getReferenceCSAccess().getGroup_6_8_0()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14288:1: ( rule__ReferenceCS__Group_6_8_0__0 )?
+            int alt186=2;
+            int LA186_0 = input.LA(1);
+
+            if ( (LA186_0==52||LA186_0==60) ) {
+                alt186=1;
+            }
+            switch (alt186) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14288:2: rule__ReferenceCS__Group_6_8_0__0
+                    {
+                    pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_8_0__0_in_rule__ReferenceCS__Group_6_8__0__Impl29626);
+                    rule__ReferenceCS__Group_6_8_0__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getReferenceCSAccess().getGroup_6_8_0()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Group_6_8__0__Impl"
+
+
+    // $ANTLR start "rule__ReferenceCS__Group_6_8__1"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14298:1: rule__ReferenceCS__Group_6_8__1 : rule__ReferenceCS__Group_6_8__1__Impl ;
+    public final void rule__ReferenceCS__Group_6_8__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14302:1: ( rule__ReferenceCS__Group_6_8__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14303:2: rule__ReferenceCS__Group_6_8__1__Impl
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_8__1__Impl_in_rule__ReferenceCS__Group_6_8__129657);
+            rule__ReferenceCS__Group_6_8__1__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Group_6_8__1"
+
+
+    // $ANTLR start "rule__ReferenceCS__Group_6_8__1__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14309:1: rule__ReferenceCS__Group_6_8__1__Impl : ( '}' ) ;
+    public final void rule__ReferenceCS__Group_6_8__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14313:1: ( ( '}' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14314:1: ( '}' )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14314:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14315:1: '}'
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_6_8_1()); 
+            }
+            match(input,109,FollowSets001.FOLLOW_109_in_rule__ReferenceCS__Group_6_8__1__Impl29685); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_6_8_1()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Group_6_8__1__Impl"
+
+
+    // $ANTLR start "rule__ReferenceCS__Group_6_8_0__0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14332:1: rule__ReferenceCS__Group_6_8_0__0 : rule__ReferenceCS__Group_6_8_0__0__Impl rule__ReferenceCS__Group_6_8_0__1 ;
+    public final void rule__ReferenceCS__Group_6_8_0__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14336:1: ( rule__ReferenceCS__Group_6_8_0__0__Impl rule__ReferenceCS__Group_6_8_0__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14337:2: rule__ReferenceCS__Group_6_8_0__0__Impl rule__ReferenceCS__Group_6_8_0__1
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_8_0__0__Impl_in_rule__ReferenceCS__Group_6_8_0__029720);
+            rule__ReferenceCS__Group_6_8_0__0__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_8_0__1_in_rule__ReferenceCS__Group_6_8_0__029723);
+            rule__ReferenceCS__Group_6_8_0__1();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Group_6_8_0__0"
+
+
+    // $ANTLR start "rule__ReferenceCS__Group_6_8_0__0__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14344:1: rule__ReferenceCS__Group_6_8_0__0__Impl : ( ( rule__ReferenceCS__Alternatives_6_8_0_0 ) ) ;
+    public final void rule__ReferenceCS__Group_6_8_0__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14348:1: ( ( ( rule__ReferenceCS__Alternatives_6_8_0_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14349:1: ( ( rule__ReferenceCS__Alternatives_6_8_0_0 ) )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14349:1: ( ( rule__ReferenceCS__Alternatives_6_8_0_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14350:1: ( rule__ReferenceCS__Alternatives_6_8_0_0 )
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getReferenceCSAccess().getAlternatives_6_8_0_0()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14351:1: ( rule__ReferenceCS__Alternatives_6_8_0_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14351:2: rule__ReferenceCS__Alternatives_6_8_0_0
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Alternatives_6_8_0_0_in_rule__ReferenceCS__Group_6_8_0__0__Impl29750);
+            rule__ReferenceCS__Alternatives_6_8_0_0();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getReferenceCSAccess().getAlternatives_6_8_0_0()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Group_6_8_0__0__Impl"
+
+
+    // $ANTLR start "rule__ReferenceCS__Group_6_8_0__1"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14361:1: rule__ReferenceCS__Group_6_8_0__1 : rule__ReferenceCS__Group_6_8_0__1__Impl ;
+    public final void rule__ReferenceCS__Group_6_8_0__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14365:1: ( rule__ReferenceCS__Group_6_8_0__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14366:2: rule__ReferenceCS__Group_6_8_0__1__Impl
+            {
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_6_8_0__1__Impl_in_rule__ReferenceCS__Group_6_8_0__129780);
+            rule__ReferenceCS__Group_6_8_0__1__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Group_6_8_0__1"
+
+
+    // $ANTLR start "rule__ReferenceCS__Group_6_8_0__1__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14372:1: rule__ReferenceCS__Group_6_8_0__1__Impl : ( ( ',' )? ) ;
+    public final void rule__ReferenceCS__Group_6_8_0__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14376:1: ( ( ( ',' )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14377:1: ( ( ',' )? )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14377:1: ( ( ',' )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14378:1: ( ',' )?
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getReferenceCSAccess().getCommaKeyword_6_8_0_1()); 
+            }
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14379:1: ( ',' )?
+            int alt187=2;
+            int LA187_0 = input.LA(1);
+
+            if ( (LA187_0==107) ) {
+                alt187=1;
+            }
+            switch (alt187) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14380:2: ','
+                    {
+                    match(input,107,FollowSets001.FOLLOW_107_in_rule__ReferenceCS__Group_6_8_0__1__Impl29809); if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getReferenceCSAccess().getCommaKeyword_6_8_0_1()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__Group_6_8_0__1__Impl"
+
+
     // $ANTLR start "rule__ReferenceCS__Group_7_0__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13377:1: rule__ReferenceCS__Group_7_0__0 : rule__ReferenceCS__Group_7_0__0__Impl rule__ReferenceCS__Group_7_0__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14395:1: rule__ReferenceCS__Group_7_0__0 : rule__ReferenceCS__Group_7_0__0__Impl rule__ReferenceCS__Group_7_0__1 ;
     public final void rule__ReferenceCS__Group_7_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13381:1: ( rule__ReferenceCS__Group_7_0__0__Impl rule__ReferenceCS__Group_7_0__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13382:2: rule__ReferenceCS__Group_7_0__0__Impl rule__ReferenceCS__Group_7_0__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14399:1: ( rule__ReferenceCS__Group_7_0__0__Impl rule__ReferenceCS__Group_7_0__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14400:2: rule__ReferenceCS__Group_7_0__0__Impl rule__ReferenceCS__Group_7_0__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0__0__Impl_in_rule__ReferenceCS__Group_7_0__027976);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0__0__Impl_in_rule__ReferenceCS__Group_7_0__029846);
             rule__ReferenceCS__Group_7_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0__1_in_rule__ReferenceCS__Group_7_0__027979);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0__1_in_rule__ReferenceCS__Group_7_0__029849);
             rule__ReferenceCS__Group_7_0__1();
 
             state._fsp--;
@@ -41633,22 +44101,22 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_7_0__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13389:1: rule__ReferenceCS__Group_7_0__0__Impl : ( '{' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14407:1: rule__ReferenceCS__Group_7_0__0__Impl : ( '{' ) ;
     public final void rule__ReferenceCS__Group_7_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13393:1: ( ( '{' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13394:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14411:1: ( ( '{' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14412:1: ( '{' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13394:1: ( '{' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13395:1: '{'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14412:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14413:1: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_7_0_0()); 
             }
-            match(input,99,FollowSets001.FOLLOW_99_in_rule__ReferenceCS__Group_7_0__0__Impl28007); if (state.failed) return ;
+            match(input,108,FollowSets001.FOLLOW_108_in_rule__ReferenceCS__Group_7_0__0__Impl29877); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_7_0_0()); 
             }
@@ -41674,21 +44142,21 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_7_0__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13408:1: rule__ReferenceCS__Group_7_0__1 : rule__ReferenceCS__Group_7_0__1__Impl rule__ReferenceCS__Group_7_0__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14426:1: rule__ReferenceCS__Group_7_0__1 : rule__ReferenceCS__Group_7_0__1__Impl rule__ReferenceCS__Group_7_0__2 ;
     public final void rule__ReferenceCS__Group_7_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13412:1: ( rule__ReferenceCS__Group_7_0__1__Impl rule__ReferenceCS__Group_7_0__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13413:2: rule__ReferenceCS__Group_7_0__1__Impl rule__ReferenceCS__Group_7_0__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14430:1: ( rule__ReferenceCS__Group_7_0__1__Impl rule__ReferenceCS__Group_7_0__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14431:2: rule__ReferenceCS__Group_7_0__1__Impl rule__ReferenceCS__Group_7_0__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0__1__Impl_in_rule__ReferenceCS__Group_7_0__128038);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0__1__Impl_in_rule__ReferenceCS__Group_7_0__129908);
             rule__ReferenceCS__Group_7_0__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0__2_in_rule__ReferenceCS__Group_7_0__128041);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0__2_in_rule__ReferenceCS__Group_7_0__129911);
             rule__ReferenceCS__Group_7_0__2();
 
             state._fsp--;
@@ -41712,37 +44180,37 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_7_0__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13420:1: rule__ReferenceCS__Group_7_0__1__Impl : ( ( rule__ReferenceCS__Alternatives_7_0_1 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14438:1: rule__ReferenceCS__Group_7_0__1__Impl : ( ( rule__ReferenceCS__Alternatives_7_0_1 )* ) ;
     public final void rule__ReferenceCS__Group_7_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13424:1: ( ( ( rule__ReferenceCS__Alternatives_7_0_1 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13425:1: ( ( rule__ReferenceCS__Alternatives_7_0_1 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14442:1: ( ( ( rule__ReferenceCS__Alternatives_7_0_1 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14443:1: ( ( rule__ReferenceCS__Alternatives_7_0_1 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13425:1: ( ( rule__ReferenceCS__Alternatives_7_0_1 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13426:1: ( rule__ReferenceCS__Alternatives_7_0_1 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14443:1: ( ( rule__ReferenceCS__Alternatives_7_0_1 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14444:1: ( rule__ReferenceCS__Alternatives_7_0_1 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getAlternatives_7_0_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13427:1: ( rule__ReferenceCS__Alternatives_7_0_1 )*
-            loop160:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14445:1: ( rule__ReferenceCS__Alternatives_7_0_1 )*
+            loop188:
             do {
-                int alt160=2;
-                int LA160_0 = input.LA(1);
+                int alt188=2;
+                int LA188_0 = input.LA(1);
 
-                if ( (LA160_0==25||LA160_0==31||LA160_0==33||(LA160_0>=55 && LA160_0<=56)||LA160_0==60) ) {
-                    alt160=1;
+                if ( (LA188_0==25||LA188_0==31||LA188_0==33||(LA188_0>=64 && LA188_0<=65)||LA188_0==69) ) {
+                    alt188=1;
                 }
 
 
-                switch (alt160) {
+                switch (alt188) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13427:2: rule__ReferenceCS__Alternatives_7_0_1
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14445:2: rule__ReferenceCS__Alternatives_7_0_1
             	    {
-            	    pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Alternatives_7_0_1_in_rule__ReferenceCS__Group_7_0__1__Impl28068);
+            	    pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Alternatives_7_0_1_in_rule__ReferenceCS__Group_7_0__1__Impl29938);
             	    rule__ReferenceCS__Alternatives_7_0_1();
 
             	    state._fsp--;
@@ -41752,7 +44220,7 @@
             	    break;
 
             	default :
-            	    break loop160;
+            	    break loop188;
                 }
             } while (true);
 
@@ -41781,16 +44249,16 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_7_0__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13437:1: rule__ReferenceCS__Group_7_0__2 : rule__ReferenceCS__Group_7_0__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14455:1: rule__ReferenceCS__Group_7_0__2 : rule__ReferenceCS__Group_7_0__2__Impl ;
     public final void rule__ReferenceCS__Group_7_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13441:1: ( rule__ReferenceCS__Group_7_0__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13442:2: rule__ReferenceCS__Group_7_0__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14459:1: ( rule__ReferenceCS__Group_7_0__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14460:2: rule__ReferenceCS__Group_7_0__2__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0__2__Impl_in_rule__ReferenceCS__Group_7_0__228099);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0__2__Impl_in_rule__ReferenceCS__Group_7_0__229969);
             rule__ReferenceCS__Group_7_0__2__Impl();
 
             state._fsp--;
@@ -41814,22 +44282,22 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_7_0__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13448:1: rule__ReferenceCS__Group_7_0__2__Impl : ( '}' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14466:1: rule__ReferenceCS__Group_7_0__2__Impl : ( '}' ) ;
     public final void rule__ReferenceCS__Group_7_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13452:1: ( ( '}' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13453:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14470:1: ( ( '}' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14471:1: ( '}' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13453:1: ( '}' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13454:1: '}'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14471:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14472:1: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_7_0_2()); 
             }
-            match(input,100,FollowSets001.FOLLOW_100_in_rule__ReferenceCS__Group_7_0__2__Impl28127); if (state.failed) return ;
+            match(input,109,FollowSets001.FOLLOW_109_in_rule__ReferenceCS__Group_7_0__2__Impl29997); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_7_0_2()); 
             }
@@ -41855,21 +44323,21 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_7_0_1_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13473:1: rule__ReferenceCS__Group_7_0_1_1__0 : rule__ReferenceCS__Group_7_0_1_1__0__Impl rule__ReferenceCS__Group_7_0_1_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14491:1: rule__ReferenceCS__Group_7_0_1_1__0 : rule__ReferenceCS__Group_7_0_1_1__0__Impl rule__ReferenceCS__Group_7_0_1_1__1 ;
     public final void rule__ReferenceCS__Group_7_0_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13477:1: ( rule__ReferenceCS__Group_7_0_1_1__0__Impl rule__ReferenceCS__Group_7_0_1_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13478:2: rule__ReferenceCS__Group_7_0_1_1__0__Impl rule__ReferenceCS__Group_7_0_1_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14495:1: ( rule__ReferenceCS__Group_7_0_1_1__0__Impl rule__ReferenceCS__Group_7_0_1_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14496:2: rule__ReferenceCS__Group_7_0_1_1__0__Impl rule__ReferenceCS__Group_7_0_1_1__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_1__0__Impl_in_rule__ReferenceCS__Group_7_0_1_1__028164);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_1__0__Impl_in_rule__ReferenceCS__Group_7_0_1_1__030034);
             rule__ReferenceCS__Group_7_0_1_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_1__1_in_rule__ReferenceCS__Group_7_0_1_1__028167);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_1__1_in_rule__ReferenceCS__Group_7_0_1_1__030037);
             rule__ReferenceCS__Group_7_0_1_1__1();
 
             state._fsp--;
@@ -41893,22 +44361,22 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_7_0_1_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13485:1: rule__ReferenceCS__Group_7_0_1_1__0__Impl : ( 'key' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14503:1: rule__ReferenceCS__Group_7_0_1_1__0__Impl : ( 'key' ) ;
     public final void rule__ReferenceCS__Group_7_0_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13489:1: ( ( 'key' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13490:1: ( 'key' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14507:1: ( ( 'key' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14508:1: ( 'key' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13490:1: ( 'key' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13491:1: 'key'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14508:1: ( 'key' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14509:1: 'key'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getKeyKeyword_7_0_1_1_0()); 
             }
-            match(input,33,FollowSets001.FOLLOW_33_in_rule__ReferenceCS__Group_7_0_1_1__0__Impl28195); if (state.failed) return ;
+            match(input,33,FollowSets001.FOLLOW_33_in_rule__ReferenceCS__Group_7_0_1_1__0__Impl30065); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReferenceCSAccess().getKeyKeyword_7_0_1_1_0()); 
             }
@@ -41934,21 +44402,21 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_7_0_1_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13504:1: rule__ReferenceCS__Group_7_0_1_1__1 : rule__ReferenceCS__Group_7_0_1_1__1__Impl rule__ReferenceCS__Group_7_0_1_1__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14522:1: rule__ReferenceCS__Group_7_0_1_1__1 : rule__ReferenceCS__Group_7_0_1_1__1__Impl rule__ReferenceCS__Group_7_0_1_1__2 ;
     public final void rule__ReferenceCS__Group_7_0_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13508:1: ( rule__ReferenceCS__Group_7_0_1_1__1__Impl rule__ReferenceCS__Group_7_0_1_1__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13509:2: rule__ReferenceCS__Group_7_0_1_1__1__Impl rule__ReferenceCS__Group_7_0_1_1__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14526:1: ( rule__ReferenceCS__Group_7_0_1_1__1__Impl rule__ReferenceCS__Group_7_0_1_1__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14527:2: rule__ReferenceCS__Group_7_0_1_1__1__Impl rule__ReferenceCS__Group_7_0_1_1__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_1__1__Impl_in_rule__ReferenceCS__Group_7_0_1_1__128226);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_1__1__Impl_in_rule__ReferenceCS__Group_7_0_1_1__130096);
             rule__ReferenceCS__Group_7_0_1_1__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_1__2_in_rule__ReferenceCS__Group_7_0_1_1__128229);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_1__2_in_rule__ReferenceCS__Group_7_0_1_1__130099);
             rule__ReferenceCS__Group_7_0_1_1__2();
 
             state._fsp--;
@@ -41972,25 +44440,25 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_7_0_1_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13516:1: rule__ReferenceCS__Group_7_0_1_1__1__Impl : ( ( rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14534:1: rule__ReferenceCS__Group_7_0_1_1__1__Impl : ( ( rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_1 ) ) ;
     public final void rule__ReferenceCS__Group_7_0_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13520:1: ( ( ( rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13521:1: ( ( rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14538:1: ( ( ( rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14539:1: ( ( rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13521:1: ( ( rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13522:1: ( rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14539:1: ( ( rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14540:1: ( rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getReferredKeysAssignment_7_0_1_1_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13523:1: ( rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13523:2: rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14541:1: ( rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14541:2: rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_1_in_rule__ReferenceCS__Group_7_0_1_1__1__Impl28256);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_1_in_rule__ReferenceCS__Group_7_0_1_1__1__Impl30126);
             rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_1();
 
             state._fsp--;
@@ -42023,21 +44491,21 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_7_0_1_1__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13533:1: rule__ReferenceCS__Group_7_0_1_1__2 : rule__ReferenceCS__Group_7_0_1_1__2__Impl rule__ReferenceCS__Group_7_0_1_1__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14551:1: rule__ReferenceCS__Group_7_0_1_1__2 : rule__ReferenceCS__Group_7_0_1_1__2__Impl rule__ReferenceCS__Group_7_0_1_1__3 ;
     public final void rule__ReferenceCS__Group_7_0_1_1__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13537:1: ( rule__ReferenceCS__Group_7_0_1_1__2__Impl rule__ReferenceCS__Group_7_0_1_1__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13538:2: rule__ReferenceCS__Group_7_0_1_1__2__Impl rule__ReferenceCS__Group_7_0_1_1__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14555:1: ( rule__ReferenceCS__Group_7_0_1_1__2__Impl rule__ReferenceCS__Group_7_0_1_1__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14556:2: rule__ReferenceCS__Group_7_0_1_1__2__Impl rule__ReferenceCS__Group_7_0_1_1__3
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_1__2__Impl_in_rule__ReferenceCS__Group_7_0_1_1__228286);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_1__2__Impl_in_rule__ReferenceCS__Group_7_0_1_1__230156);
             rule__ReferenceCS__Group_7_0_1_1__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_1__3_in_rule__ReferenceCS__Group_7_0_1_1__228289);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_1__3_in_rule__ReferenceCS__Group_7_0_1_1__230159);
             rule__ReferenceCS__Group_7_0_1_1__3();
 
             state._fsp--;
@@ -42061,37 +44529,37 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_7_0_1_1__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13545:1: rule__ReferenceCS__Group_7_0_1_1__2__Impl : ( ( rule__ReferenceCS__Group_7_0_1_1_2__0 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14563:1: rule__ReferenceCS__Group_7_0_1_1__2__Impl : ( ( rule__ReferenceCS__Group_7_0_1_1_2__0 )* ) ;
     public final void rule__ReferenceCS__Group_7_0_1_1__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13549:1: ( ( ( rule__ReferenceCS__Group_7_0_1_1_2__0 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13550:1: ( ( rule__ReferenceCS__Group_7_0_1_1_2__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14567:1: ( ( ( rule__ReferenceCS__Group_7_0_1_1_2__0 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14568:1: ( ( rule__ReferenceCS__Group_7_0_1_1_2__0 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13550:1: ( ( rule__ReferenceCS__Group_7_0_1_1_2__0 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13551:1: ( rule__ReferenceCS__Group_7_0_1_1_2__0 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14568:1: ( ( rule__ReferenceCS__Group_7_0_1_1_2__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14569:1: ( rule__ReferenceCS__Group_7_0_1_1_2__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getGroup_7_0_1_1_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13552:1: ( rule__ReferenceCS__Group_7_0_1_1_2__0 )*
-            loop161:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14570:1: ( rule__ReferenceCS__Group_7_0_1_1_2__0 )*
+            loop189:
             do {
-                int alt161=2;
-                int LA161_0 = input.LA(1);
+                int alt189=2;
+                int LA189_0 = input.LA(1);
 
-                if ( (LA161_0==98) ) {
-                    alt161=1;
+                if ( (LA189_0==107) ) {
+                    alt189=1;
                 }
 
 
-                switch (alt161) {
+                switch (alt189) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13552:2: rule__ReferenceCS__Group_7_0_1_1_2__0
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14570:2: rule__ReferenceCS__Group_7_0_1_1_2__0
             	    {
-            	    pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_1_2__0_in_rule__ReferenceCS__Group_7_0_1_1__2__Impl28316);
+            	    pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_1_2__0_in_rule__ReferenceCS__Group_7_0_1_1__2__Impl30186);
             	    rule__ReferenceCS__Group_7_0_1_1_2__0();
 
             	    state._fsp--;
@@ -42101,7 +44569,7 @@
             	    break;
 
             	default :
-            	    break loop161;
+            	    break loop189;
                 }
             } while (true);
 
@@ -42130,16 +44598,16 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_7_0_1_1__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13562:1: rule__ReferenceCS__Group_7_0_1_1__3 : rule__ReferenceCS__Group_7_0_1_1__3__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14580:1: rule__ReferenceCS__Group_7_0_1_1__3 : rule__ReferenceCS__Group_7_0_1_1__3__Impl ;
     public final void rule__ReferenceCS__Group_7_0_1_1__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13566:1: ( rule__ReferenceCS__Group_7_0_1_1__3__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13567:2: rule__ReferenceCS__Group_7_0_1_1__3__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14584:1: ( rule__ReferenceCS__Group_7_0_1_1__3__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14585:2: rule__ReferenceCS__Group_7_0_1_1__3__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_1__3__Impl_in_rule__ReferenceCS__Group_7_0_1_1__328347);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_1__3__Impl_in_rule__ReferenceCS__Group_7_0_1_1__330217);
             rule__ReferenceCS__Group_7_0_1_1__3__Impl();
 
             state._fsp--;
@@ -42163,22 +44631,22 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_7_0_1_1__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13573:1: rule__ReferenceCS__Group_7_0_1_1__3__Impl : ( ';' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14591:1: rule__ReferenceCS__Group_7_0_1_1__3__Impl : ( ';' ) ;
     public final void rule__ReferenceCS__Group_7_0_1_1__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13577:1: ( ( ';' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13578:1: ( ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14595:1: ( ( ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14596:1: ( ';' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13578:1: ( ';' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13579:1: ';'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14596:1: ( ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14597:1: ';'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_1_3()); 
             }
-            match(input,53,FollowSets001.FOLLOW_53_in_rule__ReferenceCS__Group_7_0_1_1__3__Impl28375); if (state.failed) return ;
+            match(input,53,FollowSets001.FOLLOW_53_in_rule__ReferenceCS__Group_7_0_1_1__3__Impl30245); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_1_3()); 
             }
@@ -42204,21 +44672,21 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_7_0_1_1_2__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13600:1: rule__ReferenceCS__Group_7_0_1_1_2__0 : rule__ReferenceCS__Group_7_0_1_1_2__0__Impl rule__ReferenceCS__Group_7_0_1_1_2__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14618:1: rule__ReferenceCS__Group_7_0_1_1_2__0 : rule__ReferenceCS__Group_7_0_1_1_2__0__Impl rule__ReferenceCS__Group_7_0_1_1_2__1 ;
     public final void rule__ReferenceCS__Group_7_0_1_1_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13604:1: ( rule__ReferenceCS__Group_7_0_1_1_2__0__Impl rule__ReferenceCS__Group_7_0_1_1_2__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13605:2: rule__ReferenceCS__Group_7_0_1_1_2__0__Impl rule__ReferenceCS__Group_7_0_1_1_2__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14622:1: ( rule__ReferenceCS__Group_7_0_1_1_2__0__Impl rule__ReferenceCS__Group_7_0_1_1_2__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14623:2: rule__ReferenceCS__Group_7_0_1_1_2__0__Impl rule__ReferenceCS__Group_7_0_1_1_2__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_1_2__0__Impl_in_rule__ReferenceCS__Group_7_0_1_1_2__028414);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_1_2__0__Impl_in_rule__ReferenceCS__Group_7_0_1_1_2__030284);
             rule__ReferenceCS__Group_7_0_1_1_2__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_1_2__1_in_rule__ReferenceCS__Group_7_0_1_1_2__028417);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_1_2__1_in_rule__ReferenceCS__Group_7_0_1_1_2__030287);
             rule__ReferenceCS__Group_7_0_1_1_2__1();
 
             state._fsp--;
@@ -42242,22 +44710,22 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_7_0_1_1_2__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13612:1: rule__ReferenceCS__Group_7_0_1_1_2__0__Impl : ( ',' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14630:1: rule__ReferenceCS__Group_7_0_1_1_2__0__Impl : ( ',' ) ;
     public final void rule__ReferenceCS__Group_7_0_1_1_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13616:1: ( ( ',' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13617:1: ( ',' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14634:1: ( ( ',' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14635:1: ( ',' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13617:1: ( ',' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13618:1: ','
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14635:1: ( ',' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14636:1: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getCommaKeyword_7_0_1_1_2_0()); 
             }
-            match(input,98,FollowSets001.FOLLOW_98_in_rule__ReferenceCS__Group_7_0_1_1_2__0__Impl28445); if (state.failed) return ;
+            match(input,107,FollowSets001.FOLLOW_107_in_rule__ReferenceCS__Group_7_0_1_1_2__0__Impl30315); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReferenceCSAccess().getCommaKeyword_7_0_1_1_2_0()); 
             }
@@ -42283,16 +44751,16 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_7_0_1_1_2__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13631:1: rule__ReferenceCS__Group_7_0_1_1_2__1 : rule__ReferenceCS__Group_7_0_1_1_2__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14649:1: rule__ReferenceCS__Group_7_0_1_1_2__1 : rule__ReferenceCS__Group_7_0_1_1_2__1__Impl ;
     public final void rule__ReferenceCS__Group_7_0_1_1_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13635:1: ( rule__ReferenceCS__Group_7_0_1_1_2__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13636:2: rule__ReferenceCS__Group_7_0_1_1_2__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14653:1: ( rule__ReferenceCS__Group_7_0_1_1_2__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14654:2: rule__ReferenceCS__Group_7_0_1_1_2__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_1_2__1__Impl_in_rule__ReferenceCS__Group_7_0_1_1_2__128476);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_1_2__1__Impl_in_rule__ReferenceCS__Group_7_0_1_1_2__130346);
             rule__ReferenceCS__Group_7_0_1_1_2__1__Impl();
 
             state._fsp--;
@@ -42316,25 +44784,25 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_7_0_1_1_2__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13642:1: rule__ReferenceCS__Group_7_0_1_1_2__1__Impl : ( ( rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_2_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14660:1: rule__ReferenceCS__Group_7_0_1_1_2__1__Impl : ( ( rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_2_1 ) ) ;
     public final void rule__ReferenceCS__Group_7_0_1_1_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13646:1: ( ( ( rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_2_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13647:1: ( ( rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14664:1: ( ( ( rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_2_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14665:1: ( ( rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_2_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13647:1: ( ( rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_2_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13648:1: ( rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14665:1: ( ( rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14666:1: ( rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getReferredKeysAssignment_7_0_1_1_2_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13649:1: ( rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_2_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13649:2: rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_2_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14667:1: ( rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14667:2: rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_2_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_2_1_in_rule__ReferenceCS__Group_7_0_1_1_2__1__Impl28503);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_2_1_in_rule__ReferenceCS__Group_7_0_1_1_2__1__Impl30373);
             rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_2_1();
 
             state._fsp--;
@@ -42367,21 +44835,21 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_7_0_1_2__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13663:1: rule__ReferenceCS__Group_7_0_1_2__0 : rule__ReferenceCS__Group_7_0_1_2__0__Impl rule__ReferenceCS__Group_7_0_1_2__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14681:1: rule__ReferenceCS__Group_7_0_1_2__0 : rule__ReferenceCS__Group_7_0_1_2__0__Impl rule__ReferenceCS__Group_7_0_1_2__1 ;
     public final void rule__ReferenceCS__Group_7_0_1_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13667:1: ( rule__ReferenceCS__Group_7_0_1_2__0__Impl rule__ReferenceCS__Group_7_0_1_2__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13668:2: rule__ReferenceCS__Group_7_0_1_2__0__Impl rule__ReferenceCS__Group_7_0_1_2__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14685:1: ( rule__ReferenceCS__Group_7_0_1_2__0__Impl rule__ReferenceCS__Group_7_0_1_2__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14686:2: rule__ReferenceCS__Group_7_0_1_2__0__Impl rule__ReferenceCS__Group_7_0_1_2__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_2__0__Impl_in_rule__ReferenceCS__Group_7_0_1_2__028537);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_2__0__Impl_in_rule__ReferenceCS__Group_7_0_1_2__030407);
             rule__ReferenceCS__Group_7_0_1_2__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_2__1_in_rule__ReferenceCS__Group_7_0_1_2__028540);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_2__1_in_rule__ReferenceCS__Group_7_0_1_2__030410);
             rule__ReferenceCS__Group_7_0_1_2__1();
 
             state._fsp--;
@@ -42405,22 +44873,22 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_7_0_1_2__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13675:1: rule__ReferenceCS__Group_7_0_1_2__0__Impl : ( 'derivation' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14693:1: rule__ReferenceCS__Group_7_0_1_2__0__Impl : ( 'derivation' ) ;
     public final void rule__ReferenceCS__Group_7_0_1_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13679:1: ( ( 'derivation' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13680:1: ( 'derivation' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14697:1: ( ( 'derivation' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14698:1: ( 'derivation' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13680:1: ( 'derivation' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13681:1: 'derivation'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14698:1: ( 'derivation' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14699:1: 'derivation'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getDerivationKeyword_7_0_1_2_0()); 
             }
-            match(input,25,FollowSets001.FOLLOW_25_in_rule__ReferenceCS__Group_7_0_1_2__0__Impl28568); if (state.failed) return ;
+            match(input,25,FollowSets001.FOLLOW_25_in_rule__ReferenceCS__Group_7_0_1_2__0__Impl30438); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReferenceCSAccess().getDerivationKeyword_7_0_1_2_0()); 
             }
@@ -42446,21 +44914,21 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_7_0_1_2__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13694:1: rule__ReferenceCS__Group_7_0_1_2__1 : rule__ReferenceCS__Group_7_0_1_2__1__Impl rule__ReferenceCS__Group_7_0_1_2__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14712:1: rule__ReferenceCS__Group_7_0_1_2__1 : rule__ReferenceCS__Group_7_0_1_2__1__Impl rule__ReferenceCS__Group_7_0_1_2__2 ;
     public final void rule__ReferenceCS__Group_7_0_1_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13698:1: ( rule__ReferenceCS__Group_7_0_1_2__1__Impl rule__ReferenceCS__Group_7_0_1_2__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13699:2: rule__ReferenceCS__Group_7_0_1_2__1__Impl rule__ReferenceCS__Group_7_0_1_2__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14716:1: ( rule__ReferenceCS__Group_7_0_1_2__1__Impl rule__ReferenceCS__Group_7_0_1_2__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14717:2: rule__ReferenceCS__Group_7_0_1_2__1__Impl rule__ReferenceCS__Group_7_0_1_2__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_2__1__Impl_in_rule__ReferenceCS__Group_7_0_1_2__128599);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_2__1__Impl_in_rule__ReferenceCS__Group_7_0_1_2__130469);
             rule__ReferenceCS__Group_7_0_1_2__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_2__2_in_rule__ReferenceCS__Group_7_0_1_2__128602);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_2__2_in_rule__ReferenceCS__Group_7_0_1_2__130472);
             rule__ReferenceCS__Group_7_0_1_2__2();
 
             state._fsp--;
@@ -42484,33 +44952,33 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_7_0_1_2__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13706:1: rule__ReferenceCS__Group_7_0_1_2__1__Impl : ( ( ruleUnrestrictedName )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14724:1: rule__ReferenceCS__Group_7_0_1_2__1__Impl : ( ( ruleUnrestrictedName )? ) ;
     public final void rule__ReferenceCS__Group_7_0_1_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13710:1: ( ( ( ruleUnrestrictedName )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13711:1: ( ( ruleUnrestrictedName )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14728:1: ( ( ( ruleUnrestrictedName )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14729:1: ( ( ruleUnrestrictedName )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13711:1: ( ( ruleUnrestrictedName )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13712:1: ( ruleUnrestrictedName )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14729:1: ( ( ruleUnrestrictedName )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14730:1: ( ruleUnrestrictedName )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_2_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13713:1: ( ruleUnrestrictedName )?
-            int alt162=2;
-            int LA162_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14731:1: ( ruleUnrestrictedName )?
+            int alt190=2;
+            int LA190_0 = input.LA(1);
 
-            if ( ((LA162_0>=RULE_SIMPLE_ID && LA162_0<=RULE_ESCAPED_ID)||(LA162_0>=17 && LA162_0<=52)||(LA162_0>=55 && LA162_0<=60)) ) {
-                alt162=1;
+            if ( ((LA190_0>=RULE_SIMPLE_ID && LA190_0<=RULE_ESCAPED_ID)||(LA190_0>=17 && LA190_0<=52)||(LA190_0>=64 && LA190_0<=69)) ) {
+                alt190=1;
             }
-            switch (alt162) {
+            switch (alt190) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13713:3: ruleUnrestrictedName
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14731:3: ruleUnrestrictedName
                     {
-                    pushFollow(FollowSets001.FOLLOW_ruleUnrestrictedName_in_rule__ReferenceCS__Group_7_0_1_2__1__Impl28630);
+                    pushFollow(FollowSets001.FOLLOW_ruleUnrestrictedName_in_rule__ReferenceCS__Group_7_0_1_2__1__Impl30500);
                     ruleUnrestrictedName();
 
                     state._fsp--;
@@ -42546,21 +45014,21 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_7_0_1_2__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13723:1: rule__ReferenceCS__Group_7_0_1_2__2 : rule__ReferenceCS__Group_7_0_1_2__2__Impl rule__ReferenceCS__Group_7_0_1_2__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14741:1: rule__ReferenceCS__Group_7_0_1_2__2 : rule__ReferenceCS__Group_7_0_1_2__2__Impl rule__ReferenceCS__Group_7_0_1_2__3 ;
     public final void rule__ReferenceCS__Group_7_0_1_2__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13727:1: ( rule__ReferenceCS__Group_7_0_1_2__2__Impl rule__ReferenceCS__Group_7_0_1_2__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13728:2: rule__ReferenceCS__Group_7_0_1_2__2__Impl rule__ReferenceCS__Group_7_0_1_2__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14745:1: ( rule__ReferenceCS__Group_7_0_1_2__2__Impl rule__ReferenceCS__Group_7_0_1_2__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14746:2: rule__ReferenceCS__Group_7_0_1_2__2__Impl rule__ReferenceCS__Group_7_0_1_2__3
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_2__2__Impl_in_rule__ReferenceCS__Group_7_0_1_2__228661);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_2__2__Impl_in_rule__ReferenceCS__Group_7_0_1_2__230531);
             rule__ReferenceCS__Group_7_0_1_2__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_2__3_in_rule__ReferenceCS__Group_7_0_1_2__228664);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_2__3_in_rule__ReferenceCS__Group_7_0_1_2__230534);
             rule__ReferenceCS__Group_7_0_1_2__3();
 
             state._fsp--;
@@ -42584,22 +45052,22 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_7_0_1_2__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13735:1: rule__ReferenceCS__Group_7_0_1_2__2__Impl : ( ':' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14753:1: rule__ReferenceCS__Group_7_0_1_2__2__Impl : ( ':' ) ;
     public final void rule__ReferenceCS__Group_7_0_1_2__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13739:1: ( ( ':' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13740:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14757:1: ( ( ':' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14758:1: ( ':' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13740:1: ( ':' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13741:1: ':'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14758:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14759:1: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_2_2()); 
             }
-            match(input,97,FollowSets001.FOLLOW_97_in_rule__ReferenceCS__Group_7_0_1_2__2__Impl28692); if (state.failed) return ;
+            match(input,106,FollowSets001.FOLLOW_106_in_rule__ReferenceCS__Group_7_0_1_2__2__Impl30562); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_2_2()); 
             }
@@ -42625,21 +45093,21 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_7_0_1_2__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13754:1: rule__ReferenceCS__Group_7_0_1_2__3 : rule__ReferenceCS__Group_7_0_1_2__3__Impl rule__ReferenceCS__Group_7_0_1_2__4 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14772:1: rule__ReferenceCS__Group_7_0_1_2__3 : rule__ReferenceCS__Group_7_0_1_2__3__Impl rule__ReferenceCS__Group_7_0_1_2__4 ;
     public final void rule__ReferenceCS__Group_7_0_1_2__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13758:1: ( rule__ReferenceCS__Group_7_0_1_2__3__Impl rule__ReferenceCS__Group_7_0_1_2__4 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13759:2: rule__ReferenceCS__Group_7_0_1_2__3__Impl rule__ReferenceCS__Group_7_0_1_2__4
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14776:1: ( rule__ReferenceCS__Group_7_0_1_2__3__Impl rule__ReferenceCS__Group_7_0_1_2__4 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14777:2: rule__ReferenceCS__Group_7_0_1_2__3__Impl rule__ReferenceCS__Group_7_0_1_2__4
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_2__3__Impl_in_rule__ReferenceCS__Group_7_0_1_2__328723);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_2__3__Impl_in_rule__ReferenceCS__Group_7_0_1_2__330593);
             rule__ReferenceCS__Group_7_0_1_2__3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_2__4_in_rule__ReferenceCS__Group_7_0_1_2__328726);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_2__4_in_rule__ReferenceCS__Group_7_0_1_2__330596);
             rule__ReferenceCS__Group_7_0_1_2__4();
 
             state._fsp--;
@@ -42663,33 +45131,33 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_7_0_1_2__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13766:1: rule__ReferenceCS__Group_7_0_1_2__3__Impl : ( ( rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_2_3 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14784:1: rule__ReferenceCS__Group_7_0_1_2__3__Impl : ( ( rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_2_3 )? ) ;
     public final void rule__ReferenceCS__Group_7_0_1_2__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13770:1: ( ( ( rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_2_3 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13771:1: ( ( rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_2_3 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14788:1: ( ( ( rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_2_3 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14789:1: ( ( rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_2_3 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13771:1: ( ( rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_2_3 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13772:1: ( rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_2_3 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14789:1: ( ( rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_2_3 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14790:1: ( rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_2_3 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getOwnedDefaultExpressionsAssignment_7_0_1_2_3()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13773:1: ( rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_2_3 )?
-            int alt163=2;
-            int LA163_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14791:1: ( rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_2_3 )?
+            int alt191=2;
+            int LA191_0 = input.LA(1);
 
-            if ( ((LA163_0>=RULE_INT && LA163_0<=RULE_SINGLE_QUOTED_STRING)||(LA163_0>=RULE_SIMPLE_ID && LA163_0<=RULE_UNQUOTED_STRING)||(LA163_0>=17 && LA163_0<=52)||(LA163_0>=55 && LA163_0<=63)||(LA163_0>=80 && LA163_0<=93)||LA163_0==95||(LA163_0>=105 && LA163_0<=107)||LA163_0==112||(LA163_0>=117 && LA163_0<=118)||(LA163_0>=131 && LA163_0<=132)) ) {
-                alt163=1;
+            if ( ((LA191_0>=RULE_INT && LA191_0<=RULE_SINGLE_QUOTED_STRING)||(LA191_0>=RULE_SIMPLE_ID && LA191_0<=RULE_UNQUOTED_STRING)||(LA191_0>=17 && LA191_0<=52)||(LA191_0>=64 && LA191_0<=72)||(LA191_0>=89 && LA191_0<=102)||LA191_0==104||(LA191_0>=114 && LA191_0<=116)||LA191_0==121||(LA191_0>=126 && LA191_0<=127)||(LA191_0>=131 && LA191_0<=132)) ) {
+                alt191=1;
             }
-            switch (alt163) {
+            switch (alt191) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13773:2: rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_2_3
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14791:2: rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_2_3
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_2_3_in_rule__ReferenceCS__Group_7_0_1_2__3__Impl28753);
+                    pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_2_3_in_rule__ReferenceCS__Group_7_0_1_2__3__Impl30623);
                     rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_2_3();
 
                     state._fsp--;
@@ -42725,16 +45193,16 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_7_0_1_2__4"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13783:1: rule__ReferenceCS__Group_7_0_1_2__4 : rule__ReferenceCS__Group_7_0_1_2__4__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14801:1: rule__ReferenceCS__Group_7_0_1_2__4 : rule__ReferenceCS__Group_7_0_1_2__4__Impl ;
     public final void rule__ReferenceCS__Group_7_0_1_2__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13787:1: ( rule__ReferenceCS__Group_7_0_1_2__4__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13788:2: rule__ReferenceCS__Group_7_0_1_2__4__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14805:1: ( rule__ReferenceCS__Group_7_0_1_2__4__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14806:2: rule__ReferenceCS__Group_7_0_1_2__4__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_2__4__Impl_in_rule__ReferenceCS__Group_7_0_1_2__428784);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_2__4__Impl_in_rule__ReferenceCS__Group_7_0_1_2__430654);
             rule__ReferenceCS__Group_7_0_1_2__4__Impl();
 
             state._fsp--;
@@ -42758,22 +45226,22 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_7_0_1_2__4__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13794:1: rule__ReferenceCS__Group_7_0_1_2__4__Impl : ( ';' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14812:1: rule__ReferenceCS__Group_7_0_1_2__4__Impl : ( ';' ) ;
     public final void rule__ReferenceCS__Group_7_0_1_2__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13798:1: ( ( ';' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13799:1: ( ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14816:1: ( ( ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14817:1: ( ';' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13799:1: ( ';' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13800:1: ';'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14817:1: ( ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14818:1: ';'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_2_4()); 
             }
-            match(input,53,FollowSets001.FOLLOW_53_in_rule__ReferenceCS__Group_7_0_1_2__4__Impl28812); if (state.failed) return ;
+            match(input,53,FollowSets001.FOLLOW_53_in_rule__ReferenceCS__Group_7_0_1_2__4__Impl30682); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_2_4()); 
             }
@@ -42799,21 +45267,21 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_7_0_1_3__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13823:1: rule__ReferenceCS__Group_7_0_1_3__0 : rule__ReferenceCS__Group_7_0_1_3__0__Impl rule__ReferenceCS__Group_7_0_1_3__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14841:1: rule__ReferenceCS__Group_7_0_1_3__0 : rule__ReferenceCS__Group_7_0_1_3__0__Impl rule__ReferenceCS__Group_7_0_1_3__1 ;
     public final void rule__ReferenceCS__Group_7_0_1_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13827:1: ( rule__ReferenceCS__Group_7_0_1_3__0__Impl rule__ReferenceCS__Group_7_0_1_3__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13828:2: rule__ReferenceCS__Group_7_0_1_3__0__Impl rule__ReferenceCS__Group_7_0_1_3__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14845:1: ( rule__ReferenceCS__Group_7_0_1_3__0__Impl rule__ReferenceCS__Group_7_0_1_3__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14846:2: rule__ReferenceCS__Group_7_0_1_3__0__Impl rule__ReferenceCS__Group_7_0_1_3__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_3__0__Impl_in_rule__ReferenceCS__Group_7_0_1_3__028853);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_3__0__Impl_in_rule__ReferenceCS__Group_7_0_1_3__030723);
             rule__ReferenceCS__Group_7_0_1_3__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_3__1_in_rule__ReferenceCS__Group_7_0_1_3__028856);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_3__1_in_rule__ReferenceCS__Group_7_0_1_3__030726);
             rule__ReferenceCS__Group_7_0_1_3__1();
 
             state._fsp--;
@@ -42837,22 +45305,22 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_7_0_1_3__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13835:1: rule__ReferenceCS__Group_7_0_1_3__0__Impl : ( 'initial' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14853:1: rule__ReferenceCS__Group_7_0_1_3__0__Impl : ( 'initial' ) ;
     public final void rule__ReferenceCS__Group_7_0_1_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13839:1: ( ( 'initial' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13840:1: ( 'initial' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14857:1: ( ( 'initial' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14858:1: ( 'initial' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13840:1: ( 'initial' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13841:1: 'initial'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14858:1: ( 'initial' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14859:1: 'initial'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getInitialKeyword_7_0_1_3_0()); 
             }
-            match(input,31,FollowSets001.FOLLOW_31_in_rule__ReferenceCS__Group_7_0_1_3__0__Impl28884); if (state.failed) return ;
+            match(input,31,FollowSets001.FOLLOW_31_in_rule__ReferenceCS__Group_7_0_1_3__0__Impl30754); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReferenceCSAccess().getInitialKeyword_7_0_1_3_0()); 
             }
@@ -42878,21 +45346,21 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_7_0_1_3__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13854:1: rule__ReferenceCS__Group_7_0_1_3__1 : rule__ReferenceCS__Group_7_0_1_3__1__Impl rule__ReferenceCS__Group_7_0_1_3__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14872:1: rule__ReferenceCS__Group_7_0_1_3__1 : rule__ReferenceCS__Group_7_0_1_3__1__Impl rule__ReferenceCS__Group_7_0_1_3__2 ;
     public final void rule__ReferenceCS__Group_7_0_1_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13858:1: ( rule__ReferenceCS__Group_7_0_1_3__1__Impl rule__ReferenceCS__Group_7_0_1_3__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13859:2: rule__ReferenceCS__Group_7_0_1_3__1__Impl rule__ReferenceCS__Group_7_0_1_3__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14876:1: ( rule__ReferenceCS__Group_7_0_1_3__1__Impl rule__ReferenceCS__Group_7_0_1_3__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14877:2: rule__ReferenceCS__Group_7_0_1_3__1__Impl rule__ReferenceCS__Group_7_0_1_3__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_3__1__Impl_in_rule__ReferenceCS__Group_7_0_1_3__128915);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_3__1__Impl_in_rule__ReferenceCS__Group_7_0_1_3__130785);
             rule__ReferenceCS__Group_7_0_1_3__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_3__2_in_rule__ReferenceCS__Group_7_0_1_3__128918);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_3__2_in_rule__ReferenceCS__Group_7_0_1_3__130788);
             rule__ReferenceCS__Group_7_0_1_3__2();
 
             state._fsp--;
@@ -42916,33 +45384,33 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_7_0_1_3__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13866:1: rule__ReferenceCS__Group_7_0_1_3__1__Impl : ( ( ruleUnrestrictedName )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14884:1: rule__ReferenceCS__Group_7_0_1_3__1__Impl : ( ( ruleUnrestrictedName )? ) ;
     public final void rule__ReferenceCS__Group_7_0_1_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13870:1: ( ( ( ruleUnrestrictedName )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13871:1: ( ( ruleUnrestrictedName )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14888:1: ( ( ( ruleUnrestrictedName )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14889:1: ( ( ruleUnrestrictedName )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13871:1: ( ( ruleUnrestrictedName )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13872:1: ( ruleUnrestrictedName )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14889:1: ( ( ruleUnrestrictedName )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14890:1: ( ruleUnrestrictedName )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_3_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13873:1: ( ruleUnrestrictedName )?
-            int alt164=2;
-            int LA164_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14891:1: ( ruleUnrestrictedName )?
+            int alt192=2;
+            int LA192_0 = input.LA(1);
 
-            if ( ((LA164_0>=RULE_SIMPLE_ID && LA164_0<=RULE_ESCAPED_ID)||(LA164_0>=17 && LA164_0<=52)||(LA164_0>=55 && LA164_0<=60)) ) {
-                alt164=1;
+            if ( ((LA192_0>=RULE_SIMPLE_ID && LA192_0<=RULE_ESCAPED_ID)||(LA192_0>=17 && LA192_0<=52)||(LA192_0>=64 && LA192_0<=69)) ) {
+                alt192=1;
             }
-            switch (alt164) {
+            switch (alt192) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13873:3: ruleUnrestrictedName
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14891:3: ruleUnrestrictedName
                     {
-                    pushFollow(FollowSets001.FOLLOW_ruleUnrestrictedName_in_rule__ReferenceCS__Group_7_0_1_3__1__Impl28946);
+                    pushFollow(FollowSets001.FOLLOW_ruleUnrestrictedName_in_rule__ReferenceCS__Group_7_0_1_3__1__Impl30816);
                     ruleUnrestrictedName();
 
                     state._fsp--;
@@ -42978,21 +45446,21 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_7_0_1_3__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13883:1: rule__ReferenceCS__Group_7_0_1_3__2 : rule__ReferenceCS__Group_7_0_1_3__2__Impl rule__ReferenceCS__Group_7_0_1_3__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14901:1: rule__ReferenceCS__Group_7_0_1_3__2 : rule__ReferenceCS__Group_7_0_1_3__2__Impl rule__ReferenceCS__Group_7_0_1_3__3 ;
     public final void rule__ReferenceCS__Group_7_0_1_3__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13887:1: ( rule__ReferenceCS__Group_7_0_1_3__2__Impl rule__ReferenceCS__Group_7_0_1_3__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13888:2: rule__ReferenceCS__Group_7_0_1_3__2__Impl rule__ReferenceCS__Group_7_0_1_3__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14905:1: ( rule__ReferenceCS__Group_7_0_1_3__2__Impl rule__ReferenceCS__Group_7_0_1_3__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14906:2: rule__ReferenceCS__Group_7_0_1_3__2__Impl rule__ReferenceCS__Group_7_0_1_3__3
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_3__2__Impl_in_rule__ReferenceCS__Group_7_0_1_3__228977);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_3__2__Impl_in_rule__ReferenceCS__Group_7_0_1_3__230847);
             rule__ReferenceCS__Group_7_0_1_3__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_3__3_in_rule__ReferenceCS__Group_7_0_1_3__228980);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_3__3_in_rule__ReferenceCS__Group_7_0_1_3__230850);
             rule__ReferenceCS__Group_7_0_1_3__3();
 
             state._fsp--;
@@ -43016,22 +45484,22 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_7_0_1_3__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13895:1: rule__ReferenceCS__Group_7_0_1_3__2__Impl : ( ':' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14913:1: rule__ReferenceCS__Group_7_0_1_3__2__Impl : ( ':' ) ;
     public final void rule__ReferenceCS__Group_7_0_1_3__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13899:1: ( ( ':' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13900:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14917:1: ( ( ':' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14918:1: ( ':' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13900:1: ( ':' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13901:1: ':'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14918:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14919:1: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_3_2()); 
             }
-            match(input,97,FollowSets001.FOLLOW_97_in_rule__ReferenceCS__Group_7_0_1_3__2__Impl29008); if (state.failed) return ;
+            match(input,106,FollowSets001.FOLLOW_106_in_rule__ReferenceCS__Group_7_0_1_3__2__Impl30878); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_3_2()); 
             }
@@ -43057,21 +45525,21 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_7_0_1_3__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13914:1: rule__ReferenceCS__Group_7_0_1_3__3 : rule__ReferenceCS__Group_7_0_1_3__3__Impl rule__ReferenceCS__Group_7_0_1_3__4 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14932:1: rule__ReferenceCS__Group_7_0_1_3__3 : rule__ReferenceCS__Group_7_0_1_3__3__Impl rule__ReferenceCS__Group_7_0_1_3__4 ;
     public final void rule__ReferenceCS__Group_7_0_1_3__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13918:1: ( rule__ReferenceCS__Group_7_0_1_3__3__Impl rule__ReferenceCS__Group_7_0_1_3__4 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13919:2: rule__ReferenceCS__Group_7_0_1_3__3__Impl rule__ReferenceCS__Group_7_0_1_3__4
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14936:1: ( rule__ReferenceCS__Group_7_0_1_3__3__Impl rule__ReferenceCS__Group_7_0_1_3__4 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14937:2: rule__ReferenceCS__Group_7_0_1_3__3__Impl rule__ReferenceCS__Group_7_0_1_3__4
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_3__3__Impl_in_rule__ReferenceCS__Group_7_0_1_3__329039);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_3__3__Impl_in_rule__ReferenceCS__Group_7_0_1_3__330909);
             rule__ReferenceCS__Group_7_0_1_3__3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_3__4_in_rule__ReferenceCS__Group_7_0_1_3__329042);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_3__4_in_rule__ReferenceCS__Group_7_0_1_3__330912);
             rule__ReferenceCS__Group_7_0_1_3__4();
 
             state._fsp--;
@@ -43095,33 +45563,33 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_7_0_1_3__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13926:1: rule__ReferenceCS__Group_7_0_1_3__3__Impl : ( ( rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_3_3 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14944:1: rule__ReferenceCS__Group_7_0_1_3__3__Impl : ( ( rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_3_3 )? ) ;
     public final void rule__ReferenceCS__Group_7_0_1_3__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13930:1: ( ( ( rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_3_3 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13931:1: ( ( rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_3_3 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14948:1: ( ( ( rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_3_3 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14949:1: ( ( rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_3_3 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13931:1: ( ( rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_3_3 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13932:1: ( rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_3_3 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14949:1: ( ( rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_3_3 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14950:1: ( rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_3_3 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getOwnedDefaultExpressionsAssignment_7_0_1_3_3()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13933:1: ( rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_3_3 )?
-            int alt165=2;
-            int LA165_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14951:1: ( rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_3_3 )?
+            int alt193=2;
+            int LA193_0 = input.LA(1);
 
-            if ( ((LA165_0>=RULE_INT && LA165_0<=RULE_SINGLE_QUOTED_STRING)||(LA165_0>=RULE_SIMPLE_ID && LA165_0<=RULE_UNQUOTED_STRING)||(LA165_0>=17 && LA165_0<=52)||(LA165_0>=55 && LA165_0<=63)||(LA165_0>=80 && LA165_0<=93)||LA165_0==95||(LA165_0>=105 && LA165_0<=107)||LA165_0==112||(LA165_0>=117 && LA165_0<=118)||(LA165_0>=131 && LA165_0<=132)) ) {
-                alt165=1;
+            if ( ((LA193_0>=RULE_INT && LA193_0<=RULE_SINGLE_QUOTED_STRING)||(LA193_0>=RULE_SIMPLE_ID && LA193_0<=RULE_UNQUOTED_STRING)||(LA193_0>=17 && LA193_0<=52)||(LA193_0>=64 && LA193_0<=72)||(LA193_0>=89 && LA193_0<=102)||LA193_0==104||(LA193_0>=114 && LA193_0<=116)||LA193_0==121||(LA193_0>=126 && LA193_0<=127)||(LA193_0>=131 && LA193_0<=132)) ) {
+                alt193=1;
             }
-            switch (alt165) {
+            switch (alt193) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13933:2: rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_3_3
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14951:2: rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_3_3
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_3_3_in_rule__ReferenceCS__Group_7_0_1_3__3__Impl29069);
+                    pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_3_3_in_rule__ReferenceCS__Group_7_0_1_3__3__Impl30939);
                     rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_3_3();
 
                     state._fsp--;
@@ -43157,16 +45625,16 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_7_0_1_3__4"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13943:1: rule__ReferenceCS__Group_7_0_1_3__4 : rule__ReferenceCS__Group_7_0_1_3__4__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14961:1: rule__ReferenceCS__Group_7_0_1_3__4 : rule__ReferenceCS__Group_7_0_1_3__4__Impl ;
     public final void rule__ReferenceCS__Group_7_0_1_3__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13947:1: ( rule__ReferenceCS__Group_7_0_1_3__4__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13948:2: rule__ReferenceCS__Group_7_0_1_3__4__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14965:1: ( rule__ReferenceCS__Group_7_0_1_3__4__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14966:2: rule__ReferenceCS__Group_7_0_1_3__4__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_3__4__Impl_in_rule__ReferenceCS__Group_7_0_1_3__429100);
+            pushFollow(FollowSets001.FOLLOW_rule__ReferenceCS__Group_7_0_1_3__4__Impl_in_rule__ReferenceCS__Group_7_0_1_3__430970);
             rule__ReferenceCS__Group_7_0_1_3__4__Impl();
 
             state._fsp--;
@@ -43190,22 +45658,22 @@
 
 
     // $ANTLR start "rule__ReferenceCS__Group_7_0_1_3__4__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13954:1: rule__ReferenceCS__Group_7_0_1_3__4__Impl : ( ';' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14972:1: rule__ReferenceCS__Group_7_0_1_3__4__Impl : ( ';' ) ;
     public final void rule__ReferenceCS__Group_7_0_1_3__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13958:1: ( ( ';' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13959:1: ( ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14976:1: ( ( ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14977:1: ( ';' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13959:1: ( ';' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13960:1: ';'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14977:1: ( ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14978:1: ';'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_3_4()); 
             }
-            match(input,53,FollowSets001.FOLLOW_53_in_rule__ReferenceCS__Group_7_0_1_3__4__Impl29128); if (state.failed) return ;
+            match(input,53,FollowSets001.FOLLOW_53_in_rule__ReferenceCS__Group_7_0_1_3__4__Impl30998); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_3_4()); 
             }
@@ -43231,21 +45699,21 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13983:1: rule__StructuredClassCS__Group__0 : rule__StructuredClassCS__Group__0__Impl rule__StructuredClassCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15001:1: rule__StructuredClassCS__Group__0 : rule__StructuredClassCS__Group__0__Impl rule__StructuredClassCS__Group__1 ;
     public final void rule__StructuredClassCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13987:1: ( rule__StructuredClassCS__Group__0__Impl rule__StructuredClassCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13988:2: rule__StructuredClassCS__Group__0__Impl rule__StructuredClassCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15005:1: ( rule__StructuredClassCS__Group__0__Impl rule__StructuredClassCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15006:2: rule__StructuredClassCS__Group__0__Impl rule__StructuredClassCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group__0__Impl_in_rule__StructuredClassCS__Group__029169);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group__0__Impl_in_rule__StructuredClassCS__Group__031039);
             rule__StructuredClassCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group__1_in_rule__StructuredClassCS__Group__029172);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group__1_in_rule__StructuredClassCS__Group__031042);
             rule__StructuredClassCS__Group__1();
 
             state._fsp--;
@@ -43269,33 +45737,33 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13995:1: rule__StructuredClassCS__Group__0__Impl : ( ( rule__StructuredClassCS__IsAbstractAssignment_0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15013:1: rule__StructuredClassCS__Group__0__Impl : ( ( rule__StructuredClassCS__IsAbstractAssignment_0 )? ) ;
     public final void rule__StructuredClassCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13999:1: ( ( ( rule__StructuredClassCS__IsAbstractAssignment_0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14000:1: ( ( rule__StructuredClassCS__IsAbstractAssignment_0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15017:1: ( ( ( rule__StructuredClassCS__IsAbstractAssignment_0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15018:1: ( ( rule__StructuredClassCS__IsAbstractAssignment_0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14000:1: ( ( rule__StructuredClassCS__IsAbstractAssignment_0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14001:1: ( rule__StructuredClassCS__IsAbstractAssignment_0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15018:1: ( ( rule__StructuredClassCS__IsAbstractAssignment_0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15019:1: ( rule__StructuredClassCS__IsAbstractAssignment_0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStructuredClassCSAccess().getIsAbstractAssignment_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14002:1: ( rule__StructuredClassCS__IsAbstractAssignment_0 )?
-            int alt166=2;
-            int LA166_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15020:1: ( rule__StructuredClassCS__IsAbstractAssignment_0 )?
+            int alt194=2;
+            int LA194_0 = input.LA(1);
 
-            if ( (LA166_0==17) ) {
-                alt166=1;
+            if ( (LA194_0==17) ) {
+                alt194=1;
             }
-            switch (alt166) {
+            switch (alt194) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14002:2: rule__StructuredClassCS__IsAbstractAssignment_0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15020:2: rule__StructuredClassCS__IsAbstractAssignment_0
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__IsAbstractAssignment_0_in_rule__StructuredClassCS__Group__0__Impl29199);
+                    pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__IsAbstractAssignment_0_in_rule__StructuredClassCS__Group__0__Impl31069);
                     rule__StructuredClassCS__IsAbstractAssignment_0();
 
                     state._fsp--;
@@ -43331,21 +45799,21 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14012:1: rule__StructuredClassCS__Group__1 : rule__StructuredClassCS__Group__1__Impl rule__StructuredClassCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15030:1: rule__StructuredClassCS__Group__1 : rule__StructuredClassCS__Group__1__Impl rule__StructuredClassCS__Group__2 ;
     public final void rule__StructuredClassCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14016:1: ( rule__StructuredClassCS__Group__1__Impl rule__StructuredClassCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14017:2: rule__StructuredClassCS__Group__1__Impl rule__StructuredClassCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15034:1: ( rule__StructuredClassCS__Group__1__Impl rule__StructuredClassCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15035:2: rule__StructuredClassCS__Group__1__Impl rule__StructuredClassCS__Group__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group__1__Impl_in_rule__StructuredClassCS__Group__129230);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group__1__Impl_in_rule__StructuredClassCS__Group__131100);
             rule__StructuredClassCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group__2_in_rule__StructuredClassCS__Group__129233);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group__2_in_rule__StructuredClassCS__Group__131103);
             rule__StructuredClassCS__Group__2();
 
             state._fsp--;
@@ -43369,22 +45837,22 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14024:1: rule__StructuredClassCS__Group__1__Impl : ( 'class' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15042:1: rule__StructuredClassCS__Group__1__Impl : ( 'class' ) ;
     public final void rule__StructuredClassCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14028:1: ( ( 'class' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14029:1: ( 'class' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15046:1: ( ( 'class' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15047:1: ( 'class' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14029:1: ( 'class' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14030:1: 'class'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15047:1: ( 'class' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15048:1: 'class'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStructuredClassCSAccess().getClassKeyword_1()); 
             }
-            match(input,21,FollowSets001.FOLLOW_21_in_rule__StructuredClassCS__Group__1__Impl29261); if (state.failed) return ;
+            match(input,21,FollowSets001.FOLLOW_21_in_rule__StructuredClassCS__Group__1__Impl31131); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getStructuredClassCSAccess().getClassKeyword_1()); 
             }
@@ -43410,21 +45878,21 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14043:1: rule__StructuredClassCS__Group__2 : rule__StructuredClassCS__Group__2__Impl rule__StructuredClassCS__Group__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15061:1: rule__StructuredClassCS__Group__2 : rule__StructuredClassCS__Group__2__Impl rule__StructuredClassCS__Group__3 ;
     public final void rule__StructuredClassCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14047:1: ( rule__StructuredClassCS__Group__2__Impl rule__StructuredClassCS__Group__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14048:2: rule__StructuredClassCS__Group__2__Impl rule__StructuredClassCS__Group__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15065:1: ( rule__StructuredClassCS__Group__2__Impl rule__StructuredClassCS__Group__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15066:2: rule__StructuredClassCS__Group__2__Impl rule__StructuredClassCS__Group__3
             {
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group__2__Impl_in_rule__StructuredClassCS__Group__229292);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group__2__Impl_in_rule__StructuredClassCS__Group__231162);
             rule__StructuredClassCS__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group__3_in_rule__StructuredClassCS__Group__229295);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group__3_in_rule__StructuredClassCS__Group__231165);
             rule__StructuredClassCS__Group__3();
 
             state._fsp--;
@@ -43448,25 +45916,25 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14055:1: rule__StructuredClassCS__Group__2__Impl : ( ( rule__StructuredClassCS__NameAssignment_2 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15073:1: rule__StructuredClassCS__Group__2__Impl : ( ( rule__StructuredClassCS__NameAssignment_2 ) ) ;
     public final void rule__StructuredClassCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14059:1: ( ( ( rule__StructuredClassCS__NameAssignment_2 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14060:1: ( ( rule__StructuredClassCS__NameAssignment_2 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15077:1: ( ( ( rule__StructuredClassCS__NameAssignment_2 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15078:1: ( ( rule__StructuredClassCS__NameAssignment_2 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14060:1: ( ( rule__StructuredClassCS__NameAssignment_2 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14061:1: ( rule__StructuredClassCS__NameAssignment_2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15078:1: ( ( rule__StructuredClassCS__NameAssignment_2 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15079:1: ( rule__StructuredClassCS__NameAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStructuredClassCSAccess().getNameAssignment_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14062:1: ( rule__StructuredClassCS__NameAssignment_2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14062:2: rule__StructuredClassCS__NameAssignment_2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15080:1: ( rule__StructuredClassCS__NameAssignment_2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15080:2: rule__StructuredClassCS__NameAssignment_2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__NameAssignment_2_in_rule__StructuredClassCS__Group__2__Impl29322);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__NameAssignment_2_in_rule__StructuredClassCS__Group__2__Impl31192);
             rule__StructuredClassCS__NameAssignment_2();
 
             state._fsp--;
@@ -43499,21 +45967,21 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14072:1: rule__StructuredClassCS__Group__3 : rule__StructuredClassCS__Group__3__Impl rule__StructuredClassCS__Group__4 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15090:1: rule__StructuredClassCS__Group__3 : rule__StructuredClassCS__Group__3__Impl rule__StructuredClassCS__Group__4 ;
     public final void rule__StructuredClassCS__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14076:1: ( rule__StructuredClassCS__Group__3__Impl rule__StructuredClassCS__Group__4 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14077:2: rule__StructuredClassCS__Group__3__Impl rule__StructuredClassCS__Group__4
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15094:1: ( rule__StructuredClassCS__Group__3__Impl rule__StructuredClassCS__Group__4 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15095:2: rule__StructuredClassCS__Group__3__Impl rule__StructuredClassCS__Group__4
             {
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group__3__Impl_in_rule__StructuredClassCS__Group__329352);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group__3__Impl_in_rule__StructuredClassCS__Group__331222);
             rule__StructuredClassCS__Group__3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group__4_in_rule__StructuredClassCS__Group__329355);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group__4_in_rule__StructuredClassCS__Group__331225);
             rule__StructuredClassCS__Group__4();
 
             state._fsp--;
@@ -43537,33 +46005,33 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14084:1: rule__StructuredClassCS__Group__3__Impl : ( ( rule__StructuredClassCS__OwnedSignatureAssignment_3 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15102:1: rule__StructuredClassCS__Group__3__Impl : ( ( rule__StructuredClassCS__OwnedSignatureAssignment_3 )? ) ;
     public final void rule__StructuredClassCS__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14088:1: ( ( ( rule__StructuredClassCS__OwnedSignatureAssignment_3 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14089:1: ( ( rule__StructuredClassCS__OwnedSignatureAssignment_3 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15106:1: ( ( ( rule__StructuredClassCS__OwnedSignatureAssignment_3 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15107:1: ( ( rule__StructuredClassCS__OwnedSignatureAssignment_3 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14089:1: ( ( rule__StructuredClassCS__OwnedSignatureAssignment_3 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14090:1: ( rule__StructuredClassCS__OwnedSignatureAssignment_3 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15107:1: ( ( rule__StructuredClassCS__OwnedSignatureAssignment_3 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15108:1: ( rule__StructuredClassCS__OwnedSignatureAssignment_3 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStructuredClassCSAccess().getOwnedSignatureAssignment_3()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14091:1: ( rule__StructuredClassCS__OwnedSignatureAssignment_3 )?
-            int alt167=2;
-            int LA167_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15109:1: ( rule__StructuredClassCS__OwnedSignatureAssignment_3 )?
+            int alt195=2;
+            int LA195_0 = input.LA(1);
 
-            if ( (LA167_0==67||LA167_0==95) ) {
-                alt167=1;
+            if ( (LA195_0==76||LA195_0==104) ) {
+                alt195=1;
             }
-            switch (alt167) {
+            switch (alt195) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14091:2: rule__StructuredClassCS__OwnedSignatureAssignment_3
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15109:2: rule__StructuredClassCS__OwnedSignatureAssignment_3
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__OwnedSignatureAssignment_3_in_rule__StructuredClassCS__Group__3__Impl29382);
+                    pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__OwnedSignatureAssignment_3_in_rule__StructuredClassCS__Group__3__Impl31252);
                     rule__StructuredClassCS__OwnedSignatureAssignment_3();
 
                     state._fsp--;
@@ -43599,21 +46067,21 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group__4"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14101:1: rule__StructuredClassCS__Group__4 : rule__StructuredClassCS__Group__4__Impl rule__StructuredClassCS__Group__5 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15119:1: rule__StructuredClassCS__Group__4 : rule__StructuredClassCS__Group__4__Impl rule__StructuredClassCS__Group__5 ;
     public final void rule__StructuredClassCS__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14105:1: ( rule__StructuredClassCS__Group__4__Impl rule__StructuredClassCS__Group__5 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14106:2: rule__StructuredClassCS__Group__4__Impl rule__StructuredClassCS__Group__5
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15123:1: ( rule__StructuredClassCS__Group__4__Impl rule__StructuredClassCS__Group__5 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15124:2: rule__StructuredClassCS__Group__4__Impl rule__StructuredClassCS__Group__5
             {
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group__4__Impl_in_rule__StructuredClassCS__Group__429413);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group__4__Impl_in_rule__StructuredClassCS__Group__431283);
             rule__StructuredClassCS__Group__4__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group__5_in_rule__StructuredClassCS__Group__429416);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group__5_in_rule__StructuredClassCS__Group__431286);
             rule__StructuredClassCS__Group__5();
 
             state._fsp--;
@@ -43637,33 +46105,33 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group__4__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14113:1: rule__StructuredClassCS__Group__4__Impl : ( ( rule__StructuredClassCS__Group_4__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15131:1: rule__StructuredClassCS__Group__4__Impl : ( ( rule__StructuredClassCS__Group_4__0 )? ) ;
     public final void rule__StructuredClassCS__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14117:1: ( ( ( rule__StructuredClassCS__Group_4__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14118:1: ( ( rule__StructuredClassCS__Group_4__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15135:1: ( ( ( rule__StructuredClassCS__Group_4__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15136:1: ( ( rule__StructuredClassCS__Group_4__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14118:1: ( ( rule__StructuredClassCS__Group_4__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14119:1: ( rule__StructuredClassCS__Group_4__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15136:1: ( ( rule__StructuredClassCS__Group_4__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15137:1: ( rule__StructuredClassCS__Group_4__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStructuredClassCSAccess().getGroup_4()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14120:1: ( rule__StructuredClassCS__Group_4__0 )?
-            int alt168=2;
-            int LA168_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15138:1: ( rule__StructuredClassCS__Group_4__0 )?
+            int alt196=2;
+            int LA196_0 = input.LA(1);
 
-            if ( (LA168_0==28) ) {
-                alt168=1;
+            if ( (LA196_0==28) ) {
+                alt196=1;
             }
-            switch (alt168) {
+            switch (alt196) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14120:2: rule__StructuredClassCS__Group_4__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15138:2: rule__StructuredClassCS__Group_4__0
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_4__0_in_rule__StructuredClassCS__Group__4__Impl29443);
+                    pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_4__0_in_rule__StructuredClassCS__Group__4__Impl31313);
                     rule__StructuredClassCS__Group_4__0();
 
                     state._fsp--;
@@ -43699,21 +46167,21 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group__5"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14130:1: rule__StructuredClassCS__Group__5 : rule__StructuredClassCS__Group__5__Impl rule__StructuredClassCS__Group__6 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15148:1: rule__StructuredClassCS__Group__5 : rule__StructuredClassCS__Group__5__Impl rule__StructuredClassCS__Group__6 ;
     public final void rule__StructuredClassCS__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14134:1: ( rule__StructuredClassCS__Group__5__Impl rule__StructuredClassCS__Group__6 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14135:2: rule__StructuredClassCS__Group__5__Impl rule__StructuredClassCS__Group__6
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15152:1: ( rule__StructuredClassCS__Group__5__Impl rule__StructuredClassCS__Group__6 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15153:2: rule__StructuredClassCS__Group__5__Impl rule__StructuredClassCS__Group__6
             {
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group__5__Impl_in_rule__StructuredClassCS__Group__529474);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group__5__Impl_in_rule__StructuredClassCS__Group__531344);
             rule__StructuredClassCS__Group__5__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group__6_in_rule__StructuredClassCS__Group__529477);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group__6_in_rule__StructuredClassCS__Group__531347);
             rule__StructuredClassCS__Group__6();
 
             state._fsp--;
@@ -43737,33 +46205,33 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group__5__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14142:1: rule__StructuredClassCS__Group__5__Impl : ( ( rule__StructuredClassCS__Group_5__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15160:1: rule__StructuredClassCS__Group__5__Impl : ( ( rule__StructuredClassCS__Group_5__0 )? ) ;
     public final void rule__StructuredClassCS__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14146:1: ( ( ( rule__StructuredClassCS__Group_5__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14147:1: ( ( rule__StructuredClassCS__Group_5__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15164:1: ( ( ( rule__StructuredClassCS__Group_5__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15165:1: ( ( rule__StructuredClassCS__Group_5__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14147:1: ( ( rule__StructuredClassCS__Group_5__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14148:1: ( rule__StructuredClassCS__Group_5__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15165:1: ( ( rule__StructuredClassCS__Group_5__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15166:1: ( rule__StructuredClassCS__Group_5__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStructuredClassCSAccess().getGroup_5()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14149:1: ( rule__StructuredClassCS__Group_5__0 )?
-            int alt169=2;
-            int LA169_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15167:1: ( rule__StructuredClassCS__Group_5__0 )?
+            int alt197=2;
+            int LA197_0 = input.LA(1);
 
-            if ( (LA169_0==97) ) {
-                alt169=1;
+            if ( (LA197_0==106) ) {
+                alt197=1;
             }
-            switch (alt169) {
+            switch (alt197) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14149:2: rule__StructuredClassCS__Group_5__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15167:2: rule__StructuredClassCS__Group_5__0
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_5__0_in_rule__StructuredClassCS__Group__5__Impl29504);
+                    pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_5__0_in_rule__StructuredClassCS__Group__5__Impl31374);
                     rule__StructuredClassCS__Group_5__0();
 
                     state._fsp--;
@@ -43799,21 +46267,21 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group__6"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14159:1: rule__StructuredClassCS__Group__6 : rule__StructuredClassCS__Group__6__Impl rule__StructuredClassCS__Group__7 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15177:1: rule__StructuredClassCS__Group__6 : rule__StructuredClassCS__Group__6__Impl rule__StructuredClassCS__Group__7 ;
     public final void rule__StructuredClassCS__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14163:1: ( rule__StructuredClassCS__Group__6__Impl rule__StructuredClassCS__Group__7 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14164:2: rule__StructuredClassCS__Group__6__Impl rule__StructuredClassCS__Group__7
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15181:1: ( rule__StructuredClassCS__Group__6__Impl rule__StructuredClassCS__Group__7 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15182:2: rule__StructuredClassCS__Group__6__Impl rule__StructuredClassCS__Group__7
             {
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group__6__Impl_in_rule__StructuredClassCS__Group__629535);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group__6__Impl_in_rule__StructuredClassCS__Group__631405);
             rule__StructuredClassCS__Group__6__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group__7_in_rule__StructuredClassCS__Group__629538);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group__7_in_rule__StructuredClassCS__Group__631408);
             rule__StructuredClassCS__Group__7();
 
             state._fsp--;
@@ -43837,44 +46305,44 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group__6__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14171:1: rule__StructuredClassCS__Group__6__Impl : ( ( rule__StructuredClassCS__Group_6__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15189:1: rule__StructuredClassCS__Group__6__Impl : ( ( rule__StructuredClassCS__Group_6__0 )? ) ;
     public final void rule__StructuredClassCS__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14175:1: ( ( ( rule__StructuredClassCS__Group_6__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14176:1: ( ( rule__StructuredClassCS__Group_6__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15193:1: ( ( ( rule__StructuredClassCS__Group_6__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15194:1: ( ( rule__StructuredClassCS__Group_6__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14176:1: ( ( rule__StructuredClassCS__Group_6__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14177:1: ( rule__StructuredClassCS__Group_6__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15194:1: ( ( rule__StructuredClassCS__Group_6__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15195:1: ( rule__StructuredClassCS__Group_6__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStructuredClassCSAccess().getGroup_6()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14178:1: ( rule__StructuredClassCS__Group_6__0 )?
-            int alt170=2;
-            int LA170_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15196:1: ( rule__StructuredClassCS__Group_6__0 )?
+            int alt198=2;
+            int LA198_0 = input.LA(1);
 
-            if ( (LA170_0==99) ) {
-                int LA170_1 = input.LA(2);
+            if ( (LA198_0==108) ) {
+                int LA198_1 = input.LA(2);
 
-                if ( (LA170_1==32) ) {
-                    alt170=1;
-                }
-                else if ( (LA170_1==100) ) {
-                    int LA170_4 = input.LA(3);
+                if ( (LA198_1==109) ) {
+                    int LA198_3 = input.LA(3);
 
-                    if ( (LA170_4==53||LA170_4==99) ) {
-                        alt170=1;
+                    if ( (LA198_3==53||LA198_3==108) ) {
+                        alt198=1;
                     }
                 }
+                else if ( (LA198_1==32) ) {
+                    alt198=1;
+                }
             }
-            switch (alt170) {
+            switch (alt198) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14178:2: rule__StructuredClassCS__Group_6__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15196:2: rule__StructuredClassCS__Group_6__0
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_6__0_in_rule__StructuredClassCS__Group__6__Impl29565);
+                    pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_6__0_in_rule__StructuredClassCS__Group__6__Impl31435);
                     rule__StructuredClassCS__Group_6__0();
 
                     state._fsp--;
@@ -43910,16 +46378,16 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group__7"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14188:1: rule__StructuredClassCS__Group__7 : rule__StructuredClassCS__Group__7__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15206:1: rule__StructuredClassCS__Group__7 : rule__StructuredClassCS__Group__7__Impl ;
     public final void rule__StructuredClassCS__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14192:1: ( rule__StructuredClassCS__Group__7__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14193:2: rule__StructuredClassCS__Group__7__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15210:1: ( rule__StructuredClassCS__Group__7__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15211:2: rule__StructuredClassCS__Group__7__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group__7__Impl_in_rule__StructuredClassCS__Group__729596);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group__7__Impl_in_rule__StructuredClassCS__Group__731466);
             rule__StructuredClassCS__Group__7__Impl();
 
             state._fsp--;
@@ -43943,25 +46411,25 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group__7__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14199:1: rule__StructuredClassCS__Group__7__Impl : ( ( rule__StructuredClassCS__Alternatives_7 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15217:1: rule__StructuredClassCS__Group__7__Impl : ( ( rule__StructuredClassCS__Alternatives_7 ) ) ;
     public final void rule__StructuredClassCS__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14203:1: ( ( ( rule__StructuredClassCS__Alternatives_7 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14204:1: ( ( rule__StructuredClassCS__Alternatives_7 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15221:1: ( ( ( rule__StructuredClassCS__Alternatives_7 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15222:1: ( ( rule__StructuredClassCS__Alternatives_7 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14204:1: ( ( rule__StructuredClassCS__Alternatives_7 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14205:1: ( rule__StructuredClassCS__Alternatives_7 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15222:1: ( ( rule__StructuredClassCS__Alternatives_7 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15223:1: ( rule__StructuredClassCS__Alternatives_7 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStructuredClassCSAccess().getAlternatives_7()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14206:1: ( rule__StructuredClassCS__Alternatives_7 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14206:2: rule__StructuredClassCS__Alternatives_7
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15224:1: ( rule__StructuredClassCS__Alternatives_7 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15224:2: rule__StructuredClassCS__Alternatives_7
             {
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Alternatives_7_in_rule__StructuredClassCS__Group__7__Impl29623);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Alternatives_7_in_rule__StructuredClassCS__Group__7__Impl31493);
             rule__StructuredClassCS__Alternatives_7();
 
             state._fsp--;
@@ -43994,21 +46462,21 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group_4__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14232:1: rule__StructuredClassCS__Group_4__0 : rule__StructuredClassCS__Group_4__0__Impl rule__StructuredClassCS__Group_4__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15250:1: rule__StructuredClassCS__Group_4__0 : rule__StructuredClassCS__Group_4__0__Impl rule__StructuredClassCS__Group_4__1 ;
     public final void rule__StructuredClassCS__Group_4__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14236:1: ( rule__StructuredClassCS__Group_4__0__Impl rule__StructuredClassCS__Group_4__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14237:2: rule__StructuredClassCS__Group_4__0__Impl rule__StructuredClassCS__Group_4__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15254:1: ( rule__StructuredClassCS__Group_4__0__Impl rule__StructuredClassCS__Group_4__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15255:2: rule__StructuredClassCS__Group_4__0__Impl rule__StructuredClassCS__Group_4__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_4__0__Impl_in_rule__StructuredClassCS__Group_4__029669);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_4__0__Impl_in_rule__StructuredClassCS__Group_4__031539);
             rule__StructuredClassCS__Group_4__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_4__1_in_rule__StructuredClassCS__Group_4__029672);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_4__1_in_rule__StructuredClassCS__Group_4__031542);
             rule__StructuredClassCS__Group_4__1();
 
             state._fsp--;
@@ -44032,22 +46500,22 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group_4__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14244:1: rule__StructuredClassCS__Group_4__0__Impl : ( 'extends' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15262:1: rule__StructuredClassCS__Group_4__0__Impl : ( 'extends' ) ;
     public final void rule__StructuredClassCS__Group_4__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14248:1: ( ( 'extends' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14249:1: ( 'extends' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15266:1: ( ( 'extends' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15267:1: ( 'extends' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14249:1: ( 'extends' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14250:1: 'extends'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15267:1: ( 'extends' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15268:1: 'extends'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStructuredClassCSAccess().getExtendsKeyword_4_0()); 
             }
-            match(input,28,FollowSets001.FOLLOW_28_in_rule__StructuredClassCS__Group_4__0__Impl29700); if (state.failed) return ;
+            match(input,28,FollowSets001.FOLLOW_28_in_rule__StructuredClassCS__Group_4__0__Impl31570); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getStructuredClassCSAccess().getExtendsKeyword_4_0()); 
             }
@@ -44073,21 +46541,21 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group_4__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14263:1: rule__StructuredClassCS__Group_4__1 : rule__StructuredClassCS__Group_4__1__Impl rule__StructuredClassCS__Group_4__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15281:1: rule__StructuredClassCS__Group_4__1 : rule__StructuredClassCS__Group_4__1__Impl rule__StructuredClassCS__Group_4__2 ;
     public final void rule__StructuredClassCS__Group_4__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14267:1: ( rule__StructuredClassCS__Group_4__1__Impl rule__StructuredClassCS__Group_4__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14268:2: rule__StructuredClassCS__Group_4__1__Impl rule__StructuredClassCS__Group_4__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15285:1: ( rule__StructuredClassCS__Group_4__1__Impl rule__StructuredClassCS__Group_4__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15286:2: rule__StructuredClassCS__Group_4__1__Impl rule__StructuredClassCS__Group_4__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_4__1__Impl_in_rule__StructuredClassCS__Group_4__129731);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_4__1__Impl_in_rule__StructuredClassCS__Group_4__131601);
             rule__StructuredClassCS__Group_4__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_4__2_in_rule__StructuredClassCS__Group_4__129734);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_4__2_in_rule__StructuredClassCS__Group_4__131604);
             rule__StructuredClassCS__Group_4__2();
 
             state._fsp--;
@@ -44111,25 +46579,25 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group_4__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14275:1: rule__StructuredClassCS__Group_4__1__Impl : ( ( rule__StructuredClassCS__OwnedSuperTypesAssignment_4_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15293:1: rule__StructuredClassCS__Group_4__1__Impl : ( ( rule__StructuredClassCS__OwnedSuperTypesAssignment_4_1 ) ) ;
     public final void rule__StructuredClassCS__Group_4__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14279:1: ( ( ( rule__StructuredClassCS__OwnedSuperTypesAssignment_4_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14280:1: ( ( rule__StructuredClassCS__OwnedSuperTypesAssignment_4_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15297:1: ( ( ( rule__StructuredClassCS__OwnedSuperTypesAssignment_4_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15298:1: ( ( rule__StructuredClassCS__OwnedSuperTypesAssignment_4_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14280:1: ( ( rule__StructuredClassCS__OwnedSuperTypesAssignment_4_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14281:1: ( rule__StructuredClassCS__OwnedSuperTypesAssignment_4_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15298:1: ( ( rule__StructuredClassCS__OwnedSuperTypesAssignment_4_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15299:1: ( rule__StructuredClassCS__OwnedSuperTypesAssignment_4_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStructuredClassCSAccess().getOwnedSuperTypesAssignment_4_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14282:1: ( rule__StructuredClassCS__OwnedSuperTypesAssignment_4_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14282:2: rule__StructuredClassCS__OwnedSuperTypesAssignment_4_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15300:1: ( rule__StructuredClassCS__OwnedSuperTypesAssignment_4_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15300:2: rule__StructuredClassCS__OwnedSuperTypesAssignment_4_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__OwnedSuperTypesAssignment_4_1_in_rule__StructuredClassCS__Group_4__1__Impl29761);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__OwnedSuperTypesAssignment_4_1_in_rule__StructuredClassCS__Group_4__1__Impl31631);
             rule__StructuredClassCS__OwnedSuperTypesAssignment_4_1();
 
             state._fsp--;
@@ -44162,16 +46630,16 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group_4__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14292:1: rule__StructuredClassCS__Group_4__2 : rule__StructuredClassCS__Group_4__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15310:1: rule__StructuredClassCS__Group_4__2 : rule__StructuredClassCS__Group_4__2__Impl ;
     public final void rule__StructuredClassCS__Group_4__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14296:1: ( rule__StructuredClassCS__Group_4__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14297:2: rule__StructuredClassCS__Group_4__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15314:1: ( rule__StructuredClassCS__Group_4__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15315:2: rule__StructuredClassCS__Group_4__2__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_4__2__Impl_in_rule__StructuredClassCS__Group_4__229791);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_4__2__Impl_in_rule__StructuredClassCS__Group_4__231661);
             rule__StructuredClassCS__Group_4__2__Impl();
 
             state._fsp--;
@@ -44195,37 +46663,37 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group_4__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14303:1: rule__StructuredClassCS__Group_4__2__Impl : ( ( rule__StructuredClassCS__Group_4_2__0 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15321:1: rule__StructuredClassCS__Group_4__2__Impl : ( ( rule__StructuredClassCS__Group_4_2__0 )* ) ;
     public final void rule__StructuredClassCS__Group_4__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14307:1: ( ( ( rule__StructuredClassCS__Group_4_2__0 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14308:1: ( ( rule__StructuredClassCS__Group_4_2__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15325:1: ( ( ( rule__StructuredClassCS__Group_4_2__0 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15326:1: ( ( rule__StructuredClassCS__Group_4_2__0 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14308:1: ( ( rule__StructuredClassCS__Group_4_2__0 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14309:1: ( rule__StructuredClassCS__Group_4_2__0 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15326:1: ( ( rule__StructuredClassCS__Group_4_2__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15327:1: ( rule__StructuredClassCS__Group_4_2__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStructuredClassCSAccess().getGroup_4_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14310:1: ( rule__StructuredClassCS__Group_4_2__0 )*
-            loop171:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15328:1: ( rule__StructuredClassCS__Group_4_2__0 )*
+            loop199:
             do {
-                int alt171=2;
-                int LA171_0 = input.LA(1);
+                int alt199=2;
+                int LA199_0 = input.LA(1);
 
-                if ( (LA171_0==98) ) {
-                    alt171=1;
+                if ( (LA199_0==107) ) {
+                    alt199=1;
                 }
 
 
-                switch (alt171) {
+                switch (alt199) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14310:2: rule__StructuredClassCS__Group_4_2__0
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15328:2: rule__StructuredClassCS__Group_4_2__0
             	    {
-            	    pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_4_2__0_in_rule__StructuredClassCS__Group_4__2__Impl29818);
+            	    pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_4_2__0_in_rule__StructuredClassCS__Group_4__2__Impl31688);
             	    rule__StructuredClassCS__Group_4_2__0();
 
             	    state._fsp--;
@@ -44235,7 +46703,7 @@
             	    break;
 
             	default :
-            	    break loop171;
+            	    break loop199;
                 }
             } while (true);
 
@@ -44264,21 +46732,21 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group_4_2__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14326:1: rule__StructuredClassCS__Group_4_2__0 : rule__StructuredClassCS__Group_4_2__0__Impl rule__StructuredClassCS__Group_4_2__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15344:1: rule__StructuredClassCS__Group_4_2__0 : rule__StructuredClassCS__Group_4_2__0__Impl rule__StructuredClassCS__Group_4_2__1 ;
     public final void rule__StructuredClassCS__Group_4_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14330:1: ( rule__StructuredClassCS__Group_4_2__0__Impl rule__StructuredClassCS__Group_4_2__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14331:2: rule__StructuredClassCS__Group_4_2__0__Impl rule__StructuredClassCS__Group_4_2__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15348:1: ( rule__StructuredClassCS__Group_4_2__0__Impl rule__StructuredClassCS__Group_4_2__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15349:2: rule__StructuredClassCS__Group_4_2__0__Impl rule__StructuredClassCS__Group_4_2__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_4_2__0__Impl_in_rule__StructuredClassCS__Group_4_2__029855);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_4_2__0__Impl_in_rule__StructuredClassCS__Group_4_2__031725);
             rule__StructuredClassCS__Group_4_2__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_4_2__1_in_rule__StructuredClassCS__Group_4_2__029858);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_4_2__1_in_rule__StructuredClassCS__Group_4_2__031728);
             rule__StructuredClassCS__Group_4_2__1();
 
             state._fsp--;
@@ -44302,22 +46770,22 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group_4_2__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14338:1: rule__StructuredClassCS__Group_4_2__0__Impl : ( ',' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15356:1: rule__StructuredClassCS__Group_4_2__0__Impl : ( ',' ) ;
     public final void rule__StructuredClassCS__Group_4_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14342:1: ( ( ',' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14343:1: ( ',' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15360:1: ( ( ',' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15361:1: ( ',' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14343:1: ( ',' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14344:1: ','
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15361:1: ( ',' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15362:1: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStructuredClassCSAccess().getCommaKeyword_4_2_0()); 
             }
-            match(input,98,FollowSets001.FOLLOW_98_in_rule__StructuredClassCS__Group_4_2__0__Impl29886); if (state.failed) return ;
+            match(input,107,FollowSets001.FOLLOW_107_in_rule__StructuredClassCS__Group_4_2__0__Impl31756); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getStructuredClassCSAccess().getCommaKeyword_4_2_0()); 
             }
@@ -44343,16 +46811,16 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group_4_2__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14357:1: rule__StructuredClassCS__Group_4_2__1 : rule__StructuredClassCS__Group_4_2__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15375:1: rule__StructuredClassCS__Group_4_2__1 : rule__StructuredClassCS__Group_4_2__1__Impl ;
     public final void rule__StructuredClassCS__Group_4_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14361:1: ( rule__StructuredClassCS__Group_4_2__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14362:2: rule__StructuredClassCS__Group_4_2__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15379:1: ( rule__StructuredClassCS__Group_4_2__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15380:2: rule__StructuredClassCS__Group_4_2__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_4_2__1__Impl_in_rule__StructuredClassCS__Group_4_2__129917);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_4_2__1__Impl_in_rule__StructuredClassCS__Group_4_2__131787);
             rule__StructuredClassCS__Group_4_2__1__Impl();
 
             state._fsp--;
@@ -44376,25 +46844,25 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group_4_2__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14368:1: rule__StructuredClassCS__Group_4_2__1__Impl : ( ( rule__StructuredClassCS__OwnedSuperTypesAssignment_4_2_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15386:1: rule__StructuredClassCS__Group_4_2__1__Impl : ( ( rule__StructuredClassCS__OwnedSuperTypesAssignment_4_2_1 ) ) ;
     public final void rule__StructuredClassCS__Group_4_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14372:1: ( ( ( rule__StructuredClassCS__OwnedSuperTypesAssignment_4_2_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14373:1: ( ( rule__StructuredClassCS__OwnedSuperTypesAssignment_4_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15390:1: ( ( ( rule__StructuredClassCS__OwnedSuperTypesAssignment_4_2_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15391:1: ( ( rule__StructuredClassCS__OwnedSuperTypesAssignment_4_2_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14373:1: ( ( rule__StructuredClassCS__OwnedSuperTypesAssignment_4_2_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14374:1: ( rule__StructuredClassCS__OwnedSuperTypesAssignment_4_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15391:1: ( ( rule__StructuredClassCS__OwnedSuperTypesAssignment_4_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15392:1: ( rule__StructuredClassCS__OwnedSuperTypesAssignment_4_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStructuredClassCSAccess().getOwnedSuperTypesAssignment_4_2_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14375:1: ( rule__StructuredClassCS__OwnedSuperTypesAssignment_4_2_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14375:2: rule__StructuredClassCS__OwnedSuperTypesAssignment_4_2_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15393:1: ( rule__StructuredClassCS__OwnedSuperTypesAssignment_4_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15393:2: rule__StructuredClassCS__OwnedSuperTypesAssignment_4_2_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__OwnedSuperTypesAssignment_4_2_1_in_rule__StructuredClassCS__Group_4_2__1__Impl29944);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__OwnedSuperTypesAssignment_4_2_1_in_rule__StructuredClassCS__Group_4_2__1__Impl31814);
             rule__StructuredClassCS__OwnedSuperTypesAssignment_4_2_1();
 
             state._fsp--;
@@ -44427,21 +46895,21 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group_5__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14389:1: rule__StructuredClassCS__Group_5__0 : rule__StructuredClassCS__Group_5__0__Impl rule__StructuredClassCS__Group_5__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15407:1: rule__StructuredClassCS__Group_5__0 : rule__StructuredClassCS__Group_5__0__Impl rule__StructuredClassCS__Group_5__1 ;
     public final void rule__StructuredClassCS__Group_5__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14393:1: ( rule__StructuredClassCS__Group_5__0__Impl rule__StructuredClassCS__Group_5__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14394:2: rule__StructuredClassCS__Group_5__0__Impl rule__StructuredClassCS__Group_5__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15411:1: ( rule__StructuredClassCS__Group_5__0__Impl rule__StructuredClassCS__Group_5__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15412:2: rule__StructuredClassCS__Group_5__0__Impl rule__StructuredClassCS__Group_5__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_5__0__Impl_in_rule__StructuredClassCS__Group_5__029978);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_5__0__Impl_in_rule__StructuredClassCS__Group_5__031848);
             rule__StructuredClassCS__Group_5__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_5__1_in_rule__StructuredClassCS__Group_5__029981);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_5__1_in_rule__StructuredClassCS__Group_5__031851);
             rule__StructuredClassCS__Group_5__1();
 
             state._fsp--;
@@ -44465,22 +46933,22 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group_5__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14401:1: rule__StructuredClassCS__Group_5__0__Impl : ( ':' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15419:1: rule__StructuredClassCS__Group_5__0__Impl : ( ':' ) ;
     public final void rule__StructuredClassCS__Group_5__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14405:1: ( ( ':' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14406:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15423:1: ( ( ':' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15424:1: ( ':' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14406:1: ( ':' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14407:1: ':'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15424:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15425:1: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStructuredClassCSAccess().getColonKeyword_5_0()); 
             }
-            match(input,97,FollowSets001.FOLLOW_97_in_rule__StructuredClassCS__Group_5__0__Impl30009); if (state.failed) return ;
+            match(input,106,FollowSets001.FOLLOW_106_in_rule__StructuredClassCS__Group_5__0__Impl31879); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getStructuredClassCSAccess().getColonKeyword_5_0()); 
             }
@@ -44506,16 +46974,16 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group_5__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14420:1: rule__StructuredClassCS__Group_5__1 : rule__StructuredClassCS__Group_5__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15438:1: rule__StructuredClassCS__Group_5__1 : rule__StructuredClassCS__Group_5__1__Impl ;
     public final void rule__StructuredClassCS__Group_5__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14424:1: ( rule__StructuredClassCS__Group_5__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14425:2: rule__StructuredClassCS__Group_5__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15442:1: ( rule__StructuredClassCS__Group_5__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15443:2: rule__StructuredClassCS__Group_5__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_5__1__Impl_in_rule__StructuredClassCS__Group_5__130040);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_5__1__Impl_in_rule__StructuredClassCS__Group_5__131910);
             rule__StructuredClassCS__Group_5__1__Impl();
 
             state._fsp--;
@@ -44539,25 +47007,25 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group_5__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14431:1: rule__StructuredClassCS__Group_5__1__Impl : ( ( rule__StructuredClassCS__InstanceClassNameAssignment_5_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15449:1: rule__StructuredClassCS__Group_5__1__Impl : ( ( rule__StructuredClassCS__InstanceClassNameAssignment_5_1 ) ) ;
     public final void rule__StructuredClassCS__Group_5__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14435:1: ( ( ( rule__StructuredClassCS__InstanceClassNameAssignment_5_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14436:1: ( ( rule__StructuredClassCS__InstanceClassNameAssignment_5_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15453:1: ( ( ( rule__StructuredClassCS__InstanceClassNameAssignment_5_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15454:1: ( ( rule__StructuredClassCS__InstanceClassNameAssignment_5_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14436:1: ( ( rule__StructuredClassCS__InstanceClassNameAssignment_5_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14437:1: ( rule__StructuredClassCS__InstanceClassNameAssignment_5_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15454:1: ( ( rule__StructuredClassCS__InstanceClassNameAssignment_5_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15455:1: ( rule__StructuredClassCS__InstanceClassNameAssignment_5_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStructuredClassCSAccess().getInstanceClassNameAssignment_5_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14438:1: ( rule__StructuredClassCS__InstanceClassNameAssignment_5_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14438:2: rule__StructuredClassCS__InstanceClassNameAssignment_5_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15456:1: ( rule__StructuredClassCS__InstanceClassNameAssignment_5_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15456:2: rule__StructuredClassCS__InstanceClassNameAssignment_5_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__InstanceClassNameAssignment_5_1_in_rule__StructuredClassCS__Group_5__1__Impl30067);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__InstanceClassNameAssignment_5_1_in_rule__StructuredClassCS__Group_5__1__Impl31937);
             rule__StructuredClassCS__InstanceClassNameAssignment_5_1();
 
             state._fsp--;
@@ -44590,21 +47058,21 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group_6__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14452:1: rule__StructuredClassCS__Group_6__0 : rule__StructuredClassCS__Group_6__0__Impl rule__StructuredClassCS__Group_6__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15470:1: rule__StructuredClassCS__Group_6__0 : rule__StructuredClassCS__Group_6__0__Impl rule__StructuredClassCS__Group_6__1 ;
     public final void rule__StructuredClassCS__Group_6__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14456:1: ( rule__StructuredClassCS__Group_6__0__Impl rule__StructuredClassCS__Group_6__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14457:2: rule__StructuredClassCS__Group_6__0__Impl rule__StructuredClassCS__Group_6__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15474:1: ( rule__StructuredClassCS__Group_6__0__Impl rule__StructuredClassCS__Group_6__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15475:2: rule__StructuredClassCS__Group_6__0__Impl rule__StructuredClassCS__Group_6__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_6__0__Impl_in_rule__StructuredClassCS__Group_6__030101);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_6__0__Impl_in_rule__StructuredClassCS__Group_6__031971);
             rule__StructuredClassCS__Group_6__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_6__1_in_rule__StructuredClassCS__Group_6__030104);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_6__1_in_rule__StructuredClassCS__Group_6__031974);
             rule__StructuredClassCS__Group_6__1();
 
             state._fsp--;
@@ -44628,22 +47096,22 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group_6__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14464:1: rule__StructuredClassCS__Group_6__0__Impl : ( '{' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15482:1: rule__StructuredClassCS__Group_6__0__Impl : ( '{' ) ;
     public final void rule__StructuredClassCS__Group_6__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14468:1: ( ( '{' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14469:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15486:1: ( ( '{' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15487:1: ( '{' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14469:1: ( '{' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14470:1: '{'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15487:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15488:1: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStructuredClassCSAccess().getLeftCurlyBracketKeyword_6_0()); 
             }
-            match(input,99,FollowSets001.FOLLOW_99_in_rule__StructuredClassCS__Group_6__0__Impl30132); if (state.failed) return ;
+            match(input,108,FollowSets001.FOLLOW_108_in_rule__StructuredClassCS__Group_6__0__Impl32002); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getStructuredClassCSAccess().getLeftCurlyBracketKeyword_6_0()); 
             }
@@ -44669,21 +47137,21 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group_6__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14483:1: rule__StructuredClassCS__Group_6__1 : rule__StructuredClassCS__Group_6__1__Impl rule__StructuredClassCS__Group_6__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15501:1: rule__StructuredClassCS__Group_6__1 : rule__StructuredClassCS__Group_6__1__Impl rule__StructuredClassCS__Group_6__2 ;
     public final void rule__StructuredClassCS__Group_6__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14487:1: ( rule__StructuredClassCS__Group_6__1__Impl rule__StructuredClassCS__Group_6__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14488:2: rule__StructuredClassCS__Group_6__1__Impl rule__StructuredClassCS__Group_6__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15505:1: ( rule__StructuredClassCS__Group_6__1__Impl rule__StructuredClassCS__Group_6__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15506:2: rule__StructuredClassCS__Group_6__1__Impl rule__StructuredClassCS__Group_6__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_6__1__Impl_in_rule__StructuredClassCS__Group_6__130163);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_6__1__Impl_in_rule__StructuredClassCS__Group_6__132033);
             rule__StructuredClassCS__Group_6__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_6__2_in_rule__StructuredClassCS__Group_6__130166);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_6__2_in_rule__StructuredClassCS__Group_6__132036);
             rule__StructuredClassCS__Group_6__2();
 
             state._fsp--;
@@ -44707,33 +47175,33 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group_6__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14495:1: rule__StructuredClassCS__Group_6__1__Impl : ( ( rule__StructuredClassCS__IsInterfaceAssignment_6_1 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15513:1: rule__StructuredClassCS__Group_6__1__Impl : ( ( rule__StructuredClassCS__IsInterfaceAssignment_6_1 )? ) ;
     public final void rule__StructuredClassCS__Group_6__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14499:1: ( ( ( rule__StructuredClassCS__IsInterfaceAssignment_6_1 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14500:1: ( ( rule__StructuredClassCS__IsInterfaceAssignment_6_1 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15517:1: ( ( ( rule__StructuredClassCS__IsInterfaceAssignment_6_1 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15518:1: ( ( rule__StructuredClassCS__IsInterfaceAssignment_6_1 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14500:1: ( ( rule__StructuredClassCS__IsInterfaceAssignment_6_1 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14501:1: ( rule__StructuredClassCS__IsInterfaceAssignment_6_1 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15518:1: ( ( rule__StructuredClassCS__IsInterfaceAssignment_6_1 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15519:1: ( rule__StructuredClassCS__IsInterfaceAssignment_6_1 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStructuredClassCSAccess().getIsInterfaceAssignment_6_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14502:1: ( rule__StructuredClassCS__IsInterfaceAssignment_6_1 )?
-            int alt172=2;
-            int LA172_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15520:1: ( rule__StructuredClassCS__IsInterfaceAssignment_6_1 )?
+            int alt200=2;
+            int LA200_0 = input.LA(1);
 
-            if ( (LA172_0==32) ) {
-                alt172=1;
+            if ( (LA200_0==32) ) {
+                alt200=1;
             }
-            switch (alt172) {
+            switch (alt200) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14502:2: rule__StructuredClassCS__IsInterfaceAssignment_6_1
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15520:2: rule__StructuredClassCS__IsInterfaceAssignment_6_1
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__IsInterfaceAssignment_6_1_in_rule__StructuredClassCS__Group_6__1__Impl30193);
+                    pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__IsInterfaceAssignment_6_1_in_rule__StructuredClassCS__Group_6__1__Impl32063);
                     rule__StructuredClassCS__IsInterfaceAssignment_6_1();
 
                     state._fsp--;
@@ -44769,16 +47237,16 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group_6__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14512:1: rule__StructuredClassCS__Group_6__2 : rule__StructuredClassCS__Group_6__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15530:1: rule__StructuredClassCS__Group_6__2 : rule__StructuredClassCS__Group_6__2__Impl ;
     public final void rule__StructuredClassCS__Group_6__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14516:1: ( rule__StructuredClassCS__Group_6__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14517:2: rule__StructuredClassCS__Group_6__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15534:1: ( rule__StructuredClassCS__Group_6__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15535:2: rule__StructuredClassCS__Group_6__2__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_6__2__Impl_in_rule__StructuredClassCS__Group_6__230224);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_6__2__Impl_in_rule__StructuredClassCS__Group_6__232094);
             rule__StructuredClassCS__Group_6__2__Impl();
 
             state._fsp--;
@@ -44802,22 +47270,22 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group_6__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14523:1: rule__StructuredClassCS__Group_6__2__Impl : ( '}' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15541:1: rule__StructuredClassCS__Group_6__2__Impl : ( '}' ) ;
     public final void rule__StructuredClassCS__Group_6__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14527:1: ( ( '}' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14528:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15545:1: ( ( '}' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15546:1: ( '}' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14528:1: ( '}' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14529:1: '}'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15546:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15547:1: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStructuredClassCSAccess().getRightCurlyBracketKeyword_6_2()); 
             }
-            match(input,100,FollowSets001.FOLLOW_100_in_rule__StructuredClassCS__Group_6__2__Impl30252); if (state.failed) return ;
+            match(input,109,FollowSets001.FOLLOW_109_in_rule__StructuredClassCS__Group_6__2__Impl32122); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getStructuredClassCSAccess().getRightCurlyBracketKeyword_6_2()); 
             }
@@ -44843,21 +47311,21 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group_7_0__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14548:1: rule__StructuredClassCS__Group_7_0__0 : rule__StructuredClassCS__Group_7_0__0__Impl rule__StructuredClassCS__Group_7_0__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15566:1: rule__StructuredClassCS__Group_7_0__0 : rule__StructuredClassCS__Group_7_0__0__Impl rule__StructuredClassCS__Group_7_0__1 ;
     public final void rule__StructuredClassCS__Group_7_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14552:1: ( rule__StructuredClassCS__Group_7_0__0__Impl rule__StructuredClassCS__Group_7_0__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14553:2: rule__StructuredClassCS__Group_7_0__0__Impl rule__StructuredClassCS__Group_7_0__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15570:1: ( rule__StructuredClassCS__Group_7_0__0__Impl rule__StructuredClassCS__Group_7_0__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15571:2: rule__StructuredClassCS__Group_7_0__0__Impl rule__StructuredClassCS__Group_7_0__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_7_0__0__Impl_in_rule__StructuredClassCS__Group_7_0__030289);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_7_0__0__Impl_in_rule__StructuredClassCS__Group_7_0__032159);
             rule__StructuredClassCS__Group_7_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_7_0__1_in_rule__StructuredClassCS__Group_7_0__030292);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_7_0__1_in_rule__StructuredClassCS__Group_7_0__032162);
             rule__StructuredClassCS__Group_7_0__1();
 
             state._fsp--;
@@ -44881,22 +47349,22 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group_7_0__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14560:1: rule__StructuredClassCS__Group_7_0__0__Impl : ( '{' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15578:1: rule__StructuredClassCS__Group_7_0__0__Impl : ( '{' ) ;
     public final void rule__StructuredClassCS__Group_7_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14564:1: ( ( '{' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14565:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15582:1: ( ( '{' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15583:1: ( '{' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14565:1: ( '{' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14566:1: '{'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15583:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15584:1: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStructuredClassCSAccess().getLeftCurlyBracketKeyword_7_0_0()); 
             }
-            match(input,99,FollowSets001.FOLLOW_99_in_rule__StructuredClassCS__Group_7_0__0__Impl30320); if (state.failed) return ;
+            match(input,108,FollowSets001.FOLLOW_108_in_rule__StructuredClassCS__Group_7_0__0__Impl32190); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getStructuredClassCSAccess().getLeftCurlyBracketKeyword_7_0_0()); 
             }
@@ -44922,21 +47390,21 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group_7_0__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14579:1: rule__StructuredClassCS__Group_7_0__1 : rule__StructuredClassCS__Group_7_0__1__Impl rule__StructuredClassCS__Group_7_0__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15597:1: rule__StructuredClassCS__Group_7_0__1 : rule__StructuredClassCS__Group_7_0__1__Impl rule__StructuredClassCS__Group_7_0__2 ;
     public final void rule__StructuredClassCS__Group_7_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14583:1: ( rule__StructuredClassCS__Group_7_0__1__Impl rule__StructuredClassCS__Group_7_0__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14584:2: rule__StructuredClassCS__Group_7_0__1__Impl rule__StructuredClassCS__Group_7_0__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15601:1: ( rule__StructuredClassCS__Group_7_0__1__Impl rule__StructuredClassCS__Group_7_0__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15602:2: rule__StructuredClassCS__Group_7_0__1__Impl rule__StructuredClassCS__Group_7_0__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_7_0__1__Impl_in_rule__StructuredClassCS__Group_7_0__130351);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_7_0__1__Impl_in_rule__StructuredClassCS__Group_7_0__132221);
             rule__StructuredClassCS__Group_7_0__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_7_0__2_in_rule__StructuredClassCS__Group_7_0__130354);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_7_0__2_in_rule__StructuredClassCS__Group_7_0__132224);
             rule__StructuredClassCS__Group_7_0__2();
 
             state._fsp--;
@@ -44960,37 +47428,37 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group_7_0__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14591:1: rule__StructuredClassCS__Group_7_0__1__Impl : ( ( rule__StructuredClassCS__Alternatives_7_0_1 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15609:1: rule__StructuredClassCS__Group_7_0__1__Impl : ( ( rule__StructuredClassCS__Alternatives_7_0_1 )* ) ;
     public final void rule__StructuredClassCS__Group_7_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14595:1: ( ( ( rule__StructuredClassCS__Alternatives_7_0_1 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14596:1: ( ( rule__StructuredClassCS__Alternatives_7_0_1 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15613:1: ( ( ( rule__StructuredClassCS__Alternatives_7_0_1 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15614:1: ( ( rule__StructuredClassCS__Alternatives_7_0_1 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14596:1: ( ( rule__StructuredClassCS__Alternatives_7_0_1 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14597:1: ( rule__StructuredClassCS__Alternatives_7_0_1 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15614:1: ( ( rule__StructuredClassCS__Alternatives_7_0_1 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15615:1: ( rule__StructuredClassCS__Alternatives_7_0_1 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStructuredClassCSAccess().getAlternatives_7_0_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14598:1: ( rule__StructuredClassCS__Alternatives_7_0_1 )*
-            loop173:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15616:1: ( rule__StructuredClassCS__Alternatives_7_0_1 )*
+            loop201:
             do {
-                int alt173=2;
-                int LA173_0 = input.LA(1);
+                int alt201=2;
+                int LA201_0 = input.LA(1);
 
-                if ( (LA173_0==18||LA173_0==20||LA173_0==24||LA173_0==36||LA173_0==42||LA173_0==46||(LA173_0>=55 && LA173_0<=57)||LA173_0==60) ) {
-                    alt173=1;
+                if ( (LA201_0==18||LA201_0==20||LA201_0==24||LA201_0==36||LA201_0==42||LA201_0==46||(LA201_0>=64 && LA201_0<=66)||LA201_0==69) ) {
+                    alt201=1;
                 }
 
 
-                switch (alt173) {
+                switch (alt201) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14598:2: rule__StructuredClassCS__Alternatives_7_0_1
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15616:2: rule__StructuredClassCS__Alternatives_7_0_1
             	    {
-            	    pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Alternatives_7_0_1_in_rule__StructuredClassCS__Group_7_0__1__Impl30381);
+            	    pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Alternatives_7_0_1_in_rule__StructuredClassCS__Group_7_0__1__Impl32251);
             	    rule__StructuredClassCS__Alternatives_7_0_1();
 
             	    state._fsp--;
@@ -45000,7 +47468,7 @@
             	    break;
 
             	default :
-            	    break loop173;
+            	    break loop201;
                 }
             } while (true);
 
@@ -45029,16 +47497,16 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group_7_0__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14608:1: rule__StructuredClassCS__Group_7_0__2 : rule__StructuredClassCS__Group_7_0__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15626:1: rule__StructuredClassCS__Group_7_0__2 : rule__StructuredClassCS__Group_7_0__2__Impl ;
     public final void rule__StructuredClassCS__Group_7_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14612:1: ( rule__StructuredClassCS__Group_7_0__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14613:2: rule__StructuredClassCS__Group_7_0__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15630:1: ( rule__StructuredClassCS__Group_7_0__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15631:2: rule__StructuredClassCS__Group_7_0__2__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_7_0__2__Impl_in_rule__StructuredClassCS__Group_7_0__230412);
+            pushFollow(FollowSets001.FOLLOW_rule__StructuredClassCS__Group_7_0__2__Impl_in_rule__StructuredClassCS__Group_7_0__232282);
             rule__StructuredClassCS__Group_7_0__2__Impl();
 
             state._fsp--;
@@ -45062,22 +47530,22 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__Group_7_0__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14619:1: rule__StructuredClassCS__Group_7_0__2__Impl : ( '}' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15637:1: rule__StructuredClassCS__Group_7_0__2__Impl : ( '}' ) ;
     public final void rule__StructuredClassCS__Group_7_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14623:1: ( ( '}' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14624:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15641:1: ( ( '}' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15642:1: ( '}' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14624:1: ( '}' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14625:1: '}'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15642:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15643:1: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStructuredClassCSAccess().getRightCurlyBracketKeyword_7_0_2()); 
             }
-            match(input,100,FollowSets001.FOLLOW_100_in_rule__StructuredClassCS__Group_7_0__2__Impl30440); if (state.failed) return ;
+            match(input,109,FollowSets001.FOLLOW_109_in_rule__StructuredClassCS__Group_7_0__2__Impl32310); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getStructuredClassCSAccess().getRightCurlyBracketKeyword_7_0_2()); 
             }
@@ -45103,21 +47571,21 @@
 
 
     // $ANTLR start "rule__SysMLCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14644:1: rule__SysMLCS__Group__0 : rule__SysMLCS__Group__0__Impl rule__SysMLCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15662:1: rule__SysMLCS__Group__0 : rule__SysMLCS__Group__0__Impl rule__SysMLCS__Group__1 ;
     public final void rule__SysMLCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14648:1: ( rule__SysMLCS__Group__0__Impl rule__SysMLCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14649:2: rule__SysMLCS__Group__0__Impl rule__SysMLCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15666:1: ( rule__SysMLCS__Group__0__Impl rule__SysMLCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15667:2: rule__SysMLCS__Group__0__Impl rule__SysMLCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__Group__0__Impl_in_rule__SysMLCS__Group__030477);
+            pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__Group__0__Impl_in_rule__SysMLCS__Group__032347);
             rule__SysMLCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__Group__1_in_rule__SysMLCS__Group__030480);
+            pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__Group__1_in_rule__SysMLCS__Group__032350);
             rule__SysMLCS__Group__1();
 
             state._fsp--;
@@ -45141,23 +47609,23 @@
 
 
     // $ANTLR start "rule__SysMLCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14656:1: rule__SysMLCS__Group__0__Impl : ( () ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15674:1: rule__SysMLCS__Group__0__Impl : ( () ) ;
     public final void rule__SysMLCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14660:1: ( ( () ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14661:1: ( () )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15678:1: ( ( () ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15679:1: ( () )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14661:1: ( () )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14662:1: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15679:1: ( () )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15680:1: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSysMLCSAccess().getSysMLCSAction_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14663:1: ()
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14665:1: 
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15681:1: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15683:1: 
             {
             }
 
@@ -45182,21 +47650,21 @@
 
 
     // $ANTLR start "rule__SysMLCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14675:1: rule__SysMLCS__Group__1 : rule__SysMLCS__Group__1__Impl rule__SysMLCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15693:1: rule__SysMLCS__Group__1 : rule__SysMLCS__Group__1__Impl rule__SysMLCS__Group__2 ;
     public final void rule__SysMLCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14679:1: ( rule__SysMLCS__Group__1__Impl rule__SysMLCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14680:2: rule__SysMLCS__Group__1__Impl rule__SysMLCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15697:1: ( rule__SysMLCS__Group__1__Impl rule__SysMLCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15698:2: rule__SysMLCS__Group__1__Impl rule__SysMLCS__Group__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__Group__1__Impl_in_rule__SysMLCS__Group__130538);
+            pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__Group__1__Impl_in_rule__SysMLCS__Group__132408);
             rule__SysMLCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__Group__2_in_rule__SysMLCS__Group__130541);
+            pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__Group__2_in_rule__SysMLCS__Group__132411);
             rule__SysMLCS__Group__2();
 
             state._fsp--;
@@ -45220,22 +47688,22 @@
 
 
     // $ANTLR start "rule__SysMLCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14687:1: rule__SysMLCS__Group__1__Impl : ( 'sysml' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15705:1: rule__SysMLCS__Group__1__Impl : ( 'sysml' ) ;
     public final void rule__SysMLCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14691:1: ( ( 'sysml' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14692:1: ( 'sysml' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15709:1: ( ( 'sysml' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15710:1: ( 'sysml' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14692:1: ( 'sysml' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14693:1: 'sysml'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15710:1: ( 'sysml' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15711:1: 'sysml'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSysMLCSAccess().getSysmlKeyword_1()); 
             }
-            match(input,60,FollowSets001.FOLLOW_60_in_rule__SysMLCS__Group__1__Impl30569); if (state.failed) return ;
+            match(input,69,FollowSets001.FOLLOW_69_in_rule__SysMLCS__Group__1__Impl32439); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getSysMLCSAccess().getSysmlKeyword_1()); 
             }
@@ -45261,16 +47729,16 @@
 
 
     // $ANTLR start "rule__SysMLCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14706:1: rule__SysMLCS__Group__2 : rule__SysMLCS__Group__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15724:1: rule__SysMLCS__Group__2 : rule__SysMLCS__Group__2__Impl ;
     public final void rule__SysMLCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14710:1: ( rule__SysMLCS__Group__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14711:2: rule__SysMLCS__Group__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15728:1: ( rule__SysMLCS__Group__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15729:2: rule__SysMLCS__Group__2__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__Group__2__Impl_in_rule__SysMLCS__Group__230600);
+            pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__Group__2__Impl_in_rule__SysMLCS__Group__232470);
             rule__SysMLCS__Group__2__Impl();
 
             state._fsp--;
@@ -45294,25 +47762,25 @@
 
 
     // $ANTLR start "rule__SysMLCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14717:1: rule__SysMLCS__Group__2__Impl : ( ( rule__SysMLCS__Alternatives_2 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15735:1: rule__SysMLCS__Group__2__Impl : ( ( rule__SysMLCS__Alternatives_2 ) ) ;
     public final void rule__SysMLCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14721:1: ( ( ( rule__SysMLCS__Alternatives_2 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14722:1: ( ( rule__SysMLCS__Alternatives_2 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15739:1: ( ( ( rule__SysMLCS__Alternatives_2 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15740:1: ( ( rule__SysMLCS__Alternatives_2 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14722:1: ( ( rule__SysMLCS__Alternatives_2 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14723:1: ( rule__SysMLCS__Alternatives_2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15740:1: ( ( rule__SysMLCS__Alternatives_2 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15741:1: ( rule__SysMLCS__Alternatives_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSysMLCSAccess().getAlternatives_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14724:1: ( rule__SysMLCS__Alternatives_2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14724:2: rule__SysMLCS__Alternatives_2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15742:1: ( rule__SysMLCS__Alternatives_2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15742:2: rule__SysMLCS__Alternatives_2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__Alternatives_2_in_rule__SysMLCS__Group__2__Impl30627);
+            pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__Alternatives_2_in_rule__SysMLCS__Group__2__Impl32497);
             rule__SysMLCS__Alternatives_2();
 
             state._fsp--;
@@ -45345,21 +47813,21 @@
 
 
     // $ANTLR start "rule__SysMLCS__Group_2_0__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14740:1: rule__SysMLCS__Group_2_0__0 : rule__SysMLCS__Group_2_0__0__Impl rule__SysMLCS__Group_2_0__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15758:1: rule__SysMLCS__Group_2_0__0 : rule__SysMLCS__Group_2_0__0__Impl rule__SysMLCS__Group_2_0__1 ;
     public final void rule__SysMLCS__Group_2_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14744:1: ( rule__SysMLCS__Group_2_0__0__Impl rule__SysMLCS__Group_2_0__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14745:2: rule__SysMLCS__Group_2_0__0__Impl rule__SysMLCS__Group_2_0__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15762:1: ( rule__SysMLCS__Group_2_0__0__Impl rule__SysMLCS__Group_2_0__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15763:2: rule__SysMLCS__Group_2_0__0__Impl rule__SysMLCS__Group_2_0__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__Group_2_0__0__Impl_in_rule__SysMLCS__Group_2_0__030663);
+            pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__Group_2_0__0__Impl_in_rule__SysMLCS__Group_2_0__032533);
             rule__SysMLCS__Group_2_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__Group_2_0__1_in_rule__SysMLCS__Group_2_0__030666);
+            pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__Group_2_0__1_in_rule__SysMLCS__Group_2_0__032536);
             rule__SysMLCS__Group_2_0__1();
 
             state._fsp--;
@@ -45383,25 +47851,25 @@
 
 
     // $ANTLR start "rule__SysMLCS__Group_2_0__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14752:1: rule__SysMLCS__Group_2_0__0__Impl : ( ( rule__SysMLCS__OwnedDetailsAssignment_2_0_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15770:1: rule__SysMLCS__Group_2_0__0__Impl : ( ( rule__SysMLCS__OwnedDetailsAssignment_2_0_0 ) ) ;
     public final void rule__SysMLCS__Group_2_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14756:1: ( ( ( rule__SysMLCS__OwnedDetailsAssignment_2_0_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14757:1: ( ( rule__SysMLCS__OwnedDetailsAssignment_2_0_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15774:1: ( ( ( rule__SysMLCS__OwnedDetailsAssignment_2_0_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15775:1: ( ( rule__SysMLCS__OwnedDetailsAssignment_2_0_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14757:1: ( ( rule__SysMLCS__OwnedDetailsAssignment_2_0_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14758:1: ( rule__SysMLCS__OwnedDetailsAssignment_2_0_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15775:1: ( ( rule__SysMLCS__OwnedDetailsAssignment_2_0_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15776:1: ( rule__SysMLCS__OwnedDetailsAssignment_2_0_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSysMLCSAccess().getOwnedDetailsAssignment_2_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14759:1: ( rule__SysMLCS__OwnedDetailsAssignment_2_0_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14759:2: rule__SysMLCS__OwnedDetailsAssignment_2_0_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15777:1: ( rule__SysMLCS__OwnedDetailsAssignment_2_0_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15777:2: rule__SysMLCS__OwnedDetailsAssignment_2_0_0
             {
-            pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__OwnedDetailsAssignment_2_0_0_in_rule__SysMLCS__Group_2_0__0__Impl30693);
+            pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__OwnedDetailsAssignment_2_0_0_in_rule__SysMLCS__Group_2_0__0__Impl32563);
             rule__SysMLCS__OwnedDetailsAssignment_2_0_0();
 
             state._fsp--;
@@ -45434,16 +47902,16 @@
 
 
     // $ANTLR start "rule__SysMLCS__Group_2_0__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14769:1: rule__SysMLCS__Group_2_0__1 : rule__SysMLCS__Group_2_0__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15787:1: rule__SysMLCS__Group_2_0__1 : rule__SysMLCS__Group_2_0__1__Impl ;
     public final void rule__SysMLCS__Group_2_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14773:1: ( rule__SysMLCS__Group_2_0__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14774:2: rule__SysMLCS__Group_2_0__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15791:1: ( rule__SysMLCS__Group_2_0__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15792:2: rule__SysMLCS__Group_2_0__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__Group_2_0__1__Impl_in_rule__SysMLCS__Group_2_0__130723);
+            pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__Group_2_0__1__Impl_in_rule__SysMLCS__Group_2_0__132593);
             rule__SysMLCS__Group_2_0__1__Impl();
 
             state._fsp--;
@@ -45467,22 +47935,22 @@
 
 
     // $ANTLR start "rule__SysMLCS__Group_2_0__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14780:1: rule__SysMLCS__Group_2_0__1__Impl : ( ';' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15798:1: rule__SysMLCS__Group_2_0__1__Impl : ( ';' ) ;
     public final void rule__SysMLCS__Group_2_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14784:1: ( ( ';' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14785:1: ( ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15802:1: ( ( ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15803:1: ( ';' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14785:1: ( ';' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14786:1: ';'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15803:1: ( ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15804:1: ';'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSysMLCSAccess().getSemicolonKeyword_2_0_1()); 
             }
-            match(input,53,FollowSets001.FOLLOW_53_in_rule__SysMLCS__Group_2_0__1__Impl30751); if (state.failed) return ;
+            match(input,53,FollowSets001.FOLLOW_53_in_rule__SysMLCS__Group_2_0__1__Impl32621); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getSysMLCSAccess().getSemicolonKeyword_2_0_1()); 
             }
@@ -45508,21 +47976,21 @@
 
 
     // $ANTLR start "rule__SysMLCS__Group_2_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14803:1: rule__SysMLCS__Group_2_1__0 : rule__SysMLCS__Group_2_1__0__Impl rule__SysMLCS__Group_2_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15821:1: rule__SysMLCS__Group_2_1__0 : rule__SysMLCS__Group_2_1__0__Impl rule__SysMLCS__Group_2_1__1 ;
     public final void rule__SysMLCS__Group_2_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14807:1: ( rule__SysMLCS__Group_2_1__0__Impl rule__SysMLCS__Group_2_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14808:2: rule__SysMLCS__Group_2_1__0__Impl rule__SysMLCS__Group_2_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15825:1: ( rule__SysMLCS__Group_2_1__0__Impl rule__SysMLCS__Group_2_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15826:2: rule__SysMLCS__Group_2_1__0__Impl rule__SysMLCS__Group_2_1__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__Group_2_1__0__Impl_in_rule__SysMLCS__Group_2_1__030786);
+            pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__Group_2_1__0__Impl_in_rule__SysMLCS__Group_2_1__032656);
             rule__SysMLCS__Group_2_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__Group_2_1__1_in_rule__SysMLCS__Group_2_1__030789);
+            pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__Group_2_1__1_in_rule__SysMLCS__Group_2_1__032659);
             rule__SysMLCS__Group_2_1__1();
 
             state._fsp--;
@@ -45546,22 +48014,22 @@
 
 
     // $ANTLR start "rule__SysMLCS__Group_2_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14815:1: rule__SysMLCS__Group_2_1__0__Impl : ( '{' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15833:1: rule__SysMLCS__Group_2_1__0__Impl : ( '{' ) ;
     public final void rule__SysMLCS__Group_2_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14819:1: ( ( '{' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14820:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15837:1: ( ( '{' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15838:1: ( '{' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14820:1: ( '{' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14821:1: '{'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15838:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15839:1: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSysMLCSAccess().getLeftCurlyBracketKeyword_2_1_0()); 
             }
-            match(input,99,FollowSets001.FOLLOW_99_in_rule__SysMLCS__Group_2_1__0__Impl30817); if (state.failed) return ;
+            match(input,108,FollowSets001.FOLLOW_108_in_rule__SysMLCS__Group_2_1__0__Impl32687); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getSysMLCSAccess().getLeftCurlyBracketKeyword_2_1_0()); 
             }
@@ -45587,21 +48055,21 @@
 
 
     // $ANTLR start "rule__SysMLCS__Group_2_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14834:1: rule__SysMLCS__Group_2_1__1 : rule__SysMLCS__Group_2_1__1__Impl rule__SysMLCS__Group_2_1__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15852:1: rule__SysMLCS__Group_2_1__1 : rule__SysMLCS__Group_2_1__1__Impl rule__SysMLCS__Group_2_1__2 ;
     public final void rule__SysMLCS__Group_2_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14838:1: ( rule__SysMLCS__Group_2_1__1__Impl rule__SysMLCS__Group_2_1__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14839:2: rule__SysMLCS__Group_2_1__1__Impl rule__SysMLCS__Group_2_1__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15856:1: ( rule__SysMLCS__Group_2_1__1__Impl rule__SysMLCS__Group_2_1__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15857:2: rule__SysMLCS__Group_2_1__1__Impl rule__SysMLCS__Group_2_1__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__Group_2_1__1__Impl_in_rule__SysMLCS__Group_2_1__130848);
+            pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__Group_2_1__1__Impl_in_rule__SysMLCS__Group_2_1__132718);
             rule__SysMLCS__Group_2_1__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__Group_2_1__2_in_rule__SysMLCS__Group_2_1__130851);
+            pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__Group_2_1__2_in_rule__SysMLCS__Group_2_1__132721);
             rule__SysMLCS__Group_2_1__2();
 
             state._fsp--;
@@ -45625,37 +48093,37 @@
 
 
     // $ANTLR start "rule__SysMLCS__Group_2_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14846:1: rule__SysMLCS__Group_2_1__1__Impl : ( ( rule__SysMLCS__Group_2_1_1__0 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15864:1: rule__SysMLCS__Group_2_1__1__Impl : ( ( rule__SysMLCS__Group_2_1_1__0 )* ) ;
     public final void rule__SysMLCS__Group_2_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14850:1: ( ( ( rule__SysMLCS__Group_2_1_1__0 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14851:1: ( ( rule__SysMLCS__Group_2_1_1__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15868:1: ( ( ( rule__SysMLCS__Group_2_1_1__0 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15869:1: ( ( rule__SysMLCS__Group_2_1_1__0 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14851:1: ( ( rule__SysMLCS__Group_2_1_1__0 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14852:1: ( rule__SysMLCS__Group_2_1_1__0 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15869:1: ( ( rule__SysMLCS__Group_2_1_1__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15870:1: ( rule__SysMLCS__Group_2_1_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSysMLCSAccess().getGroup_2_1_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14853:1: ( rule__SysMLCS__Group_2_1_1__0 )*
-            loop174:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15871:1: ( rule__SysMLCS__Group_2_1_1__0 )*
+            loop202:
             do {
-                int alt174=2;
-                int LA174_0 = input.LA(1);
+                int alt202=2;
+                int LA202_0 = input.LA(1);
 
-                if ( (LA174_0==RULE_SINGLE_QUOTED_STRING||(LA174_0>=RULE_SIMPLE_ID && LA174_0<=RULE_ESCAPED_ID)||(LA174_0>=17 && LA174_0<=52)||(LA174_0>=55 && LA174_0<=60)) ) {
-                    alt174=1;
+                if ( (LA202_0==RULE_SINGLE_QUOTED_STRING||(LA202_0>=RULE_SIMPLE_ID && LA202_0<=RULE_ESCAPED_ID)||(LA202_0>=17 && LA202_0<=52)||(LA202_0>=64 && LA202_0<=69)) ) {
+                    alt202=1;
                 }
 
 
-                switch (alt174) {
+                switch (alt202) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14853:2: rule__SysMLCS__Group_2_1_1__0
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15871:2: rule__SysMLCS__Group_2_1_1__0
             	    {
-            	    pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__Group_2_1_1__0_in_rule__SysMLCS__Group_2_1__1__Impl30878);
+            	    pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__Group_2_1_1__0_in_rule__SysMLCS__Group_2_1__1__Impl32748);
             	    rule__SysMLCS__Group_2_1_1__0();
 
             	    state._fsp--;
@@ -45665,7 +48133,7 @@
             	    break;
 
             	default :
-            	    break loop174;
+            	    break loop202;
                 }
             } while (true);
 
@@ -45694,16 +48162,16 @@
 
 
     // $ANTLR start "rule__SysMLCS__Group_2_1__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14863:1: rule__SysMLCS__Group_2_1__2 : rule__SysMLCS__Group_2_1__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15881:1: rule__SysMLCS__Group_2_1__2 : rule__SysMLCS__Group_2_1__2__Impl ;
     public final void rule__SysMLCS__Group_2_1__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14867:1: ( rule__SysMLCS__Group_2_1__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14868:2: rule__SysMLCS__Group_2_1__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15885:1: ( rule__SysMLCS__Group_2_1__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15886:2: rule__SysMLCS__Group_2_1__2__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__Group_2_1__2__Impl_in_rule__SysMLCS__Group_2_1__230909);
+            pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__Group_2_1__2__Impl_in_rule__SysMLCS__Group_2_1__232779);
             rule__SysMLCS__Group_2_1__2__Impl();
 
             state._fsp--;
@@ -45727,22 +48195,22 @@
 
 
     // $ANTLR start "rule__SysMLCS__Group_2_1__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14874:1: rule__SysMLCS__Group_2_1__2__Impl : ( '}' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15892:1: rule__SysMLCS__Group_2_1__2__Impl : ( '}' ) ;
     public final void rule__SysMLCS__Group_2_1__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14878:1: ( ( '}' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14879:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15896:1: ( ( '}' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15897:1: ( '}' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14879:1: ( '}' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14880:1: '}'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15897:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15898:1: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSysMLCSAccess().getRightCurlyBracketKeyword_2_1_2()); 
             }
-            match(input,100,FollowSets001.FOLLOW_100_in_rule__SysMLCS__Group_2_1__2__Impl30937); if (state.failed) return ;
+            match(input,109,FollowSets001.FOLLOW_109_in_rule__SysMLCS__Group_2_1__2__Impl32807); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getSysMLCSAccess().getRightCurlyBracketKeyword_2_1_2()); 
             }
@@ -45768,21 +48236,21 @@
 
 
     // $ANTLR start "rule__SysMLCS__Group_2_1_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14899:1: rule__SysMLCS__Group_2_1_1__0 : rule__SysMLCS__Group_2_1_1__0__Impl rule__SysMLCS__Group_2_1_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15917:1: rule__SysMLCS__Group_2_1_1__0 : rule__SysMLCS__Group_2_1_1__0__Impl rule__SysMLCS__Group_2_1_1__1 ;
     public final void rule__SysMLCS__Group_2_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14903:1: ( rule__SysMLCS__Group_2_1_1__0__Impl rule__SysMLCS__Group_2_1_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14904:2: rule__SysMLCS__Group_2_1_1__0__Impl rule__SysMLCS__Group_2_1_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15921:1: ( rule__SysMLCS__Group_2_1_1__0__Impl rule__SysMLCS__Group_2_1_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15922:2: rule__SysMLCS__Group_2_1_1__0__Impl rule__SysMLCS__Group_2_1_1__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__Group_2_1_1__0__Impl_in_rule__SysMLCS__Group_2_1_1__030974);
+            pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__Group_2_1_1__0__Impl_in_rule__SysMLCS__Group_2_1_1__032844);
             rule__SysMLCS__Group_2_1_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__Group_2_1_1__1_in_rule__SysMLCS__Group_2_1_1__030977);
+            pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__Group_2_1_1__1_in_rule__SysMLCS__Group_2_1_1__032847);
             rule__SysMLCS__Group_2_1_1__1();
 
             state._fsp--;
@@ -45806,25 +48274,25 @@
 
 
     // $ANTLR start "rule__SysMLCS__Group_2_1_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14911:1: rule__SysMLCS__Group_2_1_1__0__Impl : ( ( rule__SysMLCS__OwnedDetailsAssignment_2_1_1_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15929:1: rule__SysMLCS__Group_2_1_1__0__Impl : ( ( rule__SysMLCS__OwnedDetailsAssignment_2_1_1_0 ) ) ;
     public final void rule__SysMLCS__Group_2_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14915:1: ( ( ( rule__SysMLCS__OwnedDetailsAssignment_2_1_1_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14916:1: ( ( rule__SysMLCS__OwnedDetailsAssignment_2_1_1_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15933:1: ( ( ( rule__SysMLCS__OwnedDetailsAssignment_2_1_1_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15934:1: ( ( rule__SysMLCS__OwnedDetailsAssignment_2_1_1_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14916:1: ( ( rule__SysMLCS__OwnedDetailsAssignment_2_1_1_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14917:1: ( rule__SysMLCS__OwnedDetailsAssignment_2_1_1_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15934:1: ( ( rule__SysMLCS__OwnedDetailsAssignment_2_1_1_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15935:1: ( rule__SysMLCS__OwnedDetailsAssignment_2_1_1_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSysMLCSAccess().getOwnedDetailsAssignment_2_1_1_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14918:1: ( rule__SysMLCS__OwnedDetailsAssignment_2_1_1_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14918:2: rule__SysMLCS__OwnedDetailsAssignment_2_1_1_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15936:1: ( rule__SysMLCS__OwnedDetailsAssignment_2_1_1_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15936:2: rule__SysMLCS__OwnedDetailsAssignment_2_1_1_0
             {
-            pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__OwnedDetailsAssignment_2_1_1_0_in_rule__SysMLCS__Group_2_1_1__0__Impl31004);
+            pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__OwnedDetailsAssignment_2_1_1_0_in_rule__SysMLCS__Group_2_1_1__0__Impl32874);
             rule__SysMLCS__OwnedDetailsAssignment_2_1_1_0();
 
             state._fsp--;
@@ -45857,16 +48325,16 @@
 
 
     // $ANTLR start "rule__SysMLCS__Group_2_1_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14928:1: rule__SysMLCS__Group_2_1_1__1 : rule__SysMLCS__Group_2_1_1__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15946:1: rule__SysMLCS__Group_2_1_1__1 : rule__SysMLCS__Group_2_1_1__1__Impl ;
     public final void rule__SysMLCS__Group_2_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14932:1: ( rule__SysMLCS__Group_2_1_1__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14933:2: rule__SysMLCS__Group_2_1_1__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15950:1: ( rule__SysMLCS__Group_2_1_1__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15951:2: rule__SysMLCS__Group_2_1_1__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__Group_2_1_1__1__Impl_in_rule__SysMLCS__Group_2_1_1__131034);
+            pushFollow(FollowSets001.FOLLOW_rule__SysMLCS__Group_2_1_1__1__Impl_in_rule__SysMLCS__Group_2_1_1__132904);
             rule__SysMLCS__Group_2_1_1__1__Impl();
 
             state._fsp--;
@@ -45890,22 +48358,22 @@
 
 
     // $ANTLR start "rule__SysMLCS__Group_2_1_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14939:1: rule__SysMLCS__Group_2_1_1__1__Impl : ( ';' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15957:1: rule__SysMLCS__Group_2_1_1__1__Impl : ( ';' ) ;
     public final void rule__SysMLCS__Group_2_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14943:1: ( ( ';' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14944:1: ( ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15961:1: ( ( ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15962:1: ( ';' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14944:1: ( ';' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14945:1: ';'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15962:1: ( ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15963:1: ';'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSysMLCSAccess().getSemicolonKeyword_2_1_1_1()); 
             }
-            match(input,53,FollowSets001.FOLLOW_53_in_rule__SysMLCS__Group_2_1_1__1__Impl31062); if (state.failed) return ;
+            match(input,53,FollowSets001.FOLLOW_53_in_rule__SysMLCS__Group_2_1_1__1__Impl32932); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getSysMLCSAccess().getSemicolonKeyword_2_1_1_1()); 
             }
@@ -45931,21 +48399,21 @@
 
 
     // $ANTLR start "rule__TypedMultiplicityRefCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14962:1: rule__TypedMultiplicityRefCS__Group__0 : rule__TypedMultiplicityRefCS__Group__0__Impl rule__TypedMultiplicityRefCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15980:1: rule__TypedMultiplicityRefCS__Group__0 : rule__TypedMultiplicityRefCS__Group__0__Impl rule__TypedMultiplicityRefCS__Group__1 ;
     public final void rule__TypedMultiplicityRefCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14966:1: ( rule__TypedMultiplicityRefCS__Group__0__Impl rule__TypedMultiplicityRefCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14967:2: rule__TypedMultiplicityRefCS__Group__0__Impl rule__TypedMultiplicityRefCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15984:1: ( rule__TypedMultiplicityRefCS__Group__0__Impl rule__TypedMultiplicityRefCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15985:2: rule__TypedMultiplicityRefCS__Group__0__Impl rule__TypedMultiplicityRefCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TypedMultiplicityRefCS__Group__0__Impl_in_rule__TypedMultiplicityRefCS__Group__031097);
+            pushFollow(FollowSets001.FOLLOW_rule__TypedMultiplicityRefCS__Group__0__Impl_in_rule__TypedMultiplicityRefCS__Group__032967);
             rule__TypedMultiplicityRefCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__TypedMultiplicityRefCS__Group__1_in_rule__TypedMultiplicityRefCS__Group__031100);
+            pushFollow(FollowSets001.FOLLOW_rule__TypedMultiplicityRefCS__Group__1_in_rule__TypedMultiplicityRefCS__Group__032970);
             rule__TypedMultiplicityRefCS__Group__1();
 
             state._fsp--;
@@ -45969,22 +48437,22 @@
 
 
     // $ANTLR start "rule__TypedMultiplicityRefCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14974:1: rule__TypedMultiplicityRefCS__Group__0__Impl : ( ruleTypedRefCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15992:1: rule__TypedMultiplicityRefCS__Group__0__Impl : ( ruleTypedRefCS ) ;
     public final void rule__TypedMultiplicityRefCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14978:1: ( ( ruleTypedRefCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14979:1: ( ruleTypedRefCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15996:1: ( ( ruleTypedRefCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15997:1: ( ruleTypedRefCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14979:1: ( ruleTypedRefCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14980:1: ruleTypedRefCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15997:1: ( ruleTypedRefCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15998:1: ruleTypedRefCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTypedMultiplicityRefCSAccess().getTypedRefCSParserRuleCall_0()); 
             }
-            pushFollow(FollowSets001.FOLLOW_ruleTypedRefCS_in_rule__TypedMultiplicityRefCS__Group__0__Impl31127);
+            pushFollow(FollowSets001.FOLLOW_ruleTypedRefCS_in_rule__TypedMultiplicityRefCS__Group__0__Impl32997);
             ruleTypedRefCS();
 
             state._fsp--;
@@ -46014,16 +48482,16 @@
 
 
     // $ANTLR start "rule__TypedMultiplicityRefCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14991:1: rule__TypedMultiplicityRefCS__Group__1 : rule__TypedMultiplicityRefCS__Group__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16009:1: rule__TypedMultiplicityRefCS__Group__1 : rule__TypedMultiplicityRefCS__Group__1__Impl ;
     public final void rule__TypedMultiplicityRefCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14995:1: ( rule__TypedMultiplicityRefCS__Group__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:14996:2: rule__TypedMultiplicityRefCS__Group__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16013:1: ( rule__TypedMultiplicityRefCS__Group__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16014:2: rule__TypedMultiplicityRefCS__Group__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TypedMultiplicityRefCS__Group__1__Impl_in_rule__TypedMultiplicityRefCS__Group__131156);
+            pushFollow(FollowSets001.FOLLOW_rule__TypedMultiplicityRefCS__Group__1__Impl_in_rule__TypedMultiplicityRefCS__Group__133026);
             rule__TypedMultiplicityRefCS__Group__1__Impl();
 
             state._fsp--;
@@ -46047,33 +48515,33 @@
 
 
     // $ANTLR start "rule__TypedMultiplicityRefCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15002:1: rule__TypedMultiplicityRefCS__Group__1__Impl : ( ( rule__TypedMultiplicityRefCS__OwnedMultiplicityAssignment_1 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16020:1: rule__TypedMultiplicityRefCS__Group__1__Impl : ( ( rule__TypedMultiplicityRefCS__OwnedMultiplicityAssignment_1 )? ) ;
     public final void rule__TypedMultiplicityRefCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15006:1: ( ( ( rule__TypedMultiplicityRefCS__OwnedMultiplicityAssignment_1 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15007:1: ( ( rule__TypedMultiplicityRefCS__OwnedMultiplicityAssignment_1 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16024:1: ( ( ( rule__TypedMultiplicityRefCS__OwnedMultiplicityAssignment_1 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16025:1: ( ( rule__TypedMultiplicityRefCS__OwnedMultiplicityAssignment_1 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15007:1: ( ( rule__TypedMultiplicityRefCS__OwnedMultiplicityAssignment_1 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15008:1: ( rule__TypedMultiplicityRefCS__OwnedMultiplicityAssignment_1 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16025:1: ( ( rule__TypedMultiplicityRefCS__OwnedMultiplicityAssignment_1 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16026:1: ( rule__TypedMultiplicityRefCS__OwnedMultiplicityAssignment_1 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTypedMultiplicityRefCSAccess().getOwnedMultiplicityAssignment_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15009:1: ( rule__TypedMultiplicityRefCS__OwnedMultiplicityAssignment_1 )?
-            int alt175=2;
-            int LA175_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16027:1: ( rule__TypedMultiplicityRefCS__OwnedMultiplicityAssignment_1 )?
+            int alt203=2;
+            int LA203_0 = input.LA(1);
 
-            if ( (LA175_0==109) ) {
-                alt175=1;
+            if ( (LA203_0==118) ) {
+                alt203=1;
             }
-            switch (alt175) {
+            switch (alt203) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15009:2: rule__TypedMultiplicityRefCS__OwnedMultiplicityAssignment_1
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16027:2: rule__TypedMultiplicityRefCS__OwnedMultiplicityAssignment_1
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__TypedMultiplicityRefCS__OwnedMultiplicityAssignment_1_in_rule__TypedMultiplicityRefCS__Group__1__Impl31183);
+                    pushFollow(FollowSets001.FOLLOW_rule__TypedMultiplicityRefCS__OwnedMultiplicityAssignment_1_in_rule__TypedMultiplicityRefCS__Group__1__Impl33053);
                     rule__TypedMultiplicityRefCS__OwnedMultiplicityAssignment_1();
 
                     state._fsp--;
@@ -46109,21 +48577,21 @@
 
 
     // $ANTLR start "rule__TemplateBindingCS__Group_0__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15023:1: rule__TemplateBindingCS__Group_0__0 : rule__TemplateBindingCS__Group_0__0__Impl rule__TemplateBindingCS__Group_0__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16041:1: rule__TemplateBindingCS__Group_0__0 : rule__TemplateBindingCS__Group_0__0__Impl rule__TemplateBindingCS__Group_0__1 ;
     public final void rule__TemplateBindingCS__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15027:1: ( rule__TemplateBindingCS__Group_0__0__Impl rule__TemplateBindingCS__Group_0__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15028:2: rule__TemplateBindingCS__Group_0__0__Impl rule__TemplateBindingCS__Group_0__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16045:1: ( rule__TemplateBindingCS__Group_0__0__Impl rule__TemplateBindingCS__Group_0__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16046:2: rule__TemplateBindingCS__Group_0__0__Impl rule__TemplateBindingCS__Group_0__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_0__0__Impl_in_rule__TemplateBindingCS__Group_0__031218);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_0__0__Impl_in_rule__TemplateBindingCS__Group_0__033088);
             rule__TemplateBindingCS__Group_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_0__1_in_rule__TemplateBindingCS__Group_0__031221);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_0__1_in_rule__TemplateBindingCS__Group_0__033091);
             rule__TemplateBindingCS__Group_0__1();
 
             state._fsp--;
@@ -46147,22 +48615,22 @@
 
 
     // $ANTLR start "rule__TemplateBindingCS__Group_0__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15035:1: rule__TemplateBindingCS__Group_0__0__Impl : ( '(' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16053:1: rule__TemplateBindingCS__Group_0__0__Impl : ( '(' ) ;
     public final void rule__TemplateBindingCS__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15039:1: ( ( '(' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15040:1: ( '(' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16057:1: ( ( '(' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16058:1: ( '(' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15040:1: ( '(' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15041:1: '('
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16058:1: ( '(' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16059:1: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTemplateBindingCSAccess().getLeftParenthesisKeyword_0_0()); 
             }
-            match(input,95,FollowSets001.FOLLOW_95_in_rule__TemplateBindingCS__Group_0__0__Impl31249); if (state.failed) return ;
+            match(input,104,FollowSets001.FOLLOW_104_in_rule__TemplateBindingCS__Group_0__0__Impl33119); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTemplateBindingCSAccess().getLeftParenthesisKeyword_0_0()); 
             }
@@ -46188,21 +48656,21 @@
 
 
     // $ANTLR start "rule__TemplateBindingCS__Group_0__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15054:1: rule__TemplateBindingCS__Group_0__1 : rule__TemplateBindingCS__Group_0__1__Impl rule__TemplateBindingCS__Group_0__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16072:1: rule__TemplateBindingCS__Group_0__1 : rule__TemplateBindingCS__Group_0__1__Impl rule__TemplateBindingCS__Group_0__2 ;
     public final void rule__TemplateBindingCS__Group_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15058:1: ( rule__TemplateBindingCS__Group_0__1__Impl rule__TemplateBindingCS__Group_0__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15059:2: rule__TemplateBindingCS__Group_0__1__Impl rule__TemplateBindingCS__Group_0__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16076:1: ( rule__TemplateBindingCS__Group_0__1__Impl rule__TemplateBindingCS__Group_0__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16077:2: rule__TemplateBindingCS__Group_0__1__Impl rule__TemplateBindingCS__Group_0__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_0__1__Impl_in_rule__TemplateBindingCS__Group_0__131280);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_0__1__Impl_in_rule__TemplateBindingCS__Group_0__133150);
             rule__TemplateBindingCS__Group_0__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_0__2_in_rule__TemplateBindingCS__Group_0__131283);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_0__2_in_rule__TemplateBindingCS__Group_0__133153);
             rule__TemplateBindingCS__Group_0__2();
 
             state._fsp--;
@@ -46226,25 +48694,25 @@
 
 
     // $ANTLR start "rule__TemplateBindingCS__Group_0__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15066:1: rule__TemplateBindingCS__Group_0__1__Impl : ( ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16084:1: rule__TemplateBindingCS__Group_0__1__Impl : ( ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_1 ) ) ;
     public final void rule__TemplateBindingCS__Group_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15070:1: ( ( ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15071:1: ( ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16088:1: ( ( ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16089:1: ( ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15071:1: ( ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15072:1: ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16089:1: ( ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16090:1: ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTemplateBindingCSAccess().getOwnedSubstitutionsAssignment_0_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15073:1: ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15073:2: rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16091:1: ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16091:2: rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_1_in_rule__TemplateBindingCS__Group_0__1__Impl31310);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_1_in_rule__TemplateBindingCS__Group_0__1__Impl33180);
             rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_1();
 
             state._fsp--;
@@ -46277,21 +48745,21 @@
 
 
     // $ANTLR start "rule__TemplateBindingCS__Group_0__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15083:1: rule__TemplateBindingCS__Group_0__2 : rule__TemplateBindingCS__Group_0__2__Impl rule__TemplateBindingCS__Group_0__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16101:1: rule__TemplateBindingCS__Group_0__2 : rule__TemplateBindingCS__Group_0__2__Impl rule__TemplateBindingCS__Group_0__3 ;
     public final void rule__TemplateBindingCS__Group_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15087:1: ( rule__TemplateBindingCS__Group_0__2__Impl rule__TemplateBindingCS__Group_0__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15088:2: rule__TemplateBindingCS__Group_0__2__Impl rule__TemplateBindingCS__Group_0__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16105:1: ( rule__TemplateBindingCS__Group_0__2__Impl rule__TemplateBindingCS__Group_0__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16106:2: rule__TemplateBindingCS__Group_0__2__Impl rule__TemplateBindingCS__Group_0__3
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_0__2__Impl_in_rule__TemplateBindingCS__Group_0__231340);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_0__2__Impl_in_rule__TemplateBindingCS__Group_0__233210);
             rule__TemplateBindingCS__Group_0__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_0__3_in_rule__TemplateBindingCS__Group_0__231343);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_0__3_in_rule__TemplateBindingCS__Group_0__233213);
             rule__TemplateBindingCS__Group_0__3();
 
             state._fsp--;
@@ -46315,37 +48783,37 @@
 
 
     // $ANTLR start "rule__TemplateBindingCS__Group_0__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15095:1: rule__TemplateBindingCS__Group_0__2__Impl : ( ( rule__TemplateBindingCS__Group_0_2__0 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16113:1: rule__TemplateBindingCS__Group_0__2__Impl : ( ( rule__TemplateBindingCS__Group_0_2__0 )* ) ;
     public final void rule__TemplateBindingCS__Group_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15099:1: ( ( ( rule__TemplateBindingCS__Group_0_2__0 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15100:1: ( ( rule__TemplateBindingCS__Group_0_2__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16117:1: ( ( ( rule__TemplateBindingCS__Group_0_2__0 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16118:1: ( ( rule__TemplateBindingCS__Group_0_2__0 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15100:1: ( ( rule__TemplateBindingCS__Group_0_2__0 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15101:1: ( rule__TemplateBindingCS__Group_0_2__0 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16118:1: ( ( rule__TemplateBindingCS__Group_0_2__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16119:1: ( rule__TemplateBindingCS__Group_0_2__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTemplateBindingCSAccess().getGroup_0_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15102:1: ( rule__TemplateBindingCS__Group_0_2__0 )*
-            loop176:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16120:1: ( rule__TemplateBindingCS__Group_0_2__0 )*
+            loop204:
             do {
-                int alt176=2;
-                int LA176_0 = input.LA(1);
+                int alt204=2;
+                int LA204_0 = input.LA(1);
 
-                if ( (LA176_0==98) ) {
-                    alt176=1;
+                if ( (LA204_0==107) ) {
+                    alt204=1;
                 }
 
 
-                switch (alt176) {
+                switch (alt204) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15102:2: rule__TemplateBindingCS__Group_0_2__0
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16120:2: rule__TemplateBindingCS__Group_0_2__0
             	    {
-            	    pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_0_2__0_in_rule__TemplateBindingCS__Group_0__2__Impl31370);
+            	    pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_0_2__0_in_rule__TemplateBindingCS__Group_0__2__Impl33240);
             	    rule__TemplateBindingCS__Group_0_2__0();
 
             	    state._fsp--;
@@ -46355,7 +48823,7 @@
             	    break;
 
             	default :
-            	    break loop176;
+            	    break loop204;
                 }
             } while (true);
 
@@ -46384,16 +48852,16 @@
 
 
     // $ANTLR start "rule__TemplateBindingCS__Group_0__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15112:1: rule__TemplateBindingCS__Group_0__3 : rule__TemplateBindingCS__Group_0__3__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16130:1: rule__TemplateBindingCS__Group_0__3 : rule__TemplateBindingCS__Group_0__3__Impl ;
     public final void rule__TemplateBindingCS__Group_0__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15116:1: ( rule__TemplateBindingCS__Group_0__3__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15117:2: rule__TemplateBindingCS__Group_0__3__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16134:1: ( rule__TemplateBindingCS__Group_0__3__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16135:2: rule__TemplateBindingCS__Group_0__3__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_0__3__Impl_in_rule__TemplateBindingCS__Group_0__331401);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_0__3__Impl_in_rule__TemplateBindingCS__Group_0__333271);
             rule__TemplateBindingCS__Group_0__3__Impl();
 
             state._fsp--;
@@ -46417,22 +48885,22 @@
 
 
     // $ANTLR start "rule__TemplateBindingCS__Group_0__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15123:1: rule__TemplateBindingCS__Group_0__3__Impl : ( ')' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16141:1: rule__TemplateBindingCS__Group_0__3__Impl : ( ')' ) ;
     public final void rule__TemplateBindingCS__Group_0__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15127:1: ( ( ')' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15128:1: ( ')' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16145:1: ( ( ')' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16146:1: ( ')' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15128:1: ( ')' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15129:1: ')'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16146:1: ( ')' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16147:1: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTemplateBindingCSAccess().getRightParenthesisKeyword_0_3()); 
             }
-            match(input,96,FollowSets001.FOLLOW_96_in_rule__TemplateBindingCS__Group_0__3__Impl31429); if (state.failed) return ;
+            match(input,105,FollowSets001.FOLLOW_105_in_rule__TemplateBindingCS__Group_0__3__Impl33299); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTemplateBindingCSAccess().getRightParenthesisKeyword_0_3()); 
             }
@@ -46458,21 +48926,21 @@
 
 
     // $ANTLR start "rule__TemplateBindingCS__Group_0_2__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15150:1: rule__TemplateBindingCS__Group_0_2__0 : rule__TemplateBindingCS__Group_0_2__0__Impl rule__TemplateBindingCS__Group_0_2__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16168:1: rule__TemplateBindingCS__Group_0_2__0 : rule__TemplateBindingCS__Group_0_2__0__Impl rule__TemplateBindingCS__Group_0_2__1 ;
     public final void rule__TemplateBindingCS__Group_0_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15154:1: ( rule__TemplateBindingCS__Group_0_2__0__Impl rule__TemplateBindingCS__Group_0_2__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15155:2: rule__TemplateBindingCS__Group_0_2__0__Impl rule__TemplateBindingCS__Group_0_2__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16172:1: ( rule__TemplateBindingCS__Group_0_2__0__Impl rule__TemplateBindingCS__Group_0_2__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16173:2: rule__TemplateBindingCS__Group_0_2__0__Impl rule__TemplateBindingCS__Group_0_2__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_0_2__0__Impl_in_rule__TemplateBindingCS__Group_0_2__031468);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_0_2__0__Impl_in_rule__TemplateBindingCS__Group_0_2__033338);
             rule__TemplateBindingCS__Group_0_2__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_0_2__1_in_rule__TemplateBindingCS__Group_0_2__031471);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_0_2__1_in_rule__TemplateBindingCS__Group_0_2__033341);
             rule__TemplateBindingCS__Group_0_2__1();
 
             state._fsp--;
@@ -46496,22 +48964,22 @@
 
 
     // $ANTLR start "rule__TemplateBindingCS__Group_0_2__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15162:1: rule__TemplateBindingCS__Group_0_2__0__Impl : ( ',' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16180:1: rule__TemplateBindingCS__Group_0_2__0__Impl : ( ',' ) ;
     public final void rule__TemplateBindingCS__Group_0_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15166:1: ( ( ',' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15167:1: ( ',' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16184:1: ( ( ',' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16185:1: ( ',' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15167:1: ( ',' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15168:1: ','
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16185:1: ( ',' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16186:1: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTemplateBindingCSAccess().getCommaKeyword_0_2_0()); 
             }
-            match(input,98,FollowSets001.FOLLOW_98_in_rule__TemplateBindingCS__Group_0_2__0__Impl31499); if (state.failed) return ;
+            match(input,107,FollowSets001.FOLLOW_107_in_rule__TemplateBindingCS__Group_0_2__0__Impl33369); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTemplateBindingCSAccess().getCommaKeyword_0_2_0()); 
             }
@@ -46537,16 +49005,16 @@
 
 
     // $ANTLR start "rule__TemplateBindingCS__Group_0_2__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15181:1: rule__TemplateBindingCS__Group_0_2__1 : rule__TemplateBindingCS__Group_0_2__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16199:1: rule__TemplateBindingCS__Group_0_2__1 : rule__TemplateBindingCS__Group_0_2__1__Impl ;
     public final void rule__TemplateBindingCS__Group_0_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15185:1: ( rule__TemplateBindingCS__Group_0_2__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15186:2: rule__TemplateBindingCS__Group_0_2__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16203:1: ( rule__TemplateBindingCS__Group_0_2__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16204:2: rule__TemplateBindingCS__Group_0_2__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_0_2__1__Impl_in_rule__TemplateBindingCS__Group_0_2__131530);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_0_2__1__Impl_in_rule__TemplateBindingCS__Group_0_2__133400);
             rule__TemplateBindingCS__Group_0_2__1__Impl();
 
             state._fsp--;
@@ -46570,25 +49038,25 @@
 
 
     // $ANTLR start "rule__TemplateBindingCS__Group_0_2__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15192:1: rule__TemplateBindingCS__Group_0_2__1__Impl : ( ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_2_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16210:1: rule__TemplateBindingCS__Group_0_2__1__Impl : ( ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_2_1 ) ) ;
     public final void rule__TemplateBindingCS__Group_0_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15196:1: ( ( ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_2_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15197:1: ( ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16214:1: ( ( ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_2_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16215:1: ( ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_2_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15197:1: ( ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_2_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15198:1: ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16215:1: ( ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16216:1: ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTemplateBindingCSAccess().getOwnedSubstitutionsAssignment_0_2_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15199:1: ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_2_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15199:2: rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_2_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16217:1: ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16217:2: rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_2_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_2_1_in_rule__TemplateBindingCS__Group_0_2__1__Impl31557);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_2_1_in_rule__TemplateBindingCS__Group_0_2__1__Impl33427);
             rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_2_1();
 
             state._fsp--;
@@ -46621,21 +49089,21 @@
 
 
     // $ANTLR start "rule__TemplateBindingCS__Group_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15213:1: rule__TemplateBindingCS__Group_1__0 : rule__TemplateBindingCS__Group_1__0__Impl rule__TemplateBindingCS__Group_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16231:1: rule__TemplateBindingCS__Group_1__0 : rule__TemplateBindingCS__Group_1__0__Impl rule__TemplateBindingCS__Group_1__1 ;
     public final void rule__TemplateBindingCS__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15217:1: ( rule__TemplateBindingCS__Group_1__0__Impl rule__TemplateBindingCS__Group_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15218:2: rule__TemplateBindingCS__Group_1__0__Impl rule__TemplateBindingCS__Group_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16235:1: ( rule__TemplateBindingCS__Group_1__0__Impl rule__TemplateBindingCS__Group_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16236:2: rule__TemplateBindingCS__Group_1__0__Impl rule__TemplateBindingCS__Group_1__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_1__0__Impl_in_rule__TemplateBindingCS__Group_1__031591);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_1__0__Impl_in_rule__TemplateBindingCS__Group_1__033461);
             rule__TemplateBindingCS__Group_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_1__1_in_rule__TemplateBindingCS__Group_1__031594);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_1__1_in_rule__TemplateBindingCS__Group_1__033464);
             rule__TemplateBindingCS__Group_1__1();
 
             state._fsp--;
@@ -46659,22 +49127,22 @@
 
 
     // $ANTLR start "rule__TemplateBindingCS__Group_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15225:1: rule__TemplateBindingCS__Group_1__0__Impl : ( '<' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16243:1: rule__TemplateBindingCS__Group_1__0__Impl : ( '<' ) ;
     public final void rule__TemplateBindingCS__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15229:1: ( ( '<' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15230:1: ( '<' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16247:1: ( ( '<' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16248:1: ( '<' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15230:1: ( '<' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15231:1: '<'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16248:1: ( '<' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16249:1: '<'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTemplateBindingCSAccess().getLessThanSignKeyword_1_0()); 
             }
-            match(input,67,FollowSets001.FOLLOW_67_in_rule__TemplateBindingCS__Group_1__0__Impl31622); if (state.failed) return ;
+            match(input,76,FollowSets001.FOLLOW_76_in_rule__TemplateBindingCS__Group_1__0__Impl33492); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTemplateBindingCSAccess().getLessThanSignKeyword_1_0()); 
             }
@@ -46700,21 +49168,21 @@
 
 
     // $ANTLR start "rule__TemplateBindingCS__Group_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15244:1: rule__TemplateBindingCS__Group_1__1 : rule__TemplateBindingCS__Group_1__1__Impl rule__TemplateBindingCS__Group_1__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16262:1: rule__TemplateBindingCS__Group_1__1 : rule__TemplateBindingCS__Group_1__1__Impl rule__TemplateBindingCS__Group_1__2 ;
     public final void rule__TemplateBindingCS__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15248:1: ( rule__TemplateBindingCS__Group_1__1__Impl rule__TemplateBindingCS__Group_1__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15249:2: rule__TemplateBindingCS__Group_1__1__Impl rule__TemplateBindingCS__Group_1__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16266:1: ( rule__TemplateBindingCS__Group_1__1__Impl rule__TemplateBindingCS__Group_1__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16267:2: rule__TemplateBindingCS__Group_1__1__Impl rule__TemplateBindingCS__Group_1__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_1__1__Impl_in_rule__TemplateBindingCS__Group_1__131653);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_1__1__Impl_in_rule__TemplateBindingCS__Group_1__133523);
             rule__TemplateBindingCS__Group_1__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_1__2_in_rule__TemplateBindingCS__Group_1__131656);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_1__2_in_rule__TemplateBindingCS__Group_1__133526);
             rule__TemplateBindingCS__Group_1__2();
 
             state._fsp--;
@@ -46738,25 +49206,25 @@
 
 
     // $ANTLR start "rule__TemplateBindingCS__Group_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15256:1: rule__TemplateBindingCS__Group_1__1__Impl : ( ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16274:1: rule__TemplateBindingCS__Group_1__1__Impl : ( ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_1 ) ) ;
     public final void rule__TemplateBindingCS__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15260:1: ( ( ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15261:1: ( ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16278:1: ( ( ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16279:1: ( ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15261:1: ( ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15262:1: ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16279:1: ( ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16280:1: ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTemplateBindingCSAccess().getOwnedSubstitutionsAssignment_1_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15263:1: ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15263:2: rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16281:1: ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16281:2: rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_1_in_rule__TemplateBindingCS__Group_1__1__Impl31683);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_1_in_rule__TemplateBindingCS__Group_1__1__Impl33553);
             rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_1();
 
             state._fsp--;
@@ -46789,21 +49257,21 @@
 
 
     // $ANTLR start "rule__TemplateBindingCS__Group_1__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15273:1: rule__TemplateBindingCS__Group_1__2 : rule__TemplateBindingCS__Group_1__2__Impl rule__TemplateBindingCS__Group_1__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16291:1: rule__TemplateBindingCS__Group_1__2 : rule__TemplateBindingCS__Group_1__2__Impl rule__TemplateBindingCS__Group_1__3 ;
     public final void rule__TemplateBindingCS__Group_1__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15277:1: ( rule__TemplateBindingCS__Group_1__2__Impl rule__TemplateBindingCS__Group_1__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15278:2: rule__TemplateBindingCS__Group_1__2__Impl rule__TemplateBindingCS__Group_1__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16295:1: ( rule__TemplateBindingCS__Group_1__2__Impl rule__TemplateBindingCS__Group_1__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16296:2: rule__TemplateBindingCS__Group_1__2__Impl rule__TemplateBindingCS__Group_1__3
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_1__2__Impl_in_rule__TemplateBindingCS__Group_1__231713);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_1__2__Impl_in_rule__TemplateBindingCS__Group_1__233583);
             rule__TemplateBindingCS__Group_1__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_1__3_in_rule__TemplateBindingCS__Group_1__231716);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_1__3_in_rule__TemplateBindingCS__Group_1__233586);
             rule__TemplateBindingCS__Group_1__3();
 
             state._fsp--;
@@ -46827,37 +49295,37 @@
 
 
     // $ANTLR start "rule__TemplateBindingCS__Group_1__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15285:1: rule__TemplateBindingCS__Group_1__2__Impl : ( ( rule__TemplateBindingCS__Group_1_2__0 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16303:1: rule__TemplateBindingCS__Group_1__2__Impl : ( ( rule__TemplateBindingCS__Group_1_2__0 )* ) ;
     public final void rule__TemplateBindingCS__Group_1__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15289:1: ( ( ( rule__TemplateBindingCS__Group_1_2__0 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15290:1: ( ( rule__TemplateBindingCS__Group_1_2__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16307:1: ( ( ( rule__TemplateBindingCS__Group_1_2__0 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16308:1: ( ( rule__TemplateBindingCS__Group_1_2__0 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15290:1: ( ( rule__TemplateBindingCS__Group_1_2__0 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15291:1: ( rule__TemplateBindingCS__Group_1_2__0 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16308:1: ( ( rule__TemplateBindingCS__Group_1_2__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16309:1: ( rule__TemplateBindingCS__Group_1_2__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTemplateBindingCSAccess().getGroup_1_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15292:1: ( rule__TemplateBindingCS__Group_1_2__0 )*
-            loop177:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16310:1: ( rule__TemplateBindingCS__Group_1_2__0 )*
+            loop205:
             do {
-                int alt177=2;
-                int LA177_0 = input.LA(1);
+                int alt205=2;
+                int LA205_0 = input.LA(1);
 
-                if ( (LA177_0==98) ) {
-                    alt177=1;
+                if ( (LA205_0==107) ) {
+                    alt205=1;
                 }
 
 
-                switch (alt177) {
+                switch (alt205) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15292:2: rule__TemplateBindingCS__Group_1_2__0
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16310:2: rule__TemplateBindingCS__Group_1_2__0
             	    {
-            	    pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_1_2__0_in_rule__TemplateBindingCS__Group_1__2__Impl31743);
+            	    pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_1_2__0_in_rule__TemplateBindingCS__Group_1__2__Impl33613);
             	    rule__TemplateBindingCS__Group_1_2__0();
 
             	    state._fsp--;
@@ -46867,7 +49335,7 @@
             	    break;
 
             	default :
-            	    break loop177;
+            	    break loop205;
                 }
             } while (true);
 
@@ -46896,16 +49364,16 @@
 
 
     // $ANTLR start "rule__TemplateBindingCS__Group_1__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15302:1: rule__TemplateBindingCS__Group_1__3 : rule__TemplateBindingCS__Group_1__3__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16320:1: rule__TemplateBindingCS__Group_1__3 : rule__TemplateBindingCS__Group_1__3__Impl ;
     public final void rule__TemplateBindingCS__Group_1__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15306:1: ( rule__TemplateBindingCS__Group_1__3__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15307:2: rule__TemplateBindingCS__Group_1__3__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16324:1: ( rule__TemplateBindingCS__Group_1__3__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16325:2: rule__TemplateBindingCS__Group_1__3__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_1__3__Impl_in_rule__TemplateBindingCS__Group_1__331774);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_1__3__Impl_in_rule__TemplateBindingCS__Group_1__333644);
             rule__TemplateBindingCS__Group_1__3__Impl();
 
             state._fsp--;
@@ -46929,22 +49397,22 @@
 
 
     // $ANTLR start "rule__TemplateBindingCS__Group_1__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15313:1: rule__TemplateBindingCS__Group_1__3__Impl : ( '>' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16331:1: rule__TemplateBindingCS__Group_1__3__Impl : ( '>' ) ;
     public final void rule__TemplateBindingCS__Group_1__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15317:1: ( ( '>' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15318:1: ( '>' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16335:1: ( ( '>' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16336:1: ( '>' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15318:1: ( '>' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15319:1: '>'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16336:1: ( '>' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16337:1: '>'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTemplateBindingCSAccess().getGreaterThanSignKeyword_1_3()); 
             }
-            match(input,66,FollowSets001.FOLLOW_66_in_rule__TemplateBindingCS__Group_1__3__Impl31802); if (state.failed) return ;
+            match(input,75,FollowSets001.FOLLOW_75_in_rule__TemplateBindingCS__Group_1__3__Impl33672); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTemplateBindingCSAccess().getGreaterThanSignKeyword_1_3()); 
             }
@@ -46970,21 +49438,21 @@
 
 
     // $ANTLR start "rule__TemplateBindingCS__Group_1_2__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15340:1: rule__TemplateBindingCS__Group_1_2__0 : rule__TemplateBindingCS__Group_1_2__0__Impl rule__TemplateBindingCS__Group_1_2__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16358:1: rule__TemplateBindingCS__Group_1_2__0 : rule__TemplateBindingCS__Group_1_2__0__Impl rule__TemplateBindingCS__Group_1_2__1 ;
     public final void rule__TemplateBindingCS__Group_1_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15344:1: ( rule__TemplateBindingCS__Group_1_2__0__Impl rule__TemplateBindingCS__Group_1_2__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15345:2: rule__TemplateBindingCS__Group_1_2__0__Impl rule__TemplateBindingCS__Group_1_2__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16362:1: ( rule__TemplateBindingCS__Group_1_2__0__Impl rule__TemplateBindingCS__Group_1_2__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16363:2: rule__TemplateBindingCS__Group_1_2__0__Impl rule__TemplateBindingCS__Group_1_2__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_1_2__0__Impl_in_rule__TemplateBindingCS__Group_1_2__031841);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_1_2__0__Impl_in_rule__TemplateBindingCS__Group_1_2__033711);
             rule__TemplateBindingCS__Group_1_2__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_1_2__1_in_rule__TemplateBindingCS__Group_1_2__031844);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_1_2__1_in_rule__TemplateBindingCS__Group_1_2__033714);
             rule__TemplateBindingCS__Group_1_2__1();
 
             state._fsp--;
@@ -47008,22 +49476,22 @@
 
 
     // $ANTLR start "rule__TemplateBindingCS__Group_1_2__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15352:1: rule__TemplateBindingCS__Group_1_2__0__Impl : ( ',' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16370:1: rule__TemplateBindingCS__Group_1_2__0__Impl : ( ',' ) ;
     public final void rule__TemplateBindingCS__Group_1_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15356:1: ( ( ',' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15357:1: ( ',' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16374:1: ( ( ',' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16375:1: ( ',' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15357:1: ( ',' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15358:1: ','
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16375:1: ( ',' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16376:1: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTemplateBindingCSAccess().getCommaKeyword_1_2_0()); 
             }
-            match(input,98,FollowSets001.FOLLOW_98_in_rule__TemplateBindingCS__Group_1_2__0__Impl31872); if (state.failed) return ;
+            match(input,107,FollowSets001.FOLLOW_107_in_rule__TemplateBindingCS__Group_1_2__0__Impl33742); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTemplateBindingCSAccess().getCommaKeyword_1_2_0()); 
             }
@@ -47049,16 +49517,16 @@
 
 
     // $ANTLR start "rule__TemplateBindingCS__Group_1_2__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15371:1: rule__TemplateBindingCS__Group_1_2__1 : rule__TemplateBindingCS__Group_1_2__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16389:1: rule__TemplateBindingCS__Group_1_2__1 : rule__TemplateBindingCS__Group_1_2__1__Impl ;
     public final void rule__TemplateBindingCS__Group_1_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15375:1: ( rule__TemplateBindingCS__Group_1_2__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15376:2: rule__TemplateBindingCS__Group_1_2__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16393:1: ( rule__TemplateBindingCS__Group_1_2__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16394:2: rule__TemplateBindingCS__Group_1_2__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_1_2__1__Impl_in_rule__TemplateBindingCS__Group_1_2__131903);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__Group_1_2__1__Impl_in_rule__TemplateBindingCS__Group_1_2__133773);
             rule__TemplateBindingCS__Group_1_2__1__Impl();
 
             state._fsp--;
@@ -47082,25 +49550,25 @@
 
 
     // $ANTLR start "rule__TemplateBindingCS__Group_1_2__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15382:1: rule__TemplateBindingCS__Group_1_2__1__Impl : ( ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_2_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16400:1: rule__TemplateBindingCS__Group_1_2__1__Impl : ( ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_2_1 ) ) ;
     public final void rule__TemplateBindingCS__Group_1_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15386:1: ( ( ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_2_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15387:1: ( ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16404:1: ( ( ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_2_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16405:1: ( ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_2_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15387:1: ( ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_2_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15388:1: ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16405:1: ( ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16406:1: ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTemplateBindingCSAccess().getOwnedSubstitutionsAssignment_1_2_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15389:1: ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_2_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15389:2: rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_2_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16407:1: ( rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16407:2: rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_2_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_2_1_in_rule__TemplateBindingCS__Group_1_2__1__Impl31930);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_2_1_in_rule__TemplateBindingCS__Group_1_2__1__Impl33800);
             rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_2_1();
 
             state._fsp--;
@@ -47133,21 +49601,21 @@
 
 
     // $ANTLR start "rule__TemplateSignatureCS__Group_0__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15403:1: rule__TemplateSignatureCS__Group_0__0 : rule__TemplateSignatureCS__Group_0__0__Impl rule__TemplateSignatureCS__Group_0__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16421:1: rule__TemplateSignatureCS__Group_0__0 : rule__TemplateSignatureCS__Group_0__0__Impl rule__TemplateSignatureCS__Group_0__1 ;
     public final void rule__TemplateSignatureCS__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15407:1: ( rule__TemplateSignatureCS__Group_0__0__Impl rule__TemplateSignatureCS__Group_0__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15408:2: rule__TemplateSignatureCS__Group_0__0__Impl rule__TemplateSignatureCS__Group_0__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16425:1: ( rule__TemplateSignatureCS__Group_0__0__Impl rule__TemplateSignatureCS__Group_0__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16426:2: rule__TemplateSignatureCS__Group_0__0__Impl rule__TemplateSignatureCS__Group_0__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_0__0__Impl_in_rule__TemplateSignatureCS__Group_0__031964);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_0__0__Impl_in_rule__TemplateSignatureCS__Group_0__033834);
             rule__TemplateSignatureCS__Group_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_0__1_in_rule__TemplateSignatureCS__Group_0__031967);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_0__1_in_rule__TemplateSignatureCS__Group_0__033837);
             rule__TemplateSignatureCS__Group_0__1();
 
             state._fsp--;
@@ -47171,22 +49639,22 @@
 
 
     // $ANTLR start "rule__TemplateSignatureCS__Group_0__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15415:1: rule__TemplateSignatureCS__Group_0__0__Impl : ( '(' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16433:1: rule__TemplateSignatureCS__Group_0__0__Impl : ( '(' ) ;
     public final void rule__TemplateSignatureCS__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15419:1: ( ( '(' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15420:1: ( '(' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16437:1: ( ( '(' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16438:1: ( '(' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15420:1: ( '(' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15421:1: '('
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16438:1: ( '(' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16439:1: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTemplateSignatureCSAccess().getLeftParenthesisKeyword_0_0()); 
             }
-            match(input,95,FollowSets001.FOLLOW_95_in_rule__TemplateSignatureCS__Group_0__0__Impl31995); if (state.failed) return ;
+            match(input,104,FollowSets001.FOLLOW_104_in_rule__TemplateSignatureCS__Group_0__0__Impl33865); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTemplateSignatureCSAccess().getLeftParenthesisKeyword_0_0()); 
             }
@@ -47212,21 +49680,21 @@
 
 
     // $ANTLR start "rule__TemplateSignatureCS__Group_0__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15434:1: rule__TemplateSignatureCS__Group_0__1 : rule__TemplateSignatureCS__Group_0__1__Impl rule__TemplateSignatureCS__Group_0__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16452:1: rule__TemplateSignatureCS__Group_0__1 : rule__TemplateSignatureCS__Group_0__1__Impl rule__TemplateSignatureCS__Group_0__2 ;
     public final void rule__TemplateSignatureCS__Group_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15438:1: ( rule__TemplateSignatureCS__Group_0__1__Impl rule__TemplateSignatureCS__Group_0__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15439:2: rule__TemplateSignatureCS__Group_0__1__Impl rule__TemplateSignatureCS__Group_0__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16456:1: ( rule__TemplateSignatureCS__Group_0__1__Impl rule__TemplateSignatureCS__Group_0__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16457:2: rule__TemplateSignatureCS__Group_0__1__Impl rule__TemplateSignatureCS__Group_0__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_0__1__Impl_in_rule__TemplateSignatureCS__Group_0__132026);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_0__1__Impl_in_rule__TemplateSignatureCS__Group_0__133896);
             rule__TemplateSignatureCS__Group_0__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_0__2_in_rule__TemplateSignatureCS__Group_0__132029);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_0__2_in_rule__TemplateSignatureCS__Group_0__133899);
             rule__TemplateSignatureCS__Group_0__2();
 
             state._fsp--;
@@ -47250,25 +49718,25 @@
 
 
     // $ANTLR start "rule__TemplateSignatureCS__Group_0__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15446:1: rule__TemplateSignatureCS__Group_0__1__Impl : ( ( rule__TemplateSignatureCS__OwnedParametersAssignment_0_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16464:1: rule__TemplateSignatureCS__Group_0__1__Impl : ( ( rule__TemplateSignatureCS__OwnedParametersAssignment_0_1 ) ) ;
     public final void rule__TemplateSignatureCS__Group_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15450:1: ( ( ( rule__TemplateSignatureCS__OwnedParametersAssignment_0_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15451:1: ( ( rule__TemplateSignatureCS__OwnedParametersAssignment_0_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16468:1: ( ( ( rule__TemplateSignatureCS__OwnedParametersAssignment_0_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16469:1: ( ( rule__TemplateSignatureCS__OwnedParametersAssignment_0_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15451:1: ( ( rule__TemplateSignatureCS__OwnedParametersAssignment_0_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15452:1: ( rule__TemplateSignatureCS__OwnedParametersAssignment_0_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16469:1: ( ( rule__TemplateSignatureCS__OwnedParametersAssignment_0_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16470:1: ( rule__TemplateSignatureCS__OwnedParametersAssignment_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTemplateSignatureCSAccess().getOwnedParametersAssignment_0_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15453:1: ( rule__TemplateSignatureCS__OwnedParametersAssignment_0_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15453:2: rule__TemplateSignatureCS__OwnedParametersAssignment_0_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16471:1: ( rule__TemplateSignatureCS__OwnedParametersAssignment_0_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16471:2: rule__TemplateSignatureCS__OwnedParametersAssignment_0_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__OwnedParametersAssignment_0_1_in_rule__TemplateSignatureCS__Group_0__1__Impl32056);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__OwnedParametersAssignment_0_1_in_rule__TemplateSignatureCS__Group_0__1__Impl33926);
             rule__TemplateSignatureCS__OwnedParametersAssignment_0_1();
 
             state._fsp--;
@@ -47301,21 +49769,21 @@
 
 
     // $ANTLR start "rule__TemplateSignatureCS__Group_0__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15463:1: rule__TemplateSignatureCS__Group_0__2 : rule__TemplateSignatureCS__Group_0__2__Impl rule__TemplateSignatureCS__Group_0__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16481:1: rule__TemplateSignatureCS__Group_0__2 : rule__TemplateSignatureCS__Group_0__2__Impl rule__TemplateSignatureCS__Group_0__3 ;
     public final void rule__TemplateSignatureCS__Group_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15467:1: ( rule__TemplateSignatureCS__Group_0__2__Impl rule__TemplateSignatureCS__Group_0__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15468:2: rule__TemplateSignatureCS__Group_0__2__Impl rule__TemplateSignatureCS__Group_0__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16485:1: ( rule__TemplateSignatureCS__Group_0__2__Impl rule__TemplateSignatureCS__Group_0__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16486:2: rule__TemplateSignatureCS__Group_0__2__Impl rule__TemplateSignatureCS__Group_0__3
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_0__2__Impl_in_rule__TemplateSignatureCS__Group_0__232086);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_0__2__Impl_in_rule__TemplateSignatureCS__Group_0__233956);
             rule__TemplateSignatureCS__Group_0__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_0__3_in_rule__TemplateSignatureCS__Group_0__232089);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_0__3_in_rule__TemplateSignatureCS__Group_0__233959);
             rule__TemplateSignatureCS__Group_0__3();
 
             state._fsp--;
@@ -47339,37 +49807,37 @@
 
 
     // $ANTLR start "rule__TemplateSignatureCS__Group_0__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15475:1: rule__TemplateSignatureCS__Group_0__2__Impl : ( ( rule__TemplateSignatureCS__Group_0_2__0 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16493:1: rule__TemplateSignatureCS__Group_0__2__Impl : ( ( rule__TemplateSignatureCS__Group_0_2__0 )* ) ;
     public final void rule__TemplateSignatureCS__Group_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15479:1: ( ( ( rule__TemplateSignatureCS__Group_0_2__0 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15480:1: ( ( rule__TemplateSignatureCS__Group_0_2__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16497:1: ( ( ( rule__TemplateSignatureCS__Group_0_2__0 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16498:1: ( ( rule__TemplateSignatureCS__Group_0_2__0 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15480:1: ( ( rule__TemplateSignatureCS__Group_0_2__0 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15481:1: ( rule__TemplateSignatureCS__Group_0_2__0 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16498:1: ( ( rule__TemplateSignatureCS__Group_0_2__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16499:1: ( rule__TemplateSignatureCS__Group_0_2__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTemplateSignatureCSAccess().getGroup_0_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15482:1: ( rule__TemplateSignatureCS__Group_0_2__0 )*
-            loop178:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16500:1: ( rule__TemplateSignatureCS__Group_0_2__0 )*
+            loop206:
             do {
-                int alt178=2;
-                int LA178_0 = input.LA(1);
+                int alt206=2;
+                int LA206_0 = input.LA(1);
 
-                if ( (LA178_0==98) ) {
-                    alt178=1;
+                if ( (LA206_0==107) ) {
+                    alt206=1;
                 }
 
 
-                switch (alt178) {
+                switch (alt206) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15482:2: rule__TemplateSignatureCS__Group_0_2__0
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16500:2: rule__TemplateSignatureCS__Group_0_2__0
             	    {
-            	    pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_0_2__0_in_rule__TemplateSignatureCS__Group_0__2__Impl32116);
+            	    pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_0_2__0_in_rule__TemplateSignatureCS__Group_0__2__Impl33986);
             	    rule__TemplateSignatureCS__Group_0_2__0();
 
             	    state._fsp--;
@@ -47379,7 +49847,7 @@
             	    break;
 
             	default :
-            	    break loop178;
+            	    break loop206;
                 }
             } while (true);
 
@@ -47408,16 +49876,16 @@
 
 
     // $ANTLR start "rule__TemplateSignatureCS__Group_0__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15492:1: rule__TemplateSignatureCS__Group_0__3 : rule__TemplateSignatureCS__Group_0__3__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16510:1: rule__TemplateSignatureCS__Group_0__3 : rule__TemplateSignatureCS__Group_0__3__Impl ;
     public final void rule__TemplateSignatureCS__Group_0__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15496:1: ( rule__TemplateSignatureCS__Group_0__3__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15497:2: rule__TemplateSignatureCS__Group_0__3__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16514:1: ( rule__TemplateSignatureCS__Group_0__3__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16515:2: rule__TemplateSignatureCS__Group_0__3__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_0__3__Impl_in_rule__TemplateSignatureCS__Group_0__332147);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_0__3__Impl_in_rule__TemplateSignatureCS__Group_0__334017);
             rule__TemplateSignatureCS__Group_0__3__Impl();
 
             state._fsp--;
@@ -47441,22 +49909,22 @@
 
 
     // $ANTLR start "rule__TemplateSignatureCS__Group_0__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15503:1: rule__TemplateSignatureCS__Group_0__3__Impl : ( ')' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16521:1: rule__TemplateSignatureCS__Group_0__3__Impl : ( ')' ) ;
     public final void rule__TemplateSignatureCS__Group_0__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15507:1: ( ( ')' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15508:1: ( ')' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16525:1: ( ( ')' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16526:1: ( ')' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15508:1: ( ')' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15509:1: ')'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16526:1: ( ')' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16527:1: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTemplateSignatureCSAccess().getRightParenthesisKeyword_0_3()); 
             }
-            match(input,96,FollowSets001.FOLLOW_96_in_rule__TemplateSignatureCS__Group_0__3__Impl32175); if (state.failed) return ;
+            match(input,105,FollowSets001.FOLLOW_105_in_rule__TemplateSignatureCS__Group_0__3__Impl34045); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTemplateSignatureCSAccess().getRightParenthesisKeyword_0_3()); 
             }
@@ -47482,21 +49950,21 @@
 
 
     // $ANTLR start "rule__TemplateSignatureCS__Group_0_2__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15530:1: rule__TemplateSignatureCS__Group_0_2__0 : rule__TemplateSignatureCS__Group_0_2__0__Impl rule__TemplateSignatureCS__Group_0_2__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16548:1: rule__TemplateSignatureCS__Group_0_2__0 : rule__TemplateSignatureCS__Group_0_2__0__Impl rule__TemplateSignatureCS__Group_0_2__1 ;
     public final void rule__TemplateSignatureCS__Group_0_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15534:1: ( rule__TemplateSignatureCS__Group_0_2__0__Impl rule__TemplateSignatureCS__Group_0_2__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15535:2: rule__TemplateSignatureCS__Group_0_2__0__Impl rule__TemplateSignatureCS__Group_0_2__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16552:1: ( rule__TemplateSignatureCS__Group_0_2__0__Impl rule__TemplateSignatureCS__Group_0_2__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16553:2: rule__TemplateSignatureCS__Group_0_2__0__Impl rule__TemplateSignatureCS__Group_0_2__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_0_2__0__Impl_in_rule__TemplateSignatureCS__Group_0_2__032214);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_0_2__0__Impl_in_rule__TemplateSignatureCS__Group_0_2__034084);
             rule__TemplateSignatureCS__Group_0_2__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_0_2__1_in_rule__TemplateSignatureCS__Group_0_2__032217);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_0_2__1_in_rule__TemplateSignatureCS__Group_0_2__034087);
             rule__TemplateSignatureCS__Group_0_2__1();
 
             state._fsp--;
@@ -47520,22 +49988,22 @@
 
 
     // $ANTLR start "rule__TemplateSignatureCS__Group_0_2__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15542:1: rule__TemplateSignatureCS__Group_0_2__0__Impl : ( ',' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16560:1: rule__TemplateSignatureCS__Group_0_2__0__Impl : ( ',' ) ;
     public final void rule__TemplateSignatureCS__Group_0_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15546:1: ( ( ',' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15547:1: ( ',' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16564:1: ( ( ',' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16565:1: ( ',' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15547:1: ( ',' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15548:1: ','
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16565:1: ( ',' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16566:1: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTemplateSignatureCSAccess().getCommaKeyword_0_2_0()); 
             }
-            match(input,98,FollowSets001.FOLLOW_98_in_rule__TemplateSignatureCS__Group_0_2__0__Impl32245); if (state.failed) return ;
+            match(input,107,FollowSets001.FOLLOW_107_in_rule__TemplateSignatureCS__Group_0_2__0__Impl34115); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTemplateSignatureCSAccess().getCommaKeyword_0_2_0()); 
             }
@@ -47561,16 +50029,16 @@
 
 
     // $ANTLR start "rule__TemplateSignatureCS__Group_0_2__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15561:1: rule__TemplateSignatureCS__Group_0_2__1 : rule__TemplateSignatureCS__Group_0_2__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16579:1: rule__TemplateSignatureCS__Group_0_2__1 : rule__TemplateSignatureCS__Group_0_2__1__Impl ;
     public final void rule__TemplateSignatureCS__Group_0_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15565:1: ( rule__TemplateSignatureCS__Group_0_2__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15566:2: rule__TemplateSignatureCS__Group_0_2__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16583:1: ( rule__TemplateSignatureCS__Group_0_2__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16584:2: rule__TemplateSignatureCS__Group_0_2__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_0_2__1__Impl_in_rule__TemplateSignatureCS__Group_0_2__132276);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_0_2__1__Impl_in_rule__TemplateSignatureCS__Group_0_2__134146);
             rule__TemplateSignatureCS__Group_0_2__1__Impl();
 
             state._fsp--;
@@ -47594,25 +50062,25 @@
 
 
     // $ANTLR start "rule__TemplateSignatureCS__Group_0_2__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15572:1: rule__TemplateSignatureCS__Group_0_2__1__Impl : ( ( rule__TemplateSignatureCS__OwnedParametersAssignment_0_2_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16590:1: rule__TemplateSignatureCS__Group_0_2__1__Impl : ( ( rule__TemplateSignatureCS__OwnedParametersAssignment_0_2_1 ) ) ;
     public final void rule__TemplateSignatureCS__Group_0_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15576:1: ( ( ( rule__TemplateSignatureCS__OwnedParametersAssignment_0_2_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15577:1: ( ( rule__TemplateSignatureCS__OwnedParametersAssignment_0_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16594:1: ( ( ( rule__TemplateSignatureCS__OwnedParametersAssignment_0_2_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16595:1: ( ( rule__TemplateSignatureCS__OwnedParametersAssignment_0_2_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15577:1: ( ( rule__TemplateSignatureCS__OwnedParametersAssignment_0_2_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15578:1: ( rule__TemplateSignatureCS__OwnedParametersAssignment_0_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16595:1: ( ( rule__TemplateSignatureCS__OwnedParametersAssignment_0_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16596:1: ( rule__TemplateSignatureCS__OwnedParametersAssignment_0_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTemplateSignatureCSAccess().getOwnedParametersAssignment_0_2_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15579:1: ( rule__TemplateSignatureCS__OwnedParametersAssignment_0_2_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15579:2: rule__TemplateSignatureCS__OwnedParametersAssignment_0_2_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16597:1: ( rule__TemplateSignatureCS__OwnedParametersAssignment_0_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16597:2: rule__TemplateSignatureCS__OwnedParametersAssignment_0_2_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__OwnedParametersAssignment_0_2_1_in_rule__TemplateSignatureCS__Group_0_2__1__Impl32303);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__OwnedParametersAssignment_0_2_1_in_rule__TemplateSignatureCS__Group_0_2__1__Impl34173);
             rule__TemplateSignatureCS__OwnedParametersAssignment_0_2_1();
 
             state._fsp--;
@@ -47645,21 +50113,21 @@
 
 
     // $ANTLR start "rule__TemplateSignatureCS__Group_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15593:1: rule__TemplateSignatureCS__Group_1__0 : rule__TemplateSignatureCS__Group_1__0__Impl rule__TemplateSignatureCS__Group_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16611:1: rule__TemplateSignatureCS__Group_1__0 : rule__TemplateSignatureCS__Group_1__0__Impl rule__TemplateSignatureCS__Group_1__1 ;
     public final void rule__TemplateSignatureCS__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15597:1: ( rule__TemplateSignatureCS__Group_1__0__Impl rule__TemplateSignatureCS__Group_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15598:2: rule__TemplateSignatureCS__Group_1__0__Impl rule__TemplateSignatureCS__Group_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16615:1: ( rule__TemplateSignatureCS__Group_1__0__Impl rule__TemplateSignatureCS__Group_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16616:2: rule__TemplateSignatureCS__Group_1__0__Impl rule__TemplateSignatureCS__Group_1__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_1__0__Impl_in_rule__TemplateSignatureCS__Group_1__032337);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_1__0__Impl_in_rule__TemplateSignatureCS__Group_1__034207);
             rule__TemplateSignatureCS__Group_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_1__1_in_rule__TemplateSignatureCS__Group_1__032340);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_1__1_in_rule__TemplateSignatureCS__Group_1__034210);
             rule__TemplateSignatureCS__Group_1__1();
 
             state._fsp--;
@@ -47683,22 +50151,22 @@
 
 
     // $ANTLR start "rule__TemplateSignatureCS__Group_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15605:1: rule__TemplateSignatureCS__Group_1__0__Impl : ( '<' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16623:1: rule__TemplateSignatureCS__Group_1__0__Impl : ( '<' ) ;
     public final void rule__TemplateSignatureCS__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15609:1: ( ( '<' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15610:1: ( '<' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16627:1: ( ( '<' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16628:1: ( '<' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15610:1: ( '<' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15611:1: '<'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16628:1: ( '<' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16629:1: '<'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTemplateSignatureCSAccess().getLessThanSignKeyword_1_0()); 
             }
-            match(input,67,FollowSets001.FOLLOW_67_in_rule__TemplateSignatureCS__Group_1__0__Impl32368); if (state.failed) return ;
+            match(input,76,FollowSets001.FOLLOW_76_in_rule__TemplateSignatureCS__Group_1__0__Impl34238); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTemplateSignatureCSAccess().getLessThanSignKeyword_1_0()); 
             }
@@ -47724,21 +50192,21 @@
 
 
     // $ANTLR start "rule__TemplateSignatureCS__Group_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15624:1: rule__TemplateSignatureCS__Group_1__1 : rule__TemplateSignatureCS__Group_1__1__Impl rule__TemplateSignatureCS__Group_1__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16642:1: rule__TemplateSignatureCS__Group_1__1 : rule__TemplateSignatureCS__Group_1__1__Impl rule__TemplateSignatureCS__Group_1__2 ;
     public final void rule__TemplateSignatureCS__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15628:1: ( rule__TemplateSignatureCS__Group_1__1__Impl rule__TemplateSignatureCS__Group_1__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15629:2: rule__TemplateSignatureCS__Group_1__1__Impl rule__TemplateSignatureCS__Group_1__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16646:1: ( rule__TemplateSignatureCS__Group_1__1__Impl rule__TemplateSignatureCS__Group_1__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16647:2: rule__TemplateSignatureCS__Group_1__1__Impl rule__TemplateSignatureCS__Group_1__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_1__1__Impl_in_rule__TemplateSignatureCS__Group_1__132399);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_1__1__Impl_in_rule__TemplateSignatureCS__Group_1__134269);
             rule__TemplateSignatureCS__Group_1__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_1__2_in_rule__TemplateSignatureCS__Group_1__132402);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_1__2_in_rule__TemplateSignatureCS__Group_1__134272);
             rule__TemplateSignatureCS__Group_1__2();
 
             state._fsp--;
@@ -47762,25 +50230,25 @@
 
 
     // $ANTLR start "rule__TemplateSignatureCS__Group_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15636:1: rule__TemplateSignatureCS__Group_1__1__Impl : ( ( rule__TemplateSignatureCS__OwnedParametersAssignment_1_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16654:1: rule__TemplateSignatureCS__Group_1__1__Impl : ( ( rule__TemplateSignatureCS__OwnedParametersAssignment_1_1 ) ) ;
     public final void rule__TemplateSignatureCS__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15640:1: ( ( ( rule__TemplateSignatureCS__OwnedParametersAssignment_1_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15641:1: ( ( rule__TemplateSignatureCS__OwnedParametersAssignment_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16658:1: ( ( ( rule__TemplateSignatureCS__OwnedParametersAssignment_1_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16659:1: ( ( rule__TemplateSignatureCS__OwnedParametersAssignment_1_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15641:1: ( ( rule__TemplateSignatureCS__OwnedParametersAssignment_1_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15642:1: ( rule__TemplateSignatureCS__OwnedParametersAssignment_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16659:1: ( ( rule__TemplateSignatureCS__OwnedParametersAssignment_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16660:1: ( rule__TemplateSignatureCS__OwnedParametersAssignment_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTemplateSignatureCSAccess().getOwnedParametersAssignment_1_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15643:1: ( rule__TemplateSignatureCS__OwnedParametersAssignment_1_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15643:2: rule__TemplateSignatureCS__OwnedParametersAssignment_1_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16661:1: ( rule__TemplateSignatureCS__OwnedParametersAssignment_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16661:2: rule__TemplateSignatureCS__OwnedParametersAssignment_1_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__OwnedParametersAssignment_1_1_in_rule__TemplateSignatureCS__Group_1__1__Impl32429);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__OwnedParametersAssignment_1_1_in_rule__TemplateSignatureCS__Group_1__1__Impl34299);
             rule__TemplateSignatureCS__OwnedParametersAssignment_1_1();
 
             state._fsp--;
@@ -47813,21 +50281,21 @@
 
 
     // $ANTLR start "rule__TemplateSignatureCS__Group_1__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15653:1: rule__TemplateSignatureCS__Group_1__2 : rule__TemplateSignatureCS__Group_1__2__Impl rule__TemplateSignatureCS__Group_1__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16671:1: rule__TemplateSignatureCS__Group_1__2 : rule__TemplateSignatureCS__Group_1__2__Impl rule__TemplateSignatureCS__Group_1__3 ;
     public final void rule__TemplateSignatureCS__Group_1__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15657:1: ( rule__TemplateSignatureCS__Group_1__2__Impl rule__TemplateSignatureCS__Group_1__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15658:2: rule__TemplateSignatureCS__Group_1__2__Impl rule__TemplateSignatureCS__Group_1__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16675:1: ( rule__TemplateSignatureCS__Group_1__2__Impl rule__TemplateSignatureCS__Group_1__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16676:2: rule__TemplateSignatureCS__Group_1__2__Impl rule__TemplateSignatureCS__Group_1__3
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_1__2__Impl_in_rule__TemplateSignatureCS__Group_1__232459);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_1__2__Impl_in_rule__TemplateSignatureCS__Group_1__234329);
             rule__TemplateSignatureCS__Group_1__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_1__3_in_rule__TemplateSignatureCS__Group_1__232462);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_1__3_in_rule__TemplateSignatureCS__Group_1__234332);
             rule__TemplateSignatureCS__Group_1__3();
 
             state._fsp--;
@@ -47851,37 +50319,37 @@
 
 
     // $ANTLR start "rule__TemplateSignatureCS__Group_1__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15665:1: rule__TemplateSignatureCS__Group_1__2__Impl : ( ( rule__TemplateSignatureCS__Group_1_2__0 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16683:1: rule__TemplateSignatureCS__Group_1__2__Impl : ( ( rule__TemplateSignatureCS__Group_1_2__0 )* ) ;
     public final void rule__TemplateSignatureCS__Group_1__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15669:1: ( ( ( rule__TemplateSignatureCS__Group_1_2__0 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15670:1: ( ( rule__TemplateSignatureCS__Group_1_2__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16687:1: ( ( ( rule__TemplateSignatureCS__Group_1_2__0 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16688:1: ( ( rule__TemplateSignatureCS__Group_1_2__0 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15670:1: ( ( rule__TemplateSignatureCS__Group_1_2__0 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15671:1: ( rule__TemplateSignatureCS__Group_1_2__0 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16688:1: ( ( rule__TemplateSignatureCS__Group_1_2__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16689:1: ( rule__TemplateSignatureCS__Group_1_2__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTemplateSignatureCSAccess().getGroup_1_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15672:1: ( rule__TemplateSignatureCS__Group_1_2__0 )*
-            loop179:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16690:1: ( rule__TemplateSignatureCS__Group_1_2__0 )*
+            loop207:
             do {
-                int alt179=2;
-                int LA179_0 = input.LA(1);
+                int alt207=2;
+                int LA207_0 = input.LA(1);
 
-                if ( (LA179_0==98) ) {
-                    alt179=1;
+                if ( (LA207_0==107) ) {
+                    alt207=1;
                 }
 
 
-                switch (alt179) {
+                switch (alt207) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15672:2: rule__TemplateSignatureCS__Group_1_2__0
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16690:2: rule__TemplateSignatureCS__Group_1_2__0
             	    {
-            	    pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_1_2__0_in_rule__TemplateSignatureCS__Group_1__2__Impl32489);
+            	    pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_1_2__0_in_rule__TemplateSignatureCS__Group_1__2__Impl34359);
             	    rule__TemplateSignatureCS__Group_1_2__0();
 
             	    state._fsp--;
@@ -47891,7 +50359,7 @@
             	    break;
 
             	default :
-            	    break loop179;
+            	    break loop207;
                 }
             } while (true);
 
@@ -47920,16 +50388,16 @@
 
 
     // $ANTLR start "rule__TemplateSignatureCS__Group_1__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15682:1: rule__TemplateSignatureCS__Group_1__3 : rule__TemplateSignatureCS__Group_1__3__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16700:1: rule__TemplateSignatureCS__Group_1__3 : rule__TemplateSignatureCS__Group_1__3__Impl ;
     public final void rule__TemplateSignatureCS__Group_1__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15686:1: ( rule__TemplateSignatureCS__Group_1__3__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15687:2: rule__TemplateSignatureCS__Group_1__3__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16704:1: ( rule__TemplateSignatureCS__Group_1__3__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16705:2: rule__TemplateSignatureCS__Group_1__3__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_1__3__Impl_in_rule__TemplateSignatureCS__Group_1__332520);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_1__3__Impl_in_rule__TemplateSignatureCS__Group_1__334390);
             rule__TemplateSignatureCS__Group_1__3__Impl();
 
             state._fsp--;
@@ -47953,22 +50421,22 @@
 
 
     // $ANTLR start "rule__TemplateSignatureCS__Group_1__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15693:1: rule__TemplateSignatureCS__Group_1__3__Impl : ( '>' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16711:1: rule__TemplateSignatureCS__Group_1__3__Impl : ( '>' ) ;
     public final void rule__TemplateSignatureCS__Group_1__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15697:1: ( ( '>' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15698:1: ( '>' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16715:1: ( ( '>' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16716:1: ( '>' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15698:1: ( '>' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15699:1: '>'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16716:1: ( '>' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16717:1: '>'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTemplateSignatureCSAccess().getGreaterThanSignKeyword_1_3()); 
             }
-            match(input,66,FollowSets001.FOLLOW_66_in_rule__TemplateSignatureCS__Group_1__3__Impl32548); if (state.failed) return ;
+            match(input,75,FollowSets001.FOLLOW_75_in_rule__TemplateSignatureCS__Group_1__3__Impl34418); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTemplateSignatureCSAccess().getGreaterThanSignKeyword_1_3()); 
             }
@@ -47994,21 +50462,21 @@
 
 
     // $ANTLR start "rule__TemplateSignatureCS__Group_1_2__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15720:1: rule__TemplateSignatureCS__Group_1_2__0 : rule__TemplateSignatureCS__Group_1_2__0__Impl rule__TemplateSignatureCS__Group_1_2__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16738:1: rule__TemplateSignatureCS__Group_1_2__0 : rule__TemplateSignatureCS__Group_1_2__0__Impl rule__TemplateSignatureCS__Group_1_2__1 ;
     public final void rule__TemplateSignatureCS__Group_1_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15724:1: ( rule__TemplateSignatureCS__Group_1_2__0__Impl rule__TemplateSignatureCS__Group_1_2__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15725:2: rule__TemplateSignatureCS__Group_1_2__0__Impl rule__TemplateSignatureCS__Group_1_2__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16742:1: ( rule__TemplateSignatureCS__Group_1_2__0__Impl rule__TemplateSignatureCS__Group_1_2__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16743:2: rule__TemplateSignatureCS__Group_1_2__0__Impl rule__TemplateSignatureCS__Group_1_2__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_1_2__0__Impl_in_rule__TemplateSignatureCS__Group_1_2__032587);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_1_2__0__Impl_in_rule__TemplateSignatureCS__Group_1_2__034457);
             rule__TemplateSignatureCS__Group_1_2__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_1_2__1_in_rule__TemplateSignatureCS__Group_1_2__032590);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_1_2__1_in_rule__TemplateSignatureCS__Group_1_2__034460);
             rule__TemplateSignatureCS__Group_1_2__1();
 
             state._fsp--;
@@ -48032,22 +50500,22 @@
 
 
     // $ANTLR start "rule__TemplateSignatureCS__Group_1_2__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15732:1: rule__TemplateSignatureCS__Group_1_2__0__Impl : ( ',' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16750:1: rule__TemplateSignatureCS__Group_1_2__0__Impl : ( ',' ) ;
     public final void rule__TemplateSignatureCS__Group_1_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15736:1: ( ( ',' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15737:1: ( ',' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16754:1: ( ( ',' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16755:1: ( ',' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15737:1: ( ',' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15738:1: ','
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16755:1: ( ',' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16756:1: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTemplateSignatureCSAccess().getCommaKeyword_1_2_0()); 
             }
-            match(input,98,FollowSets001.FOLLOW_98_in_rule__TemplateSignatureCS__Group_1_2__0__Impl32618); if (state.failed) return ;
+            match(input,107,FollowSets001.FOLLOW_107_in_rule__TemplateSignatureCS__Group_1_2__0__Impl34488); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTemplateSignatureCSAccess().getCommaKeyword_1_2_0()); 
             }
@@ -48073,16 +50541,16 @@
 
 
     // $ANTLR start "rule__TemplateSignatureCS__Group_1_2__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15751:1: rule__TemplateSignatureCS__Group_1_2__1 : rule__TemplateSignatureCS__Group_1_2__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16769:1: rule__TemplateSignatureCS__Group_1_2__1 : rule__TemplateSignatureCS__Group_1_2__1__Impl ;
     public final void rule__TemplateSignatureCS__Group_1_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15755:1: ( rule__TemplateSignatureCS__Group_1_2__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15756:2: rule__TemplateSignatureCS__Group_1_2__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16773:1: ( rule__TemplateSignatureCS__Group_1_2__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16774:2: rule__TemplateSignatureCS__Group_1_2__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_1_2__1__Impl_in_rule__TemplateSignatureCS__Group_1_2__132649);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__Group_1_2__1__Impl_in_rule__TemplateSignatureCS__Group_1_2__134519);
             rule__TemplateSignatureCS__Group_1_2__1__Impl();
 
             state._fsp--;
@@ -48106,25 +50574,25 @@
 
 
     // $ANTLR start "rule__TemplateSignatureCS__Group_1_2__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15762:1: rule__TemplateSignatureCS__Group_1_2__1__Impl : ( ( rule__TemplateSignatureCS__OwnedParametersAssignment_1_2_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16780:1: rule__TemplateSignatureCS__Group_1_2__1__Impl : ( ( rule__TemplateSignatureCS__OwnedParametersAssignment_1_2_1 ) ) ;
     public final void rule__TemplateSignatureCS__Group_1_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15766:1: ( ( ( rule__TemplateSignatureCS__OwnedParametersAssignment_1_2_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15767:1: ( ( rule__TemplateSignatureCS__OwnedParametersAssignment_1_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16784:1: ( ( ( rule__TemplateSignatureCS__OwnedParametersAssignment_1_2_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16785:1: ( ( rule__TemplateSignatureCS__OwnedParametersAssignment_1_2_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15767:1: ( ( rule__TemplateSignatureCS__OwnedParametersAssignment_1_2_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15768:1: ( rule__TemplateSignatureCS__OwnedParametersAssignment_1_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16785:1: ( ( rule__TemplateSignatureCS__OwnedParametersAssignment_1_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16786:1: ( rule__TemplateSignatureCS__OwnedParametersAssignment_1_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTemplateSignatureCSAccess().getOwnedParametersAssignment_1_2_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15769:1: ( rule__TemplateSignatureCS__OwnedParametersAssignment_1_2_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15769:2: rule__TemplateSignatureCS__OwnedParametersAssignment_1_2_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16787:1: ( rule__TemplateSignatureCS__OwnedParametersAssignment_1_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16787:2: rule__TemplateSignatureCS__OwnedParametersAssignment_1_2_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__OwnedParametersAssignment_1_2_1_in_rule__TemplateSignatureCS__Group_1_2__1__Impl32676);
+            pushFollow(FollowSets001.FOLLOW_rule__TemplateSignatureCS__OwnedParametersAssignment_1_2_1_in_rule__TemplateSignatureCS__Group_1_2__1__Impl34546);
             rule__TemplateSignatureCS__OwnedParametersAssignment_1_2_1();
 
             state._fsp--;
@@ -48157,21 +50625,21 @@
 
 
     // $ANTLR start "rule__URIPathNameCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15783:1: rule__URIPathNameCS__Group__0 : rule__URIPathNameCS__Group__0__Impl rule__URIPathNameCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16801:1: rule__URIPathNameCS__Group__0 : rule__URIPathNameCS__Group__0__Impl rule__URIPathNameCS__Group__1 ;
     public final void rule__URIPathNameCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15787:1: ( rule__URIPathNameCS__Group__0__Impl rule__URIPathNameCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15788:2: rule__URIPathNameCS__Group__0__Impl rule__URIPathNameCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16805:1: ( rule__URIPathNameCS__Group__0__Impl rule__URIPathNameCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16806:2: rule__URIPathNameCS__Group__0__Impl rule__URIPathNameCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__URIPathNameCS__Group__0__Impl_in_rule__URIPathNameCS__Group__032710);
+            pushFollow(FollowSets001.FOLLOW_rule__URIPathNameCS__Group__0__Impl_in_rule__URIPathNameCS__Group__034580);
             rule__URIPathNameCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__URIPathNameCS__Group__1_in_rule__URIPathNameCS__Group__032713);
+            pushFollow(FollowSets001.FOLLOW_rule__URIPathNameCS__Group__1_in_rule__URIPathNameCS__Group__034583);
             rule__URIPathNameCS__Group__1();
 
             state._fsp--;
@@ -48195,25 +50663,25 @@
 
 
     // $ANTLR start "rule__URIPathNameCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15795:1: rule__URIPathNameCS__Group__0__Impl : ( ( rule__URIPathNameCS__OwnedPathElementsAssignment_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16813:1: rule__URIPathNameCS__Group__0__Impl : ( ( rule__URIPathNameCS__OwnedPathElementsAssignment_0 ) ) ;
     public final void rule__URIPathNameCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15799:1: ( ( ( rule__URIPathNameCS__OwnedPathElementsAssignment_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15800:1: ( ( rule__URIPathNameCS__OwnedPathElementsAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16817:1: ( ( ( rule__URIPathNameCS__OwnedPathElementsAssignment_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16818:1: ( ( rule__URIPathNameCS__OwnedPathElementsAssignment_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15800:1: ( ( rule__URIPathNameCS__OwnedPathElementsAssignment_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15801:1: ( rule__URIPathNameCS__OwnedPathElementsAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16818:1: ( ( rule__URIPathNameCS__OwnedPathElementsAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16819:1: ( rule__URIPathNameCS__OwnedPathElementsAssignment_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getURIPathNameCSAccess().getOwnedPathElementsAssignment_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15802:1: ( rule__URIPathNameCS__OwnedPathElementsAssignment_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15802:2: rule__URIPathNameCS__OwnedPathElementsAssignment_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16820:1: ( rule__URIPathNameCS__OwnedPathElementsAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16820:2: rule__URIPathNameCS__OwnedPathElementsAssignment_0
             {
-            pushFollow(FollowSets001.FOLLOW_rule__URIPathNameCS__OwnedPathElementsAssignment_0_in_rule__URIPathNameCS__Group__0__Impl32740);
+            pushFollow(FollowSets001.FOLLOW_rule__URIPathNameCS__OwnedPathElementsAssignment_0_in_rule__URIPathNameCS__Group__0__Impl34610);
             rule__URIPathNameCS__OwnedPathElementsAssignment_0();
 
             state._fsp--;
@@ -48246,16 +50714,16 @@
 
 
     // $ANTLR start "rule__URIPathNameCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15812:1: rule__URIPathNameCS__Group__1 : rule__URIPathNameCS__Group__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16830:1: rule__URIPathNameCS__Group__1 : rule__URIPathNameCS__Group__1__Impl ;
     public final void rule__URIPathNameCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15816:1: ( rule__URIPathNameCS__Group__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15817:2: rule__URIPathNameCS__Group__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16834:1: ( rule__URIPathNameCS__Group__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16835:2: rule__URIPathNameCS__Group__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__URIPathNameCS__Group__1__Impl_in_rule__URIPathNameCS__Group__132770);
+            pushFollow(FollowSets001.FOLLOW_rule__URIPathNameCS__Group__1__Impl_in_rule__URIPathNameCS__Group__134640);
             rule__URIPathNameCS__Group__1__Impl();
 
             state._fsp--;
@@ -48279,37 +50747,37 @@
 
 
     // $ANTLR start "rule__URIPathNameCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15823:1: rule__URIPathNameCS__Group__1__Impl : ( ( rule__URIPathNameCS__Group_1__0 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16841:1: rule__URIPathNameCS__Group__1__Impl : ( ( rule__URIPathNameCS__Group_1__0 )* ) ;
     public final void rule__URIPathNameCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15827:1: ( ( ( rule__URIPathNameCS__Group_1__0 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15828:1: ( ( rule__URIPathNameCS__Group_1__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16845:1: ( ( ( rule__URIPathNameCS__Group_1__0 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16846:1: ( ( rule__URIPathNameCS__Group_1__0 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15828:1: ( ( rule__URIPathNameCS__Group_1__0 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15829:1: ( rule__URIPathNameCS__Group_1__0 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16846:1: ( ( rule__URIPathNameCS__Group_1__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16847:1: ( rule__URIPathNameCS__Group_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getURIPathNameCSAccess().getGroup_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15830:1: ( rule__URIPathNameCS__Group_1__0 )*
-            loop180:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16848:1: ( rule__URIPathNameCS__Group_1__0 )*
+            loop208:
             do {
-                int alt180=2;
-                int LA180_0 = input.LA(1);
+                int alt208=2;
+                int LA208_0 = input.LA(1);
 
-                if ( (LA180_0==102) ) {
-                    alt180=1;
+                if ( (LA208_0==111) ) {
+                    alt208=1;
                 }
 
 
-                switch (alt180) {
+                switch (alt208) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15830:2: rule__URIPathNameCS__Group_1__0
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16848:2: rule__URIPathNameCS__Group_1__0
             	    {
-            	    pushFollow(FollowSets001.FOLLOW_rule__URIPathNameCS__Group_1__0_in_rule__URIPathNameCS__Group__1__Impl32797);
+            	    pushFollow(FollowSets001.FOLLOW_rule__URIPathNameCS__Group_1__0_in_rule__URIPathNameCS__Group__1__Impl34667);
             	    rule__URIPathNameCS__Group_1__0();
 
             	    state._fsp--;
@@ -48319,7 +50787,7 @@
             	    break;
 
             	default :
-            	    break loop180;
+            	    break loop208;
                 }
             } while (true);
 
@@ -48348,21 +50816,21 @@
 
 
     // $ANTLR start "rule__URIPathNameCS__Group_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15844:1: rule__URIPathNameCS__Group_1__0 : rule__URIPathNameCS__Group_1__0__Impl rule__URIPathNameCS__Group_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16862:1: rule__URIPathNameCS__Group_1__0 : rule__URIPathNameCS__Group_1__0__Impl rule__URIPathNameCS__Group_1__1 ;
     public final void rule__URIPathNameCS__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15848:1: ( rule__URIPathNameCS__Group_1__0__Impl rule__URIPathNameCS__Group_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15849:2: rule__URIPathNameCS__Group_1__0__Impl rule__URIPathNameCS__Group_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16866:1: ( rule__URIPathNameCS__Group_1__0__Impl rule__URIPathNameCS__Group_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16867:2: rule__URIPathNameCS__Group_1__0__Impl rule__URIPathNameCS__Group_1__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__URIPathNameCS__Group_1__0__Impl_in_rule__URIPathNameCS__Group_1__032832);
+            pushFollow(FollowSets001.FOLLOW_rule__URIPathNameCS__Group_1__0__Impl_in_rule__URIPathNameCS__Group_1__034702);
             rule__URIPathNameCS__Group_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__URIPathNameCS__Group_1__1_in_rule__URIPathNameCS__Group_1__032835);
+            pushFollow(FollowSets001.FOLLOW_rule__URIPathNameCS__Group_1__1_in_rule__URIPathNameCS__Group_1__034705);
             rule__URIPathNameCS__Group_1__1();
 
             state._fsp--;
@@ -48386,22 +50854,22 @@
 
 
     // $ANTLR start "rule__URIPathNameCS__Group_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15856:1: rule__URIPathNameCS__Group_1__0__Impl : ( '::' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16874:1: rule__URIPathNameCS__Group_1__0__Impl : ( '::' ) ;
     public final void rule__URIPathNameCS__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15860:1: ( ( '::' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15861:1: ( '::' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16878:1: ( ( '::' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16879:1: ( '::' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15861:1: ( '::' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15862:1: '::'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16879:1: ( '::' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16880:1: '::'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getURIPathNameCSAccess().getColonColonKeyword_1_0()); 
             }
-            match(input,102,FollowSets001.FOLLOW_102_in_rule__URIPathNameCS__Group_1__0__Impl32863); if (state.failed) return ;
+            match(input,111,FollowSets001.FOLLOW_111_in_rule__URIPathNameCS__Group_1__0__Impl34733); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getURIPathNameCSAccess().getColonColonKeyword_1_0()); 
             }
@@ -48427,16 +50895,16 @@
 
 
     // $ANTLR start "rule__URIPathNameCS__Group_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15875:1: rule__URIPathNameCS__Group_1__1 : rule__URIPathNameCS__Group_1__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16893:1: rule__URIPathNameCS__Group_1__1 : rule__URIPathNameCS__Group_1__1__Impl ;
     public final void rule__URIPathNameCS__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15879:1: ( rule__URIPathNameCS__Group_1__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15880:2: rule__URIPathNameCS__Group_1__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16897:1: ( rule__URIPathNameCS__Group_1__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16898:2: rule__URIPathNameCS__Group_1__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__URIPathNameCS__Group_1__1__Impl_in_rule__URIPathNameCS__Group_1__132894);
+            pushFollow(FollowSets001.FOLLOW_rule__URIPathNameCS__Group_1__1__Impl_in_rule__URIPathNameCS__Group_1__134764);
             rule__URIPathNameCS__Group_1__1__Impl();
 
             state._fsp--;
@@ -48460,25 +50928,25 @@
 
 
     // $ANTLR start "rule__URIPathNameCS__Group_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15886:1: rule__URIPathNameCS__Group_1__1__Impl : ( ( rule__URIPathNameCS__OwnedPathElementsAssignment_1_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16904:1: rule__URIPathNameCS__Group_1__1__Impl : ( ( rule__URIPathNameCS__OwnedPathElementsAssignment_1_1 ) ) ;
     public final void rule__URIPathNameCS__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15890:1: ( ( ( rule__URIPathNameCS__OwnedPathElementsAssignment_1_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15891:1: ( ( rule__URIPathNameCS__OwnedPathElementsAssignment_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16908:1: ( ( ( rule__URIPathNameCS__OwnedPathElementsAssignment_1_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16909:1: ( ( rule__URIPathNameCS__OwnedPathElementsAssignment_1_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15891:1: ( ( rule__URIPathNameCS__OwnedPathElementsAssignment_1_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15892:1: ( rule__URIPathNameCS__OwnedPathElementsAssignment_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16909:1: ( ( rule__URIPathNameCS__OwnedPathElementsAssignment_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16910:1: ( rule__URIPathNameCS__OwnedPathElementsAssignment_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getURIPathNameCSAccess().getOwnedPathElementsAssignment_1_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15893:1: ( rule__URIPathNameCS__OwnedPathElementsAssignment_1_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15893:2: rule__URIPathNameCS__OwnedPathElementsAssignment_1_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16911:1: ( rule__URIPathNameCS__OwnedPathElementsAssignment_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16911:2: rule__URIPathNameCS__OwnedPathElementsAssignment_1_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__URIPathNameCS__OwnedPathElementsAssignment_1_1_in_rule__URIPathNameCS__Group_1__1__Impl32921);
+            pushFollow(FollowSets001.FOLLOW_rule__URIPathNameCS__OwnedPathElementsAssignment_1_1_in_rule__URIPathNameCS__Group_1__1__Impl34791);
             rule__URIPathNameCS__OwnedPathElementsAssignment_1_1();
 
             state._fsp--;
@@ -48511,21 +50979,21 @@
 
 
     // $ANTLR start "rule__URIFirstPathElementCS__Group_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15907:1: rule__URIFirstPathElementCS__Group_1__0 : rule__URIFirstPathElementCS__Group_1__0__Impl rule__URIFirstPathElementCS__Group_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16925:1: rule__URIFirstPathElementCS__Group_1__0 : rule__URIFirstPathElementCS__Group_1__0__Impl rule__URIFirstPathElementCS__Group_1__1 ;
     public final void rule__URIFirstPathElementCS__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15911:1: ( rule__URIFirstPathElementCS__Group_1__0__Impl rule__URIFirstPathElementCS__Group_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15912:2: rule__URIFirstPathElementCS__Group_1__0__Impl rule__URIFirstPathElementCS__Group_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16929:1: ( rule__URIFirstPathElementCS__Group_1__0__Impl rule__URIFirstPathElementCS__Group_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16930:2: rule__URIFirstPathElementCS__Group_1__0__Impl rule__URIFirstPathElementCS__Group_1__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__URIFirstPathElementCS__Group_1__0__Impl_in_rule__URIFirstPathElementCS__Group_1__032955);
+            pushFollow(FollowSets001.FOLLOW_rule__URIFirstPathElementCS__Group_1__0__Impl_in_rule__URIFirstPathElementCS__Group_1__034825);
             rule__URIFirstPathElementCS__Group_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__URIFirstPathElementCS__Group_1__1_in_rule__URIFirstPathElementCS__Group_1__032958);
+            pushFollow(FollowSets001.FOLLOW_rule__URIFirstPathElementCS__Group_1__1_in_rule__URIFirstPathElementCS__Group_1__034828);
             rule__URIFirstPathElementCS__Group_1__1();
 
             state._fsp--;
@@ -48549,23 +51017,23 @@
 
 
     // $ANTLR start "rule__URIFirstPathElementCS__Group_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15919:1: rule__URIFirstPathElementCS__Group_1__0__Impl : ( () ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16937:1: rule__URIFirstPathElementCS__Group_1__0__Impl : ( () ) ;
     public final void rule__URIFirstPathElementCS__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15923:1: ( ( () ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15924:1: ( () )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16941:1: ( ( () ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16942:1: ( () )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15924:1: ( () )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15925:1: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16942:1: ( () )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16943:1: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getURIFirstPathElementCSAccess().getPathElementWithURICSAction_1_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15926:1: ()
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15928:1: 
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16944:1: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16946:1: 
             {
             }
 
@@ -48590,16 +51058,16 @@
 
 
     // $ANTLR start "rule__URIFirstPathElementCS__Group_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15938:1: rule__URIFirstPathElementCS__Group_1__1 : rule__URIFirstPathElementCS__Group_1__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16956:1: rule__URIFirstPathElementCS__Group_1__1 : rule__URIFirstPathElementCS__Group_1__1__Impl ;
     public final void rule__URIFirstPathElementCS__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15942:1: ( rule__URIFirstPathElementCS__Group_1__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15943:2: rule__URIFirstPathElementCS__Group_1__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16960:1: ( rule__URIFirstPathElementCS__Group_1__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16961:2: rule__URIFirstPathElementCS__Group_1__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__URIFirstPathElementCS__Group_1__1__Impl_in_rule__URIFirstPathElementCS__Group_1__133016);
+            pushFollow(FollowSets001.FOLLOW_rule__URIFirstPathElementCS__Group_1__1__Impl_in_rule__URIFirstPathElementCS__Group_1__134886);
             rule__URIFirstPathElementCS__Group_1__1__Impl();
 
             state._fsp--;
@@ -48623,25 +51091,25 @@
 
 
     // $ANTLR start "rule__URIFirstPathElementCS__Group_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15949:1: rule__URIFirstPathElementCS__Group_1__1__Impl : ( ( rule__URIFirstPathElementCS__ReferredElementAssignment_1_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16967:1: rule__URIFirstPathElementCS__Group_1__1__Impl : ( ( rule__URIFirstPathElementCS__ReferredElementAssignment_1_1 ) ) ;
     public final void rule__URIFirstPathElementCS__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15953:1: ( ( ( rule__URIFirstPathElementCS__ReferredElementAssignment_1_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15954:1: ( ( rule__URIFirstPathElementCS__ReferredElementAssignment_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16971:1: ( ( ( rule__URIFirstPathElementCS__ReferredElementAssignment_1_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16972:1: ( ( rule__URIFirstPathElementCS__ReferredElementAssignment_1_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15954:1: ( ( rule__URIFirstPathElementCS__ReferredElementAssignment_1_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15955:1: ( rule__URIFirstPathElementCS__ReferredElementAssignment_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16972:1: ( ( rule__URIFirstPathElementCS__ReferredElementAssignment_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16973:1: ( rule__URIFirstPathElementCS__ReferredElementAssignment_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getURIFirstPathElementCSAccess().getReferredElementAssignment_1_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15956:1: ( rule__URIFirstPathElementCS__ReferredElementAssignment_1_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15956:2: rule__URIFirstPathElementCS__ReferredElementAssignment_1_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16974:1: ( rule__URIFirstPathElementCS__ReferredElementAssignment_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16974:2: rule__URIFirstPathElementCS__ReferredElementAssignment_1_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__URIFirstPathElementCS__ReferredElementAssignment_1_1_in_rule__URIFirstPathElementCS__Group_1__1__Impl33043);
+            pushFollow(FollowSets001.FOLLOW_rule__URIFirstPathElementCS__ReferredElementAssignment_1_1_in_rule__URIFirstPathElementCS__Group_1__1__Impl34913);
             rule__URIFirstPathElementCS__ReferredElementAssignment_1_1();
 
             state._fsp--;
@@ -48674,21 +51142,21 @@
 
 
     // $ANTLR start "rule__CollectionTypeCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15970:1: rule__CollectionTypeCS__Group__0 : rule__CollectionTypeCS__Group__0__Impl rule__CollectionTypeCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16988:1: rule__CollectionTypeCS__Group__0 : rule__CollectionTypeCS__Group__0__Impl rule__CollectionTypeCS__Group__1 ;
     public final void rule__CollectionTypeCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15974:1: ( rule__CollectionTypeCS__Group__0__Impl rule__CollectionTypeCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15975:2: rule__CollectionTypeCS__Group__0__Impl rule__CollectionTypeCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16992:1: ( rule__CollectionTypeCS__Group__0__Impl rule__CollectionTypeCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16993:2: rule__CollectionTypeCS__Group__0__Impl rule__CollectionTypeCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionTypeCS__Group__0__Impl_in_rule__CollectionTypeCS__Group__033077);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionTypeCS__Group__0__Impl_in_rule__CollectionTypeCS__Group__034947);
             rule__CollectionTypeCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionTypeCS__Group__1_in_rule__CollectionTypeCS__Group__033080);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionTypeCS__Group__1_in_rule__CollectionTypeCS__Group__034950);
             rule__CollectionTypeCS__Group__1();
 
             state._fsp--;
@@ -48712,25 +51180,25 @@
 
 
     // $ANTLR start "rule__CollectionTypeCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15982:1: rule__CollectionTypeCS__Group__0__Impl : ( ( rule__CollectionTypeCS__NameAssignment_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17000:1: rule__CollectionTypeCS__Group__0__Impl : ( ( rule__CollectionTypeCS__NameAssignment_0 ) ) ;
     public final void rule__CollectionTypeCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15986:1: ( ( ( rule__CollectionTypeCS__NameAssignment_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15987:1: ( ( rule__CollectionTypeCS__NameAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17004:1: ( ( ( rule__CollectionTypeCS__NameAssignment_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17005:1: ( ( rule__CollectionTypeCS__NameAssignment_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15987:1: ( ( rule__CollectionTypeCS__NameAssignment_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15988:1: ( rule__CollectionTypeCS__NameAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17005:1: ( ( rule__CollectionTypeCS__NameAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17006:1: ( rule__CollectionTypeCS__NameAssignment_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionTypeCSAccess().getNameAssignment_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15989:1: ( rule__CollectionTypeCS__NameAssignment_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15989:2: rule__CollectionTypeCS__NameAssignment_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17007:1: ( rule__CollectionTypeCS__NameAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17007:2: rule__CollectionTypeCS__NameAssignment_0
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionTypeCS__NameAssignment_0_in_rule__CollectionTypeCS__Group__0__Impl33107);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionTypeCS__NameAssignment_0_in_rule__CollectionTypeCS__Group__0__Impl34977);
             rule__CollectionTypeCS__NameAssignment_0();
 
             state._fsp--;
@@ -48763,16 +51231,16 @@
 
 
     // $ANTLR start "rule__CollectionTypeCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:15999:1: rule__CollectionTypeCS__Group__1 : rule__CollectionTypeCS__Group__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17017:1: rule__CollectionTypeCS__Group__1 : rule__CollectionTypeCS__Group__1__Impl ;
     public final void rule__CollectionTypeCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16003:1: ( rule__CollectionTypeCS__Group__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16004:2: rule__CollectionTypeCS__Group__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17021:1: ( rule__CollectionTypeCS__Group__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17022:2: rule__CollectionTypeCS__Group__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionTypeCS__Group__1__Impl_in_rule__CollectionTypeCS__Group__133137);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionTypeCS__Group__1__Impl_in_rule__CollectionTypeCS__Group__135007);
             rule__CollectionTypeCS__Group__1__Impl();
 
             state._fsp--;
@@ -48796,33 +51264,33 @@
 
 
     // $ANTLR start "rule__CollectionTypeCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16010:1: rule__CollectionTypeCS__Group__1__Impl : ( ( rule__CollectionTypeCS__Group_1__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17028:1: rule__CollectionTypeCS__Group__1__Impl : ( ( rule__CollectionTypeCS__Group_1__0 )? ) ;
     public final void rule__CollectionTypeCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16014:1: ( ( ( rule__CollectionTypeCS__Group_1__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16015:1: ( ( rule__CollectionTypeCS__Group_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17032:1: ( ( ( rule__CollectionTypeCS__Group_1__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17033:1: ( ( rule__CollectionTypeCS__Group_1__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16015:1: ( ( rule__CollectionTypeCS__Group_1__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16016:1: ( rule__CollectionTypeCS__Group_1__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17033:1: ( ( rule__CollectionTypeCS__Group_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17034:1: ( rule__CollectionTypeCS__Group_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionTypeCSAccess().getGroup_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16017:1: ( rule__CollectionTypeCS__Group_1__0 )?
-            int alt181=2;
-            int LA181_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17035:1: ( rule__CollectionTypeCS__Group_1__0 )?
+            int alt209=2;
+            int LA209_0 = input.LA(1);
 
-            if ( (LA181_0==95) ) {
-                alt181=1;
+            if ( (LA209_0==104) ) {
+                alt209=1;
             }
-            switch (alt181) {
+            switch (alt209) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16017:2: rule__CollectionTypeCS__Group_1__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17035:2: rule__CollectionTypeCS__Group_1__0
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__CollectionTypeCS__Group_1__0_in_rule__CollectionTypeCS__Group__1__Impl33164);
+                    pushFollow(FollowSets001.FOLLOW_rule__CollectionTypeCS__Group_1__0_in_rule__CollectionTypeCS__Group__1__Impl35034);
                     rule__CollectionTypeCS__Group_1__0();
 
                     state._fsp--;
@@ -48858,21 +51326,21 @@
 
 
     // $ANTLR start "rule__CollectionTypeCS__Group_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16031:1: rule__CollectionTypeCS__Group_1__0 : rule__CollectionTypeCS__Group_1__0__Impl rule__CollectionTypeCS__Group_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17049:1: rule__CollectionTypeCS__Group_1__0 : rule__CollectionTypeCS__Group_1__0__Impl rule__CollectionTypeCS__Group_1__1 ;
     public final void rule__CollectionTypeCS__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16035:1: ( rule__CollectionTypeCS__Group_1__0__Impl rule__CollectionTypeCS__Group_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16036:2: rule__CollectionTypeCS__Group_1__0__Impl rule__CollectionTypeCS__Group_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17053:1: ( rule__CollectionTypeCS__Group_1__0__Impl rule__CollectionTypeCS__Group_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17054:2: rule__CollectionTypeCS__Group_1__0__Impl rule__CollectionTypeCS__Group_1__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionTypeCS__Group_1__0__Impl_in_rule__CollectionTypeCS__Group_1__033199);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionTypeCS__Group_1__0__Impl_in_rule__CollectionTypeCS__Group_1__035069);
             rule__CollectionTypeCS__Group_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionTypeCS__Group_1__1_in_rule__CollectionTypeCS__Group_1__033202);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionTypeCS__Group_1__1_in_rule__CollectionTypeCS__Group_1__035072);
             rule__CollectionTypeCS__Group_1__1();
 
             state._fsp--;
@@ -48896,22 +51364,22 @@
 
 
     // $ANTLR start "rule__CollectionTypeCS__Group_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16043:1: rule__CollectionTypeCS__Group_1__0__Impl : ( '(' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17061:1: rule__CollectionTypeCS__Group_1__0__Impl : ( '(' ) ;
     public final void rule__CollectionTypeCS__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16047:1: ( ( '(' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16048:1: ( '(' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17065:1: ( ( '(' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17066:1: ( '(' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16048:1: ( '(' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16049:1: '('
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17066:1: ( '(' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17067:1: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionTypeCSAccess().getLeftParenthesisKeyword_1_0()); 
             }
-            match(input,95,FollowSets001.FOLLOW_95_in_rule__CollectionTypeCS__Group_1__0__Impl33230); if (state.failed) return ;
+            match(input,104,FollowSets001.FOLLOW_104_in_rule__CollectionTypeCS__Group_1__0__Impl35100); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getCollectionTypeCSAccess().getLeftParenthesisKeyword_1_0()); 
             }
@@ -48937,21 +51405,21 @@
 
 
     // $ANTLR start "rule__CollectionTypeCS__Group_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16062:1: rule__CollectionTypeCS__Group_1__1 : rule__CollectionTypeCS__Group_1__1__Impl rule__CollectionTypeCS__Group_1__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17080:1: rule__CollectionTypeCS__Group_1__1 : rule__CollectionTypeCS__Group_1__1__Impl rule__CollectionTypeCS__Group_1__2 ;
     public final void rule__CollectionTypeCS__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16066:1: ( rule__CollectionTypeCS__Group_1__1__Impl rule__CollectionTypeCS__Group_1__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16067:2: rule__CollectionTypeCS__Group_1__1__Impl rule__CollectionTypeCS__Group_1__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17084:1: ( rule__CollectionTypeCS__Group_1__1__Impl rule__CollectionTypeCS__Group_1__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17085:2: rule__CollectionTypeCS__Group_1__1__Impl rule__CollectionTypeCS__Group_1__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionTypeCS__Group_1__1__Impl_in_rule__CollectionTypeCS__Group_1__133261);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionTypeCS__Group_1__1__Impl_in_rule__CollectionTypeCS__Group_1__135131);
             rule__CollectionTypeCS__Group_1__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionTypeCS__Group_1__2_in_rule__CollectionTypeCS__Group_1__133264);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionTypeCS__Group_1__2_in_rule__CollectionTypeCS__Group_1__135134);
             rule__CollectionTypeCS__Group_1__2();
 
             state._fsp--;
@@ -48975,25 +51443,25 @@
 
 
     // $ANTLR start "rule__CollectionTypeCS__Group_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16074:1: rule__CollectionTypeCS__Group_1__1__Impl : ( ( rule__CollectionTypeCS__OwnedTypeAssignment_1_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17092:1: rule__CollectionTypeCS__Group_1__1__Impl : ( ( rule__CollectionTypeCS__OwnedTypeAssignment_1_1 ) ) ;
     public final void rule__CollectionTypeCS__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16078:1: ( ( ( rule__CollectionTypeCS__OwnedTypeAssignment_1_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16079:1: ( ( rule__CollectionTypeCS__OwnedTypeAssignment_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17096:1: ( ( ( rule__CollectionTypeCS__OwnedTypeAssignment_1_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17097:1: ( ( rule__CollectionTypeCS__OwnedTypeAssignment_1_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16079:1: ( ( rule__CollectionTypeCS__OwnedTypeAssignment_1_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16080:1: ( rule__CollectionTypeCS__OwnedTypeAssignment_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17097:1: ( ( rule__CollectionTypeCS__OwnedTypeAssignment_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17098:1: ( rule__CollectionTypeCS__OwnedTypeAssignment_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionTypeCSAccess().getOwnedTypeAssignment_1_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16081:1: ( rule__CollectionTypeCS__OwnedTypeAssignment_1_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16081:2: rule__CollectionTypeCS__OwnedTypeAssignment_1_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17099:1: ( rule__CollectionTypeCS__OwnedTypeAssignment_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17099:2: rule__CollectionTypeCS__OwnedTypeAssignment_1_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionTypeCS__OwnedTypeAssignment_1_1_in_rule__CollectionTypeCS__Group_1__1__Impl33291);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionTypeCS__OwnedTypeAssignment_1_1_in_rule__CollectionTypeCS__Group_1__1__Impl35161);
             rule__CollectionTypeCS__OwnedTypeAssignment_1_1();
 
             state._fsp--;
@@ -49026,16 +51494,16 @@
 
 
     // $ANTLR start "rule__CollectionTypeCS__Group_1__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16091:1: rule__CollectionTypeCS__Group_1__2 : rule__CollectionTypeCS__Group_1__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17109:1: rule__CollectionTypeCS__Group_1__2 : rule__CollectionTypeCS__Group_1__2__Impl ;
     public final void rule__CollectionTypeCS__Group_1__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16095:1: ( rule__CollectionTypeCS__Group_1__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16096:2: rule__CollectionTypeCS__Group_1__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17113:1: ( rule__CollectionTypeCS__Group_1__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17114:2: rule__CollectionTypeCS__Group_1__2__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionTypeCS__Group_1__2__Impl_in_rule__CollectionTypeCS__Group_1__233321);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionTypeCS__Group_1__2__Impl_in_rule__CollectionTypeCS__Group_1__235191);
             rule__CollectionTypeCS__Group_1__2__Impl();
 
             state._fsp--;
@@ -49059,22 +51527,22 @@
 
 
     // $ANTLR start "rule__CollectionTypeCS__Group_1__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16102:1: rule__CollectionTypeCS__Group_1__2__Impl : ( ')' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17120:1: rule__CollectionTypeCS__Group_1__2__Impl : ( ')' ) ;
     public final void rule__CollectionTypeCS__Group_1__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16106:1: ( ( ')' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16107:1: ( ')' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17124:1: ( ( ')' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17125:1: ( ')' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16107:1: ( ')' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16108:1: ')'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17125:1: ( ')' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17126:1: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionTypeCSAccess().getRightParenthesisKeyword_1_2()); 
             }
-            match(input,96,FollowSets001.FOLLOW_96_in_rule__CollectionTypeCS__Group_1__2__Impl33349); if (state.failed) return ;
+            match(input,105,FollowSets001.FOLLOW_105_in_rule__CollectionTypeCS__Group_1__2__Impl35219); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getCollectionTypeCSAccess().getRightParenthesisKeyword_1_2()); 
             }
@@ -49100,21 +51568,21 @@
 
 
     // $ANTLR start "rule__TupleTypeCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16127:1: rule__TupleTypeCS__Group__0 : rule__TupleTypeCS__Group__0__Impl rule__TupleTypeCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17145:1: rule__TupleTypeCS__Group__0 : rule__TupleTypeCS__Group__0__Impl rule__TupleTypeCS__Group__1 ;
     public final void rule__TupleTypeCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16131:1: ( rule__TupleTypeCS__Group__0__Impl rule__TupleTypeCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16132:2: rule__TupleTypeCS__Group__0__Impl rule__TupleTypeCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17149:1: ( rule__TupleTypeCS__Group__0__Impl rule__TupleTypeCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17150:2: rule__TupleTypeCS__Group__0__Impl rule__TupleTypeCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__Group__0__Impl_in_rule__TupleTypeCS__Group__033386);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__Group__0__Impl_in_rule__TupleTypeCS__Group__035256);
             rule__TupleTypeCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__Group__1_in_rule__TupleTypeCS__Group__033389);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__Group__1_in_rule__TupleTypeCS__Group__035259);
             rule__TupleTypeCS__Group__1();
 
             state._fsp--;
@@ -49138,25 +51606,25 @@
 
 
     // $ANTLR start "rule__TupleTypeCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16139:1: rule__TupleTypeCS__Group__0__Impl : ( ( rule__TupleTypeCS__NameAssignment_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17157:1: rule__TupleTypeCS__Group__0__Impl : ( ( rule__TupleTypeCS__NameAssignment_0 ) ) ;
     public final void rule__TupleTypeCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16143:1: ( ( ( rule__TupleTypeCS__NameAssignment_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16144:1: ( ( rule__TupleTypeCS__NameAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17161:1: ( ( ( rule__TupleTypeCS__NameAssignment_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17162:1: ( ( rule__TupleTypeCS__NameAssignment_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16144:1: ( ( rule__TupleTypeCS__NameAssignment_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16145:1: ( rule__TupleTypeCS__NameAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17162:1: ( ( rule__TupleTypeCS__NameAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17163:1: ( rule__TupleTypeCS__NameAssignment_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTupleTypeCSAccess().getNameAssignment_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16146:1: ( rule__TupleTypeCS__NameAssignment_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16146:2: rule__TupleTypeCS__NameAssignment_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17164:1: ( rule__TupleTypeCS__NameAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17164:2: rule__TupleTypeCS__NameAssignment_0
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__NameAssignment_0_in_rule__TupleTypeCS__Group__0__Impl33416);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__NameAssignment_0_in_rule__TupleTypeCS__Group__0__Impl35286);
             rule__TupleTypeCS__NameAssignment_0();
 
             state._fsp--;
@@ -49189,16 +51657,16 @@
 
 
     // $ANTLR start "rule__TupleTypeCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16156:1: rule__TupleTypeCS__Group__1 : rule__TupleTypeCS__Group__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17174:1: rule__TupleTypeCS__Group__1 : rule__TupleTypeCS__Group__1__Impl ;
     public final void rule__TupleTypeCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16160:1: ( rule__TupleTypeCS__Group__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16161:2: rule__TupleTypeCS__Group__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17178:1: ( rule__TupleTypeCS__Group__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17179:2: rule__TupleTypeCS__Group__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__Group__1__Impl_in_rule__TupleTypeCS__Group__133446);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__Group__1__Impl_in_rule__TupleTypeCS__Group__135316);
             rule__TupleTypeCS__Group__1__Impl();
 
             state._fsp--;
@@ -49222,33 +51690,33 @@
 
 
     // $ANTLR start "rule__TupleTypeCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16167:1: rule__TupleTypeCS__Group__1__Impl : ( ( rule__TupleTypeCS__Group_1__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17185:1: rule__TupleTypeCS__Group__1__Impl : ( ( rule__TupleTypeCS__Group_1__0 )? ) ;
     public final void rule__TupleTypeCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16171:1: ( ( ( rule__TupleTypeCS__Group_1__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16172:1: ( ( rule__TupleTypeCS__Group_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17189:1: ( ( ( rule__TupleTypeCS__Group_1__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17190:1: ( ( rule__TupleTypeCS__Group_1__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16172:1: ( ( rule__TupleTypeCS__Group_1__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16173:1: ( rule__TupleTypeCS__Group_1__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17190:1: ( ( rule__TupleTypeCS__Group_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17191:1: ( rule__TupleTypeCS__Group_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTupleTypeCSAccess().getGroup_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16174:1: ( rule__TupleTypeCS__Group_1__0 )?
-            int alt182=2;
-            int LA182_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17192:1: ( rule__TupleTypeCS__Group_1__0 )?
+            int alt210=2;
+            int LA210_0 = input.LA(1);
 
-            if ( (LA182_0==95) ) {
-                alt182=1;
+            if ( (LA210_0==104) ) {
+                alt210=1;
             }
-            switch (alt182) {
+            switch (alt210) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16174:2: rule__TupleTypeCS__Group_1__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17192:2: rule__TupleTypeCS__Group_1__0
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__Group_1__0_in_rule__TupleTypeCS__Group__1__Impl33473);
+                    pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__Group_1__0_in_rule__TupleTypeCS__Group__1__Impl35343);
                     rule__TupleTypeCS__Group_1__0();
 
                     state._fsp--;
@@ -49284,21 +51752,21 @@
 
 
     // $ANTLR start "rule__TupleTypeCS__Group_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16188:1: rule__TupleTypeCS__Group_1__0 : rule__TupleTypeCS__Group_1__0__Impl rule__TupleTypeCS__Group_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17206:1: rule__TupleTypeCS__Group_1__0 : rule__TupleTypeCS__Group_1__0__Impl rule__TupleTypeCS__Group_1__1 ;
     public final void rule__TupleTypeCS__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16192:1: ( rule__TupleTypeCS__Group_1__0__Impl rule__TupleTypeCS__Group_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16193:2: rule__TupleTypeCS__Group_1__0__Impl rule__TupleTypeCS__Group_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17210:1: ( rule__TupleTypeCS__Group_1__0__Impl rule__TupleTypeCS__Group_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17211:2: rule__TupleTypeCS__Group_1__0__Impl rule__TupleTypeCS__Group_1__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__Group_1__0__Impl_in_rule__TupleTypeCS__Group_1__033508);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__Group_1__0__Impl_in_rule__TupleTypeCS__Group_1__035378);
             rule__TupleTypeCS__Group_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__Group_1__1_in_rule__TupleTypeCS__Group_1__033511);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__Group_1__1_in_rule__TupleTypeCS__Group_1__035381);
             rule__TupleTypeCS__Group_1__1();
 
             state._fsp--;
@@ -49322,22 +51790,22 @@
 
 
     // $ANTLR start "rule__TupleTypeCS__Group_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16200:1: rule__TupleTypeCS__Group_1__0__Impl : ( '(' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17218:1: rule__TupleTypeCS__Group_1__0__Impl : ( '(' ) ;
     public final void rule__TupleTypeCS__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16204:1: ( ( '(' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16205:1: ( '(' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17222:1: ( ( '(' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17223:1: ( '(' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16205:1: ( '(' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16206:1: '('
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17223:1: ( '(' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17224:1: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTupleTypeCSAccess().getLeftParenthesisKeyword_1_0()); 
             }
-            match(input,95,FollowSets001.FOLLOW_95_in_rule__TupleTypeCS__Group_1__0__Impl33539); if (state.failed) return ;
+            match(input,104,FollowSets001.FOLLOW_104_in_rule__TupleTypeCS__Group_1__0__Impl35409); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTupleTypeCSAccess().getLeftParenthesisKeyword_1_0()); 
             }
@@ -49363,21 +51831,21 @@
 
 
     // $ANTLR start "rule__TupleTypeCS__Group_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16219:1: rule__TupleTypeCS__Group_1__1 : rule__TupleTypeCS__Group_1__1__Impl rule__TupleTypeCS__Group_1__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17237:1: rule__TupleTypeCS__Group_1__1 : rule__TupleTypeCS__Group_1__1__Impl rule__TupleTypeCS__Group_1__2 ;
     public final void rule__TupleTypeCS__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16223:1: ( rule__TupleTypeCS__Group_1__1__Impl rule__TupleTypeCS__Group_1__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16224:2: rule__TupleTypeCS__Group_1__1__Impl rule__TupleTypeCS__Group_1__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17241:1: ( rule__TupleTypeCS__Group_1__1__Impl rule__TupleTypeCS__Group_1__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17242:2: rule__TupleTypeCS__Group_1__1__Impl rule__TupleTypeCS__Group_1__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__Group_1__1__Impl_in_rule__TupleTypeCS__Group_1__133570);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__Group_1__1__Impl_in_rule__TupleTypeCS__Group_1__135440);
             rule__TupleTypeCS__Group_1__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__Group_1__2_in_rule__TupleTypeCS__Group_1__133573);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__Group_1__2_in_rule__TupleTypeCS__Group_1__135443);
             rule__TupleTypeCS__Group_1__2();
 
             state._fsp--;
@@ -49401,33 +51869,33 @@
 
 
     // $ANTLR start "rule__TupleTypeCS__Group_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16231:1: rule__TupleTypeCS__Group_1__1__Impl : ( ( rule__TupleTypeCS__Group_1_1__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17249:1: rule__TupleTypeCS__Group_1__1__Impl : ( ( rule__TupleTypeCS__Group_1_1__0 )? ) ;
     public final void rule__TupleTypeCS__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16235:1: ( ( ( rule__TupleTypeCS__Group_1_1__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16236:1: ( ( rule__TupleTypeCS__Group_1_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17253:1: ( ( ( rule__TupleTypeCS__Group_1_1__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17254:1: ( ( rule__TupleTypeCS__Group_1_1__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16236:1: ( ( rule__TupleTypeCS__Group_1_1__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16237:1: ( rule__TupleTypeCS__Group_1_1__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17254:1: ( ( rule__TupleTypeCS__Group_1_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17255:1: ( rule__TupleTypeCS__Group_1_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTupleTypeCSAccess().getGroup_1_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16238:1: ( rule__TupleTypeCS__Group_1_1__0 )?
-            int alt183=2;
-            int LA183_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17256:1: ( rule__TupleTypeCS__Group_1_1__0 )?
+            int alt211=2;
+            int LA211_0 = input.LA(1);
 
-            if ( ((LA183_0>=RULE_SIMPLE_ID && LA183_0<=RULE_ESCAPED_ID)||(LA183_0>=17 && LA183_0<=52)||(LA183_0>=55 && LA183_0<=60)) ) {
-                alt183=1;
+            if ( ((LA211_0>=RULE_SIMPLE_ID && LA211_0<=RULE_ESCAPED_ID)||(LA211_0>=17 && LA211_0<=52)||(LA211_0>=64 && LA211_0<=69)) ) {
+                alt211=1;
             }
-            switch (alt183) {
+            switch (alt211) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16238:2: rule__TupleTypeCS__Group_1_1__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17256:2: rule__TupleTypeCS__Group_1_1__0
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__Group_1_1__0_in_rule__TupleTypeCS__Group_1__1__Impl33600);
+                    pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__Group_1_1__0_in_rule__TupleTypeCS__Group_1__1__Impl35470);
                     rule__TupleTypeCS__Group_1_1__0();
 
                     state._fsp--;
@@ -49463,16 +51931,16 @@
 
 
     // $ANTLR start "rule__TupleTypeCS__Group_1__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16248:1: rule__TupleTypeCS__Group_1__2 : rule__TupleTypeCS__Group_1__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17266:1: rule__TupleTypeCS__Group_1__2 : rule__TupleTypeCS__Group_1__2__Impl ;
     public final void rule__TupleTypeCS__Group_1__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16252:1: ( rule__TupleTypeCS__Group_1__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16253:2: rule__TupleTypeCS__Group_1__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17270:1: ( rule__TupleTypeCS__Group_1__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17271:2: rule__TupleTypeCS__Group_1__2__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__Group_1__2__Impl_in_rule__TupleTypeCS__Group_1__233631);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__Group_1__2__Impl_in_rule__TupleTypeCS__Group_1__235501);
             rule__TupleTypeCS__Group_1__2__Impl();
 
             state._fsp--;
@@ -49496,22 +51964,22 @@
 
 
     // $ANTLR start "rule__TupleTypeCS__Group_1__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16259:1: rule__TupleTypeCS__Group_1__2__Impl : ( ')' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17277:1: rule__TupleTypeCS__Group_1__2__Impl : ( ')' ) ;
     public final void rule__TupleTypeCS__Group_1__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16263:1: ( ( ')' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16264:1: ( ')' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17281:1: ( ( ')' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17282:1: ( ')' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16264:1: ( ')' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16265:1: ')'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17282:1: ( ')' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17283:1: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTupleTypeCSAccess().getRightParenthesisKeyword_1_2()); 
             }
-            match(input,96,FollowSets001.FOLLOW_96_in_rule__TupleTypeCS__Group_1__2__Impl33659); if (state.failed) return ;
+            match(input,105,FollowSets001.FOLLOW_105_in_rule__TupleTypeCS__Group_1__2__Impl35529); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTupleTypeCSAccess().getRightParenthesisKeyword_1_2()); 
             }
@@ -49537,21 +52005,21 @@
 
 
     // $ANTLR start "rule__TupleTypeCS__Group_1_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16284:1: rule__TupleTypeCS__Group_1_1__0 : rule__TupleTypeCS__Group_1_1__0__Impl rule__TupleTypeCS__Group_1_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17302:1: rule__TupleTypeCS__Group_1_1__0 : rule__TupleTypeCS__Group_1_1__0__Impl rule__TupleTypeCS__Group_1_1__1 ;
     public final void rule__TupleTypeCS__Group_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16288:1: ( rule__TupleTypeCS__Group_1_1__0__Impl rule__TupleTypeCS__Group_1_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16289:2: rule__TupleTypeCS__Group_1_1__0__Impl rule__TupleTypeCS__Group_1_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17306:1: ( rule__TupleTypeCS__Group_1_1__0__Impl rule__TupleTypeCS__Group_1_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17307:2: rule__TupleTypeCS__Group_1_1__0__Impl rule__TupleTypeCS__Group_1_1__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__Group_1_1__0__Impl_in_rule__TupleTypeCS__Group_1_1__033696);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__Group_1_1__0__Impl_in_rule__TupleTypeCS__Group_1_1__035566);
             rule__TupleTypeCS__Group_1_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__Group_1_1__1_in_rule__TupleTypeCS__Group_1_1__033699);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__Group_1_1__1_in_rule__TupleTypeCS__Group_1_1__035569);
             rule__TupleTypeCS__Group_1_1__1();
 
             state._fsp--;
@@ -49575,25 +52043,25 @@
 
 
     // $ANTLR start "rule__TupleTypeCS__Group_1_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16296:1: rule__TupleTypeCS__Group_1_1__0__Impl : ( ( rule__TupleTypeCS__OwnedPartsAssignment_1_1_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17314:1: rule__TupleTypeCS__Group_1_1__0__Impl : ( ( rule__TupleTypeCS__OwnedPartsAssignment_1_1_0 ) ) ;
     public final void rule__TupleTypeCS__Group_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16300:1: ( ( ( rule__TupleTypeCS__OwnedPartsAssignment_1_1_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16301:1: ( ( rule__TupleTypeCS__OwnedPartsAssignment_1_1_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17318:1: ( ( ( rule__TupleTypeCS__OwnedPartsAssignment_1_1_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17319:1: ( ( rule__TupleTypeCS__OwnedPartsAssignment_1_1_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16301:1: ( ( rule__TupleTypeCS__OwnedPartsAssignment_1_1_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16302:1: ( rule__TupleTypeCS__OwnedPartsAssignment_1_1_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17319:1: ( ( rule__TupleTypeCS__OwnedPartsAssignment_1_1_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17320:1: ( rule__TupleTypeCS__OwnedPartsAssignment_1_1_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTupleTypeCSAccess().getOwnedPartsAssignment_1_1_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16303:1: ( rule__TupleTypeCS__OwnedPartsAssignment_1_1_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16303:2: rule__TupleTypeCS__OwnedPartsAssignment_1_1_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17321:1: ( rule__TupleTypeCS__OwnedPartsAssignment_1_1_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17321:2: rule__TupleTypeCS__OwnedPartsAssignment_1_1_0
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__OwnedPartsAssignment_1_1_0_in_rule__TupleTypeCS__Group_1_1__0__Impl33726);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__OwnedPartsAssignment_1_1_0_in_rule__TupleTypeCS__Group_1_1__0__Impl35596);
             rule__TupleTypeCS__OwnedPartsAssignment_1_1_0();
 
             state._fsp--;
@@ -49626,16 +52094,16 @@
 
 
     // $ANTLR start "rule__TupleTypeCS__Group_1_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16313:1: rule__TupleTypeCS__Group_1_1__1 : rule__TupleTypeCS__Group_1_1__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17331:1: rule__TupleTypeCS__Group_1_1__1 : rule__TupleTypeCS__Group_1_1__1__Impl ;
     public final void rule__TupleTypeCS__Group_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16317:1: ( rule__TupleTypeCS__Group_1_1__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16318:2: rule__TupleTypeCS__Group_1_1__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17335:1: ( rule__TupleTypeCS__Group_1_1__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17336:2: rule__TupleTypeCS__Group_1_1__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__Group_1_1__1__Impl_in_rule__TupleTypeCS__Group_1_1__133756);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__Group_1_1__1__Impl_in_rule__TupleTypeCS__Group_1_1__135626);
             rule__TupleTypeCS__Group_1_1__1__Impl();
 
             state._fsp--;
@@ -49659,37 +52127,37 @@
 
 
     // $ANTLR start "rule__TupleTypeCS__Group_1_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16324:1: rule__TupleTypeCS__Group_1_1__1__Impl : ( ( rule__TupleTypeCS__Group_1_1_1__0 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17342:1: rule__TupleTypeCS__Group_1_1__1__Impl : ( ( rule__TupleTypeCS__Group_1_1_1__0 )* ) ;
     public final void rule__TupleTypeCS__Group_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16328:1: ( ( ( rule__TupleTypeCS__Group_1_1_1__0 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16329:1: ( ( rule__TupleTypeCS__Group_1_1_1__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17346:1: ( ( ( rule__TupleTypeCS__Group_1_1_1__0 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17347:1: ( ( rule__TupleTypeCS__Group_1_1_1__0 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16329:1: ( ( rule__TupleTypeCS__Group_1_1_1__0 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16330:1: ( rule__TupleTypeCS__Group_1_1_1__0 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17347:1: ( ( rule__TupleTypeCS__Group_1_1_1__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17348:1: ( rule__TupleTypeCS__Group_1_1_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTupleTypeCSAccess().getGroup_1_1_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16331:1: ( rule__TupleTypeCS__Group_1_1_1__0 )*
-            loop184:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17349:1: ( rule__TupleTypeCS__Group_1_1_1__0 )*
+            loop212:
             do {
-                int alt184=2;
-                int LA184_0 = input.LA(1);
+                int alt212=2;
+                int LA212_0 = input.LA(1);
 
-                if ( (LA184_0==98) ) {
-                    alt184=1;
+                if ( (LA212_0==107) ) {
+                    alt212=1;
                 }
 
 
-                switch (alt184) {
+                switch (alt212) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16331:2: rule__TupleTypeCS__Group_1_1_1__0
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17349:2: rule__TupleTypeCS__Group_1_1_1__0
             	    {
-            	    pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__Group_1_1_1__0_in_rule__TupleTypeCS__Group_1_1__1__Impl33783);
+            	    pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__Group_1_1_1__0_in_rule__TupleTypeCS__Group_1_1__1__Impl35653);
             	    rule__TupleTypeCS__Group_1_1_1__0();
 
             	    state._fsp--;
@@ -49699,7 +52167,7 @@
             	    break;
 
             	default :
-            	    break loop184;
+            	    break loop212;
                 }
             } while (true);
 
@@ -49728,21 +52196,21 @@
 
 
     // $ANTLR start "rule__TupleTypeCS__Group_1_1_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16345:1: rule__TupleTypeCS__Group_1_1_1__0 : rule__TupleTypeCS__Group_1_1_1__0__Impl rule__TupleTypeCS__Group_1_1_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17363:1: rule__TupleTypeCS__Group_1_1_1__0 : rule__TupleTypeCS__Group_1_1_1__0__Impl rule__TupleTypeCS__Group_1_1_1__1 ;
     public final void rule__TupleTypeCS__Group_1_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16349:1: ( rule__TupleTypeCS__Group_1_1_1__0__Impl rule__TupleTypeCS__Group_1_1_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16350:2: rule__TupleTypeCS__Group_1_1_1__0__Impl rule__TupleTypeCS__Group_1_1_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17367:1: ( rule__TupleTypeCS__Group_1_1_1__0__Impl rule__TupleTypeCS__Group_1_1_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17368:2: rule__TupleTypeCS__Group_1_1_1__0__Impl rule__TupleTypeCS__Group_1_1_1__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__Group_1_1_1__0__Impl_in_rule__TupleTypeCS__Group_1_1_1__033818);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__Group_1_1_1__0__Impl_in_rule__TupleTypeCS__Group_1_1_1__035688);
             rule__TupleTypeCS__Group_1_1_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__Group_1_1_1__1_in_rule__TupleTypeCS__Group_1_1_1__033821);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__Group_1_1_1__1_in_rule__TupleTypeCS__Group_1_1_1__035691);
             rule__TupleTypeCS__Group_1_1_1__1();
 
             state._fsp--;
@@ -49766,22 +52234,22 @@
 
 
     // $ANTLR start "rule__TupleTypeCS__Group_1_1_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16357:1: rule__TupleTypeCS__Group_1_1_1__0__Impl : ( ',' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17375:1: rule__TupleTypeCS__Group_1_1_1__0__Impl : ( ',' ) ;
     public final void rule__TupleTypeCS__Group_1_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16361:1: ( ( ',' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16362:1: ( ',' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17379:1: ( ( ',' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17380:1: ( ',' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16362:1: ( ',' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16363:1: ','
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17380:1: ( ',' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17381:1: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTupleTypeCSAccess().getCommaKeyword_1_1_1_0()); 
             }
-            match(input,98,FollowSets001.FOLLOW_98_in_rule__TupleTypeCS__Group_1_1_1__0__Impl33849); if (state.failed) return ;
+            match(input,107,FollowSets001.FOLLOW_107_in_rule__TupleTypeCS__Group_1_1_1__0__Impl35719); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTupleTypeCSAccess().getCommaKeyword_1_1_1_0()); 
             }
@@ -49807,16 +52275,16 @@
 
 
     // $ANTLR start "rule__TupleTypeCS__Group_1_1_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16376:1: rule__TupleTypeCS__Group_1_1_1__1 : rule__TupleTypeCS__Group_1_1_1__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17394:1: rule__TupleTypeCS__Group_1_1_1__1 : rule__TupleTypeCS__Group_1_1_1__1__Impl ;
     public final void rule__TupleTypeCS__Group_1_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16380:1: ( rule__TupleTypeCS__Group_1_1_1__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16381:2: rule__TupleTypeCS__Group_1_1_1__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17398:1: ( rule__TupleTypeCS__Group_1_1_1__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17399:2: rule__TupleTypeCS__Group_1_1_1__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__Group_1_1_1__1__Impl_in_rule__TupleTypeCS__Group_1_1_1__133880);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__Group_1_1_1__1__Impl_in_rule__TupleTypeCS__Group_1_1_1__135750);
             rule__TupleTypeCS__Group_1_1_1__1__Impl();
 
             state._fsp--;
@@ -49840,25 +52308,25 @@
 
 
     // $ANTLR start "rule__TupleTypeCS__Group_1_1_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16387:1: rule__TupleTypeCS__Group_1_1_1__1__Impl : ( ( rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17405:1: rule__TupleTypeCS__Group_1_1_1__1__Impl : ( ( rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1 ) ) ;
     public final void rule__TupleTypeCS__Group_1_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16391:1: ( ( ( rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16392:1: ( ( rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17409:1: ( ( ( rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17410:1: ( ( rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16392:1: ( ( rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16393:1: ( rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17410:1: ( ( rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17411:1: ( rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTupleTypeCSAccess().getOwnedPartsAssignment_1_1_1_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16394:1: ( rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16394:2: rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17412:1: ( rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17412:2: rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1_in_rule__TupleTypeCS__Group_1_1_1__1__Impl33907);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1_in_rule__TupleTypeCS__Group_1_1_1__1__Impl35777);
             rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1();
 
             state._fsp--;
@@ -49891,21 +52359,21 @@
 
 
     // $ANTLR start "rule__TuplePartCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16408:1: rule__TuplePartCS__Group__0 : rule__TuplePartCS__Group__0__Impl rule__TuplePartCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17426:1: rule__TuplePartCS__Group__0 : rule__TuplePartCS__Group__0__Impl rule__TuplePartCS__Group__1 ;
     public final void rule__TuplePartCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16412:1: ( rule__TuplePartCS__Group__0__Impl rule__TuplePartCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16413:2: rule__TuplePartCS__Group__0__Impl rule__TuplePartCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17430:1: ( rule__TuplePartCS__Group__0__Impl rule__TuplePartCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17431:2: rule__TuplePartCS__Group__0__Impl rule__TuplePartCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TuplePartCS__Group__0__Impl_in_rule__TuplePartCS__Group__033941);
+            pushFollow(FollowSets001.FOLLOW_rule__TuplePartCS__Group__0__Impl_in_rule__TuplePartCS__Group__035811);
             rule__TuplePartCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__TuplePartCS__Group__1_in_rule__TuplePartCS__Group__033944);
+            pushFollow(FollowSets001.FOLLOW_rule__TuplePartCS__Group__1_in_rule__TuplePartCS__Group__035814);
             rule__TuplePartCS__Group__1();
 
             state._fsp--;
@@ -49929,25 +52397,25 @@
 
 
     // $ANTLR start "rule__TuplePartCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16420:1: rule__TuplePartCS__Group__0__Impl : ( ( rule__TuplePartCS__NameAssignment_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17438:1: rule__TuplePartCS__Group__0__Impl : ( ( rule__TuplePartCS__NameAssignment_0 ) ) ;
     public final void rule__TuplePartCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16424:1: ( ( ( rule__TuplePartCS__NameAssignment_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16425:1: ( ( rule__TuplePartCS__NameAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17442:1: ( ( ( rule__TuplePartCS__NameAssignment_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17443:1: ( ( rule__TuplePartCS__NameAssignment_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16425:1: ( ( rule__TuplePartCS__NameAssignment_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16426:1: ( rule__TuplePartCS__NameAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17443:1: ( ( rule__TuplePartCS__NameAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17444:1: ( rule__TuplePartCS__NameAssignment_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTuplePartCSAccess().getNameAssignment_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16427:1: ( rule__TuplePartCS__NameAssignment_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16427:2: rule__TuplePartCS__NameAssignment_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17445:1: ( rule__TuplePartCS__NameAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17445:2: rule__TuplePartCS__NameAssignment_0
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TuplePartCS__NameAssignment_0_in_rule__TuplePartCS__Group__0__Impl33971);
+            pushFollow(FollowSets001.FOLLOW_rule__TuplePartCS__NameAssignment_0_in_rule__TuplePartCS__Group__0__Impl35841);
             rule__TuplePartCS__NameAssignment_0();
 
             state._fsp--;
@@ -49980,21 +52448,21 @@
 
 
     // $ANTLR start "rule__TuplePartCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16437:1: rule__TuplePartCS__Group__1 : rule__TuplePartCS__Group__1__Impl rule__TuplePartCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17455:1: rule__TuplePartCS__Group__1 : rule__TuplePartCS__Group__1__Impl rule__TuplePartCS__Group__2 ;
     public final void rule__TuplePartCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16441:1: ( rule__TuplePartCS__Group__1__Impl rule__TuplePartCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16442:2: rule__TuplePartCS__Group__1__Impl rule__TuplePartCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17459:1: ( rule__TuplePartCS__Group__1__Impl rule__TuplePartCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17460:2: rule__TuplePartCS__Group__1__Impl rule__TuplePartCS__Group__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TuplePartCS__Group__1__Impl_in_rule__TuplePartCS__Group__134001);
+            pushFollow(FollowSets001.FOLLOW_rule__TuplePartCS__Group__1__Impl_in_rule__TuplePartCS__Group__135871);
             rule__TuplePartCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__TuplePartCS__Group__2_in_rule__TuplePartCS__Group__134004);
+            pushFollow(FollowSets001.FOLLOW_rule__TuplePartCS__Group__2_in_rule__TuplePartCS__Group__135874);
             rule__TuplePartCS__Group__2();
 
             state._fsp--;
@@ -50018,22 +52486,22 @@
 
 
     // $ANTLR start "rule__TuplePartCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16449:1: rule__TuplePartCS__Group__1__Impl : ( ':' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17467:1: rule__TuplePartCS__Group__1__Impl : ( ':' ) ;
     public final void rule__TuplePartCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16453:1: ( ( ':' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16454:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17471:1: ( ( ':' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17472:1: ( ':' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16454:1: ( ':' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16455:1: ':'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17472:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17473:1: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTuplePartCSAccess().getColonKeyword_1()); 
             }
-            match(input,97,FollowSets001.FOLLOW_97_in_rule__TuplePartCS__Group__1__Impl34032); if (state.failed) return ;
+            match(input,106,FollowSets001.FOLLOW_106_in_rule__TuplePartCS__Group__1__Impl35902); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTuplePartCSAccess().getColonKeyword_1()); 
             }
@@ -50059,16 +52527,16 @@
 
 
     // $ANTLR start "rule__TuplePartCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16468:1: rule__TuplePartCS__Group__2 : rule__TuplePartCS__Group__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17486:1: rule__TuplePartCS__Group__2 : rule__TuplePartCS__Group__2__Impl ;
     public final void rule__TuplePartCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16472:1: ( rule__TuplePartCS__Group__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16473:2: rule__TuplePartCS__Group__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17490:1: ( rule__TuplePartCS__Group__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17491:2: rule__TuplePartCS__Group__2__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TuplePartCS__Group__2__Impl_in_rule__TuplePartCS__Group__234063);
+            pushFollow(FollowSets001.FOLLOW_rule__TuplePartCS__Group__2__Impl_in_rule__TuplePartCS__Group__235933);
             rule__TuplePartCS__Group__2__Impl();
 
             state._fsp--;
@@ -50092,25 +52560,25 @@
 
 
     // $ANTLR start "rule__TuplePartCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16479:1: rule__TuplePartCS__Group__2__Impl : ( ( rule__TuplePartCS__OwnedTypeAssignment_2 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17497:1: rule__TuplePartCS__Group__2__Impl : ( ( rule__TuplePartCS__OwnedTypeAssignment_2 ) ) ;
     public final void rule__TuplePartCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16483:1: ( ( ( rule__TuplePartCS__OwnedTypeAssignment_2 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16484:1: ( ( rule__TuplePartCS__OwnedTypeAssignment_2 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17501:1: ( ( ( rule__TuplePartCS__OwnedTypeAssignment_2 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17502:1: ( ( rule__TuplePartCS__OwnedTypeAssignment_2 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16484:1: ( ( rule__TuplePartCS__OwnedTypeAssignment_2 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16485:1: ( rule__TuplePartCS__OwnedTypeAssignment_2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17502:1: ( ( rule__TuplePartCS__OwnedTypeAssignment_2 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17503:1: ( rule__TuplePartCS__OwnedTypeAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTuplePartCSAccess().getOwnedTypeAssignment_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16486:1: ( rule__TuplePartCS__OwnedTypeAssignment_2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16486:2: rule__TuplePartCS__OwnedTypeAssignment_2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17504:1: ( rule__TuplePartCS__OwnedTypeAssignment_2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17504:2: rule__TuplePartCS__OwnedTypeAssignment_2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TuplePartCS__OwnedTypeAssignment_2_in_rule__TuplePartCS__Group__2__Impl34090);
+            pushFollow(FollowSets001.FOLLOW_rule__TuplePartCS__OwnedTypeAssignment_2_in_rule__TuplePartCS__Group__2__Impl35960);
             rule__TuplePartCS__OwnedTypeAssignment_2();
 
             state._fsp--;
@@ -50143,21 +52611,21 @@
 
 
     // $ANTLR start "rule__CollectionLiteralExpCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16502:1: rule__CollectionLiteralExpCS__Group__0 : rule__CollectionLiteralExpCS__Group__0__Impl rule__CollectionLiteralExpCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17520:1: rule__CollectionLiteralExpCS__Group__0 : rule__CollectionLiteralExpCS__Group__0__Impl rule__CollectionLiteralExpCS__Group__1 ;
     public final void rule__CollectionLiteralExpCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16506:1: ( rule__CollectionLiteralExpCS__Group__0__Impl rule__CollectionLiteralExpCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16507:2: rule__CollectionLiteralExpCS__Group__0__Impl rule__CollectionLiteralExpCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17524:1: ( rule__CollectionLiteralExpCS__Group__0__Impl rule__CollectionLiteralExpCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17525:2: rule__CollectionLiteralExpCS__Group__0__Impl rule__CollectionLiteralExpCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralExpCS__Group__0__Impl_in_rule__CollectionLiteralExpCS__Group__034126);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralExpCS__Group__0__Impl_in_rule__CollectionLiteralExpCS__Group__035996);
             rule__CollectionLiteralExpCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralExpCS__Group__1_in_rule__CollectionLiteralExpCS__Group__034129);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralExpCS__Group__1_in_rule__CollectionLiteralExpCS__Group__035999);
             rule__CollectionLiteralExpCS__Group__1();
 
             state._fsp--;
@@ -50181,25 +52649,25 @@
 
 
     // $ANTLR start "rule__CollectionLiteralExpCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16514:1: rule__CollectionLiteralExpCS__Group__0__Impl : ( ( rule__CollectionLiteralExpCS__OwnedTypeAssignment_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17532:1: rule__CollectionLiteralExpCS__Group__0__Impl : ( ( rule__CollectionLiteralExpCS__OwnedTypeAssignment_0 ) ) ;
     public final void rule__CollectionLiteralExpCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16518:1: ( ( ( rule__CollectionLiteralExpCS__OwnedTypeAssignment_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16519:1: ( ( rule__CollectionLiteralExpCS__OwnedTypeAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17536:1: ( ( ( rule__CollectionLiteralExpCS__OwnedTypeAssignment_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17537:1: ( ( rule__CollectionLiteralExpCS__OwnedTypeAssignment_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16519:1: ( ( rule__CollectionLiteralExpCS__OwnedTypeAssignment_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16520:1: ( rule__CollectionLiteralExpCS__OwnedTypeAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17537:1: ( ( rule__CollectionLiteralExpCS__OwnedTypeAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17538:1: ( rule__CollectionLiteralExpCS__OwnedTypeAssignment_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedTypeAssignment_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16521:1: ( rule__CollectionLiteralExpCS__OwnedTypeAssignment_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16521:2: rule__CollectionLiteralExpCS__OwnedTypeAssignment_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17539:1: ( rule__CollectionLiteralExpCS__OwnedTypeAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17539:2: rule__CollectionLiteralExpCS__OwnedTypeAssignment_0
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralExpCS__OwnedTypeAssignment_0_in_rule__CollectionLiteralExpCS__Group__0__Impl34156);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralExpCS__OwnedTypeAssignment_0_in_rule__CollectionLiteralExpCS__Group__0__Impl36026);
             rule__CollectionLiteralExpCS__OwnedTypeAssignment_0();
 
             state._fsp--;
@@ -50232,21 +52700,21 @@
 
 
     // $ANTLR start "rule__CollectionLiteralExpCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16531:1: rule__CollectionLiteralExpCS__Group__1 : rule__CollectionLiteralExpCS__Group__1__Impl rule__CollectionLiteralExpCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17549:1: rule__CollectionLiteralExpCS__Group__1 : rule__CollectionLiteralExpCS__Group__1__Impl rule__CollectionLiteralExpCS__Group__2 ;
     public final void rule__CollectionLiteralExpCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16535:1: ( rule__CollectionLiteralExpCS__Group__1__Impl rule__CollectionLiteralExpCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16536:2: rule__CollectionLiteralExpCS__Group__1__Impl rule__CollectionLiteralExpCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17553:1: ( rule__CollectionLiteralExpCS__Group__1__Impl rule__CollectionLiteralExpCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17554:2: rule__CollectionLiteralExpCS__Group__1__Impl rule__CollectionLiteralExpCS__Group__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralExpCS__Group__1__Impl_in_rule__CollectionLiteralExpCS__Group__134186);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralExpCS__Group__1__Impl_in_rule__CollectionLiteralExpCS__Group__136056);
             rule__CollectionLiteralExpCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralExpCS__Group__2_in_rule__CollectionLiteralExpCS__Group__134189);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralExpCS__Group__2_in_rule__CollectionLiteralExpCS__Group__136059);
             rule__CollectionLiteralExpCS__Group__2();
 
             state._fsp--;
@@ -50270,22 +52738,22 @@
 
 
     // $ANTLR start "rule__CollectionLiteralExpCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16543:1: rule__CollectionLiteralExpCS__Group__1__Impl : ( '{' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17561:1: rule__CollectionLiteralExpCS__Group__1__Impl : ( '{' ) ;
     public final void rule__CollectionLiteralExpCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16547:1: ( ( '{' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16548:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17565:1: ( ( '{' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17566:1: ( '{' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16548:1: ( '{' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16549:1: '{'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17566:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17567:1: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionLiteralExpCSAccess().getLeftCurlyBracketKeyword_1()); 
             }
-            match(input,99,FollowSets001.FOLLOW_99_in_rule__CollectionLiteralExpCS__Group__1__Impl34217); if (state.failed) return ;
+            match(input,108,FollowSets001.FOLLOW_108_in_rule__CollectionLiteralExpCS__Group__1__Impl36087); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getCollectionLiteralExpCSAccess().getLeftCurlyBracketKeyword_1()); 
             }
@@ -50311,21 +52779,21 @@
 
 
     // $ANTLR start "rule__CollectionLiteralExpCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16562:1: rule__CollectionLiteralExpCS__Group__2 : rule__CollectionLiteralExpCS__Group__2__Impl rule__CollectionLiteralExpCS__Group__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17580:1: rule__CollectionLiteralExpCS__Group__2 : rule__CollectionLiteralExpCS__Group__2__Impl rule__CollectionLiteralExpCS__Group__3 ;
     public final void rule__CollectionLiteralExpCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16566:1: ( rule__CollectionLiteralExpCS__Group__2__Impl rule__CollectionLiteralExpCS__Group__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16567:2: rule__CollectionLiteralExpCS__Group__2__Impl rule__CollectionLiteralExpCS__Group__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17584:1: ( rule__CollectionLiteralExpCS__Group__2__Impl rule__CollectionLiteralExpCS__Group__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17585:2: rule__CollectionLiteralExpCS__Group__2__Impl rule__CollectionLiteralExpCS__Group__3
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralExpCS__Group__2__Impl_in_rule__CollectionLiteralExpCS__Group__234248);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralExpCS__Group__2__Impl_in_rule__CollectionLiteralExpCS__Group__236118);
             rule__CollectionLiteralExpCS__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralExpCS__Group__3_in_rule__CollectionLiteralExpCS__Group__234251);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralExpCS__Group__3_in_rule__CollectionLiteralExpCS__Group__236121);
             rule__CollectionLiteralExpCS__Group__3();
 
             state._fsp--;
@@ -50349,33 +52817,33 @@
 
 
     // $ANTLR start "rule__CollectionLiteralExpCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16574:1: rule__CollectionLiteralExpCS__Group__2__Impl : ( ( rule__CollectionLiteralExpCS__Group_2__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17592:1: rule__CollectionLiteralExpCS__Group__2__Impl : ( ( rule__CollectionLiteralExpCS__Group_2__0 )? ) ;
     public final void rule__CollectionLiteralExpCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16578:1: ( ( ( rule__CollectionLiteralExpCS__Group_2__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16579:1: ( ( rule__CollectionLiteralExpCS__Group_2__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17596:1: ( ( ( rule__CollectionLiteralExpCS__Group_2__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17597:1: ( ( rule__CollectionLiteralExpCS__Group_2__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16579:1: ( ( rule__CollectionLiteralExpCS__Group_2__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16580:1: ( rule__CollectionLiteralExpCS__Group_2__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17597:1: ( ( rule__CollectionLiteralExpCS__Group_2__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17598:1: ( rule__CollectionLiteralExpCS__Group_2__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionLiteralExpCSAccess().getGroup_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16581:1: ( rule__CollectionLiteralExpCS__Group_2__0 )?
-            int alt185=2;
-            int LA185_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17599:1: ( rule__CollectionLiteralExpCS__Group_2__0 )?
+            int alt213=2;
+            int LA213_0 = input.LA(1);
 
-            if ( ((LA185_0>=RULE_INT && LA185_0<=RULE_SINGLE_QUOTED_STRING)||(LA185_0>=RULE_SIMPLE_ID && LA185_0<=RULE_ESCAPED_ID)||(LA185_0>=17 && LA185_0<=52)||(LA185_0>=55 && LA185_0<=63)||(LA185_0>=80 && LA185_0<=93)||LA185_0==95||LA185_0==97||(LA185_0>=105 && LA185_0<=107)||LA185_0==112||(LA185_0>=117 && LA185_0<=118)||(LA185_0>=131 && LA185_0<=132)) ) {
-                alt185=1;
+            if ( ((LA213_0>=RULE_INT && LA213_0<=RULE_SINGLE_QUOTED_STRING)||(LA213_0>=RULE_SIMPLE_ID && LA213_0<=RULE_ESCAPED_ID)||(LA213_0>=17 && LA213_0<=52)||(LA213_0>=64 && LA213_0<=72)||(LA213_0>=89 && LA213_0<=102)||LA213_0==104||LA213_0==106||(LA213_0>=114 && LA213_0<=116)||LA213_0==121||(LA213_0>=126 && LA213_0<=127)||(LA213_0>=131 && LA213_0<=132)) ) {
+                alt213=1;
             }
-            switch (alt185) {
+            switch (alt213) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16581:2: rule__CollectionLiteralExpCS__Group_2__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17599:2: rule__CollectionLiteralExpCS__Group_2__0
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralExpCS__Group_2__0_in_rule__CollectionLiteralExpCS__Group__2__Impl34278);
+                    pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralExpCS__Group_2__0_in_rule__CollectionLiteralExpCS__Group__2__Impl36148);
                     rule__CollectionLiteralExpCS__Group_2__0();
 
                     state._fsp--;
@@ -50411,16 +52879,16 @@
 
 
     // $ANTLR start "rule__CollectionLiteralExpCS__Group__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16591:1: rule__CollectionLiteralExpCS__Group__3 : rule__CollectionLiteralExpCS__Group__3__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17609:1: rule__CollectionLiteralExpCS__Group__3 : rule__CollectionLiteralExpCS__Group__3__Impl ;
     public final void rule__CollectionLiteralExpCS__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16595:1: ( rule__CollectionLiteralExpCS__Group__3__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16596:2: rule__CollectionLiteralExpCS__Group__3__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17613:1: ( rule__CollectionLiteralExpCS__Group__3__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17614:2: rule__CollectionLiteralExpCS__Group__3__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralExpCS__Group__3__Impl_in_rule__CollectionLiteralExpCS__Group__334309);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralExpCS__Group__3__Impl_in_rule__CollectionLiteralExpCS__Group__336179);
             rule__CollectionLiteralExpCS__Group__3__Impl();
 
             state._fsp--;
@@ -50444,22 +52912,22 @@
 
 
     // $ANTLR start "rule__CollectionLiteralExpCS__Group__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16602:1: rule__CollectionLiteralExpCS__Group__3__Impl : ( '}' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17620:1: rule__CollectionLiteralExpCS__Group__3__Impl : ( '}' ) ;
     public final void rule__CollectionLiteralExpCS__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16606:1: ( ( '}' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16607:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17624:1: ( ( '}' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17625:1: ( '}' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16607:1: ( '}' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16608:1: '}'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17625:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17626:1: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionLiteralExpCSAccess().getRightCurlyBracketKeyword_3()); 
             }
-            match(input,100,FollowSets001.FOLLOW_100_in_rule__CollectionLiteralExpCS__Group__3__Impl34337); if (state.failed) return ;
+            match(input,109,FollowSets001.FOLLOW_109_in_rule__CollectionLiteralExpCS__Group__3__Impl36207); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getCollectionLiteralExpCSAccess().getRightCurlyBracketKeyword_3()); 
             }
@@ -50485,21 +52953,21 @@
 
 
     // $ANTLR start "rule__CollectionLiteralExpCS__Group_2__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16629:1: rule__CollectionLiteralExpCS__Group_2__0 : rule__CollectionLiteralExpCS__Group_2__0__Impl rule__CollectionLiteralExpCS__Group_2__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17647:1: rule__CollectionLiteralExpCS__Group_2__0 : rule__CollectionLiteralExpCS__Group_2__0__Impl rule__CollectionLiteralExpCS__Group_2__1 ;
     public final void rule__CollectionLiteralExpCS__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16633:1: ( rule__CollectionLiteralExpCS__Group_2__0__Impl rule__CollectionLiteralExpCS__Group_2__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16634:2: rule__CollectionLiteralExpCS__Group_2__0__Impl rule__CollectionLiteralExpCS__Group_2__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17651:1: ( rule__CollectionLiteralExpCS__Group_2__0__Impl rule__CollectionLiteralExpCS__Group_2__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17652:2: rule__CollectionLiteralExpCS__Group_2__0__Impl rule__CollectionLiteralExpCS__Group_2__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralExpCS__Group_2__0__Impl_in_rule__CollectionLiteralExpCS__Group_2__034376);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralExpCS__Group_2__0__Impl_in_rule__CollectionLiteralExpCS__Group_2__036246);
             rule__CollectionLiteralExpCS__Group_2__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralExpCS__Group_2__1_in_rule__CollectionLiteralExpCS__Group_2__034379);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralExpCS__Group_2__1_in_rule__CollectionLiteralExpCS__Group_2__036249);
             rule__CollectionLiteralExpCS__Group_2__1();
 
             state._fsp--;
@@ -50523,25 +52991,25 @@
 
 
     // $ANTLR start "rule__CollectionLiteralExpCS__Group_2__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16641:1: rule__CollectionLiteralExpCS__Group_2__0__Impl : ( ( rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17659:1: rule__CollectionLiteralExpCS__Group_2__0__Impl : ( ( rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0 ) ) ;
     public final void rule__CollectionLiteralExpCS__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16645:1: ( ( ( rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16646:1: ( ( rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17663:1: ( ( ( rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17664:1: ( ( rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16646:1: ( ( rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16647:1: ( rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17664:1: ( ( rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17665:1: ( rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedPartsAssignment_2_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16648:1: ( rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16648:2: rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17666:1: ( rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17666:2: rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0_in_rule__CollectionLiteralExpCS__Group_2__0__Impl34406);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0_in_rule__CollectionLiteralExpCS__Group_2__0__Impl36276);
             rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0();
 
             state._fsp--;
@@ -50574,16 +53042,16 @@
 
 
     // $ANTLR start "rule__CollectionLiteralExpCS__Group_2__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16658:1: rule__CollectionLiteralExpCS__Group_2__1 : rule__CollectionLiteralExpCS__Group_2__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17676:1: rule__CollectionLiteralExpCS__Group_2__1 : rule__CollectionLiteralExpCS__Group_2__1__Impl ;
     public final void rule__CollectionLiteralExpCS__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16662:1: ( rule__CollectionLiteralExpCS__Group_2__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16663:2: rule__CollectionLiteralExpCS__Group_2__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17680:1: ( rule__CollectionLiteralExpCS__Group_2__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17681:2: rule__CollectionLiteralExpCS__Group_2__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralExpCS__Group_2__1__Impl_in_rule__CollectionLiteralExpCS__Group_2__134436);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralExpCS__Group_2__1__Impl_in_rule__CollectionLiteralExpCS__Group_2__136306);
             rule__CollectionLiteralExpCS__Group_2__1__Impl();
 
             state._fsp--;
@@ -50607,37 +53075,37 @@
 
 
     // $ANTLR start "rule__CollectionLiteralExpCS__Group_2__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16669:1: rule__CollectionLiteralExpCS__Group_2__1__Impl : ( ( rule__CollectionLiteralExpCS__Group_2_1__0 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17687:1: rule__CollectionLiteralExpCS__Group_2__1__Impl : ( ( rule__CollectionLiteralExpCS__Group_2_1__0 )* ) ;
     public final void rule__CollectionLiteralExpCS__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16673:1: ( ( ( rule__CollectionLiteralExpCS__Group_2_1__0 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16674:1: ( ( rule__CollectionLiteralExpCS__Group_2_1__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17691:1: ( ( ( rule__CollectionLiteralExpCS__Group_2_1__0 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17692:1: ( ( rule__CollectionLiteralExpCS__Group_2_1__0 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16674:1: ( ( rule__CollectionLiteralExpCS__Group_2_1__0 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16675:1: ( rule__CollectionLiteralExpCS__Group_2_1__0 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17692:1: ( ( rule__CollectionLiteralExpCS__Group_2_1__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17693:1: ( rule__CollectionLiteralExpCS__Group_2_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionLiteralExpCSAccess().getGroup_2_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16676:1: ( rule__CollectionLiteralExpCS__Group_2_1__0 )*
-            loop186:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17694:1: ( rule__CollectionLiteralExpCS__Group_2_1__0 )*
+            loop214:
             do {
-                int alt186=2;
-                int LA186_0 = input.LA(1);
+                int alt214=2;
+                int LA214_0 = input.LA(1);
 
-                if ( (LA186_0==98) ) {
-                    alt186=1;
+                if ( (LA214_0==107) ) {
+                    alt214=1;
                 }
 
 
-                switch (alt186) {
+                switch (alt214) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16676:2: rule__CollectionLiteralExpCS__Group_2_1__0
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17694:2: rule__CollectionLiteralExpCS__Group_2_1__0
             	    {
-            	    pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralExpCS__Group_2_1__0_in_rule__CollectionLiteralExpCS__Group_2__1__Impl34463);
+            	    pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralExpCS__Group_2_1__0_in_rule__CollectionLiteralExpCS__Group_2__1__Impl36333);
             	    rule__CollectionLiteralExpCS__Group_2_1__0();
 
             	    state._fsp--;
@@ -50647,7 +53115,7 @@
             	    break;
 
             	default :
-            	    break loop186;
+            	    break loop214;
                 }
             } while (true);
 
@@ -50676,21 +53144,21 @@
 
 
     // $ANTLR start "rule__CollectionLiteralExpCS__Group_2_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16690:1: rule__CollectionLiteralExpCS__Group_2_1__0 : rule__CollectionLiteralExpCS__Group_2_1__0__Impl rule__CollectionLiteralExpCS__Group_2_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17708:1: rule__CollectionLiteralExpCS__Group_2_1__0 : rule__CollectionLiteralExpCS__Group_2_1__0__Impl rule__CollectionLiteralExpCS__Group_2_1__1 ;
     public final void rule__CollectionLiteralExpCS__Group_2_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16694:1: ( rule__CollectionLiteralExpCS__Group_2_1__0__Impl rule__CollectionLiteralExpCS__Group_2_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16695:2: rule__CollectionLiteralExpCS__Group_2_1__0__Impl rule__CollectionLiteralExpCS__Group_2_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17712:1: ( rule__CollectionLiteralExpCS__Group_2_1__0__Impl rule__CollectionLiteralExpCS__Group_2_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17713:2: rule__CollectionLiteralExpCS__Group_2_1__0__Impl rule__CollectionLiteralExpCS__Group_2_1__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralExpCS__Group_2_1__0__Impl_in_rule__CollectionLiteralExpCS__Group_2_1__034498);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralExpCS__Group_2_1__0__Impl_in_rule__CollectionLiteralExpCS__Group_2_1__036368);
             rule__CollectionLiteralExpCS__Group_2_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralExpCS__Group_2_1__1_in_rule__CollectionLiteralExpCS__Group_2_1__034501);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralExpCS__Group_2_1__1_in_rule__CollectionLiteralExpCS__Group_2_1__036371);
             rule__CollectionLiteralExpCS__Group_2_1__1();
 
             state._fsp--;
@@ -50714,22 +53182,22 @@
 
 
     // $ANTLR start "rule__CollectionLiteralExpCS__Group_2_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16702:1: rule__CollectionLiteralExpCS__Group_2_1__0__Impl : ( ',' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17720:1: rule__CollectionLiteralExpCS__Group_2_1__0__Impl : ( ',' ) ;
     public final void rule__CollectionLiteralExpCS__Group_2_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16706:1: ( ( ',' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16707:1: ( ',' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17724:1: ( ( ',' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17725:1: ( ',' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16707:1: ( ',' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16708:1: ','
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17725:1: ( ',' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17726:1: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionLiteralExpCSAccess().getCommaKeyword_2_1_0()); 
             }
-            match(input,98,FollowSets001.FOLLOW_98_in_rule__CollectionLiteralExpCS__Group_2_1__0__Impl34529); if (state.failed) return ;
+            match(input,107,FollowSets001.FOLLOW_107_in_rule__CollectionLiteralExpCS__Group_2_1__0__Impl36399); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getCollectionLiteralExpCSAccess().getCommaKeyword_2_1_0()); 
             }
@@ -50755,16 +53223,16 @@
 
 
     // $ANTLR start "rule__CollectionLiteralExpCS__Group_2_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16721:1: rule__CollectionLiteralExpCS__Group_2_1__1 : rule__CollectionLiteralExpCS__Group_2_1__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17739:1: rule__CollectionLiteralExpCS__Group_2_1__1 : rule__CollectionLiteralExpCS__Group_2_1__1__Impl ;
     public final void rule__CollectionLiteralExpCS__Group_2_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16725:1: ( rule__CollectionLiteralExpCS__Group_2_1__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16726:2: rule__CollectionLiteralExpCS__Group_2_1__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17743:1: ( rule__CollectionLiteralExpCS__Group_2_1__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17744:2: rule__CollectionLiteralExpCS__Group_2_1__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralExpCS__Group_2_1__1__Impl_in_rule__CollectionLiteralExpCS__Group_2_1__134560);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralExpCS__Group_2_1__1__Impl_in_rule__CollectionLiteralExpCS__Group_2_1__136430);
             rule__CollectionLiteralExpCS__Group_2_1__1__Impl();
 
             state._fsp--;
@@ -50788,25 +53256,25 @@
 
 
     // $ANTLR start "rule__CollectionLiteralExpCS__Group_2_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16732:1: rule__CollectionLiteralExpCS__Group_2_1__1__Impl : ( ( rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17750:1: rule__CollectionLiteralExpCS__Group_2_1__1__Impl : ( ( rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1 ) ) ;
     public final void rule__CollectionLiteralExpCS__Group_2_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16736:1: ( ( ( rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16737:1: ( ( rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17754:1: ( ( ( rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17755:1: ( ( rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16737:1: ( ( rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16738:1: ( rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17755:1: ( ( rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17756:1: ( rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedPartsAssignment_2_1_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16739:1: ( rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16739:2: rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17757:1: ( rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17757:2: rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1_in_rule__CollectionLiteralExpCS__Group_2_1__1__Impl34587);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1_in_rule__CollectionLiteralExpCS__Group_2_1__1__Impl36457);
             rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1();
 
             state._fsp--;
@@ -50839,21 +53307,21 @@
 
 
     // $ANTLR start "rule__CollectionLiteralPartCS__Group_0__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16753:1: rule__CollectionLiteralPartCS__Group_0__0 : rule__CollectionLiteralPartCS__Group_0__0__Impl rule__CollectionLiteralPartCS__Group_0__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17771:1: rule__CollectionLiteralPartCS__Group_0__0 : rule__CollectionLiteralPartCS__Group_0__0__Impl rule__CollectionLiteralPartCS__Group_0__1 ;
     public final void rule__CollectionLiteralPartCS__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16757:1: ( rule__CollectionLiteralPartCS__Group_0__0__Impl rule__CollectionLiteralPartCS__Group_0__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16758:2: rule__CollectionLiteralPartCS__Group_0__0__Impl rule__CollectionLiteralPartCS__Group_0__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17775:1: ( rule__CollectionLiteralPartCS__Group_0__0__Impl rule__CollectionLiteralPartCS__Group_0__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17776:2: rule__CollectionLiteralPartCS__Group_0__0__Impl rule__CollectionLiteralPartCS__Group_0__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralPartCS__Group_0__0__Impl_in_rule__CollectionLiteralPartCS__Group_0__034621);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralPartCS__Group_0__0__Impl_in_rule__CollectionLiteralPartCS__Group_0__036491);
             rule__CollectionLiteralPartCS__Group_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralPartCS__Group_0__1_in_rule__CollectionLiteralPartCS__Group_0__034624);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralPartCS__Group_0__1_in_rule__CollectionLiteralPartCS__Group_0__036494);
             rule__CollectionLiteralPartCS__Group_0__1();
 
             state._fsp--;
@@ -50877,25 +53345,25 @@
 
 
     // $ANTLR start "rule__CollectionLiteralPartCS__Group_0__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16765:1: rule__CollectionLiteralPartCS__Group_0__0__Impl : ( ( rule__CollectionLiteralPartCS__OwnedExpressionAssignment_0_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17783:1: rule__CollectionLiteralPartCS__Group_0__0__Impl : ( ( rule__CollectionLiteralPartCS__OwnedExpressionAssignment_0_0 ) ) ;
     public final void rule__CollectionLiteralPartCS__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16769:1: ( ( ( rule__CollectionLiteralPartCS__OwnedExpressionAssignment_0_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16770:1: ( ( rule__CollectionLiteralPartCS__OwnedExpressionAssignment_0_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17787:1: ( ( ( rule__CollectionLiteralPartCS__OwnedExpressionAssignment_0_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17788:1: ( ( rule__CollectionLiteralPartCS__OwnedExpressionAssignment_0_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16770:1: ( ( rule__CollectionLiteralPartCS__OwnedExpressionAssignment_0_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16771:1: ( rule__CollectionLiteralPartCS__OwnedExpressionAssignment_0_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17788:1: ( ( rule__CollectionLiteralPartCS__OwnedExpressionAssignment_0_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17789:1: ( rule__CollectionLiteralPartCS__OwnedExpressionAssignment_0_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionLiteralPartCSAccess().getOwnedExpressionAssignment_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16772:1: ( rule__CollectionLiteralPartCS__OwnedExpressionAssignment_0_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16772:2: rule__CollectionLiteralPartCS__OwnedExpressionAssignment_0_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17790:1: ( rule__CollectionLiteralPartCS__OwnedExpressionAssignment_0_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17790:2: rule__CollectionLiteralPartCS__OwnedExpressionAssignment_0_0
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralPartCS__OwnedExpressionAssignment_0_0_in_rule__CollectionLiteralPartCS__Group_0__0__Impl34651);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralPartCS__OwnedExpressionAssignment_0_0_in_rule__CollectionLiteralPartCS__Group_0__0__Impl36521);
             rule__CollectionLiteralPartCS__OwnedExpressionAssignment_0_0();
 
             state._fsp--;
@@ -50928,16 +53396,16 @@
 
 
     // $ANTLR start "rule__CollectionLiteralPartCS__Group_0__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16782:1: rule__CollectionLiteralPartCS__Group_0__1 : rule__CollectionLiteralPartCS__Group_0__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17800:1: rule__CollectionLiteralPartCS__Group_0__1 : rule__CollectionLiteralPartCS__Group_0__1__Impl ;
     public final void rule__CollectionLiteralPartCS__Group_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16786:1: ( rule__CollectionLiteralPartCS__Group_0__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16787:2: rule__CollectionLiteralPartCS__Group_0__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17804:1: ( rule__CollectionLiteralPartCS__Group_0__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17805:2: rule__CollectionLiteralPartCS__Group_0__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralPartCS__Group_0__1__Impl_in_rule__CollectionLiteralPartCS__Group_0__134681);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralPartCS__Group_0__1__Impl_in_rule__CollectionLiteralPartCS__Group_0__136551);
             rule__CollectionLiteralPartCS__Group_0__1__Impl();
 
             state._fsp--;
@@ -50961,33 +53429,33 @@
 
 
     // $ANTLR start "rule__CollectionLiteralPartCS__Group_0__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16793:1: rule__CollectionLiteralPartCS__Group_0__1__Impl : ( ( rule__CollectionLiteralPartCS__Group_0_1__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17811:1: rule__CollectionLiteralPartCS__Group_0__1__Impl : ( ( rule__CollectionLiteralPartCS__Group_0_1__0 )? ) ;
     public final void rule__CollectionLiteralPartCS__Group_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16797:1: ( ( ( rule__CollectionLiteralPartCS__Group_0_1__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16798:1: ( ( rule__CollectionLiteralPartCS__Group_0_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17815:1: ( ( ( rule__CollectionLiteralPartCS__Group_0_1__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17816:1: ( ( rule__CollectionLiteralPartCS__Group_0_1__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16798:1: ( ( rule__CollectionLiteralPartCS__Group_0_1__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16799:1: ( rule__CollectionLiteralPartCS__Group_0_1__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17816:1: ( ( rule__CollectionLiteralPartCS__Group_0_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17817:1: ( rule__CollectionLiteralPartCS__Group_0_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionLiteralPartCSAccess().getGroup_0_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16800:1: ( rule__CollectionLiteralPartCS__Group_0_1__0 )?
-            int alt187=2;
-            int LA187_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17818:1: ( rule__CollectionLiteralPartCS__Group_0_1__0 )?
+            int alt215=2;
+            int LA215_0 = input.LA(1);
 
-            if ( (LA187_0==103) ) {
-                alt187=1;
+            if ( (LA215_0==112) ) {
+                alt215=1;
             }
-            switch (alt187) {
+            switch (alt215) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16800:2: rule__CollectionLiteralPartCS__Group_0_1__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17818:2: rule__CollectionLiteralPartCS__Group_0_1__0
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralPartCS__Group_0_1__0_in_rule__CollectionLiteralPartCS__Group_0__1__Impl34708);
+                    pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralPartCS__Group_0_1__0_in_rule__CollectionLiteralPartCS__Group_0__1__Impl36578);
                     rule__CollectionLiteralPartCS__Group_0_1__0();
 
                     state._fsp--;
@@ -51023,21 +53491,21 @@
 
 
     // $ANTLR start "rule__CollectionLiteralPartCS__Group_0_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16814:1: rule__CollectionLiteralPartCS__Group_0_1__0 : rule__CollectionLiteralPartCS__Group_0_1__0__Impl rule__CollectionLiteralPartCS__Group_0_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17832:1: rule__CollectionLiteralPartCS__Group_0_1__0 : rule__CollectionLiteralPartCS__Group_0_1__0__Impl rule__CollectionLiteralPartCS__Group_0_1__1 ;
     public final void rule__CollectionLiteralPartCS__Group_0_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16818:1: ( rule__CollectionLiteralPartCS__Group_0_1__0__Impl rule__CollectionLiteralPartCS__Group_0_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16819:2: rule__CollectionLiteralPartCS__Group_0_1__0__Impl rule__CollectionLiteralPartCS__Group_0_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17836:1: ( rule__CollectionLiteralPartCS__Group_0_1__0__Impl rule__CollectionLiteralPartCS__Group_0_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17837:2: rule__CollectionLiteralPartCS__Group_0_1__0__Impl rule__CollectionLiteralPartCS__Group_0_1__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralPartCS__Group_0_1__0__Impl_in_rule__CollectionLiteralPartCS__Group_0_1__034743);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralPartCS__Group_0_1__0__Impl_in_rule__CollectionLiteralPartCS__Group_0_1__036613);
             rule__CollectionLiteralPartCS__Group_0_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralPartCS__Group_0_1__1_in_rule__CollectionLiteralPartCS__Group_0_1__034746);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralPartCS__Group_0_1__1_in_rule__CollectionLiteralPartCS__Group_0_1__036616);
             rule__CollectionLiteralPartCS__Group_0_1__1();
 
             state._fsp--;
@@ -51061,22 +53529,22 @@
 
 
     // $ANTLR start "rule__CollectionLiteralPartCS__Group_0_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16826:1: rule__CollectionLiteralPartCS__Group_0_1__0__Impl : ( '..' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17844:1: rule__CollectionLiteralPartCS__Group_0_1__0__Impl : ( '..' ) ;
     public final void rule__CollectionLiteralPartCS__Group_0_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16830:1: ( ( '..' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16831:1: ( '..' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17848:1: ( ( '..' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17849:1: ( '..' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16831:1: ( '..' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16832:1: '..'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17849:1: ( '..' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17850:1: '..'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionLiteralPartCSAccess().getFullStopFullStopKeyword_0_1_0()); 
             }
-            match(input,103,FollowSets001.FOLLOW_103_in_rule__CollectionLiteralPartCS__Group_0_1__0__Impl34774); if (state.failed) return ;
+            match(input,112,FollowSets001.FOLLOW_112_in_rule__CollectionLiteralPartCS__Group_0_1__0__Impl36644); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getCollectionLiteralPartCSAccess().getFullStopFullStopKeyword_0_1_0()); 
             }
@@ -51102,16 +53570,16 @@
 
 
     // $ANTLR start "rule__CollectionLiteralPartCS__Group_0_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16845:1: rule__CollectionLiteralPartCS__Group_0_1__1 : rule__CollectionLiteralPartCS__Group_0_1__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17863:1: rule__CollectionLiteralPartCS__Group_0_1__1 : rule__CollectionLiteralPartCS__Group_0_1__1__Impl ;
     public final void rule__CollectionLiteralPartCS__Group_0_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16849:1: ( rule__CollectionLiteralPartCS__Group_0_1__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16850:2: rule__CollectionLiteralPartCS__Group_0_1__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17867:1: ( rule__CollectionLiteralPartCS__Group_0_1__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17868:2: rule__CollectionLiteralPartCS__Group_0_1__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralPartCS__Group_0_1__1__Impl_in_rule__CollectionLiteralPartCS__Group_0_1__134805);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralPartCS__Group_0_1__1__Impl_in_rule__CollectionLiteralPartCS__Group_0_1__136675);
             rule__CollectionLiteralPartCS__Group_0_1__1__Impl();
 
             state._fsp--;
@@ -51135,25 +53603,25 @@
 
 
     // $ANTLR start "rule__CollectionLiteralPartCS__Group_0_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16856:1: rule__CollectionLiteralPartCS__Group_0_1__1__Impl : ( ( rule__CollectionLiteralPartCS__OwnedLastExpressionAssignment_0_1_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17874:1: rule__CollectionLiteralPartCS__Group_0_1__1__Impl : ( ( rule__CollectionLiteralPartCS__OwnedLastExpressionAssignment_0_1_1 ) ) ;
     public final void rule__CollectionLiteralPartCS__Group_0_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16860:1: ( ( ( rule__CollectionLiteralPartCS__OwnedLastExpressionAssignment_0_1_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16861:1: ( ( rule__CollectionLiteralPartCS__OwnedLastExpressionAssignment_0_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17878:1: ( ( ( rule__CollectionLiteralPartCS__OwnedLastExpressionAssignment_0_1_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17879:1: ( ( rule__CollectionLiteralPartCS__OwnedLastExpressionAssignment_0_1_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16861:1: ( ( rule__CollectionLiteralPartCS__OwnedLastExpressionAssignment_0_1_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16862:1: ( rule__CollectionLiteralPartCS__OwnedLastExpressionAssignment_0_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17879:1: ( ( rule__CollectionLiteralPartCS__OwnedLastExpressionAssignment_0_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17880:1: ( rule__CollectionLiteralPartCS__OwnedLastExpressionAssignment_0_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionLiteralPartCSAccess().getOwnedLastExpressionAssignment_0_1_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16863:1: ( rule__CollectionLiteralPartCS__OwnedLastExpressionAssignment_0_1_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16863:2: rule__CollectionLiteralPartCS__OwnedLastExpressionAssignment_0_1_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17881:1: ( rule__CollectionLiteralPartCS__OwnedLastExpressionAssignment_0_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17881:2: rule__CollectionLiteralPartCS__OwnedLastExpressionAssignment_0_1_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralPartCS__OwnedLastExpressionAssignment_0_1_1_in_rule__CollectionLiteralPartCS__Group_0_1__1__Impl34832);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionLiteralPartCS__OwnedLastExpressionAssignment_0_1_1_in_rule__CollectionLiteralPartCS__Group_0_1__1__Impl36702);
             rule__CollectionLiteralPartCS__OwnedLastExpressionAssignment_0_1_1();
 
             state._fsp--;
@@ -51186,21 +53654,21 @@
 
 
     // $ANTLR start "rule__CollectionPatternCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16877:1: rule__CollectionPatternCS__Group__0 : rule__CollectionPatternCS__Group__0__Impl rule__CollectionPatternCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17895:1: rule__CollectionPatternCS__Group__0 : rule__CollectionPatternCS__Group__0__Impl rule__CollectionPatternCS__Group__1 ;
     public final void rule__CollectionPatternCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16881:1: ( rule__CollectionPatternCS__Group__0__Impl rule__CollectionPatternCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16882:2: rule__CollectionPatternCS__Group__0__Impl rule__CollectionPatternCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17899:1: ( rule__CollectionPatternCS__Group__0__Impl rule__CollectionPatternCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17900:2: rule__CollectionPatternCS__Group__0__Impl rule__CollectionPatternCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group__0__Impl_in_rule__CollectionPatternCS__Group__034866);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group__0__Impl_in_rule__CollectionPatternCS__Group__036736);
             rule__CollectionPatternCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group__1_in_rule__CollectionPatternCS__Group__034869);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group__1_in_rule__CollectionPatternCS__Group__036739);
             rule__CollectionPatternCS__Group__1();
 
             state._fsp--;
@@ -51224,25 +53692,25 @@
 
 
     // $ANTLR start "rule__CollectionPatternCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16889:1: rule__CollectionPatternCS__Group__0__Impl : ( ( rule__CollectionPatternCS__OwnedTypeAssignment_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17907:1: rule__CollectionPatternCS__Group__0__Impl : ( ( rule__CollectionPatternCS__OwnedTypeAssignment_0 ) ) ;
     public final void rule__CollectionPatternCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16893:1: ( ( ( rule__CollectionPatternCS__OwnedTypeAssignment_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16894:1: ( ( rule__CollectionPatternCS__OwnedTypeAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17911:1: ( ( ( rule__CollectionPatternCS__OwnedTypeAssignment_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17912:1: ( ( rule__CollectionPatternCS__OwnedTypeAssignment_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16894:1: ( ( rule__CollectionPatternCS__OwnedTypeAssignment_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16895:1: ( rule__CollectionPatternCS__OwnedTypeAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17912:1: ( ( rule__CollectionPatternCS__OwnedTypeAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17913:1: ( rule__CollectionPatternCS__OwnedTypeAssignment_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionPatternCSAccess().getOwnedTypeAssignment_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16896:1: ( rule__CollectionPatternCS__OwnedTypeAssignment_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16896:2: rule__CollectionPatternCS__OwnedTypeAssignment_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17914:1: ( rule__CollectionPatternCS__OwnedTypeAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17914:2: rule__CollectionPatternCS__OwnedTypeAssignment_0
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__OwnedTypeAssignment_0_in_rule__CollectionPatternCS__Group__0__Impl34896);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__OwnedTypeAssignment_0_in_rule__CollectionPatternCS__Group__0__Impl36766);
             rule__CollectionPatternCS__OwnedTypeAssignment_0();
 
             state._fsp--;
@@ -51275,21 +53743,21 @@
 
 
     // $ANTLR start "rule__CollectionPatternCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16906:1: rule__CollectionPatternCS__Group__1 : rule__CollectionPatternCS__Group__1__Impl rule__CollectionPatternCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17924:1: rule__CollectionPatternCS__Group__1 : rule__CollectionPatternCS__Group__1__Impl rule__CollectionPatternCS__Group__2 ;
     public final void rule__CollectionPatternCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16910:1: ( rule__CollectionPatternCS__Group__1__Impl rule__CollectionPatternCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16911:2: rule__CollectionPatternCS__Group__1__Impl rule__CollectionPatternCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17928:1: ( rule__CollectionPatternCS__Group__1__Impl rule__CollectionPatternCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17929:2: rule__CollectionPatternCS__Group__1__Impl rule__CollectionPatternCS__Group__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group__1__Impl_in_rule__CollectionPatternCS__Group__134926);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group__1__Impl_in_rule__CollectionPatternCS__Group__136796);
             rule__CollectionPatternCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group__2_in_rule__CollectionPatternCS__Group__134929);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group__2_in_rule__CollectionPatternCS__Group__136799);
             rule__CollectionPatternCS__Group__2();
 
             state._fsp--;
@@ -51313,22 +53781,22 @@
 
 
     // $ANTLR start "rule__CollectionPatternCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16918:1: rule__CollectionPatternCS__Group__1__Impl : ( '{' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17936:1: rule__CollectionPatternCS__Group__1__Impl : ( '{' ) ;
     public final void rule__CollectionPatternCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16922:1: ( ( '{' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16923:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17940:1: ( ( '{' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17941:1: ( '{' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16923:1: ( '{' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16924:1: '{'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17941:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17942:1: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionPatternCSAccess().getLeftCurlyBracketKeyword_1()); 
             }
-            match(input,99,FollowSets001.FOLLOW_99_in_rule__CollectionPatternCS__Group__1__Impl34957); if (state.failed) return ;
+            match(input,108,FollowSets001.FOLLOW_108_in_rule__CollectionPatternCS__Group__1__Impl36827); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getCollectionPatternCSAccess().getLeftCurlyBracketKeyword_1()); 
             }
@@ -51354,21 +53822,21 @@
 
 
     // $ANTLR start "rule__CollectionPatternCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16937:1: rule__CollectionPatternCS__Group__2 : rule__CollectionPatternCS__Group__2__Impl rule__CollectionPatternCS__Group__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17955:1: rule__CollectionPatternCS__Group__2 : rule__CollectionPatternCS__Group__2__Impl rule__CollectionPatternCS__Group__3 ;
     public final void rule__CollectionPatternCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16941:1: ( rule__CollectionPatternCS__Group__2__Impl rule__CollectionPatternCS__Group__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16942:2: rule__CollectionPatternCS__Group__2__Impl rule__CollectionPatternCS__Group__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17959:1: ( rule__CollectionPatternCS__Group__2__Impl rule__CollectionPatternCS__Group__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17960:2: rule__CollectionPatternCS__Group__2__Impl rule__CollectionPatternCS__Group__3
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group__2__Impl_in_rule__CollectionPatternCS__Group__234988);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group__2__Impl_in_rule__CollectionPatternCS__Group__236858);
             rule__CollectionPatternCS__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group__3_in_rule__CollectionPatternCS__Group__234991);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group__3_in_rule__CollectionPatternCS__Group__236861);
             rule__CollectionPatternCS__Group__3();
 
             state._fsp--;
@@ -51392,33 +53860,33 @@
 
 
     // $ANTLR start "rule__CollectionPatternCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16949:1: rule__CollectionPatternCS__Group__2__Impl : ( ( rule__CollectionPatternCS__Group_2__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17967:1: rule__CollectionPatternCS__Group__2__Impl : ( ( rule__CollectionPatternCS__Group_2__0 )? ) ;
     public final void rule__CollectionPatternCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16953:1: ( ( ( rule__CollectionPatternCS__Group_2__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16954:1: ( ( rule__CollectionPatternCS__Group_2__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17971:1: ( ( ( rule__CollectionPatternCS__Group_2__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17972:1: ( ( rule__CollectionPatternCS__Group_2__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16954:1: ( ( rule__CollectionPatternCS__Group_2__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16955:1: ( rule__CollectionPatternCS__Group_2__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17972:1: ( ( rule__CollectionPatternCS__Group_2__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17973:1: ( rule__CollectionPatternCS__Group_2__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionPatternCSAccess().getGroup_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16956:1: ( rule__CollectionPatternCS__Group_2__0 )?
-            int alt188=2;
-            int LA188_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17974:1: ( rule__CollectionPatternCS__Group_2__0 )?
+            int alt216=2;
+            int LA216_0 = input.LA(1);
 
-            if ( ((LA188_0>=RULE_SIMPLE_ID && LA188_0<=RULE_ESCAPED_ID)||(LA188_0>=17 && LA188_0<=52)||(LA188_0>=55 && LA188_0<=60)||LA188_0==97) ) {
-                alt188=1;
+            if ( ((LA216_0>=RULE_SIMPLE_ID && LA216_0<=RULE_ESCAPED_ID)||(LA216_0>=17 && LA216_0<=52)||(LA216_0>=64 && LA216_0<=69)||LA216_0==106) ) {
+                alt216=1;
             }
-            switch (alt188) {
+            switch (alt216) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16956:2: rule__CollectionPatternCS__Group_2__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17974:2: rule__CollectionPatternCS__Group_2__0
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group_2__0_in_rule__CollectionPatternCS__Group__2__Impl35018);
+                    pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group_2__0_in_rule__CollectionPatternCS__Group__2__Impl36888);
                     rule__CollectionPatternCS__Group_2__0();
 
                     state._fsp--;
@@ -51454,16 +53922,16 @@
 
 
     // $ANTLR start "rule__CollectionPatternCS__Group__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16966:1: rule__CollectionPatternCS__Group__3 : rule__CollectionPatternCS__Group__3__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17984:1: rule__CollectionPatternCS__Group__3 : rule__CollectionPatternCS__Group__3__Impl ;
     public final void rule__CollectionPatternCS__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16970:1: ( rule__CollectionPatternCS__Group__3__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16971:2: rule__CollectionPatternCS__Group__3__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17988:1: ( rule__CollectionPatternCS__Group__3__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17989:2: rule__CollectionPatternCS__Group__3__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group__3__Impl_in_rule__CollectionPatternCS__Group__335049);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group__3__Impl_in_rule__CollectionPatternCS__Group__336919);
             rule__CollectionPatternCS__Group__3__Impl();
 
             state._fsp--;
@@ -51487,22 +53955,22 @@
 
 
     // $ANTLR start "rule__CollectionPatternCS__Group__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16977:1: rule__CollectionPatternCS__Group__3__Impl : ( '}' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17995:1: rule__CollectionPatternCS__Group__3__Impl : ( '}' ) ;
     public final void rule__CollectionPatternCS__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16981:1: ( ( '}' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16982:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17999:1: ( ( '}' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18000:1: ( '}' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16982:1: ( '}' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:16983:1: '}'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18000:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18001:1: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionPatternCSAccess().getRightCurlyBracketKeyword_3()); 
             }
-            match(input,100,FollowSets001.FOLLOW_100_in_rule__CollectionPatternCS__Group__3__Impl35077); if (state.failed) return ;
+            match(input,109,FollowSets001.FOLLOW_109_in_rule__CollectionPatternCS__Group__3__Impl36947); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getCollectionPatternCSAccess().getRightCurlyBracketKeyword_3()); 
             }
@@ -51528,21 +53996,21 @@
 
 
     // $ANTLR start "rule__CollectionPatternCS__Group_2__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17004:1: rule__CollectionPatternCS__Group_2__0 : rule__CollectionPatternCS__Group_2__0__Impl rule__CollectionPatternCS__Group_2__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18022:1: rule__CollectionPatternCS__Group_2__0 : rule__CollectionPatternCS__Group_2__0__Impl rule__CollectionPatternCS__Group_2__1 ;
     public final void rule__CollectionPatternCS__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17008:1: ( rule__CollectionPatternCS__Group_2__0__Impl rule__CollectionPatternCS__Group_2__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17009:2: rule__CollectionPatternCS__Group_2__0__Impl rule__CollectionPatternCS__Group_2__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18026:1: ( rule__CollectionPatternCS__Group_2__0__Impl rule__CollectionPatternCS__Group_2__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18027:2: rule__CollectionPatternCS__Group_2__0__Impl rule__CollectionPatternCS__Group_2__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group_2__0__Impl_in_rule__CollectionPatternCS__Group_2__035116);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group_2__0__Impl_in_rule__CollectionPatternCS__Group_2__036986);
             rule__CollectionPatternCS__Group_2__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group_2__1_in_rule__CollectionPatternCS__Group_2__035119);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group_2__1_in_rule__CollectionPatternCS__Group_2__036989);
             rule__CollectionPatternCS__Group_2__1();
 
             state._fsp--;
@@ -51566,25 +54034,25 @@
 
 
     // $ANTLR start "rule__CollectionPatternCS__Group_2__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17016:1: rule__CollectionPatternCS__Group_2__0__Impl : ( ( rule__CollectionPatternCS__OwnedPartsAssignment_2_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18034:1: rule__CollectionPatternCS__Group_2__0__Impl : ( ( rule__CollectionPatternCS__OwnedPartsAssignment_2_0 ) ) ;
     public final void rule__CollectionPatternCS__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17020:1: ( ( ( rule__CollectionPatternCS__OwnedPartsAssignment_2_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17021:1: ( ( rule__CollectionPatternCS__OwnedPartsAssignment_2_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18038:1: ( ( ( rule__CollectionPatternCS__OwnedPartsAssignment_2_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18039:1: ( ( rule__CollectionPatternCS__OwnedPartsAssignment_2_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17021:1: ( ( rule__CollectionPatternCS__OwnedPartsAssignment_2_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17022:1: ( rule__CollectionPatternCS__OwnedPartsAssignment_2_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18039:1: ( ( rule__CollectionPatternCS__OwnedPartsAssignment_2_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18040:1: ( rule__CollectionPatternCS__OwnedPartsAssignment_2_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionPatternCSAccess().getOwnedPartsAssignment_2_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17023:1: ( rule__CollectionPatternCS__OwnedPartsAssignment_2_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17023:2: rule__CollectionPatternCS__OwnedPartsAssignment_2_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18041:1: ( rule__CollectionPatternCS__OwnedPartsAssignment_2_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18041:2: rule__CollectionPatternCS__OwnedPartsAssignment_2_0
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__OwnedPartsAssignment_2_0_in_rule__CollectionPatternCS__Group_2__0__Impl35146);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__OwnedPartsAssignment_2_0_in_rule__CollectionPatternCS__Group_2__0__Impl37016);
             rule__CollectionPatternCS__OwnedPartsAssignment_2_0();
 
             state._fsp--;
@@ -51617,21 +54085,21 @@
 
 
     // $ANTLR start "rule__CollectionPatternCS__Group_2__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17033:1: rule__CollectionPatternCS__Group_2__1 : rule__CollectionPatternCS__Group_2__1__Impl rule__CollectionPatternCS__Group_2__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18051:1: rule__CollectionPatternCS__Group_2__1 : rule__CollectionPatternCS__Group_2__1__Impl rule__CollectionPatternCS__Group_2__2 ;
     public final void rule__CollectionPatternCS__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17037:1: ( rule__CollectionPatternCS__Group_2__1__Impl rule__CollectionPatternCS__Group_2__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17038:2: rule__CollectionPatternCS__Group_2__1__Impl rule__CollectionPatternCS__Group_2__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18055:1: ( rule__CollectionPatternCS__Group_2__1__Impl rule__CollectionPatternCS__Group_2__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18056:2: rule__CollectionPatternCS__Group_2__1__Impl rule__CollectionPatternCS__Group_2__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group_2__1__Impl_in_rule__CollectionPatternCS__Group_2__135176);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group_2__1__Impl_in_rule__CollectionPatternCS__Group_2__137046);
             rule__CollectionPatternCS__Group_2__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group_2__2_in_rule__CollectionPatternCS__Group_2__135179);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group_2__2_in_rule__CollectionPatternCS__Group_2__137049);
             rule__CollectionPatternCS__Group_2__2();
 
             state._fsp--;
@@ -51655,37 +54123,37 @@
 
 
     // $ANTLR start "rule__CollectionPatternCS__Group_2__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17045:1: rule__CollectionPatternCS__Group_2__1__Impl : ( ( rule__CollectionPatternCS__Group_2_1__0 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18063:1: rule__CollectionPatternCS__Group_2__1__Impl : ( ( rule__CollectionPatternCS__Group_2_1__0 )* ) ;
     public final void rule__CollectionPatternCS__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17049:1: ( ( ( rule__CollectionPatternCS__Group_2_1__0 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17050:1: ( ( rule__CollectionPatternCS__Group_2_1__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18067:1: ( ( ( rule__CollectionPatternCS__Group_2_1__0 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18068:1: ( ( rule__CollectionPatternCS__Group_2_1__0 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17050:1: ( ( rule__CollectionPatternCS__Group_2_1__0 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17051:1: ( rule__CollectionPatternCS__Group_2_1__0 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18068:1: ( ( rule__CollectionPatternCS__Group_2_1__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18069:1: ( rule__CollectionPatternCS__Group_2_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionPatternCSAccess().getGroup_2_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17052:1: ( rule__CollectionPatternCS__Group_2_1__0 )*
-            loop189:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18070:1: ( rule__CollectionPatternCS__Group_2_1__0 )*
+            loop217:
             do {
-                int alt189=2;
-                int LA189_0 = input.LA(1);
+                int alt217=2;
+                int LA217_0 = input.LA(1);
 
-                if ( (LA189_0==98) ) {
-                    alt189=1;
+                if ( (LA217_0==107) ) {
+                    alt217=1;
                 }
 
 
-                switch (alt189) {
+                switch (alt217) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17052:2: rule__CollectionPatternCS__Group_2_1__0
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18070:2: rule__CollectionPatternCS__Group_2_1__0
             	    {
-            	    pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group_2_1__0_in_rule__CollectionPatternCS__Group_2__1__Impl35206);
+            	    pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group_2_1__0_in_rule__CollectionPatternCS__Group_2__1__Impl37076);
             	    rule__CollectionPatternCS__Group_2_1__0();
 
             	    state._fsp--;
@@ -51695,7 +54163,7 @@
             	    break;
 
             	default :
-            	    break loop189;
+            	    break loop217;
                 }
             } while (true);
 
@@ -51724,16 +54192,16 @@
 
 
     // $ANTLR start "rule__CollectionPatternCS__Group_2__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17062:1: rule__CollectionPatternCS__Group_2__2 : rule__CollectionPatternCS__Group_2__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18080:1: rule__CollectionPatternCS__Group_2__2 : rule__CollectionPatternCS__Group_2__2__Impl ;
     public final void rule__CollectionPatternCS__Group_2__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17066:1: ( rule__CollectionPatternCS__Group_2__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17067:2: rule__CollectionPatternCS__Group_2__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18084:1: ( rule__CollectionPatternCS__Group_2__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18085:2: rule__CollectionPatternCS__Group_2__2__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group_2__2__Impl_in_rule__CollectionPatternCS__Group_2__235237);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group_2__2__Impl_in_rule__CollectionPatternCS__Group_2__237107);
             rule__CollectionPatternCS__Group_2__2__Impl();
 
             state._fsp--;
@@ -51757,25 +54225,25 @@
 
 
     // $ANTLR start "rule__CollectionPatternCS__Group_2__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17073:1: rule__CollectionPatternCS__Group_2__2__Impl : ( ( rule__CollectionPatternCS__Group_2_2__0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18091:1: rule__CollectionPatternCS__Group_2__2__Impl : ( ( rule__CollectionPatternCS__Group_2_2__0 ) ) ;
     public final void rule__CollectionPatternCS__Group_2__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17077:1: ( ( ( rule__CollectionPatternCS__Group_2_2__0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17078:1: ( ( rule__CollectionPatternCS__Group_2_2__0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18095:1: ( ( ( rule__CollectionPatternCS__Group_2_2__0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18096:1: ( ( rule__CollectionPatternCS__Group_2_2__0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17078:1: ( ( rule__CollectionPatternCS__Group_2_2__0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17079:1: ( rule__CollectionPatternCS__Group_2_2__0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18096:1: ( ( rule__CollectionPatternCS__Group_2_2__0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18097:1: ( rule__CollectionPatternCS__Group_2_2__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionPatternCSAccess().getGroup_2_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17080:1: ( rule__CollectionPatternCS__Group_2_2__0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17080:2: rule__CollectionPatternCS__Group_2_2__0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18098:1: ( rule__CollectionPatternCS__Group_2_2__0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18098:2: rule__CollectionPatternCS__Group_2_2__0
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group_2_2__0_in_rule__CollectionPatternCS__Group_2__2__Impl35264);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group_2_2__0_in_rule__CollectionPatternCS__Group_2__2__Impl37134);
             rule__CollectionPatternCS__Group_2_2__0();
 
             state._fsp--;
@@ -51808,21 +54276,21 @@
 
 
     // $ANTLR start "rule__CollectionPatternCS__Group_2_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17096:1: rule__CollectionPatternCS__Group_2_1__0 : rule__CollectionPatternCS__Group_2_1__0__Impl rule__CollectionPatternCS__Group_2_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18114:1: rule__CollectionPatternCS__Group_2_1__0 : rule__CollectionPatternCS__Group_2_1__0__Impl rule__CollectionPatternCS__Group_2_1__1 ;
     public final void rule__CollectionPatternCS__Group_2_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17100:1: ( rule__CollectionPatternCS__Group_2_1__0__Impl rule__CollectionPatternCS__Group_2_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17101:2: rule__CollectionPatternCS__Group_2_1__0__Impl rule__CollectionPatternCS__Group_2_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18118:1: ( rule__CollectionPatternCS__Group_2_1__0__Impl rule__CollectionPatternCS__Group_2_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18119:2: rule__CollectionPatternCS__Group_2_1__0__Impl rule__CollectionPatternCS__Group_2_1__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group_2_1__0__Impl_in_rule__CollectionPatternCS__Group_2_1__035300);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group_2_1__0__Impl_in_rule__CollectionPatternCS__Group_2_1__037170);
             rule__CollectionPatternCS__Group_2_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group_2_1__1_in_rule__CollectionPatternCS__Group_2_1__035303);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group_2_1__1_in_rule__CollectionPatternCS__Group_2_1__037173);
             rule__CollectionPatternCS__Group_2_1__1();
 
             state._fsp--;
@@ -51846,22 +54314,22 @@
 
 
     // $ANTLR start "rule__CollectionPatternCS__Group_2_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17108:1: rule__CollectionPatternCS__Group_2_1__0__Impl : ( ',' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18126:1: rule__CollectionPatternCS__Group_2_1__0__Impl : ( ',' ) ;
     public final void rule__CollectionPatternCS__Group_2_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17112:1: ( ( ',' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17113:1: ( ',' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18130:1: ( ( ',' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18131:1: ( ',' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17113:1: ( ',' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17114:1: ','
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18131:1: ( ',' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18132:1: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionPatternCSAccess().getCommaKeyword_2_1_0()); 
             }
-            match(input,98,FollowSets001.FOLLOW_98_in_rule__CollectionPatternCS__Group_2_1__0__Impl35331); if (state.failed) return ;
+            match(input,107,FollowSets001.FOLLOW_107_in_rule__CollectionPatternCS__Group_2_1__0__Impl37201); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getCollectionPatternCSAccess().getCommaKeyword_2_1_0()); 
             }
@@ -51887,16 +54355,16 @@
 
 
     // $ANTLR start "rule__CollectionPatternCS__Group_2_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17127:1: rule__CollectionPatternCS__Group_2_1__1 : rule__CollectionPatternCS__Group_2_1__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18145:1: rule__CollectionPatternCS__Group_2_1__1 : rule__CollectionPatternCS__Group_2_1__1__Impl ;
     public final void rule__CollectionPatternCS__Group_2_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17131:1: ( rule__CollectionPatternCS__Group_2_1__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17132:2: rule__CollectionPatternCS__Group_2_1__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18149:1: ( rule__CollectionPatternCS__Group_2_1__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18150:2: rule__CollectionPatternCS__Group_2_1__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group_2_1__1__Impl_in_rule__CollectionPatternCS__Group_2_1__135362);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group_2_1__1__Impl_in_rule__CollectionPatternCS__Group_2_1__137232);
             rule__CollectionPatternCS__Group_2_1__1__Impl();
 
             state._fsp--;
@@ -51920,25 +54388,25 @@
 
 
     // $ANTLR start "rule__CollectionPatternCS__Group_2_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17138:1: rule__CollectionPatternCS__Group_2_1__1__Impl : ( ( rule__CollectionPatternCS__OwnedPartsAssignment_2_1_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18156:1: rule__CollectionPatternCS__Group_2_1__1__Impl : ( ( rule__CollectionPatternCS__OwnedPartsAssignment_2_1_1 ) ) ;
     public final void rule__CollectionPatternCS__Group_2_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17142:1: ( ( ( rule__CollectionPatternCS__OwnedPartsAssignment_2_1_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17143:1: ( ( rule__CollectionPatternCS__OwnedPartsAssignment_2_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18160:1: ( ( ( rule__CollectionPatternCS__OwnedPartsAssignment_2_1_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18161:1: ( ( rule__CollectionPatternCS__OwnedPartsAssignment_2_1_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17143:1: ( ( rule__CollectionPatternCS__OwnedPartsAssignment_2_1_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17144:1: ( rule__CollectionPatternCS__OwnedPartsAssignment_2_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18161:1: ( ( rule__CollectionPatternCS__OwnedPartsAssignment_2_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18162:1: ( rule__CollectionPatternCS__OwnedPartsAssignment_2_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionPatternCSAccess().getOwnedPartsAssignment_2_1_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17145:1: ( rule__CollectionPatternCS__OwnedPartsAssignment_2_1_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17145:2: rule__CollectionPatternCS__OwnedPartsAssignment_2_1_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18163:1: ( rule__CollectionPatternCS__OwnedPartsAssignment_2_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18163:2: rule__CollectionPatternCS__OwnedPartsAssignment_2_1_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__OwnedPartsAssignment_2_1_1_in_rule__CollectionPatternCS__Group_2_1__1__Impl35389);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__OwnedPartsAssignment_2_1_1_in_rule__CollectionPatternCS__Group_2_1__1__Impl37259);
             rule__CollectionPatternCS__OwnedPartsAssignment_2_1_1();
 
             state._fsp--;
@@ -51971,21 +54439,21 @@
 
 
     // $ANTLR start "rule__CollectionPatternCS__Group_2_2__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17159:1: rule__CollectionPatternCS__Group_2_2__0 : rule__CollectionPatternCS__Group_2_2__0__Impl rule__CollectionPatternCS__Group_2_2__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18177:1: rule__CollectionPatternCS__Group_2_2__0 : rule__CollectionPatternCS__Group_2_2__0__Impl rule__CollectionPatternCS__Group_2_2__1 ;
     public final void rule__CollectionPatternCS__Group_2_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17163:1: ( rule__CollectionPatternCS__Group_2_2__0__Impl rule__CollectionPatternCS__Group_2_2__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17164:2: rule__CollectionPatternCS__Group_2_2__0__Impl rule__CollectionPatternCS__Group_2_2__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18181:1: ( rule__CollectionPatternCS__Group_2_2__0__Impl rule__CollectionPatternCS__Group_2_2__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18182:2: rule__CollectionPatternCS__Group_2_2__0__Impl rule__CollectionPatternCS__Group_2_2__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group_2_2__0__Impl_in_rule__CollectionPatternCS__Group_2_2__035423);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group_2_2__0__Impl_in_rule__CollectionPatternCS__Group_2_2__037293);
             rule__CollectionPatternCS__Group_2_2__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group_2_2__1_in_rule__CollectionPatternCS__Group_2_2__035426);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group_2_2__1_in_rule__CollectionPatternCS__Group_2_2__037296);
             rule__CollectionPatternCS__Group_2_2__1();
 
             state._fsp--;
@@ -52009,22 +54477,22 @@
 
 
     // $ANTLR start "rule__CollectionPatternCS__Group_2_2__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17171:1: rule__CollectionPatternCS__Group_2_2__0__Impl : ( '++' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18189:1: rule__CollectionPatternCS__Group_2_2__0__Impl : ( '++' ) ;
     public final void rule__CollectionPatternCS__Group_2_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17175:1: ( ( '++' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17176:1: ( '++' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18193:1: ( ( '++' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18194:1: ( '++' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17176:1: ( '++' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17177:1: '++'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18194:1: ( '++' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18195:1: '++'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionPatternCSAccess().getPlusSignPlusSignKeyword_2_2_0()); 
             }
-            match(input,104,FollowSets001.FOLLOW_104_in_rule__CollectionPatternCS__Group_2_2__0__Impl35454); if (state.failed) return ;
+            match(input,113,FollowSets001.FOLLOW_113_in_rule__CollectionPatternCS__Group_2_2__0__Impl37324); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getCollectionPatternCSAccess().getPlusSignPlusSignKeyword_2_2_0()); 
             }
@@ -52050,16 +54518,16 @@
 
 
     // $ANTLR start "rule__CollectionPatternCS__Group_2_2__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17190:1: rule__CollectionPatternCS__Group_2_2__1 : rule__CollectionPatternCS__Group_2_2__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18208:1: rule__CollectionPatternCS__Group_2_2__1 : rule__CollectionPatternCS__Group_2_2__1__Impl ;
     public final void rule__CollectionPatternCS__Group_2_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17194:1: ( rule__CollectionPatternCS__Group_2_2__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17195:2: rule__CollectionPatternCS__Group_2_2__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18212:1: ( rule__CollectionPatternCS__Group_2_2__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18213:2: rule__CollectionPatternCS__Group_2_2__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group_2_2__1__Impl_in_rule__CollectionPatternCS__Group_2_2__135485);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__Group_2_2__1__Impl_in_rule__CollectionPatternCS__Group_2_2__137355);
             rule__CollectionPatternCS__Group_2_2__1__Impl();
 
             state._fsp--;
@@ -52083,25 +54551,25 @@
 
 
     // $ANTLR start "rule__CollectionPatternCS__Group_2_2__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17201:1: rule__CollectionPatternCS__Group_2_2__1__Impl : ( ( rule__CollectionPatternCS__RestVariableNameAssignment_2_2_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18219:1: rule__CollectionPatternCS__Group_2_2__1__Impl : ( ( rule__CollectionPatternCS__RestVariableNameAssignment_2_2_1 ) ) ;
     public final void rule__CollectionPatternCS__Group_2_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17205:1: ( ( ( rule__CollectionPatternCS__RestVariableNameAssignment_2_2_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17206:1: ( ( rule__CollectionPatternCS__RestVariableNameAssignment_2_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18223:1: ( ( ( rule__CollectionPatternCS__RestVariableNameAssignment_2_2_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18224:1: ( ( rule__CollectionPatternCS__RestVariableNameAssignment_2_2_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17206:1: ( ( rule__CollectionPatternCS__RestVariableNameAssignment_2_2_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17207:1: ( rule__CollectionPatternCS__RestVariableNameAssignment_2_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18224:1: ( ( rule__CollectionPatternCS__RestVariableNameAssignment_2_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18225:1: ( rule__CollectionPatternCS__RestVariableNameAssignment_2_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionPatternCSAccess().getRestVariableNameAssignment_2_2_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17208:1: ( rule__CollectionPatternCS__RestVariableNameAssignment_2_2_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17208:2: rule__CollectionPatternCS__RestVariableNameAssignment_2_2_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18226:1: ( rule__CollectionPatternCS__RestVariableNameAssignment_2_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18226:2: rule__CollectionPatternCS__RestVariableNameAssignment_2_2_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__RestVariableNameAssignment_2_2_1_in_rule__CollectionPatternCS__Group_2_2__1__Impl35512);
+            pushFollow(FollowSets001.FOLLOW_rule__CollectionPatternCS__RestVariableNameAssignment_2_2_1_in_rule__CollectionPatternCS__Group_2_2__1__Impl37382);
             rule__CollectionPatternCS__RestVariableNameAssignment_2_2_1();
 
             state._fsp--;
@@ -52134,21 +54602,21 @@
 
 
     // $ANTLR start "rule__ConstructorPartCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17222:1: rule__ConstructorPartCS__Group__0 : rule__ConstructorPartCS__Group__0__Impl rule__ConstructorPartCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18240:1: rule__ConstructorPartCS__Group__0 : rule__ConstructorPartCS__Group__0__Impl rule__ConstructorPartCS__Group__1 ;
     public final void rule__ConstructorPartCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17226:1: ( rule__ConstructorPartCS__Group__0__Impl rule__ConstructorPartCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17227:2: rule__ConstructorPartCS__Group__0__Impl rule__ConstructorPartCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18244:1: ( rule__ConstructorPartCS__Group__0__Impl rule__ConstructorPartCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18245:2: rule__ConstructorPartCS__Group__0__Impl rule__ConstructorPartCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ConstructorPartCS__Group__0__Impl_in_rule__ConstructorPartCS__Group__035546);
+            pushFollow(FollowSets001.FOLLOW_rule__ConstructorPartCS__Group__0__Impl_in_rule__ConstructorPartCS__Group__037416);
             rule__ConstructorPartCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ConstructorPartCS__Group__1_in_rule__ConstructorPartCS__Group__035549);
+            pushFollow(FollowSets001.FOLLOW_rule__ConstructorPartCS__Group__1_in_rule__ConstructorPartCS__Group__037419);
             rule__ConstructorPartCS__Group__1();
 
             state._fsp--;
@@ -52172,25 +54640,25 @@
 
 
     // $ANTLR start "rule__ConstructorPartCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17234:1: rule__ConstructorPartCS__Group__0__Impl : ( ( rule__ConstructorPartCS__ReferredPropertyAssignment_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18252:1: rule__ConstructorPartCS__Group__0__Impl : ( ( rule__ConstructorPartCS__ReferredPropertyAssignment_0 ) ) ;
     public final void rule__ConstructorPartCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17238:1: ( ( ( rule__ConstructorPartCS__ReferredPropertyAssignment_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17239:1: ( ( rule__ConstructorPartCS__ReferredPropertyAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18256:1: ( ( ( rule__ConstructorPartCS__ReferredPropertyAssignment_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18257:1: ( ( rule__ConstructorPartCS__ReferredPropertyAssignment_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17239:1: ( ( rule__ConstructorPartCS__ReferredPropertyAssignment_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17240:1: ( rule__ConstructorPartCS__ReferredPropertyAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18257:1: ( ( rule__ConstructorPartCS__ReferredPropertyAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18258:1: ( rule__ConstructorPartCS__ReferredPropertyAssignment_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getConstructorPartCSAccess().getReferredPropertyAssignment_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17241:1: ( rule__ConstructorPartCS__ReferredPropertyAssignment_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17241:2: rule__ConstructorPartCS__ReferredPropertyAssignment_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18259:1: ( rule__ConstructorPartCS__ReferredPropertyAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18259:2: rule__ConstructorPartCS__ReferredPropertyAssignment_0
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ConstructorPartCS__ReferredPropertyAssignment_0_in_rule__ConstructorPartCS__Group__0__Impl35576);
+            pushFollow(FollowSets001.FOLLOW_rule__ConstructorPartCS__ReferredPropertyAssignment_0_in_rule__ConstructorPartCS__Group__0__Impl37446);
             rule__ConstructorPartCS__ReferredPropertyAssignment_0();
 
             state._fsp--;
@@ -52223,21 +54691,21 @@
 
 
     // $ANTLR start "rule__ConstructorPartCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17251:1: rule__ConstructorPartCS__Group__1 : rule__ConstructorPartCS__Group__1__Impl rule__ConstructorPartCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18269:1: rule__ConstructorPartCS__Group__1 : rule__ConstructorPartCS__Group__1__Impl rule__ConstructorPartCS__Group__2 ;
     public final void rule__ConstructorPartCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17255:1: ( rule__ConstructorPartCS__Group__1__Impl rule__ConstructorPartCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17256:2: rule__ConstructorPartCS__Group__1__Impl rule__ConstructorPartCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18273:1: ( rule__ConstructorPartCS__Group__1__Impl rule__ConstructorPartCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18274:2: rule__ConstructorPartCS__Group__1__Impl rule__ConstructorPartCS__Group__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ConstructorPartCS__Group__1__Impl_in_rule__ConstructorPartCS__Group__135606);
+            pushFollow(FollowSets001.FOLLOW_rule__ConstructorPartCS__Group__1__Impl_in_rule__ConstructorPartCS__Group__137476);
             rule__ConstructorPartCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ConstructorPartCS__Group__2_in_rule__ConstructorPartCS__Group__135609);
+            pushFollow(FollowSets001.FOLLOW_rule__ConstructorPartCS__Group__2_in_rule__ConstructorPartCS__Group__137479);
             rule__ConstructorPartCS__Group__2();
 
             state._fsp--;
@@ -52261,22 +54729,22 @@
 
 
     // $ANTLR start "rule__ConstructorPartCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17263:1: rule__ConstructorPartCS__Group__1__Impl : ( '=' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18281:1: rule__ConstructorPartCS__Group__1__Impl : ( '=' ) ;
     public final void rule__ConstructorPartCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17267:1: ( ( '=' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17268:1: ( '=' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18285:1: ( ( '=' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18286:1: ( '=' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17268:1: ( '=' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17269:1: '='
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18286:1: ( '=' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18287:1: '='
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getConstructorPartCSAccess().getEqualsSignKeyword_1()); 
             }
-            match(input,70,FollowSets001.FOLLOW_70_in_rule__ConstructorPartCS__Group__1__Impl35637); if (state.failed) return ;
+            match(input,79,FollowSets001.FOLLOW_79_in_rule__ConstructorPartCS__Group__1__Impl37507); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getConstructorPartCSAccess().getEqualsSignKeyword_1()); 
             }
@@ -52302,16 +54770,16 @@
 
 
     // $ANTLR start "rule__ConstructorPartCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17282:1: rule__ConstructorPartCS__Group__2 : rule__ConstructorPartCS__Group__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18300:1: rule__ConstructorPartCS__Group__2 : rule__ConstructorPartCS__Group__2__Impl ;
     public final void rule__ConstructorPartCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17286:1: ( rule__ConstructorPartCS__Group__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17287:2: rule__ConstructorPartCS__Group__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18304:1: ( rule__ConstructorPartCS__Group__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18305:2: rule__ConstructorPartCS__Group__2__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ConstructorPartCS__Group__2__Impl_in_rule__ConstructorPartCS__Group__235668);
+            pushFollow(FollowSets001.FOLLOW_rule__ConstructorPartCS__Group__2__Impl_in_rule__ConstructorPartCS__Group__237538);
             rule__ConstructorPartCS__Group__2__Impl();
 
             state._fsp--;
@@ -52335,25 +54803,25 @@
 
 
     // $ANTLR start "rule__ConstructorPartCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17293:1: rule__ConstructorPartCS__Group__2__Impl : ( ( rule__ConstructorPartCS__OwnedInitExpressionAssignment_2 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18311:1: rule__ConstructorPartCS__Group__2__Impl : ( ( rule__ConstructorPartCS__OwnedInitExpressionAssignment_2 ) ) ;
     public final void rule__ConstructorPartCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17297:1: ( ( ( rule__ConstructorPartCS__OwnedInitExpressionAssignment_2 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17298:1: ( ( rule__ConstructorPartCS__OwnedInitExpressionAssignment_2 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18315:1: ( ( ( rule__ConstructorPartCS__OwnedInitExpressionAssignment_2 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18316:1: ( ( rule__ConstructorPartCS__OwnedInitExpressionAssignment_2 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17298:1: ( ( rule__ConstructorPartCS__OwnedInitExpressionAssignment_2 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17299:1: ( rule__ConstructorPartCS__OwnedInitExpressionAssignment_2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18316:1: ( ( rule__ConstructorPartCS__OwnedInitExpressionAssignment_2 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18317:1: ( rule__ConstructorPartCS__OwnedInitExpressionAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getConstructorPartCSAccess().getOwnedInitExpressionAssignment_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17300:1: ( rule__ConstructorPartCS__OwnedInitExpressionAssignment_2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17300:2: rule__ConstructorPartCS__OwnedInitExpressionAssignment_2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18318:1: ( rule__ConstructorPartCS__OwnedInitExpressionAssignment_2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18318:2: rule__ConstructorPartCS__OwnedInitExpressionAssignment_2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ConstructorPartCS__OwnedInitExpressionAssignment_2_in_rule__ConstructorPartCS__Group__2__Impl35695);
+            pushFollow(FollowSets001.FOLLOW_rule__ConstructorPartCS__OwnedInitExpressionAssignment_2_in_rule__ConstructorPartCS__Group__2__Impl37565);
             rule__ConstructorPartCS__OwnedInitExpressionAssignment_2();
 
             state._fsp--;
@@ -52386,21 +54854,21 @@
 
 
     // $ANTLR start "rule__PatternExpCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17316:1: rule__PatternExpCS__Group__0 : rule__PatternExpCS__Group__0__Impl rule__PatternExpCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18334:1: rule__PatternExpCS__Group__0 : rule__PatternExpCS__Group__0__Impl rule__PatternExpCS__Group__1 ;
     public final void rule__PatternExpCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17320:1: ( rule__PatternExpCS__Group__0__Impl rule__PatternExpCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17321:2: rule__PatternExpCS__Group__0__Impl rule__PatternExpCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18338:1: ( rule__PatternExpCS__Group__0__Impl rule__PatternExpCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18339:2: rule__PatternExpCS__Group__0__Impl rule__PatternExpCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__PatternExpCS__Group__0__Impl_in_rule__PatternExpCS__Group__035731);
+            pushFollow(FollowSets001.FOLLOW_rule__PatternExpCS__Group__0__Impl_in_rule__PatternExpCS__Group__037601);
             rule__PatternExpCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__PatternExpCS__Group__1_in_rule__PatternExpCS__Group__035734);
+            pushFollow(FollowSets001.FOLLOW_rule__PatternExpCS__Group__1_in_rule__PatternExpCS__Group__037604);
             rule__PatternExpCS__Group__1();
 
             state._fsp--;
@@ -52424,33 +54892,33 @@
 
 
     // $ANTLR start "rule__PatternExpCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17328:1: rule__PatternExpCS__Group__0__Impl : ( ( rule__PatternExpCS__PatternVariableNameAssignment_0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18346:1: rule__PatternExpCS__Group__0__Impl : ( ( rule__PatternExpCS__PatternVariableNameAssignment_0 )? ) ;
     public final void rule__PatternExpCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17332:1: ( ( ( rule__PatternExpCS__PatternVariableNameAssignment_0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17333:1: ( ( rule__PatternExpCS__PatternVariableNameAssignment_0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18350:1: ( ( ( rule__PatternExpCS__PatternVariableNameAssignment_0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18351:1: ( ( rule__PatternExpCS__PatternVariableNameAssignment_0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17333:1: ( ( rule__PatternExpCS__PatternVariableNameAssignment_0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17334:1: ( rule__PatternExpCS__PatternVariableNameAssignment_0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18351:1: ( ( rule__PatternExpCS__PatternVariableNameAssignment_0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18352:1: ( rule__PatternExpCS__PatternVariableNameAssignment_0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPatternExpCSAccess().getPatternVariableNameAssignment_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17335:1: ( rule__PatternExpCS__PatternVariableNameAssignment_0 )?
-            int alt190=2;
-            int LA190_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18353:1: ( rule__PatternExpCS__PatternVariableNameAssignment_0 )?
+            int alt218=2;
+            int LA218_0 = input.LA(1);
 
-            if ( ((LA190_0>=RULE_SIMPLE_ID && LA190_0<=RULE_ESCAPED_ID)||(LA190_0>=17 && LA190_0<=52)||(LA190_0>=55 && LA190_0<=60)) ) {
-                alt190=1;
+            if ( ((LA218_0>=RULE_SIMPLE_ID && LA218_0<=RULE_ESCAPED_ID)||(LA218_0>=17 && LA218_0<=52)||(LA218_0>=64 && LA218_0<=69)) ) {
+                alt218=1;
             }
-            switch (alt190) {
+            switch (alt218) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17335:2: rule__PatternExpCS__PatternVariableNameAssignment_0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18353:2: rule__PatternExpCS__PatternVariableNameAssignment_0
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__PatternExpCS__PatternVariableNameAssignment_0_in_rule__PatternExpCS__Group__0__Impl35761);
+                    pushFollow(FollowSets001.FOLLOW_rule__PatternExpCS__PatternVariableNameAssignment_0_in_rule__PatternExpCS__Group__0__Impl37631);
                     rule__PatternExpCS__PatternVariableNameAssignment_0();
 
                     state._fsp--;
@@ -52486,21 +54954,21 @@
 
 
     // $ANTLR start "rule__PatternExpCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17345:1: rule__PatternExpCS__Group__1 : rule__PatternExpCS__Group__1__Impl rule__PatternExpCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18363:1: rule__PatternExpCS__Group__1 : rule__PatternExpCS__Group__1__Impl rule__PatternExpCS__Group__2 ;
     public final void rule__PatternExpCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17349:1: ( rule__PatternExpCS__Group__1__Impl rule__PatternExpCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17350:2: rule__PatternExpCS__Group__1__Impl rule__PatternExpCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18367:1: ( rule__PatternExpCS__Group__1__Impl rule__PatternExpCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18368:2: rule__PatternExpCS__Group__1__Impl rule__PatternExpCS__Group__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__PatternExpCS__Group__1__Impl_in_rule__PatternExpCS__Group__135792);
+            pushFollow(FollowSets001.FOLLOW_rule__PatternExpCS__Group__1__Impl_in_rule__PatternExpCS__Group__137662);
             rule__PatternExpCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__PatternExpCS__Group__2_in_rule__PatternExpCS__Group__135795);
+            pushFollow(FollowSets001.FOLLOW_rule__PatternExpCS__Group__2_in_rule__PatternExpCS__Group__137665);
             rule__PatternExpCS__Group__2();
 
             state._fsp--;
@@ -52524,22 +54992,22 @@
 
 
     // $ANTLR start "rule__PatternExpCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17357:1: rule__PatternExpCS__Group__1__Impl : ( ':' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18375:1: rule__PatternExpCS__Group__1__Impl : ( ':' ) ;
     public final void rule__PatternExpCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17361:1: ( ( ':' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17362:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18379:1: ( ( ':' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18380:1: ( ':' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17362:1: ( ':' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17363:1: ':'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18380:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18381:1: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPatternExpCSAccess().getColonKeyword_1()); 
             }
-            match(input,97,FollowSets001.FOLLOW_97_in_rule__PatternExpCS__Group__1__Impl35823); if (state.failed) return ;
+            match(input,106,FollowSets001.FOLLOW_106_in_rule__PatternExpCS__Group__1__Impl37693); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPatternExpCSAccess().getColonKeyword_1()); 
             }
@@ -52565,16 +55033,16 @@
 
 
     // $ANTLR start "rule__PatternExpCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17376:1: rule__PatternExpCS__Group__2 : rule__PatternExpCS__Group__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18394:1: rule__PatternExpCS__Group__2 : rule__PatternExpCS__Group__2__Impl ;
     public final void rule__PatternExpCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17380:1: ( rule__PatternExpCS__Group__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17381:2: rule__PatternExpCS__Group__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18398:1: ( rule__PatternExpCS__Group__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18399:2: rule__PatternExpCS__Group__2__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__PatternExpCS__Group__2__Impl_in_rule__PatternExpCS__Group__235854);
+            pushFollow(FollowSets001.FOLLOW_rule__PatternExpCS__Group__2__Impl_in_rule__PatternExpCS__Group__237724);
             rule__PatternExpCS__Group__2__Impl();
 
             state._fsp--;
@@ -52598,25 +55066,25 @@
 
 
     // $ANTLR start "rule__PatternExpCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17387:1: rule__PatternExpCS__Group__2__Impl : ( ( rule__PatternExpCS__OwnedPatternTypeAssignment_2 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18405:1: rule__PatternExpCS__Group__2__Impl : ( ( rule__PatternExpCS__OwnedPatternTypeAssignment_2 ) ) ;
     public final void rule__PatternExpCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17391:1: ( ( ( rule__PatternExpCS__OwnedPatternTypeAssignment_2 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17392:1: ( ( rule__PatternExpCS__OwnedPatternTypeAssignment_2 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18409:1: ( ( ( rule__PatternExpCS__OwnedPatternTypeAssignment_2 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18410:1: ( ( rule__PatternExpCS__OwnedPatternTypeAssignment_2 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17392:1: ( ( rule__PatternExpCS__OwnedPatternTypeAssignment_2 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17393:1: ( rule__PatternExpCS__OwnedPatternTypeAssignment_2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18410:1: ( ( rule__PatternExpCS__OwnedPatternTypeAssignment_2 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18411:1: ( rule__PatternExpCS__OwnedPatternTypeAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPatternExpCSAccess().getOwnedPatternTypeAssignment_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17394:1: ( rule__PatternExpCS__OwnedPatternTypeAssignment_2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17394:2: rule__PatternExpCS__OwnedPatternTypeAssignment_2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18412:1: ( rule__PatternExpCS__OwnedPatternTypeAssignment_2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18412:2: rule__PatternExpCS__OwnedPatternTypeAssignment_2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__PatternExpCS__OwnedPatternTypeAssignment_2_in_rule__PatternExpCS__Group__2__Impl35881);
+            pushFollow(FollowSets001.FOLLOW_rule__PatternExpCS__OwnedPatternTypeAssignment_2_in_rule__PatternExpCS__Group__2__Impl37751);
             rule__PatternExpCS__OwnedPatternTypeAssignment_2();
 
             state._fsp--;
@@ -52649,21 +55117,21 @@
 
 
     // $ANTLR start "rule__LambdaLiteralExpCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17410:1: rule__LambdaLiteralExpCS__Group__0 : rule__LambdaLiteralExpCS__Group__0__Impl rule__LambdaLiteralExpCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18428:1: rule__LambdaLiteralExpCS__Group__0 : rule__LambdaLiteralExpCS__Group__0__Impl rule__LambdaLiteralExpCS__Group__1 ;
     public final void rule__LambdaLiteralExpCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17414:1: ( rule__LambdaLiteralExpCS__Group__0__Impl rule__LambdaLiteralExpCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17415:2: rule__LambdaLiteralExpCS__Group__0__Impl rule__LambdaLiteralExpCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18432:1: ( rule__LambdaLiteralExpCS__Group__0__Impl rule__LambdaLiteralExpCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18433:2: rule__LambdaLiteralExpCS__Group__0__Impl rule__LambdaLiteralExpCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__LambdaLiteralExpCS__Group__0__Impl_in_rule__LambdaLiteralExpCS__Group__035917);
+            pushFollow(FollowSets001.FOLLOW_rule__LambdaLiteralExpCS__Group__0__Impl_in_rule__LambdaLiteralExpCS__Group__037787);
             rule__LambdaLiteralExpCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__LambdaLiteralExpCS__Group__1_in_rule__LambdaLiteralExpCS__Group__035920);
+            pushFollow(FollowSets001.FOLLOW_rule__LambdaLiteralExpCS__Group__1_in_rule__LambdaLiteralExpCS__Group__037790);
             rule__LambdaLiteralExpCS__Group__1();
 
             state._fsp--;
@@ -52687,22 +55155,22 @@
 
 
     // $ANTLR start "rule__LambdaLiteralExpCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17422:1: rule__LambdaLiteralExpCS__Group__0__Impl : ( 'Lambda' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18440:1: rule__LambdaLiteralExpCS__Group__0__Impl : ( 'Lambda' ) ;
     public final void rule__LambdaLiteralExpCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17426:1: ( ( 'Lambda' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17427:1: ( 'Lambda' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18444:1: ( ( 'Lambda' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18445:1: ( 'Lambda' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17427:1: ( 'Lambda' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17428:1: 'Lambda'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18445:1: ( 'Lambda' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18446:1: 'Lambda'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLambdaLiteralExpCSAccess().getLambdaKeyword_0()); 
             }
-            match(input,105,FollowSets001.FOLLOW_105_in_rule__LambdaLiteralExpCS__Group__0__Impl35948); if (state.failed) return ;
+            match(input,114,FollowSets001.FOLLOW_114_in_rule__LambdaLiteralExpCS__Group__0__Impl37818); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getLambdaLiteralExpCSAccess().getLambdaKeyword_0()); 
             }
@@ -52728,21 +55196,21 @@
 
 
     // $ANTLR start "rule__LambdaLiteralExpCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17441:1: rule__LambdaLiteralExpCS__Group__1 : rule__LambdaLiteralExpCS__Group__1__Impl rule__LambdaLiteralExpCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18459:1: rule__LambdaLiteralExpCS__Group__1 : rule__LambdaLiteralExpCS__Group__1__Impl rule__LambdaLiteralExpCS__Group__2 ;
     public final void rule__LambdaLiteralExpCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17445:1: ( rule__LambdaLiteralExpCS__Group__1__Impl rule__LambdaLiteralExpCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17446:2: rule__LambdaLiteralExpCS__Group__1__Impl rule__LambdaLiteralExpCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18463:1: ( rule__LambdaLiteralExpCS__Group__1__Impl rule__LambdaLiteralExpCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18464:2: rule__LambdaLiteralExpCS__Group__1__Impl rule__LambdaLiteralExpCS__Group__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__LambdaLiteralExpCS__Group__1__Impl_in_rule__LambdaLiteralExpCS__Group__135979);
+            pushFollow(FollowSets001.FOLLOW_rule__LambdaLiteralExpCS__Group__1__Impl_in_rule__LambdaLiteralExpCS__Group__137849);
             rule__LambdaLiteralExpCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__LambdaLiteralExpCS__Group__2_in_rule__LambdaLiteralExpCS__Group__135982);
+            pushFollow(FollowSets001.FOLLOW_rule__LambdaLiteralExpCS__Group__2_in_rule__LambdaLiteralExpCS__Group__137852);
             rule__LambdaLiteralExpCS__Group__2();
 
             state._fsp--;
@@ -52766,22 +55234,22 @@
 
 
     // $ANTLR start "rule__LambdaLiteralExpCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17453:1: rule__LambdaLiteralExpCS__Group__1__Impl : ( '{' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18471:1: rule__LambdaLiteralExpCS__Group__1__Impl : ( '{' ) ;
     public final void rule__LambdaLiteralExpCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17457:1: ( ( '{' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17458:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18475:1: ( ( '{' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18476:1: ( '{' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17458:1: ( '{' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17459:1: '{'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18476:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18477:1: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLambdaLiteralExpCSAccess().getLeftCurlyBracketKeyword_1()); 
             }
-            match(input,99,FollowSets001.FOLLOW_99_in_rule__LambdaLiteralExpCS__Group__1__Impl36010); if (state.failed) return ;
+            match(input,108,FollowSets001.FOLLOW_108_in_rule__LambdaLiteralExpCS__Group__1__Impl37880); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getLambdaLiteralExpCSAccess().getLeftCurlyBracketKeyword_1()); 
             }
@@ -52807,21 +55275,21 @@
 
 
     // $ANTLR start "rule__LambdaLiteralExpCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17472:1: rule__LambdaLiteralExpCS__Group__2 : rule__LambdaLiteralExpCS__Group__2__Impl rule__LambdaLiteralExpCS__Group__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18490:1: rule__LambdaLiteralExpCS__Group__2 : rule__LambdaLiteralExpCS__Group__2__Impl rule__LambdaLiteralExpCS__Group__3 ;
     public final void rule__LambdaLiteralExpCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17476:1: ( rule__LambdaLiteralExpCS__Group__2__Impl rule__LambdaLiteralExpCS__Group__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17477:2: rule__LambdaLiteralExpCS__Group__2__Impl rule__LambdaLiteralExpCS__Group__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18494:1: ( rule__LambdaLiteralExpCS__Group__2__Impl rule__LambdaLiteralExpCS__Group__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18495:2: rule__LambdaLiteralExpCS__Group__2__Impl rule__LambdaLiteralExpCS__Group__3
             {
-            pushFollow(FollowSets001.FOLLOW_rule__LambdaLiteralExpCS__Group__2__Impl_in_rule__LambdaLiteralExpCS__Group__236041);
+            pushFollow(FollowSets001.FOLLOW_rule__LambdaLiteralExpCS__Group__2__Impl_in_rule__LambdaLiteralExpCS__Group__237911);
             rule__LambdaLiteralExpCS__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__LambdaLiteralExpCS__Group__3_in_rule__LambdaLiteralExpCS__Group__236044);
+            pushFollow(FollowSets001.FOLLOW_rule__LambdaLiteralExpCS__Group__3_in_rule__LambdaLiteralExpCS__Group__237914);
             rule__LambdaLiteralExpCS__Group__3();
 
             state._fsp--;
@@ -52845,25 +55313,25 @@
 
 
     // $ANTLR start "rule__LambdaLiteralExpCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17484:1: rule__LambdaLiteralExpCS__Group__2__Impl : ( ( rule__LambdaLiteralExpCS__OwnedExpressionCSAssignment_2 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18502:1: rule__LambdaLiteralExpCS__Group__2__Impl : ( ( rule__LambdaLiteralExpCS__OwnedExpressionCSAssignment_2 ) ) ;
     public final void rule__LambdaLiteralExpCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17488:1: ( ( ( rule__LambdaLiteralExpCS__OwnedExpressionCSAssignment_2 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17489:1: ( ( rule__LambdaLiteralExpCS__OwnedExpressionCSAssignment_2 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18506:1: ( ( ( rule__LambdaLiteralExpCS__OwnedExpressionCSAssignment_2 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18507:1: ( ( rule__LambdaLiteralExpCS__OwnedExpressionCSAssignment_2 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17489:1: ( ( rule__LambdaLiteralExpCS__OwnedExpressionCSAssignment_2 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17490:1: ( rule__LambdaLiteralExpCS__OwnedExpressionCSAssignment_2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18507:1: ( ( rule__LambdaLiteralExpCS__OwnedExpressionCSAssignment_2 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18508:1: ( rule__LambdaLiteralExpCS__OwnedExpressionCSAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLambdaLiteralExpCSAccess().getOwnedExpressionCSAssignment_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17491:1: ( rule__LambdaLiteralExpCS__OwnedExpressionCSAssignment_2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17491:2: rule__LambdaLiteralExpCS__OwnedExpressionCSAssignment_2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18509:1: ( rule__LambdaLiteralExpCS__OwnedExpressionCSAssignment_2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18509:2: rule__LambdaLiteralExpCS__OwnedExpressionCSAssignment_2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__LambdaLiteralExpCS__OwnedExpressionCSAssignment_2_in_rule__LambdaLiteralExpCS__Group__2__Impl36071);
+            pushFollow(FollowSets001.FOLLOW_rule__LambdaLiteralExpCS__OwnedExpressionCSAssignment_2_in_rule__LambdaLiteralExpCS__Group__2__Impl37941);
             rule__LambdaLiteralExpCS__OwnedExpressionCSAssignment_2();
 
             state._fsp--;
@@ -52896,16 +55364,16 @@
 
 
     // $ANTLR start "rule__LambdaLiteralExpCS__Group__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17501:1: rule__LambdaLiteralExpCS__Group__3 : rule__LambdaLiteralExpCS__Group__3__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18519:1: rule__LambdaLiteralExpCS__Group__3 : rule__LambdaLiteralExpCS__Group__3__Impl ;
     public final void rule__LambdaLiteralExpCS__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17505:1: ( rule__LambdaLiteralExpCS__Group__3__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17506:2: rule__LambdaLiteralExpCS__Group__3__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18523:1: ( rule__LambdaLiteralExpCS__Group__3__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18524:2: rule__LambdaLiteralExpCS__Group__3__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__LambdaLiteralExpCS__Group__3__Impl_in_rule__LambdaLiteralExpCS__Group__336101);
+            pushFollow(FollowSets001.FOLLOW_rule__LambdaLiteralExpCS__Group__3__Impl_in_rule__LambdaLiteralExpCS__Group__337971);
             rule__LambdaLiteralExpCS__Group__3__Impl();
 
             state._fsp--;
@@ -52929,22 +55397,22 @@
 
 
     // $ANTLR start "rule__LambdaLiteralExpCS__Group__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17512:1: rule__LambdaLiteralExpCS__Group__3__Impl : ( '}' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18530:1: rule__LambdaLiteralExpCS__Group__3__Impl : ( '}' ) ;
     public final void rule__LambdaLiteralExpCS__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17516:1: ( ( '}' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17517:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18534:1: ( ( '}' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18535:1: ( '}' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17517:1: ( '}' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17518:1: '}'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18535:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18536:1: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLambdaLiteralExpCSAccess().getRightCurlyBracketKeyword_3()); 
             }
-            match(input,100,FollowSets001.FOLLOW_100_in_rule__LambdaLiteralExpCS__Group__3__Impl36129); if (state.failed) return ;
+            match(input,109,FollowSets001.FOLLOW_109_in_rule__LambdaLiteralExpCS__Group__3__Impl37999); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getLambdaLiteralExpCSAccess().getRightCurlyBracketKeyword_3()); 
             }
@@ -52970,21 +55438,21 @@
 
 
     // $ANTLR start "rule__TupleLiteralExpCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17539:1: rule__TupleLiteralExpCS__Group__0 : rule__TupleLiteralExpCS__Group__0__Impl rule__TupleLiteralExpCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18557:1: rule__TupleLiteralExpCS__Group__0 : rule__TupleLiteralExpCS__Group__0__Impl rule__TupleLiteralExpCS__Group__1 ;
     public final void rule__TupleLiteralExpCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17543:1: ( rule__TupleLiteralExpCS__Group__0__Impl rule__TupleLiteralExpCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17544:2: rule__TupleLiteralExpCS__Group__0__Impl rule__TupleLiteralExpCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18561:1: ( rule__TupleLiteralExpCS__Group__0__Impl rule__TupleLiteralExpCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18562:2: rule__TupleLiteralExpCS__Group__0__Impl rule__TupleLiteralExpCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralExpCS__Group__0__Impl_in_rule__TupleLiteralExpCS__Group__036168);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralExpCS__Group__0__Impl_in_rule__TupleLiteralExpCS__Group__038038);
             rule__TupleLiteralExpCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralExpCS__Group__1_in_rule__TupleLiteralExpCS__Group__036171);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralExpCS__Group__1_in_rule__TupleLiteralExpCS__Group__038041);
             rule__TupleLiteralExpCS__Group__1();
 
             state._fsp--;
@@ -53008,22 +55476,22 @@
 
 
     // $ANTLR start "rule__TupleLiteralExpCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17551:1: rule__TupleLiteralExpCS__Group__0__Impl : ( 'Tuple' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18569:1: rule__TupleLiteralExpCS__Group__0__Impl : ( 'Tuple' ) ;
     public final void rule__TupleLiteralExpCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17555:1: ( ( 'Tuple' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17556:1: ( 'Tuple' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18573:1: ( ( 'Tuple' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18574:1: ( 'Tuple' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17556:1: ( 'Tuple' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17557:1: 'Tuple'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18574:1: ( 'Tuple' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18575:1: 'Tuple'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTupleLiteralExpCSAccess().getTupleKeyword_0()); 
             }
-            match(input,80,FollowSets001.FOLLOW_80_in_rule__TupleLiteralExpCS__Group__0__Impl36199); if (state.failed) return ;
+            match(input,89,FollowSets001.FOLLOW_89_in_rule__TupleLiteralExpCS__Group__0__Impl38069); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTupleLiteralExpCSAccess().getTupleKeyword_0()); 
             }
@@ -53049,21 +55517,21 @@
 
 
     // $ANTLR start "rule__TupleLiteralExpCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17570:1: rule__TupleLiteralExpCS__Group__1 : rule__TupleLiteralExpCS__Group__1__Impl rule__TupleLiteralExpCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18588:1: rule__TupleLiteralExpCS__Group__1 : rule__TupleLiteralExpCS__Group__1__Impl rule__TupleLiteralExpCS__Group__2 ;
     public final void rule__TupleLiteralExpCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17574:1: ( rule__TupleLiteralExpCS__Group__1__Impl rule__TupleLiteralExpCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17575:2: rule__TupleLiteralExpCS__Group__1__Impl rule__TupleLiteralExpCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18592:1: ( rule__TupleLiteralExpCS__Group__1__Impl rule__TupleLiteralExpCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18593:2: rule__TupleLiteralExpCS__Group__1__Impl rule__TupleLiteralExpCS__Group__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralExpCS__Group__1__Impl_in_rule__TupleLiteralExpCS__Group__136230);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralExpCS__Group__1__Impl_in_rule__TupleLiteralExpCS__Group__138100);
             rule__TupleLiteralExpCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralExpCS__Group__2_in_rule__TupleLiteralExpCS__Group__136233);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralExpCS__Group__2_in_rule__TupleLiteralExpCS__Group__138103);
             rule__TupleLiteralExpCS__Group__2();
 
             state._fsp--;
@@ -53087,22 +55555,22 @@
 
 
     // $ANTLR start "rule__TupleLiteralExpCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17582:1: rule__TupleLiteralExpCS__Group__1__Impl : ( '{' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18600:1: rule__TupleLiteralExpCS__Group__1__Impl : ( '{' ) ;
     public final void rule__TupleLiteralExpCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17586:1: ( ( '{' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17587:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18604:1: ( ( '{' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18605:1: ( '{' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17587:1: ( '{' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17588:1: '{'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18605:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18606:1: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTupleLiteralExpCSAccess().getLeftCurlyBracketKeyword_1()); 
             }
-            match(input,99,FollowSets001.FOLLOW_99_in_rule__TupleLiteralExpCS__Group__1__Impl36261); if (state.failed) return ;
+            match(input,108,FollowSets001.FOLLOW_108_in_rule__TupleLiteralExpCS__Group__1__Impl38131); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTupleLiteralExpCSAccess().getLeftCurlyBracketKeyword_1()); 
             }
@@ -53128,21 +55596,21 @@
 
 
     // $ANTLR start "rule__TupleLiteralExpCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17601:1: rule__TupleLiteralExpCS__Group__2 : rule__TupleLiteralExpCS__Group__2__Impl rule__TupleLiteralExpCS__Group__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18619:1: rule__TupleLiteralExpCS__Group__2 : rule__TupleLiteralExpCS__Group__2__Impl rule__TupleLiteralExpCS__Group__3 ;
     public final void rule__TupleLiteralExpCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17605:1: ( rule__TupleLiteralExpCS__Group__2__Impl rule__TupleLiteralExpCS__Group__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17606:2: rule__TupleLiteralExpCS__Group__2__Impl rule__TupleLiteralExpCS__Group__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18623:1: ( rule__TupleLiteralExpCS__Group__2__Impl rule__TupleLiteralExpCS__Group__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18624:2: rule__TupleLiteralExpCS__Group__2__Impl rule__TupleLiteralExpCS__Group__3
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralExpCS__Group__2__Impl_in_rule__TupleLiteralExpCS__Group__236292);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralExpCS__Group__2__Impl_in_rule__TupleLiteralExpCS__Group__238162);
             rule__TupleLiteralExpCS__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralExpCS__Group__3_in_rule__TupleLiteralExpCS__Group__236295);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralExpCS__Group__3_in_rule__TupleLiteralExpCS__Group__238165);
             rule__TupleLiteralExpCS__Group__3();
 
             state._fsp--;
@@ -53166,25 +55634,25 @@
 
 
     // $ANTLR start "rule__TupleLiteralExpCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17613:1: rule__TupleLiteralExpCS__Group__2__Impl : ( ( rule__TupleLiteralExpCS__OwnedPartsAssignment_2 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18631:1: rule__TupleLiteralExpCS__Group__2__Impl : ( ( rule__TupleLiteralExpCS__OwnedPartsAssignment_2 ) ) ;
     public final void rule__TupleLiteralExpCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17617:1: ( ( ( rule__TupleLiteralExpCS__OwnedPartsAssignment_2 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17618:1: ( ( rule__TupleLiteralExpCS__OwnedPartsAssignment_2 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18635:1: ( ( ( rule__TupleLiteralExpCS__OwnedPartsAssignment_2 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18636:1: ( ( rule__TupleLiteralExpCS__OwnedPartsAssignment_2 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17618:1: ( ( rule__TupleLiteralExpCS__OwnedPartsAssignment_2 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17619:1: ( rule__TupleLiteralExpCS__OwnedPartsAssignment_2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18636:1: ( ( rule__TupleLiteralExpCS__OwnedPartsAssignment_2 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18637:1: ( rule__TupleLiteralExpCS__OwnedPartsAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTupleLiteralExpCSAccess().getOwnedPartsAssignment_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17620:1: ( rule__TupleLiteralExpCS__OwnedPartsAssignment_2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17620:2: rule__TupleLiteralExpCS__OwnedPartsAssignment_2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18638:1: ( rule__TupleLiteralExpCS__OwnedPartsAssignment_2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18638:2: rule__TupleLiteralExpCS__OwnedPartsAssignment_2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralExpCS__OwnedPartsAssignment_2_in_rule__TupleLiteralExpCS__Group__2__Impl36322);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralExpCS__OwnedPartsAssignment_2_in_rule__TupleLiteralExpCS__Group__2__Impl38192);
             rule__TupleLiteralExpCS__OwnedPartsAssignment_2();
 
             state._fsp--;
@@ -53217,21 +55685,21 @@
 
 
     // $ANTLR start "rule__TupleLiteralExpCS__Group__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17630:1: rule__TupleLiteralExpCS__Group__3 : rule__TupleLiteralExpCS__Group__3__Impl rule__TupleLiteralExpCS__Group__4 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18648:1: rule__TupleLiteralExpCS__Group__3 : rule__TupleLiteralExpCS__Group__3__Impl rule__TupleLiteralExpCS__Group__4 ;
     public final void rule__TupleLiteralExpCS__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17634:1: ( rule__TupleLiteralExpCS__Group__3__Impl rule__TupleLiteralExpCS__Group__4 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17635:2: rule__TupleLiteralExpCS__Group__3__Impl rule__TupleLiteralExpCS__Group__4
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18652:1: ( rule__TupleLiteralExpCS__Group__3__Impl rule__TupleLiteralExpCS__Group__4 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18653:2: rule__TupleLiteralExpCS__Group__3__Impl rule__TupleLiteralExpCS__Group__4
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralExpCS__Group__3__Impl_in_rule__TupleLiteralExpCS__Group__336352);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralExpCS__Group__3__Impl_in_rule__TupleLiteralExpCS__Group__338222);
             rule__TupleLiteralExpCS__Group__3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralExpCS__Group__4_in_rule__TupleLiteralExpCS__Group__336355);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralExpCS__Group__4_in_rule__TupleLiteralExpCS__Group__338225);
             rule__TupleLiteralExpCS__Group__4();
 
             state._fsp--;
@@ -53255,37 +55723,37 @@
 
 
     // $ANTLR start "rule__TupleLiteralExpCS__Group__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17642:1: rule__TupleLiteralExpCS__Group__3__Impl : ( ( rule__TupleLiteralExpCS__Group_3__0 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18660:1: rule__TupleLiteralExpCS__Group__3__Impl : ( ( rule__TupleLiteralExpCS__Group_3__0 )* ) ;
     public final void rule__TupleLiteralExpCS__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17646:1: ( ( ( rule__TupleLiteralExpCS__Group_3__0 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17647:1: ( ( rule__TupleLiteralExpCS__Group_3__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18664:1: ( ( ( rule__TupleLiteralExpCS__Group_3__0 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18665:1: ( ( rule__TupleLiteralExpCS__Group_3__0 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17647:1: ( ( rule__TupleLiteralExpCS__Group_3__0 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17648:1: ( rule__TupleLiteralExpCS__Group_3__0 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18665:1: ( ( rule__TupleLiteralExpCS__Group_3__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18666:1: ( rule__TupleLiteralExpCS__Group_3__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTupleLiteralExpCSAccess().getGroup_3()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17649:1: ( rule__TupleLiteralExpCS__Group_3__0 )*
-            loop191:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18667:1: ( rule__TupleLiteralExpCS__Group_3__0 )*
+            loop219:
             do {
-                int alt191=2;
-                int LA191_0 = input.LA(1);
+                int alt219=2;
+                int LA219_0 = input.LA(1);
 
-                if ( (LA191_0==98) ) {
-                    alt191=1;
+                if ( (LA219_0==107) ) {
+                    alt219=1;
                 }
 
 
-                switch (alt191) {
+                switch (alt219) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17649:2: rule__TupleLiteralExpCS__Group_3__0
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18667:2: rule__TupleLiteralExpCS__Group_3__0
             	    {
-            	    pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralExpCS__Group_3__0_in_rule__TupleLiteralExpCS__Group__3__Impl36382);
+            	    pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralExpCS__Group_3__0_in_rule__TupleLiteralExpCS__Group__3__Impl38252);
             	    rule__TupleLiteralExpCS__Group_3__0();
 
             	    state._fsp--;
@@ -53295,7 +55763,7 @@
             	    break;
 
             	default :
-            	    break loop191;
+            	    break loop219;
                 }
             } while (true);
 
@@ -53324,16 +55792,16 @@
 
 
     // $ANTLR start "rule__TupleLiteralExpCS__Group__4"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17659:1: rule__TupleLiteralExpCS__Group__4 : rule__TupleLiteralExpCS__Group__4__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18677:1: rule__TupleLiteralExpCS__Group__4 : rule__TupleLiteralExpCS__Group__4__Impl ;
     public final void rule__TupleLiteralExpCS__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17663:1: ( rule__TupleLiteralExpCS__Group__4__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17664:2: rule__TupleLiteralExpCS__Group__4__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18681:1: ( rule__TupleLiteralExpCS__Group__4__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18682:2: rule__TupleLiteralExpCS__Group__4__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralExpCS__Group__4__Impl_in_rule__TupleLiteralExpCS__Group__436413);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralExpCS__Group__4__Impl_in_rule__TupleLiteralExpCS__Group__438283);
             rule__TupleLiteralExpCS__Group__4__Impl();
 
             state._fsp--;
@@ -53357,22 +55825,22 @@
 
 
     // $ANTLR start "rule__TupleLiteralExpCS__Group__4__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17670:1: rule__TupleLiteralExpCS__Group__4__Impl : ( '}' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18688:1: rule__TupleLiteralExpCS__Group__4__Impl : ( '}' ) ;
     public final void rule__TupleLiteralExpCS__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17674:1: ( ( '}' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17675:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18692:1: ( ( '}' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18693:1: ( '}' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17675:1: ( '}' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17676:1: '}'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18693:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18694:1: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTupleLiteralExpCSAccess().getRightCurlyBracketKeyword_4()); 
             }
-            match(input,100,FollowSets001.FOLLOW_100_in_rule__TupleLiteralExpCS__Group__4__Impl36441); if (state.failed) return ;
+            match(input,109,FollowSets001.FOLLOW_109_in_rule__TupleLiteralExpCS__Group__4__Impl38311); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTupleLiteralExpCSAccess().getRightCurlyBracketKeyword_4()); 
             }
@@ -53398,21 +55866,21 @@
 
 
     // $ANTLR start "rule__TupleLiteralExpCS__Group_3__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17699:1: rule__TupleLiteralExpCS__Group_3__0 : rule__TupleLiteralExpCS__Group_3__0__Impl rule__TupleLiteralExpCS__Group_3__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18717:1: rule__TupleLiteralExpCS__Group_3__0 : rule__TupleLiteralExpCS__Group_3__0__Impl rule__TupleLiteralExpCS__Group_3__1 ;
     public final void rule__TupleLiteralExpCS__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17703:1: ( rule__TupleLiteralExpCS__Group_3__0__Impl rule__TupleLiteralExpCS__Group_3__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17704:2: rule__TupleLiteralExpCS__Group_3__0__Impl rule__TupleLiteralExpCS__Group_3__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18721:1: ( rule__TupleLiteralExpCS__Group_3__0__Impl rule__TupleLiteralExpCS__Group_3__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18722:2: rule__TupleLiteralExpCS__Group_3__0__Impl rule__TupleLiteralExpCS__Group_3__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralExpCS__Group_3__0__Impl_in_rule__TupleLiteralExpCS__Group_3__036482);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralExpCS__Group_3__0__Impl_in_rule__TupleLiteralExpCS__Group_3__038352);
             rule__TupleLiteralExpCS__Group_3__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralExpCS__Group_3__1_in_rule__TupleLiteralExpCS__Group_3__036485);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralExpCS__Group_3__1_in_rule__TupleLiteralExpCS__Group_3__038355);
             rule__TupleLiteralExpCS__Group_3__1();
 
             state._fsp--;
@@ -53436,22 +55904,22 @@
 
 
     // $ANTLR start "rule__TupleLiteralExpCS__Group_3__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17711:1: rule__TupleLiteralExpCS__Group_3__0__Impl : ( ',' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18729:1: rule__TupleLiteralExpCS__Group_3__0__Impl : ( ',' ) ;
     public final void rule__TupleLiteralExpCS__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17715:1: ( ( ',' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17716:1: ( ',' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18733:1: ( ( ',' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18734:1: ( ',' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17716:1: ( ',' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17717:1: ','
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18734:1: ( ',' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18735:1: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTupleLiteralExpCSAccess().getCommaKeyword_3_0()); 
             }
-            match(input,98,FollowSets001.FOLLOW_98_in_rule__TupleLiteralExpCS__Group_3__0__Impl36513); if (state.failed) return ;
+            match(input,107,FollowSets001.FOLLOW_107_in_rule__TupleLiteralExpCS__Group_3__0__Impl38383); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTupleLiteralExpCSAccess().getCommaKeyword_3_0()); 
             }
@@ -53477,16 +55945,16 @@
 
 
     // $ANTLR start "rule__TupleLiteralExpCS__Group_3__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17730:1: rule__TupleLiteralExpCS__Group_3__1 : rule__TupleLiteralExpCS__Group_3__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18748:1: rule__TupleLiteralExpCS__Group_3__1 : rule__TupleLiteralExpCS__Group_3__1__Impl ;
     public final void rule__TupleLiteralExpCS__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17734:1: ( rule__TupleLiteralExpCS__Group_3__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17735:2: rule__TupleLiteralExpCS__Group_3__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18752:1: ( rule__TupleLiteralExpCS__Group_3__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18753:2: rule__TupleLiteralExpCS__Group_3__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralExpCS__Group_3__1__Impl_in_rule__TupleLiteralExpCS__Group_3__136544);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralExpCS__Group_3__1__Impl_in_rule__TupleLiteralExpCS__Group_3__138414);
             rule__TupleLiteralExpCS__Group_3__1__Impl();
 
             state._fsp--;
@@ -53510,25 +55978,25 @@
 
 
     // $ANTLR start "rule__TupleLiteralExpCS__Group_3__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17741:1: rule__TupleLiteralExpCS__Group_3__1__Impl : ( ( rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18759:1: rule__TupleLiteralExpCS__Group_3__1__Impl : ( ( rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1 ) ) ;
     public final void rule__TupleLiteralExpCS__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17745:1: ( ( ( rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17746:1: ( ( rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18763:1: ( ( ( rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18764:1: ( ( rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17746:1: ( ( rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17747:1: ( rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18764:1: ( ( rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18765:1: ( rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTupleLiteralExpCSAccess().getOwnedPartsAssignment_3_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17748:1: ( rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17748:2: rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18766:1: ( rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18766:2: rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1_in_rule__TupleLiteralExpCS__Group_3__1__Impl36571);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1_in_rule__TupleLiteralExpCS__Group_3__1__Impl38441);
             rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1();
 
             state._fsp--;
@@ -53561,21 +56029,21 @@
 
 
     // $ANTLR start "rule__TupleLiteralPartCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17762:1: rule__TupleLiteralPartCS__Group__0 : rule__TupleLiteralPartCS__Group__0__Impl rule__TupleLiteralPartCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18780:1: rule__TupleLiteralPartCS__Group__0 : rule__TupleLiteralPartCS__Group__0__Impl rule__TupleLiteralPartCS__Group__1 ;
     public final void rule__TupleLiteralPartCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17766:1: ( rule__TupleLiteralPartCS__Group__0__Impl rule__TupleLiteralPartCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17767:2: rule__TupleLiteralPartCS__Group__0__Impl rule__TupleLiteralPartCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18784:1: ( rule__TupleLiteralPartCS__Group__0__Impl rule__TupleLiteralPartCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18785:2: rule__TupleLiteralPartCS__Group__0__Impl rule__TupleLiteralPartCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralPartCS__Group__0__Impl_in_rule__TupleLiteralPartCS__Group__036605);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralPartCS__Group__0__Impl_in_rule__TupleLiteralPartCS__Group__038475);
             rule__TupleLiteralPartCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralPartCS__Group__1_in_rule__TupleLiteralPartCS__Group__036608);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralPartCS__Group__1_in_rule__TupleLiteralPartCS__Group__038478);
             rule__TupleLiteralPartCS__Group__1();
 
             state._fsp--;
@@ -53599,25 +56067,25 @@
 
 
     // $ANTLR start "rule__TupleLiteralPartCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17774:1: rule__TupleLiteralPartCS__Group__0__Impl : ( ( rule__TupleLiteralPartCS__NameAssignment_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18792:1: rule__TupleLiteralPartCS__Group__0__Impl : ( ( rule__TupleLiteralPartCS__NameAssignment_0 ) ) ;
     public final void rule__TupleLiteralPartCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17778:1: ( ( ( rule__TupleLiteralPartCS__NameAssignment_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17779:1: ( ( rule__TupleLiteralPartCS__NameAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18796:1: ( ( ( rule__TupleLiteralPartCS__NameAssignment_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18797:1: ( ( rule__TupleLiteralPartCS__NameAssignment_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17779:1: ( ( rule__TupleLiteralPartCS__NameAssignment_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17780:1: ( rule__TupleLiteralPartCS__NameAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18797:1: ( ( rule__TupleLiteralPartCS__NameAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18798:1: ( rule__TupleLiteralPartCS__NameAssignment_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTupleLiteralPartCSAccess().getNameAssignment_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17781:1: ( rule__TupleLiteralPartCS__NameAssignment_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17781:2: rule__TupleLiteralPartCS__NameAssignment_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18799:1: ( rule__TupleLiteralPartCS__NameAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18799:2: rule__TupleLiteralPartCS__NameAssignment_0
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralPartCS__NameAssignment_0_in_rule__TupleLiteralPartCS__Group__0__Impl36635);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralPartCS__NameAssignment_0_in_rule__TupleLiteralPartCS__Group__0__Impl38505);
             rule__TupleLiteralPartCS__NameAssignment_0();
 
             state._fsp--;
@@ -53650,21 +56118,21 @@
 
 
     // $ANTLR start "rule__TupleLiteralPartCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17791:1: rule__TupleLiteralPartCS__Group__1 : rule__TupleLiteralPartCS__Group__1__Impl rule__TupleLiteralPartCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18809:1: rule__TupleLiteralPartCS__Group__1 : rule__TupleLiteralPartCS__Group__1__Impl rule__TupleLiteralPartCS__Group__2 ;
     public final void rule__TupleLiteralPartCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17795:1: ( rule__TupleLiteralPartCS__Group__1__Impl rule__TupleLiteralPartCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17796:2: rule__TupleLiteralPartCS__Group__1__Impl rule__TupleLiteralPartCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18813:1: ( rule__TupleLiteralPartCS__Group__1__Impl rule__TupleLiteralPartCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18814:2: rule__TupleLiteralPartCS__Group__1__Impl rule__TupleLiteralPartCS__Group__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralPartCS__Group__1__Impl_in_rule__TupleLiteralPartCS__Group__136665);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralPartCS__Group__1__Impl_in_rule__TupleLiteralPartCS__Group__138535);
             rule__TupleLiteralPartCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralPartCS__Group__2_in_rule__TupleLiteralPartCS__Group__136668);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralPartCS__Group__2_in_rule__TupleLiteralPartCS__Group__138538);
             rule__TupleLiteralPartCS__Group__2();
 
             state._fsp--;
@@ -53688,33 +56156,33 @@
 
 
     // $ANTLR start "rule__TupleLiteralPartCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17803:1: rule__TupleLiteralPartCS__Group__1__Impl : ( ( rule__TupleLiteralPartCS__Group_1__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18821:1: rule__TupleLiteralPartCS__Group__1__Impl : ( ( rule__TupleLiteralPartCS__Group_1__0 )? ) ;
     public final void rule__TupleLiteralPartCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17807:1: ( ( ( rule__TupleLiteralPartCS__Group_1__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17808:1: ( ( rule__TupleLiteralPartCS__Group_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18825:1: ( ( ( rule__TupleLiteralPartCS__Group_1__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18826:1: ( ( rule__TupleLiteralPartCS__Group_1__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17808:1: ( ( rule__TupleLiteralPartCS__Group_1__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17809:1: ( rule__TupleLiteralPartCS__Group_1__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18826:1: ( ( rule__TupleLiteralPartCS__Group_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18827:1: ( rule__TupleLiteralPartCS__Group_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTupleLiteralPartCSAccess().getGroup_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17810:1: ( rule__TupleLiteralPartCS__Group_1__0 )?
-            int alt192=2;
-            int LA192_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18828:1: ( rule__TupleLiteralPartCS__Group_1__0 )?
+            int alt220=2;
+            int LA220_0 = input.LA(1);
 
-            if ( (LA192_0==97) ) {
-                alt192=1;
+            if ( (LA220_0==106) ) {
+                alt220=1;
             }
-            switch (alt192) {
+            switch (alt220) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17810:2: rule__TupleLiteralPartCS__Group_1__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18828:2: rule__TupleLiteralPartCS__Group_1__0
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralPartCS__Group_1__0_in_rule__TupleLiteralPartCS__Group__1__Impl36695);
+                    pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralPartCS__Group_1__0_in_rule__TupleLiteralPartCS__Group__1__Impl38565);
                     rule__TupleLiteralPartCS__Group_1__0();
 
                     state._fsp--;
@@ -53750,21 +56218,21 @@
 
 
     // $ANTLR start "rule__TupleLiteralPartCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17820:1: rule__TupleLiteralPartCS__Group__2 : rule__TupleLiteralPartCS__Group__2__Impl rule__TupleLiteralPartCS__Group__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18838:1: rule__TupleLiteralPartCS__Group__2 : rule__TupleLiteralPartCS__Group__2__Impl rule__TupleLiteralPartCS__Group__3 ;
     public final void rule__TupleLiteralPartCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17824:1: ( rule__TupleLiteralPartCS__Group__2__Impl rule__TupleLiteralPartCS__Group__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17825:2: rule__TupleLiteralPartCS__Group__2__Impl rule__TupleLiteralPartCS__Group__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18842:1: ( rule__TupleLiteralPartCS__Group__2__Impl rule__TupleLiteralPartCS__Group__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18843:2: rule__TupleLiteralPartCS__Group__2__Impl rule__TupleLiteralPartCS__Group__3
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralPartCS__Group__2__Impl_in_rule__TupleLiteralPartCS__Group__236726);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralPartCS__Group__2__Impl_in_rule__TupleLiteralPartCS__Group__238596);
             rule__TupleLiteralPartCS__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralPartCS__Group__3_in_rule__TupleLiteralPartCS__Group__236729);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralPartCS__Group__3_in_rule__TupleLiteralPartCS__Group__238599);
             rule__TupleLiteralPartCS__Group__3();
 
             state._fsp--;
@@ -53788,22 +56256,22 @@
 
 
     // $ANTLR start "rule__TupleLiteralPartCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17832:1: rule__TupleLiteralPartCS__Group__2__Impl : ( '=' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18850:1: rule__TupleLiteralPartCS__Group__2__Impl : ( '=' ) ;
     public final void rule__TupleLiteralPartCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17836:1: ( ( '=' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17837:1: ( '=' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18854:1: ( ( '=' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18855:1: ( '=' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17837:1: ( '=' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17838:1: '='
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18855:1: ( '=' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18856:1: '='
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTupleLiteralPartCSAccess().getEqualsSignKeyword_2()); 
             }
-            match(input,70,FollowSets001.FOLLOW_70_in_rule__TupleLiteralPartCS__Group__2__Impl36757); if (state.failed) return ;
+            match(input,79,FollowSets001.FOLLOW_79_in_rule__TupleLiteralPartCS__Group__2__Impl38627); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTupleLiteralPartCSAccess().getEqualsSignKeyword_2()); 
             }
@@ -53829,16 +56297,16 @@
 
 
     // $ANTLR start "rule__TupleLiteralPartCS__Group__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17851:1: rule__TupleLiteralPartCS__Group__3 : rule__TupleLiteralPartCS__Group__3__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18869:1: rule__TupleLiteralPartCS__Group__3 : rule__TupleLiteralPartCS__Group__3__Impl ;
     public final void rule__TupleLiteralPartCS__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17855:1: ( rule__TupleLiteralPartCS__Group__3__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17856:2: rule__TupleLiteralPartCS__Group__3__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18873:1: ( rule__TupleLiteralPartCS__Group__3__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18874:2: rule__TupleLiteralPartCS__Group__3__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralPartCS__Group__3__Impl_in_rule__TupleLiteralPartCS__Group__336788);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralPartCS__Group__3__Impl_in_rule__TupleLiteralPartCS__Group__338658);
             rule__TupleLiteralPartCS__Group__3__Impl();
 
             state._fsp--;
@@ -53862,25 +56330,25 @@
 
 
     // $ANTLR start "rule__TupleLiteralPartCS__Group__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17862:1: rule__TupleLiteralPartCS__Group__3__Impl : ( ( rule__TupleLiteralPartCS__OwnedInitExpressionAssignment_3 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18880:1: rule__TupleLiteralPartCS__Group__3__Impl : ( ( rule__TupleLiteralPartCS__OwnedInitExpressionAssignment_3 ) ) ;
     public final void rule__TupleLiteralPartCS__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17866:1: ( ( ( rule__TupleLiteralPartCS__OwnedInitExpressionAssignment_3 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17867:1: ( ( rule__TupleLiteralPartCS__OwnedInitExpressionAssignment_3 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18884:1: ( ( ( rule__TupleLiteralPartCS__OwnedInitExpressionAssignment_3 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18885:1: ( ( rule__TupleLiteralPartCS__OwnedInitExpressionAssignment_3 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17867:1: ( ( rule__TupleLiteralPartCS__OwnedInitExpressionAssignment_3 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17868:1: ( rule__TupleLiteralPartCS__OwnedInitExpressionAssignment_3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18885:1: ( ( rule__TupleLiteralPartCS__OwnedInitExpressionAssignment_3 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18886:1: ( rule__TupleLiteralPartCS__OwnedInitExpressionAssignment_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTupleLiteralPartCSAccess().getOwnedInitExpressionAssignment_3()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17869:1: ( rule__TupleLiteralPartCS__OwnedInitExpressionAssignment_3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17869:2: rule__TupleLiteralPartCS__OwnedInitExpressionAssignment_3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18887:1: ( rule__TupleLiteralPartCS__OwnedInitExpressionAssignment_3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18887:2: rule__TupleLiteralPartCS__OwnedInitExpressionAssignment_3
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralPartCS__OwnedInitExpressionAssignment_3_in_rule__TupleLiteralPartCS__Group__3__Impl36815);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralPartCS__OwnedInitExpressionAssignment_3_in_rule__TupleLiteralPartCS__Group__3__Impl38685);
             rule__TupleLiteralPartCS__OwnedInitExpressionAssignment_3();
 
             state._fsp--;
@@ -53913,21 +56381,21 @@
 
 
     // $ANTLR start "rule__TupleLiteralPartCS__Group_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17887:1: rule__TupleLiteralPartCS__Group_1__0 : rule__TupleLiteralPartCS__Group_1__0__Impl rule__TupleLiteralPartCS__Group_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18905:1: rule__TupleLiteralPartCS__Group_1__0 : rule__TupleLiteralPartCS__Group_1__0__Impl rule__TupleLiteralPartCS__Group_1__1 ;
     public final void rule__TupleLiteralPartCS__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17891:1: ( rule__TupleLiteralPartCS__Group_1__0__Impl rule__TupleLiteralPartCS__Group_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17892:2: rule__TupleLiteralPartCS__Group_1__0__Impl rule__TupleLiteralPartCS__Group_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18909:1: ( rule__TupleLiteralPartCS__Group_1__0__Impl rule__TupleLiteralPartCS__Group_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18910:2: rule__TupleLiteralPartCS__Group_1__0__Impl rule__TupleLiteralPartCS__Group_1__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralPartCS__Group_1__0__Impl_in_rule__TupleLiteralPartCS__Group_1__036853);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralPartCS__Group_1__0__Impl_in_rule__TupleLiteralPartCS__Group_1__038723);
             rule__TupleLiteralPartCS__Group_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralPartCS__Group_1__1_in_rule__TupleLiteralPartCS__Group_1__036856);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralPartCS__Group_1__1_in_rule__TupleLiteralPartCS__Group_1__038726);
             rule__TupleLiteralPartCS__Group_1__1();
 
             state._fsp--;
@@ -53951,22 +56419,22 @@
 
 
     // $ANTLR start "rule__TupleLiteralPartCS__Group_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17899:1: rule__TupleLiteralPartCS__Group_1__0__Impl : ( ':' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18917:1: rule__TupleLiteralPartCS__Group_1__0__Impl : ( ':' ) ;
     public final void rule__TupleLiteralPartCS__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17903:1: ( ( ':' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17904:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18921:1: ( ( ':' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18922:1: ( ':' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17904:1: ( ':' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17905:1: ':'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18922:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18923:1: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTupleLiteralPartCSAccess().getColonKeyword_1_0()); 
             }
-            match(input,97,FollowSets001.FOLLOW_97_in_rule__TupleLiteralPartCS__Group_1__0__Impl36884); if (state.failed) return ;
+            match(input,106,FollowSets001.FOLLOW_106_in_rule__TupleLiteralPartCS__Group_1__0__Impl38754); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTupleLiteralPartCSAccess().getColonKeyword_1_0()); 
             }
@@ -53992,16 +56460,16 @@
 
 
     // $ANTLR start "rule__TupleLiteralPartCS__Group_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17918:1: rule__TupleLiteralPartCS__Group_1__1 : rule__TupleLiteralPartCS__Group_1__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18936:1: rule__TupleLiteralPartCS__Group_1__1 : rule__TupleLiteralPartCS__Group_1__1__Impl ;
     public final void rule__TupleLiteralPartCS__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17922:1: ( rule__TupleLiteralPartCS__Group_1__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17923:2: rule__TupleLiteralPartCS__Group_1__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18940:1: ( rule__TupleLiteralPartCS__Group_1__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18941:2: rule__TupleLiteralPartCS__Group_1__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralPartCS__Group_1__1__Impl_in_rule__TupleLiteralPartCS__Group_1__136915);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralPartCS__Group_1__1__Impl_in_rule__TupleLiteralPartCS__Group_1__138785);
             rule__TupleLiteralPartCS__Group_1__1__Impl();
 
             state._fsp--;
@@ -54025,25 +56493,25 @@
 
 
     // $ANTLR start "rule__TupleLiteralPartCS__Group_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17929:1: rule__TupleLiteralPartCS__Group_1__1__Impl : ( ( rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18947:1: rule__TupleLiteralPartCS__Group_1__1__Impl : ( ( rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1 ) ) ;
     public final void rule__TupleLiteralPartCS__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17933:1: ( ( ( rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17934:1: ( ( rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18951:1: ( ( ( rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18952:1: ( ( rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17934:1: ( ( rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17935:1: ( rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18952:1: ( ( rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18953:1: ( rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTupleLiteralPartCSAccess().getOwnedTypeAssignment_1_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17936:1: ( rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17936:2: rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18954:1: ( rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18954:2: rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1_in_rule__TupleLiteralPartCS__Group_1__1__Impl36942);
+            pushFollow(FollowSets001.FOLLOW_rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1_in_rule__TupleLiteralPartCS__Group_1__1__Impl38812);
             rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1();
 
             state._fsp--;
@@ -54076,21 +56544,21 @@
 
 
     // $ANTLR start "rule__UnlimitedNaturalLiteralExpCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17950:1: rule__UnlimitedNaturalLiteralExpCS__Group__0 : rule__UnlimitedNaturalLiteralExpCS__Group__0__Impl rule__UnlimitedNaturalLiteralExpCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18968:1: rule__UnlimitedNaturalLiteralExpCS__Group__0 : rule__UnlimitedNaturalLiteralExpCS__Group__0__Impl rule__UnlimitedNaturalLiteralExpCS__Group__1 ;
     public final void rule__UnlimitedNaturalLiteralExpCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17954:1: ( rule__UnlimitedNaturalLiteralExpCS__Group__0__Impl rule__UnlimitedNaturalLiteralExpCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17955:2: rule__UnlimitedNaturalLiteralExpCS__Group__0__Impl rule__UnlimitedNaturalLiteralExpCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18972:1: ( rule__UnlimitedNaturalLiteralExpCS__Group__0__Impl rule__UnlimitedNaturalLiteralExpCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18973:2: rule__UnlimitedNaturalLiteralExpCS__Group__0__Impl rule__UnlimitedNaturalLiteralExpCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__UnlimitedNaturalLiteralExpCS__Group__0__Impl_in_rule__UnlimitedNaturalLiteralExpCS__Group__036976);
+            pushFollow(FollowSets001.FOLLOW_rule__UnlimitedNaturalLiteralExpCS__Group__0__Impl_in_rule__UnlimitedNaturalLiteralExpCS__Group__038846);
             rule__UnlimitedNaturalLiteralExpCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__UnlimitedNaturalLiteralExpCS__Group__1_in_rule__UnlimitedNaturalLiteralExpCS__Group__036979);
+            pushFollow(FollowSets001.FOLLOW_rule__UnlimitedNaturalLiteralExpCS__Group__1_in_rule__UnlimitedNaturalLiteralExpCS__Group__038849);
             rule__UnlimitedNaturalLiteralExpCS__Group__1();
 
             state._fsp--;
@@ -54114,23 +56582,23 @@
 
 
     // $ANTLR start "rule__UnlimitedNaturalLiteralExpCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17962:1: rule__UnlimitedNaturalLiteralExpCS__Group__0__Impl : ( () ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18980:1: rule__UnlimitedNaturalLiteralExpCS__Group__0__Impl : ( () ) ;
     public final void rule__UnlimitedNaturalLiteralExpCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17966:1: ( ( () ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17967:1: ( () )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18984:1: ( ( () ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18985:1: ( () )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17967:1: ( () )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17968:1: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18985:1: ( () )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18986:1: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getUnlimitedNaturalLiteralExpCSAction_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17969:1: ()
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17971:1: 
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18987:1: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18989:1: 
             {
             }
 
@@ -54155,16 +56623,16 @@
 
 
     // $ANTLR start "rule__UnlimitedNaturalLiteralExpCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17981:1: rule__UnlimitedNaturalLiteralExpCS__Group__1 : rule__UnlimitedNaturalLiteralExpCS__Group__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18999:1: rule__UnlimitedNaturalLiteralExpCS__Group__1 : rule__UnlimitedNaturalLiteralExpCS__Group__1__Impl ;
     public final void rule__UnlimitedNaturalLiteralExpCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17985:1: ( rule__UnlimitedNaturalLiteralExpCS__Group__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17986:2: rule__UnlimitedNaturalLiteralExpCS__Group__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19003:1: ( rule__UnlimitedNaturalLiteralExpCS__Group__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19004:2: rule__UnlimitedNaturalLiteralExpCS__Group__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__UnlimitedNaturalLiteralExpCS__Group__1__Impl_in_rule__UnlimitedNaturalLiteralExpCS__Group__137037);
+            pushFollow(FollowSets001.FOLLOW_rule__UnlimitedNaturalLiteralExpCS__Group__1__Impl_in_rule__UnlimitedNaturalLiteralExpCS__Group__138907);
             rule__UnlimitedNaturalLiteralExpCS__Group__1__Impl();
 
             state._fsp--;
@@ -54188,22 +56656,22 @@
 
 
     // $ANTLR start "rule__UnlimitedNaturalLiteralExpCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17992:1: rule__UnlimitedNaturalLiteralExpCS__Group__1__Impl : ( '*' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19010:1: rule__UnlimitedNaturalLiteralExpCS__Group__1__Impl : ( '*' ) ;
     public final void rule__UnlimitedNaturalLiteralExpCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17996:1: ( ( '*' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17997:1: ( '*' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19014:1: ( ( '*' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19015:1: ( '*' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17997:1: ( '*' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:17998:1: '*'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19015:1: ( '*' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19016:1: '*'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getAsteriskKeyword_1()); 
             }
-            match(input,63,FollowSets001.FOLLOW_63_in_rule__UnlimitedNaturalLiteralExpCS__Group__1__Impl37065); if (state.failed) return ;
+            match(input,72,FollowSets001.FOLLOW_72_in_rule__UnlimitedNaturalLiteralExpCS__Group__1__Impl38935); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getAsteriskKeyword_1()); 
             }
@@ -54229,21 +56697,21 @@
 
 
     // $ANTLR start "rule__InvalidLiteralExpCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18015:1: rule__InvalidLiteralExpCS__Group__0 : rule__InvalidLiteralExpCS__Group__0__Impl rule__InvalidLiteralExpCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19033:1: rule__InvalidLiteralExpCS__Group__0 : rule__InvalidLiteralExpCS__Group__0__Impl rule__InvalidLiteralExpCS__Group__1 ;
     public final void rule__InvalidLiteralExpCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18019:1: ( rule__InvalidLiteralExpCS__Group__0__Impl rule__InvalidLiteralExpCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18020:2: rule__InvalidLiteralExpCS__Group__0__Impl rule__InvalidLiteralExpCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19037:1: ( rule__InvalidLiteralExpCS__Group__0__Impl rule__InvalidLiteralExpCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19038:2: rule__InvalidLiteralExpCS__Group__0__Impl rule__InvalidLiteralExpCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__InvalidLiteralExpCS__Group__0__Impl_in_rule__InvalidLiteralExpCS__Group__037100);
+            pushFollow(FollowSets001.FOLLOW_rule__InvalidLiteralExpCS__Group__0__Impl_in_rule__InvalidLiteralExpCS__Group__038970);
             rule__InvalidLiteralExpCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__InvalidLiteralExpCS__Group__1_in_rule__InvalidLiteralExpCS__Group__037103);
+            pushFollow(FollowSets001.FOLLOW_rule__InvalidLiteralExpCS__Group__1_in_rule__InvalidLiteralExpCS__Group__038973);
             rule__InvalidLiteralExpCS__Group__1();
 
             state._fsp--;
@@ -54267,23 +56735,23 @@
 
 
     // $ANTLR start "rule__InvalidLiteralExpCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18027:1: rule__InvalidLiteralExpCS__Group__0__Impl : ( () ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19045:1: rule__InvalidLiteralExpCS__Group__0__Impl : ( () ) ;
     public final void rule__InvalidLiteralExpCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18031:1: ( ( () ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18032:1: ( () )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19049:1: ( ( () ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19050:1: ( () )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18032:1: ( () )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18033:1: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19050:1: ( () )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19051:1: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getInvalidLiteralExpCSAccess().getInvalidLiteralExpCSAction_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18034:1: ()
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18036:1: 
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19052:1: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19054:1: 
             {
             }
 
@@ -54308,16 +56776,16 @@
 
 
     // $ANTLR start "rule__InvalidLiteralExpCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18046:1: rule__InvalidLiteralExpCS__Group__1 : rule__InvalidLiteralExpCS__Group__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19064:1: rule__InvalidLiteralExpCS__Group__1 : rule__InvalidLiteralExpCS__Group__1__Impl ;
     public final void rule__InvalidLiteralExpCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18050:1: ( rule__InvalidLiteralExpCS__Group__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18051:2: rule__InvalidLiteralExpCS__Group__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19068:1: ( rule__InvalidLiteralExpCS__Group__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19069:2: rule__InvalidLiteralExpCS__Group__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__InvalidLiteralExpCS__Group__1__Impl_in_rule__InvalidLiteralExpCS__Group__137161);
+            pushFollow(FollowSets001.FOLLOW_rule__InvalidLiteralExpCS__Group__1__Impl_in_rule__InvalidLiteralExpCS__Group__139031);
             rule__InvalidLiteralExpCS__Group__1__Impl();
 
             state._fsp--;
@@ -54341,22 +56809,22 @@
 
 
     // $ANTLR start "rule__InvalidLiteralExpCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18057:1: rule__InvalidLiteralExpCS__Group__1__Impl : ( 'invalid' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19075:1: rule__InvalidLiteralExpCS__Group__1__Impl : ( 'invalid' ) ;
     public final void rule__InvalidLiteralExpCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18061:1: ( ( 'invalid' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18062:1: ( 'invalid' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19079:1: ( ( 'invalid' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19080:1: ( 'invalid' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18062:1: ( 'invalid' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18063:1: 'invalid'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19080:1: ( 'invalid' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19081:1: 'invalid'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getInvalidLiteralExpCSAccess().getInvalidKeyword_1()); 
             }
-            match(input,106,FollowSets001.FOLLOW_106_in_rule__InvalidLiteralExpCS__Group__1__Impl37189); if (state.failed) return ;
+            match(input,115,FollowSets001.FOLLOW_115_in_rule__InvalidLiteralExpCS__Group__1__Impl39059); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getInvalidLiteralExpCSAccess().getInvalidKeyword_1()); 
             }
@@ -54382,21 +56850,21 @@
 
 
     // $ANTLR start "rule__NullLiteralExpCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18080:1: rule__NullLiteralExpCS__Group__0 : rule__NullLiteralExpCS__Group__0__Impl rule__NullLiteralExpCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19098:1: rule__NullLiteralExpCS__Group__0 : rule__NullLiteralExpCS__Group__0__Impl rule__NullLiteralExpCS__Group__1 ;
     public final void rule__NullLiteralExpCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18084:1: ( rule__NullLiteralExpCS__Group__0__Impl rule__NullLiteralExpCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18085:2: rule__NullLiteralExpCS__Group__0__Impl rule__NullLiteralExpCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19102:1: ( rule__NullLiteralExpCS__Group__0__Impl rule__NullLiteralExpCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19103:2: rule__NullLiteralExpCS__Group__0__Impl rule__NullLiteralExpCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NullLiteralExpCS__Group__0__Impl_in_rule__NullLiteralExpCS__Group__037224);
+            pushFollow(FollowSets001.FOLLOW_rule__NullLiteralExpCS__Group__0__Impl_in_rule__NullLiteralExpCS__Group__039094);
             rule__NullLiteralExpCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__NullLiteralExpCS__Group__1_in_rule__NullLiteralExpCS__Group__037227);
+            pushFollow(FollowSets001.FOLLOW_rule__NullLiteralExpCS__Group__1_in_rule__NullLiteralExpCS__Group__039097);
             rule__NullLiteralExpCS__Group__1();
 
             state._fsp--;
@@ -54420,23 +56888,23 @@
 
 
     // $ANTLR start "rule__NullLiteralExpCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18092:1: rule__NullLiteralExpCS__Group__0__Impl : ( () ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19110:1: rule__NullLiteralExpCS__Group__0__Impl : ( () ) ;
     public final void rule__NullLiteralExpCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18096:1: ( ( () ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18097:1: ( () )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19114:1: ( ( () ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19115:1: ( () )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18097:1: ( () )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18098:1: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19115:1: ( () )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19116:1: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNullLiteralExpCSAccess().getNullLiteralExpCSAction_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18099:1: ()
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18101:1: 
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19117:1: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19119:1: 
             {
             }
 
@@ -54461,16 +56929,16 @@
 
 
     // $ANTLR start "rule__NullLiteralExpCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18111:1: rule__NullLiteralExpCS__Group__1 : rule__NullLiteralExpCS__Group__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19129:1: rule__NullLiteralExpCS__Group__1 : rule__NullLiteralExpCS__Group__1__Impl ;
     public final void rule__NullLiteralExpCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18115:1: ( rule__NullLiteralExpCS__Group__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18116:2: rule__NullLiteralExpCS__Group__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19133:1: ( rule__NullLiteralExpCS__Group__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19134:2: rule__NullLiteralExpCS__Group__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NullLiteralExpCS__Group__1__Impl_in_rule__NullLiteralExpCS__Group__137285);
+            pushFollow(FollowSets001.FOLLOW_rule__NullLiteralExpCS__Group__1__Impl_in_rule__NullLiteralExpCS__Group__139155);
             rule__NullLiteralExpCS__Group__1__Impl();
 
             state._fsp--;
@@ -54494,22 +56962,22 @@
 
 
     // $ANTLR start "rule__NullLiteralExpCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18122:1: rule__NullLiteralExpCS__Group__1__Impl : ( 'null' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19140:1: rule__NullLiteralExpCS__Group__1__Impl : ( 'null' ) ;
     public final void rule__NullLiteralExpCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18126:1: ( ( 'null' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18127:1: ( 'null' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19144:1: ( ( 'null' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19145:1: ( 'null' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18127:1: ( 'null' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18128:1: 'null'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19145:1: ( 'null' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19146:1: 'null'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNullLiteralExpCSAccess().getNullKeyword_1()); 
             }
-            match(input,107,FollowSets001.FOLLOW_107_in_rule__NullLiteralExpCS__Group__1__Impl37313); if (state.failed) return ;
+            match(input,116,FollowSets001.FOLLOW_116_in_rule__NullLiteralExpCS__Group__1__Impl39183); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getNullLiteralExpCSAccess().getNullKeyword_1()); 
             }
@@ -54535,21 +57003,21 @@
 
 
     // $ANTLR start "rule__TypeLiteralWithMultiplicityCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18145:1: rule__TypeLiteralWithMultiplicityCS__Group__0 : rule__TypeLiteralWithMultiplicityCS__Group__0__Impl rule__TypeLiteralWithMultiplicityCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19163:1: rule__TypeLiteralWithMultiplicityCS__Group__0 : rule__TypeLiteralWithMultiplicityCS__Group__0__Impl rule__TypeLiteralWithMultiplicityCS__Group__1 ;
     public final void rule__TypeLiteralWithMultiplicityCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18149:1: ( rule__TypeLiteralWithMultiplicityCS__Group__0__Impl rule__TypeLiteralWithMultiplicityCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18150:2: rule__TypeLiteralWithMultiplicityCS__Group__0__Impl rule__TypeLiteralWithMultiplicityCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19167:1: ( rule__TypeLiteralWithMultiplicityCS__Group__0__Impl rule__TypeLiteralWithMultiplicityCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19168:2: rule__TypeLiteralWithMultiplicityCS__Group__0__Impl rule__TypeLiteralWithMultiplicityCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TypeLiteralWithMultiplicityCS__Group__0__Impl_in_rule__TypeLiteralWithMultiplicityCS__Group__037348);
+            pushFollow(FollowSets001.FOLLOW_rule__TypeLiteralWithMultiplicityCS__Group__0__Impl_in_rule__TypeLiteralWithMultiplicityCS__Group__039218);
             rule__TypeLiteralWithMultiplicityCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__TypeLiteralWithMultiplicityCS__Group__1_in_rule__TypeLiteralWithMultiplicityCS__Group__037351);
+            pushFollow(FollowSets001.FOLLOW_rule__TypeLiteralWithMultiplicityCS__Group__1_in_rule__TypeLiteralWithMultiplicityCS__Group__039221);
             rule__TypeLiteralWithMultiplicityCS__Group__1();
 
             state._fsp--;
@@ -54573,22 +57041,22 @@
 
 
     // $ANTLR start "rule__TypeLiteralWithMultiplicityCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18157:1: rule__TypeLiteralWithMultiplicityCS__Group__0__Impl : ( ruleTypeLiteralCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19175:1: rule__TypeLiteralWithMultiplicityCS__Group__0__Impl : ( ruleTypeLiteralCS ) ;
     public final void rule__TypeLiteralWithMultiplicityCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18161:1: ( ( ruleTypeLiteralCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18162:1: ( ruleTypeLiteralCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19179:1: ( ( ruleTypeLiteralCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19180:1: ( ruleTypeLiteralCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18162:1: ( ruleTypeLiteralCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18163:1: ruleTypeLiteralCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19180:1: ( ruleTypeLiteralCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19181:1: ruleTypeLiteralCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTypeLiteralWithMultiplicityCSAccess().getTypeLiteralCSParserRuleCall_0()); 
             }
-            pushFollow(FollowSets001.FOLLOW_ruleTypeLiteralCS_in_rule__TypeLiteralWithMultiplicityCS__Group__0__Impl37378);
+            pushFollow(FollowSets001.FOLLOW_ruleTypeLiteralCS_in_rule__TypeLiteralWithMultiplicityCS__Group__0__Impl39248);
             ruleTypeLiteralCS();
 
             state._fsp--;
@@ -54618,16 +57086,16 @@
 
 
     // $ANTLR start "rule__TypeLiteralWithMultiplicityCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18174:1: rule__TypeLiteralWithMultiplicityCS__Group__1 : rule__TypeLiteralWithMultiplicityCS__Group__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19192:1: rule__TypeLiteralWithMultiplicityCS__Group__1 : rule__TypeLiteralWithMultiplicityCS__Group__1__Impl ;
     public final void rule__TypeLiteralWithMultiplicityCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18178:1: ( rule__TypeLiteralWithMultiplicityCS__Group__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18179:2: rule__TypeLiteralWithMultiplicityCS__Group__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19196:1: ( rule__TypeLiteralWithMultiplicityCS__Group__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19197:2: rule__TypeLiteralWithMultiplicityCS__Group__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TypeLiteralWithMultiplicityCS__Group__1__Impl_in_rule__TypeLiteralWithMultiplicityCS__Group__137407);
+            pushFollow(FollowSets001.FOLLOW_rule__TypeLiteralWithMultiplicityCS__Group__1__Impl_in_rule__TypeLiteralWithMultiplicityCS__Group__139277);
             rule__TypeLiteralWithMultiplicityCS__Group__1__Impl();
 
             state._fsp--;
@@ -54651,33 +57119,33 @@
 
 
     // $ANTLR start "rule__TypeLiteralWithMultiplicityCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18185:1: rule__TypeLiteralWithMultiplicityCS__Group__1__Impl : ( ( rule__TypeLiteralWithMultiplicityCS__OwnedMultiplicityAssignment_1 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19203:1: rule__TypeLiteralWithMultiplicityCS__Group__1__Impl : ( ( rule__TypeLiteralWithMultiplicityCS__OwnedMultiplicityAssignment_1 )? ) ;
     public final void rule__TypeLiteralWithMultiplicityCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18189:1: ( ( ( rule__TypeLiteralWithMultiplicityCS__OwnedMultiplicityAssignment_1 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18190:1: ( ( rule__TypeLiteralWithMultiplicityCS__OwnedMultiplicityAssignment_1 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19207:1: ( ( ( rule__TypeLiteralWithMultiplicityCS__OwnedMultiplicityAssignment_1 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19208:1: ( ( rule__TypeLiteralWithMultiplicityCS__OwnedMultiplicityAssignment_1 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18190:1: ( ( rule__TypeLiteralWithMultiplicityCS__OwnedMultiplicityAssignment_1 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18191:1: ( rule__TypeLiteralWithMultiplicityCS__OwnedMultiplicityAssignment_1 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19208:1: ( ( rule__TypeLiteralWithMultiplicityCS__OwnedMultiplicityAssignment_1 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19209:1: ( rule__TypeLiteralWithMultiplicityCS__OwnedMultiplicityAssignment_1 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTypeLiteralWithMultiplicityCSAccess().getOwnedMultiplicityAssignment_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18192:1: ( rule__TypeLiteralWithMultiplicityCS__OwnedMultiplicityAssignment_1 )?
-            int alt193=2;
-            int LA193_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19210:1: ( rule__TypeLiteralWithMultiplicityCS__OwnedMultiplicityAssignment_1 )?
+            int alt221=2;
+            int LA221_0 = input.LA(1);
 
-            if ( (LA193_0==109) ) {
-                alt193=1;
+            if ( (LA221_0==118) ) {
+                alt221=1;
             }
-            switch (alt193) {
+            switch (alt221) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18192:2: rule__TypeLiteralWithMultiplicityCS__OwnedMultiplicityAssignment_1
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19210:2: rule__TypeLiteralWithMultiplicityCS__OwnedMultiplicityAssignment_1
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__TypeLiteralWithMultiplicityCS__OwnedMultiplicityAssignment_1_in_rule__TypeLiteralWithMultiplicityCS__Group__1__Impl37434);
+                    pushFollow(FollowSets001.FOLLOW_rule__TypeLiteralWithMultiplicityCS__OwnedMultiplicityAssignment_1_in_rule__TypeLiteralWithMultiplicityCS__Group__1__Impl39304);
                     rule__TypeLiteralWithMultiplicityCS__OwnedMultiplicityAssignment_1();
 
                     state._fsp--;
@@ -54713,21 +57181,21 @@
 
 
     // $ANTLR start "rule__TypeNameExpCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18206:1: rule__TypeNameExpCS__Group__0 : rule__TypeNameExpCS__Group__0__Impl rule__TypeNameExpCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19224:1: rule__TypeNameExpCS__Group__0 : rule__TypeNameExpCS__Group__0__Impl rule__TypeNameExpCS__Group__1 ;
     public final void rule__TypeNameExpCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18210:1: ( rule__TypeNameExpCS__Group__0__Impl rule__TypeNameExpCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18211:2: rule__TypeNameExpCS__Group__0__Impl rule__TypeNameExpCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19228:1: ( rule__TypeNameExpCS__Group__0__Impl rule__TypeNameExpCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19229:2: rule__TypeNameExpCS__Group__0__Impl rule__TypeNameExpCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TypeNameExpCS__Group__0__Impl_in_rule__TypeNameExpCS__Group__037469);
+            pushFollow(FollowSets001.FOLLOW_rule__TypeNameExpCS__Group__0__Impl_in_rule__TypeNameExpCS__Group__039339);
             rule__TypeNameExpCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__TypeNameExpCS__Group__1_in_rule__TypeNameExpCS__Group__037472);
+            pushFollow(FollowSets001.FOLLOW_rule__TypeNameExpCS__Group__1_in_rule__TypeNameExpCS__Group__039342);
             rule__TypeNameExpCS__Group__1();
 
             state._fsp--;
@@ -54751,25 +57219,25 @@
 
 
     // $ANTLR start "rule__TypeNameExpCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18218:1: rule__TypeNameExpCS__Group__0__Impl : ( ( rule__TypeNameExpCS__OwnedPathNameAssignment_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19236:1: rule__TypeNameExpCS__Group__0__Impl : ( ( rule__TypeNameExpCS__OwnedPathNameAssignment_0 ) ) ;
     public final void rule__TypeNameExpCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18222:1: ( ( ( rule__TypeNameExpCS__OwnedPathNameAssignment_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18223:1: ( ( rule__TypeNameExpCS__OwnedPathNameAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19240:1: ( ( ( rule__TypeNameExpCS__OwnedPathNameAssignment_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19241:1: ( ( rule__TypeNameExpCS__OwnedPathNameAssignment_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18223:1: ( ( rule__TypeNameExpCS__OwnedPathNameAssignment_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18224:1: ( rule__TypeNameExpCS__OwnedPathNameAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19241:1: ( ( rule__TypeNameExpCS__OwnedPathNameAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19242:1: ( rule__TypeNameExpCS__OwnedPathNameAssignment_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTypeNameExpCSAccess().getOwnedPathNameAssignment_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18225:1: ( rule__TypeNameExpCS__OwnedPathNameAssignment_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18225:2: rule__TypeNameExpCS__OwnedPathNameAssignment_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19243:1: ( rule__TypeNameExpCS__OwnedPathNameAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19243:2: rule__TypeNameExpCS__OwnedPathNameAssignment_0
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TypeNameExpCS__OwnedPathNameAssignment_0_in_rule__TypeNameExpCS__Group__0__Impl37499);
+            pushFollow(FollowSets001.FOLLOW_rule__TypeNameExpCS__OwnedPathNameAssignment_0_in_rule__TypeNameExpCS__Group__0__Impl39369);
             rule__TypeNameExpCS__OwnedPathNameAssignment_0();
 
             state._fsp--;
@@ -54802,16 +57270,16 @@
 
 
     // $ANTLR start "rule__TypeNameExpCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18235:1: rule__TypeNameExpCS__Group__1 : rule__TypeNameExpCS__Group__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19253:1: rule__TypeNameExpCS__Group__1 : rule__TypeNameExpCS__Group__1__Impl ;
     public final void rule__TypeNameExpCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18239:1: ( rule__TypeNameExpCS__Group__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18240:2: rule__TypeNameExpCS__Group__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19257:1: ( rule__TypeNameExpCS__Group__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19258:2: rule__TypeNameExpCS__Group__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TypeNameExpCS__Group__1__Impl_in_rule__TypeNameExpCS__Group__137529);
+            pushFollow(FollowSets001.FOLLOW_rule__TypeNameExpCS__Group__1__Impl_in_rule__TypeNameExpCS__Group__139399);
             rule__TypeNameExpCS__Group__1__Impl();
 
             state._fsp--;
@@ -54835,33 +57303,33 @@
 
 
     // $ANTLR start "rule__TypeNameExpCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18246:1: rule__TypeNameExpCS__Group__1__Impl : ( ( rule__TypeNameExpCS__Group_1__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19264:1: rule__TypeNameExpCS__Group__1__Impl : ( ( rule__TypeNameExpCS__Group_1__0 )? ) ;
     public final void rule__TypeNameExpCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18250:1: ( ( ( rule__TypeNameExpCS__Group_1__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18251:1: ( ( rule__TypeNameExpCS__Group_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19268:1: ( ( ( rule__TypeNameExpCS__Group_1__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19269:1: ( ( rule__TypeNameExpCS__Group_1__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18251:1: ( ( rule__TypeNameExpCS__Group_1__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18252:1: ( rule__TypeNameExpCS__Group_1__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19269:1: ( ( rule__TypeNameExpCS__Group_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19270:1: ( rule__TypeNameExpCS__Group_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTypeNameExpCSAccess().getGroup_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18253:1: ( rule__TypeNameExpCS__Group_1__0 )?
-            int alt194=2;
-            int LA194_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19271:1: ( rule__TypeNameExpCS__Group_1__0 )?
+            int alt222=2;
+            int LA222_0 = input.LA(1);
 
-            if ( (LA194_0==99) ) {
-                alt194=1;
+            if ( (LA222_0==108) ) {
+                alt222=1;
             }
-            switch (alt194) {
+            switch (alt222) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18253:2: rule__TypeNameExpCS__Group_1__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19271:2: rule__TypeNameExpCS__Group_1__0
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__TypeNameExpCS__Group_1__0_in_rule__TypeNameExpCS__Group__1__Impl37556);
+                    pushFollow(FollowSets001.FOLLOW_rule__TypeNameExpCS__Group_1__0_in_rule__TypeNameExpCS__Group__1__Impl39426);
                     rule__TypeNameExpCS__Group_1__0();
 
                     state._fsp--;
@@ -54897,21 +57365,21 @@
 
 
     // $ANTLR start "rule__TypeNameExpCS__Group_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18267:1: rule__TypeNameExpCS__Group_1__0 : rule__TypeNameExpCS__Group_1__0__Impl rule__TypeNameExpCS__Group_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19285:1: rule__TypeNameExpCS__Group_1__0 : rule__TypeNameExpCS__Group_1__0__Impl rule__TypeNameExpCS__Group_1__1 ;
     public final void rule__TypeNameExpCS__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18271:1: ( rule__TypeNameExpCS__Group_1__0__Impl rule__TypeNameExpCS__Group_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18272:2: rule__TypeNameExpCS__Group_1__0__Impl rule__TypeNameExpCS__Group_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19289:1: ( rule__TypeNameExpCS__Group_1__0__Impl rule__TypeNameExpCS__Group_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19290:2: rule__TypeNameExpCS__Group_1__0__Impl rule__TypeNameExpCS__Group_1__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TypeNameExpCS__Group_1__0__Impl_in_rule__TypeNameExpCS__Group_1__037591);
+            pushFollow(FollowSets001.FOLLOW_rule__TypeNameExpCS__Group_1__0__Impl_in_rule__TypeNameExpCS__Group_1__039461);
             rule__TypeNameExpCS__Group_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__TypeNameExpCS__Group_1__1_in_rule__TypeNameExpCS__Group_1__037594);
+            pushFollow(FollowSets001.FOLLOW_rule__TypeNameExpCS__Group_1__1_in_rule__TypeNameExpCS__Group_1__039464);
             rule__TypeNameExpCS__Group_1__1();
 
             state._fsp--;
@@ -54935,25 +57403,25 @@
 
 
     // $ANTLR start "rule__TypeNameExpCS__Group_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18279:1: rule__TypeNameExpCS__Group_1__0__Impl : ( ( rule__TypeNameExpCS__OwnedCurlyBracketedClauseAssignment_1_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19297:1: rule__TypeNameExpCS__Group_1__0__Impl : ( ( rule__TypeNameExpCS__OwnedCurlyBracketedClauseAssignment_1_0 ) ) ;
     public final void rule__TypeNameExpCS__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18283:1: ( ( ( rule__TypeNameExpCS__OwnedCurlyBracketedClauseAssignment_1_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18284:1: ( ( rule__TypeNameExpCS__OwnedCurlyBracketedClauseAssignment_1_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19301:1: ( ( ( rule__TypeNameExpCS__OwnedCurlyBracketedClauseAssignment_1_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19302:1: ( ( rule__TypeNameExpCS__OwnedCurlyBracketedClauseAssignment_1_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18284:1: ( ( rule__TypeNameExpCS__OwnedCurlyBracketedClauseAssignment_1_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18285:1: ( rule__TypeNameExpCS__OwnedCurlyBracketedClauseAssignment_1_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19302:1: ( ( rule__TypeNameExpCS__OwnedCurlyBracketedClauseAssignment_1_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19303:1: ( rule__TypeNameExpCS__OwnedCurlyBracketedClauseAssignment_1_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTypeNameExpCSAccess().getOwnedCurlyBracketedClauseAssignment_1_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18286:1: ( rule__TypeNameExpCS__OwnedCurlyBracketedClauseAssignment_1_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18286:2: rule__TypeNameExpCS__OwnedCurlyBracketedClauseAssignment_1_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19304:1: ( rule__TypeNameExpCS__OwnedCurlyBracketedClauseAssignment_1_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19304:2: rule__TypeNameExpCS__OwnedCurlyBracketedClauseAssignment_1_0
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TypeNameExpCS__OwnedCurlyBracketedClauseAssignment_1_0_in_rule__TypeNameExpCS__Group_1__0__Impl37621);
+            pushFollow(FollowSets001.FOLLOW_rule__TypeNameExpCS__OwnedCurlyBracketedClauseAssignment_1_0_in_rule__TypeNameExpCS__Group_1__0__Impl39491);
             rule__TypeNameExpCS__OwnedCurlyBracketedClauseAssignment_1_0();
 
             state._fsp--;
@@ -54986,16 +57454,16 @@
 
 
     // $ANTLR start "rule__TypeNameExpCS__Group_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18296:1: rule__TypeNameExpCS__Group_1__1 : rule__TypeNameExpCS__Group_1__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19314:1: rule__TypeNameExpCS__Group_1__1 : rule__TypeNameExpCS__Group_1__1__Impl ;
     public final void rule__TypeNameExpCS__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18300:1: ( rule__TypeNameExpCS__Group_1__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18301:2: rule__TypeNameExpCS__Group_1__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19318:1: ( rule__TypeNameExpCS__Group_1__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19319:2: rule__TypeNameExpCS__Group_1__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TypeNameExpCS__Group_1__1__Impl_in_rule__TypeNameExpCS__Group_1__137651);
+            pushFollow(FollowSets001.FOLLOW_rule__TypeNameExpCS__Group_1__1__Impl_in_rule__TypeNameExpCS__Group_1__139521);
             rule__TypeNameExpCS__Group_1__1__Impl();
 
             state._fsp--;
@@ -55019,33 +57487,33 @@
 
 
     // $ANTLR start "rule__TypeNameExpCS__Group_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18307:1: rule__TypeNameExpCS__Group_1__1__Impl : ( ( rule__TypeNameExpCS__Group_1_1__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19325:1: rule__TypeNameExpCS__Group_1__1__Impl : ( ( rule__TypeNameExpCS__Group_1_1__0 )? ) ;
     public final void rule__TypeNameExpCS__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18311:1: ( ( ( rule__TypeNameExpCS__Group_1_1__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18312:1: ( ( rule__TypeNameExpCS__Group_1_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19329:1: ( ( ( rule__TypeNameExpCS__Group_1_1__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19330:1: ( ( rule__TypeNameExpCS__Group_1_1__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18312:1: ( ( rule__TypeNameExpCS__Group_1_1__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18313:1: ( rule__TypeNameExpCS__Group_1_1__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19330:1: ( ( rule__TypeNameExpCS__Group_1_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19331:1: ( rule__TypeNameExpCS__Group_1_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTypeNameExpCSAccess().getGroup_1_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18314:1: ( rule__TypeNameExpCS__Group_1_1__0 )?
-            int alt195=2;
-            int LA195_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19332:1: ( rule__TypeNameExpCS__Group_1_1__0 )?
+            int alt223=2;
+            int LA223_0 = input.LA(1);
 
-            if ( (LA195_0==99) ) {
-                alt195=1;
+            if ( (LA223_0==108) ) {
+                alt223=1;
             }
-            switch (alt195) {
+            switch (alt223) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18314:2: rule__TypeNameExpCS__Group_1_1__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19332:2: rule__TypeNameExpCS__Group_1_1__0
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__TypeNameExpCS__Group_1_1__0_in_rule__TypeNameExpCS__Group_1__1__Impl37678);
+                    pushFollow(FollowSets001.FOLLOW_rule__TypeNameExpCS__Group_1_1__0_in_rule__TypeNameExpCS__Group_1__1__Impl39548);
                     rule__TypeNameExpCS__Group_1_1__0();
 
                     state._fsp--;
@@ -55081,21 +57549,21 @@
 
 
     // $ANTLR start "rule__TypeNameExpCS__Group_1_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18328:1: rule__TypeNameExpCS__Group_1_1__0 : rule__TypeNameExpCS__Group_1_1__0__Impl rule__TypeNameExpCS__Group_1_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19346:1: rule__TypeNameExpCS__Group_1_1__0 : rule__TypeNameExpCS__Group_1_1__0__Impl rule__TypeNameExpCS__Group_1_1__1 ;
     public final void rule__TypeNameExpCS__Group_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18332:1: ( rule__TypeNameExpCS__Group_1_1__0__Impl rule__TypeNameExpCS__Group_1_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18333:2: rule__TypeNameExpCS__Group_1_1__0__Impl rule__TypeNameExpCS__Group_1_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19350:1: ( rule__TypeNameExpCS__Group_1_1__0__Impl rule__TypeNameExpCS__Group_1_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19351:2: rule__TypeNameExpCS__Group_1_1__0__Impl rule__TypeNameExpCS__Group_1_1__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TypeNameExpCS__Group_1_1__0__Impl_in_rule__TypeNameExpCS__Group_1_1__037713);
+            pushFollow(FollowSets001.FOLLOW_rule__TypeNameExpCS__Group_1_1__0__Impl_in_rule__TypeNameExpCS__Group_1_1__039583);
             rule__TypeNameExpCS__Group_1_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__TypeNameExpCS__Group_1_1__1_in_rule__TypeNameExpCS__Group_1_1__037716);
+            pushFollow(FollowSets001.FOLLOW_rule__TypeNameExpCS__Group_1_1__1_in_rule__TypeNameExpCS__Group_1_1__039586);
             rule__TypeNameExpCS__Group_1_1__1();
 
             state._fsp--;
@@ -55119,22 +57587,22 @@
 
 
     // $ANTLR start "rule__TypeNameExpCS__Group_1_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18340:1: rule__TypeNameExpCS__Group_1_1__0__Impl : ( '{' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19358:1: rule__TypeNameExpCS__Group_1_1__0__Impl : ( '{' ) ;
     public final void rule__TypeNameExpCS__Group_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18344:1: ( ( '{' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18345:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19362:1: ( ( '{' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19363:1: ( '{' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18345:1: ( '{' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18346:1: '{'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19363:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19364:1: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTypeNameExpCSAccess().getLeftCurlyBracketKeyword_1_1_0()); 
             }
-            match(input,99,FollowSets001.FOLLOW_99_in_rule__TypeNameExpCS__Group_1_1__0__Impl37744); if (state.failed) return ;
+            match(input,108,FollowSets001.FOLLOW_108_in_rule__TypeNameExpCS__Group_1_1__0__Impl39614); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTypeNameExpCSAccess().getLeftCurlyBracketKeyword_1_1_0()); 
             }
@@ -55160,21 +57628,21 @@
 
 
     // $ANTLR start "rule__TypeNameExpCS__Group_1_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18359:1: rule__TypeNameExpCS__Group_1_1__1 : rule__TypeNameExpCS__Group_1_1__1__Impl rule__TypeNameExpCS__Group_1_1__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19377:1: rule__TypeNameExpCS__Group_1_1__1 : rule__TypeNameExpCS__Group_1_1__1__Impl rule__TypeNameExpCS__Group_1_1__2 ;
     public final void rule__TypeNameExpCS__Group_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18363:1: ( rule__TypeNameExpCS__Group_1_1__1__Impl rule__TypeNameExpCS__Group_1_1__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18364:2: rule__TypeNameExpCS__Group_1_1__1__Impl rule__TypeNameExpCS__Group_1_1__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19381:1: ( rule__TypeNameExpCS__Group_1_1__1__Impl rule__TypeNameExpCS__Group_1_1__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19382:2: rule__TypeNameExpCS__Group_1_1__1__Impl rule__TypeNameExpCS__Group_1_1__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TypeNameExpCS__Group_1_1__1__Impl_in_rule__TypeNameExpCS__Group_1_1__137775);
+            pushFollow(FollowSets001.FOLLOW_rule__TypeNameExpCS__Group_1_1__1__Impl_in_rule__TypeNameExpCS__Group_1_1__139645);
             rule__TypeNameExpCS__Group_1_1__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__TypeNameExpCS__Group_1_1__2_in_rule__TypeNameExpCS__Group_1_1__137778);
+            pushFollow(FollowSets001.FOLLOW_rule__TypeNameExpCS__Group_1_1__2_in_rule__TypeNameExpCS__Group_1_1__139648);
             rule__TypeNameExpCS__Group_1_1__2();
 
             state._fsp--;
@@ -55198,25 +57666,25 @@
 
 
     // $ANTLR start "rule__TypeNameExpCS__Group_1_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18371:1: rule__TypeNameExpCS__Group_1_1__1__Impl : ( ( rule__TypeNameExpCS__OwnedPatternGuardAssignment_1_1_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19389:1: rule__TypeNameExpCS__Group_1_1__1__Impl : ( ( rule__TypeNameExpCS__OwnedPatternGuardAssignment_1_1_1 ) ) ;
     public final void rule__TypeNameExpCS__Group_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18375:1: ( ( ( rule__TypeNameExpCS__OwnedPatternGuardAssignment_1_1_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18376:1: ( ( rule__TypeNameExpCS__OwnedPatternGuardAssignment_1_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19393:1: ( ( ( rule__TypeNameExpCS__OwnedPatternGuardAssignment_1_1_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19394:1: ( ( rule__TypeNameExpCS__OwnedPatternGuardAssignment_1_1_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18376:1: ( ( rule__TypeNameExpCS__OwnedPatternGuardAssignment_1_1_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18377:1: ( rule__TypeNameExpCS__OwnedPatternGuardAssignment_1_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19394:1: ( ( rule__TypeNameExpCS__OwnedPatternGuardAssignment_1_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19395:1: ( rule__TypeNameExpCS__OwnedPatternGuardAssignment_1_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTypeNameExpCSAccess().getOwnedPatternGuardAssignment_1_1_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18378:1: ( rule__TypeNameExpCS__OwnedPatternGuardAssignment_1_1_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18378:2: rule__TypeNameExpCS__OwnedPatternGuardAssignment_1_1_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19396:1: ( rule__TypeNameExpCS__OwnedPatternGuardAssignment_1_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19396:2: rule__TypeNameExpCS__OwnedPatternGuardAssignment_1_1_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TypeNameExpCS__OwnedPatternGuardAssignment_1_1_1_in_rule__TypeNameExpCS__Group_1_1__1__Impl37805);
+            pushFollow(FollowSets001.FOLLOW_rule__TypeNameExpCS__OwnedPatternGuardAssignment_1_1_1_in_rule__TypeNameExpCS__Group_1_1__1__Impl39675);
             rule__TypeNameExpCS__OwnedPatternGuardAssignment_1_1_1();
 
             state._fsp--;
@@ -55249,16 +57717,16 @@
 
 
     // $ANTLR start "rule__TypeNameExpCS__Group_1_1__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18388:1: rule__TypeNameExpCS__Group_1_1__2 : rule__TypeNameExpCS__Group_1_1__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19406:1: rule__TypeNameExpCS__Group_1_1__2 : rule__TypeNameExpCS__Group_1_1__2__Impl ;
     public final void rule__TypeNameExpCS__Group_1_1__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18392:1: ( rule__TypeNameExpCS__Group_1_1__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18393:2: rule__TypeNameExpCS__Group_1_1__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19410:1: ( rule__TypeNameExpCS__Group_1_1__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19411:2: rule__TypeNameExpCS__Group_1_1__2__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TypeNameExpCS__Group_1_1__2__Impl_in_rule__TypeNameExpCS__Group_1_1__237835);
+            pushFollow(FollowSets001.FOLLOW_rule__TypeNameExpCS__Group_1_1__2__Impl_in_rule__TypeNameExpCS__Group_1_1__239705);
             rule__TypeNameExpCS__Group_1_1__2__Impl();
 
             state._fsp--;
@@ -55282,22 +57750,22 @@
 
 
     // $ANTLR start "rule__TypeNameExpCS__Group_1_1__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18399:1: rule__TypeNameExpCS__Group_1_1__2__Impl : ( '}' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19417:1: rule__TypeNameExpCS__Group_1_1__2__Impl : ( '}' ) ;
     public final void rule__TypeNameExpCS__Group_1_1__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18403:1: ( ( '}' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18404:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19421:1: ( ( '}' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19422:1: ( '}' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18404:1: ( '}' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18405:1: '}'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19422:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19423:1: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTypeNameExpCSAccess().getRightCurlyBracketKeyword_1_1_2()); 
             }
-            match(input,100,FollowSets001.FOLLOW_100_in_rule__TypeNameExpCS__Group_1_1__2__Impl37863); if (state.failed) return ;
+            match(input,109,FollowSets001.FOLLOW_109_in_rule__TypeNameExpCS__Group_1_1__2__Impl39733); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTypeNameExpCSAccess().getRightCurlyBracketKeyword_1_1_2()); 
             }
@@ -55323,21 +57791,21 @@
 
 
     // $ANTLR start "rule__TypeExpCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18424:1: rule__TypeExpCS__Group__0 : rule__TypeExpCS__Group__0__Impl rule__TypeExpCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19442:1: rule__TypeExpCS__Group__0 : rule__TypeExpCS__Group__0__Impl rule__TypeExpCS__Group__1 ;
     public final void rule__TypeExpCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18428:1: ( rule__TypeExpCS__Group__0__Impl rule__TypeExpCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18429:2: rule__TypeExpCS__Group__0__Impl rule__TypeExpCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19446:1: ( rule__TypeExpCS__Group__0__Impl rule__TypeExpCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19447:2: rule__TypeExpCS__Group__0__Impl rule__TypeExpCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TypeExpCS__Group__0__Impl_in_rule__TypeExpCS__Group__037900);
+            pushFollow(FollowSets001.FOLLOW_rule__TypeExpCS__Group__0__Impl_in_rule__TypeExpCS__Group__039770);
             rule__TypeExpCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__TypeExpCS__Group__1_in_rule__TypeExpCS__Group__037903);
+            pushFollow(FollowSets001.FOLLOW_rule__TypeExpCS__Group__1_in_rule__TypeExpCS__Group__039773);
             rule__TypeExpCS__Group__1();
 
             state._fsp--;
@@ -55361,25 +57829,25 @@
 
 
     // $ANTLR start "rule__TypeExpCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18436:1: rule__TypeExpCS__Group__0__Impl : ( ( rule__TypeExpCS__Alternatives_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19454:1: rule__TypeExpCS__Group__0__Impl : ( ( rule__TypeExpCS__Alternatives_0 ) ) ;
     public final void rule__TypeExpCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18440:1: ( ( ( rule__TypeExpCS__Alternatives_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18441:1: ( ( rule__TypeExpCS__Alternatives_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19458:1: ( ( ( rule__TypeExpCS__Alternatives_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19459:1: ( ( rule__TypeExpCS__Alternatives_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18441:1: ( ( rule__TypeExpCS__Alternatives_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18442:1: ( rule__TypeExpCS__Alternatives_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19459:1: ( ( rule__TypeExpCS__Alternatives_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19460:1: ( rule__TypeExpCS__Alternatives_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTypeExpCSAccess().getAlternatives_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18443:1: ( rule__TypeExpCS__Alternatives_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18443:2: rule__TypeExpCS__Alternatives_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19461:1: ( rule__TypeExpCS__Alternatives_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19461:2: rule__TypeExpCS__Alternatives_0
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TypeExpCS__Alternatives_0_in_rule__TypeExpCS__Group__0__Impl37930);
+            pushFollow(FollowSets001.FOLLOW_rule__TypeExpCS__Alternatives_0_in_rule__TypeExpCS__Group__0__Impl39800);
             rule__TypeExpCS__Alternatives_0();
 
             state._fsp--;
@@ -55412,16 +57880,16 @@
 
 
     // $ANTLR start "rule__TypeExpCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18453:1: rule__TypeExpCS__Group__1 : rule__TypeExpCS__Group__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19471:1: rule__TypeExpCS__Group__1 : rule__TypeExpCS__Group__1__Impl ;
     public final void rule__TypeExpCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18457:1: ( rule__TypeExpCS__Group__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18458:2: rule__TypeExpCS__Group__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19475:1: ( rule__TypeExpCS__Group__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19476:2: rule__TypeExpCS__Group__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TypeExpCS__Group__1__Impl_in_rule__TypeExpCS__Group__137960);
+            pushFollow(FollowSets001.FOLLOW_rule__TypeExpCS__Group__1__Impl_in_rule__TypeExpCS__Group__139830);
             rule__TypeExpCS__Group__1__Impl();
 
             state._fsp--;
@@ -55445,33 +57913,33 @@
 
 
     // $ANTLR start "rule__TypeExpCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18464:1: rule__TypeExpCS__Group__1__Impl : ( ( rule__TypeExpCS__OwnedMultiplicityAssignment_1 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19482:1: rule__TypeExpCS__Group__1__Impl : ( ( rule__TypeExpCS__OwnedMultiplicityAssignment_1 )? ) ;
     public final void rule__TypeExpCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18468:1: ( ( ( rule__TypeExpCS__OwnedMultiplicityAssignment_1 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18469:1: ( ( rule__TypeExpCS__OwnedMultiplicityAssignment_1 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19486:1: ( ( ( rule__TypeExpCS__OwnedMultiplicityAssignment_1 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19487:1: ( ( rule__TypeExpCS__OwnedMultiplicityAssignment_1 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18469:1: ( ( rule__TypeExpCS__OwnedMultiplicityAssignment_1 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18470:1: ( rule__TypeExpCS__OwnedMultiplicityAssignment_1 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19487:1: ( ( rule__TypeExpCS__OwnedMultiplicityAssignment_1 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19488:1: ( rule__TypeExpCS__OwnedMultiplicityAssignment_1 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTypeExpCSAccess().getOwnedMultiplicityAssignment_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18471:1: ( rule__TypeExpCS__OwnedMultiplicityAssignment_1 )?
-            int alt196=2;
-            int LA196_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19489:1: ( rule__TypeExpCS__OwnedMultiplicityAssignment_1 )?
+            int alt224=2;
+            int LA224_0 = input.LA(1);
 
-            if ( (LA196_0==109) ) {
-                alt196=1;
+            if ( (LA224_0==118) ) {
+                alt224=1;
             }
-            switch (alt196) {
+            switch (alt224) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18471:2: rule__TypeExpCS__OwnedMultiplicityAssignment_1
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19489:2: rule__TypeExpCS__OwnedMultiplicityAssignment_1
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__TypeExpCS__OwnedMultiplicityAssignment_1_in_rule__TypeExpCS__Group__1__Impl37987);
+                    pushFollow(FollowSets001.FOLLOW_rule__TypeExpCS__OwnedMultiplicityAssignment_1_in_rule__TypeExpCS__Group__1__Impl39857);
                     rule__TypeExpCS__OwnedMultiplicityAssignment_1();
 
                     state._fsp--;
@@ -55507,21 +57975,21 @@
 
 
     // $ANTLR start "rule__ExpCS__Group_0__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18485:1: rule__ExpCS__Group_0__0 : rule__ExpCS__Group_0__0__Impl rule__ExpCS__Group_0__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19503:1: rule__ExpCS__Group_0__0 : rule__ExpCS__Group_0__0__Impl rule__ExpCS__Group_0__1 ;
     public final void rule__ExpCS__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18489:1: ( rule__ExpCS__Group_0__0__Impl rule__ExpCS__Group_0__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18490:2: rule__ExpCS__Group_0__0__Impl rule__ExpCS__Group_0__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19507:1: ( rule__ExpCS__Group_0__0__Impl rule__ExpCS__Group_0__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19508:2: rule__ExpCS__Group_0__0__Impl rule__ExpCS__Group_0__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ExpCS__Group_0__0__Impl_in_rule__ExpCS__Group_0__038022);
+            pushFollow(FollowSets001.FOLLOW_rule__ExpCS__Group_0__0__Impl_in_rule__ExpCS__Group_0__039892);
             rule__ExpCS__Group_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ExpCS__Group_0__1_in_rule__ExpCS__Group_0__038025);
+            pushFollow(FollowSets001.FOLLOW_rule__ExpCS__Group_0__1_in_rule__ExpCS__Group_0__039895);
             rule__ExpCS__Group_0__1();
 
             state._fsp--;
@@ -55545,22 +58013,22 @@
 
 
     // $ANTLR start "rule__ExpCS__Group_0__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18497:1: rule__ExpCS__Group_0__0__Impl : ( rulePrefixedPrimaryExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19515:1: rule__ExpCS__Group_0__0__Impl : ( rulePrefixedPrimaryExpCS ) ;
     public final void rule__ExpCS__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18501:1: ( ( rulePrefixedPrimaryExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18502:1: ( rulePrefixedPrimaryExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19519:1: ( ( rulePrefixedPrimaryExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19520:1: ( rulePrefixedPrimaryExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18502:1: ( rulePrefixedPrimaryExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18503:1: rulePrefixedPrimaryExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19520:1: ( rulePrefixedPrimaryExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19521:1: rulePrefixedPrimaryExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getExpCSAccess().getPrefixedPrimaryExpCSParserRuleCall_0_0()); 
             }
-            pushFollow(FollowSets001.FOLLOW_rulePrefixedPrimaryExpCS_in_rule__ExpCS__Group_0__0__Impl38052);
+            pushFollow(FollowSets001.FOLLOW_rulePrefixedPrimaryExpCS_in_rule__ExpCS__Group_0__0__Impl39922);
             rulePrefixedPrimaryExpCS();
 
             state._fsp--;
@@ -55590,16 +58058,16 @@
 
 
     // $ANTLR start "rule__ExpCS__Group_0__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18514:1: rule__ExpCS__Group_0__1 : rule__ExpCS__Group_0__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19532:1: rule__ExpCS__Group_0__1 : rule__ExpCS__Group_0__1__Impl ;
     public final void rule__ExpCS__Group_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18518:1: ( rule__ExpCS__Group_0__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18519:2: rule__ExpCS__Group_0__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19536:1: ( rule__ExpCS__Group_0__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19537:2: rule__ExpCS__Group_0__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ExpCS__Group_0__1__Impl_in_rule__ExpCS__Group_0__138081);
+            pushFollow(FollowSets001.FOLLOW_rule__ExpCS__Group_0__1__Impl_in_rule__ExpCS__Group_0__139951);
             rule__ExpCS__Group_0__1__Impl();
 
             state._fsp--;
@@ -55623,33 +58091,33 @@
 
 
     // $ANTLR start "rule__ExpCS__Group_0__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18525:1: rule__ExpCS__Group_0__1__Impl : ( ( rule__ExpCS__Group_0_1__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19543:1: rule__ExpCS__Group_0__1__Impl : ( ( rule__ExpCS__Group_0_1__0 )? ) ;
     public final void rule__ExpCS__Group_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18529:1: ( ( ( rule__ExpCS__Group_0_1__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18530:1: ( ( rule__ExpCS__Group_0_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19547:1: ( ( ( rule__ExpCS__Group_0_1__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19548:1: ( ( rule__ExpCS__Group_0_1__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18530:1: ( ( rule__ExpCS__Group_0_1__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18531:1: ( rule__ExpCS__Group_0_1__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19548:1: ( ( rule__ExpCS__Group_0_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19549:1: ( rule__ExpCS__Group_0_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getExpCSAccess().getGroup_0_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18532:1: ( rule__ExpCS__Group_0_1__0 )?
-            int alt197=2;
-            int LA197_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19550:1: ( rule__ExpCS__Group_0_1__0 )?
+            int alt225=2;
+            int LA225_0 = input.LA(1);
 
-            if ( (LA197_0==61||(LA197_0>=63 && LA197_0<=79)) ) {
-                alt197=1;
+            if ( (LA225_0==70||(LA225_0>=72 && LA225_0<=88)) ) {
+                alt225=1;
             }
-            switch (alt197) {
+            switch (alt225) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18532:2: rule__ExpCS__Group_0_1__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19550:2: rule__ExpCS__Group_0_1__0
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__ExpCS__Group_0_1__0_in_rule__ExpCS__Group_0__1__Impl38108);
+                    pushFollow(FollowSets001.FOLLOW_rule__ExpCS__Group_0_1__0_in_rule__ExpCS__Group_0__1__Impl39978);
                     rule__ExpCS__Group_0_1__0();
 
                     state._fsp--;
@@ -55685,21 +58153,21 @@
 
 
     // $ANTLR start "rule__ExpCS__Group_0_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18546:1: rule__ExpCS__Group_0_1__0 : rule__ExpCS__Group_0_1__0__Impl rule__ExpCS__Group_0_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19564:1: rule__ExpCS__Group_0_1__0 : rule__ExpCS__Group_0_1__0__Impl rule__ExpCS__Group_0_1__1 ;
     public final void rule__ExpCS__Group_0_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18550:1: ( rule__ExpCS__Group_0_1__0__Impl rule__ExpCS__Group_0_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18551:2: rule__ExpCS__Group_0_1__0__Impl rule__ExpCS__Group_0_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19568:1: ( rule__ExpCS__Group_0_1__0__Impl rule__ExpCS__Group_0_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19569:2: rule__ExpCS__Group_0_1__0__Impl rule__ExpCS__Group_0_1__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ExpCS__Group_0_1__0__Impl_in_rule__ExpCS__Group_0_1__038143);
+            pushFollow(FollowSets001.FOLLOW_rule__ExpCS__Group_0_1__0__Impl_in_rule__ExpCS__Group_0_1__040013);
             rule__ExpCS__Group_0_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ExpCS__Group_0_1__1_in_rule__ExpCS__Group_0_1__038146);
+            pushFollow(FollowSets001.FOLLOW_rule__ExpCS__Group_0_1__1_in_rule__ExpCS__Group_0_1__040016);
             rule__ExpCS__Group_0_1__1();
 
             state._fsp--;
@@ -55723,23 +58191,23 @@
 
 
     // $ANTLR start "rule__ExpCS__Group_0_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18558:1: rule__ExpCS__Group_0_1__0__Impl : ( () ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19576:1: rule__ExpCS__Group_0_1__0__Impl : ( () ) ;
     public final void rule__ExpCS__Group_0_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18562:1: ( ( () ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18563:1: ( () )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19580:1: ( ( () ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19581:1: ( () )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18563:1: ( () )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18564:1: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19581:1: ( () )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19582:1: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getExpCSAccess().getInfixExpCSOwnedLeftAction_0_1_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18565:1: ()
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18567:1: 
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19583:1: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19585:1: 
             {
             }
 
@@ -55764,21 +58232,21 @@
 
 
     // $ANTLR start "rule__ExpCS__Group_0_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18577:1: rule__ExpCS__Group_0_1__1 : rule__ExpCS__Group_0_1__1__Impl rule__ExpCS__Group_0_1__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19595:1: rule__ExpCS__Group_0_1__1 : rule__ExpCS__Group_0_1__1__Impl rule__ExpCS__Group_0_1__2 ;
     public final void rule__ExpCS__Group_0_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18581:1: ( rule__ExpCS__Group_0_1__1__Impl rule__ExpCS__Group_0_1__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18582:2: rule__ExpCS__Group_0_1__1__Impl rule__ExpCS__Group_0_1__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19599:1: ( rule__ExpCS__Group_0_1__1__Impl rule__ExpCS__Group_0_1__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19600:2: rule__ExpCS__Group_0_1__1__Impl rule__ExpCS__Group_0_1__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ExpCS__Group_0_1__1__Impl_in_rule__ExpCS__Group_0_1__138204);
+            pushFollow(FollowSets001.FOLLOW_rule__ExpCS__Group_0_1__1__Impl_in_rule__ExpCS__Group_0_1__140074);
             rule__ExpCS__Group_0_1__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ExpCS__Group_0_1__2_in_rule__ExpCS__Group_0_1__138207);
+            pushFollow(FollowSets001.FOLLOW_rule__ExpCS__Group_0_1__2_in_rule__ExpCS__Group_0_1__140077);
             rule__ExpCS__Group_0_1__2();
 
             state._fsp--;
@@ -55802,25 +58270,25 @@
 
 
     // $ANTLR start "rule__ExpCS__Group_0_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18589:1: rule__ExpCS__Group_0_1__1__Impl : ( ( rule__ExpCS__NameAssignment_0_1_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19607:1: rule__ExpCS__Group_0_1__1__Impl : ( ( rule__ExpCS__NameAssignment_0_1_1 ) ) ;
     public final void rule__ExpCS__Group_0_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18593:1: ( ( ( rule__ExpCS__NameAssignment_0_1_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18594:1: ( ( rule__ExpCS__NameAssignment_0_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19611:1: ( ( ( rule__ExpCS__NameAssignment_0_1_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19612:1: ( ( rule__ExpCS__NameAssignment_0_1_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18594:1: ( ( rule__ExpCS__NameAssignment_0_1_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18595:1: ( rule__ExpCS__NameAssignment_0_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19612:1: ( ( rule__ExpCS__NameAssignment_0_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19613:1: ( rule__ExpCS__NameAssignment_0_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getExpCSAccess().getNameAssignment_0_1_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18596:1: ( rule__ExpCS__NameAssignment_0_1_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18596:2: rule__ExpCS__NameAssignment_0_1_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19614:1: ( rule__ExpCS__NameAssignment_0_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19614:2: rule__ExpCS__NameAssignment_0_1_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ExpCS__NameAssignment_0_1_1_in_rule__ExpCS__Group_0_1__1__Impl38234);
+            pushFollow(FollowSets001.FOLLOW_rule__ExpCS__NameAssignment_0_1_1_in_rule__ExpCS__Group_0_1__1__Impl40104);
             rule__ExpCS__NameAssignment_0_1_1();
 
             state._fsp--;
@@ -55853,16 +58321,16 @@
 
 
     // $ANTLR start "rule__ExpCS__Group_0_1__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18606:1: rule__ExpCS__Group_0_1__2 : rule__ExpCS__Group_0_1__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19624:1: rule__ExpCS__Group_0_1__2 : rule__ExpCS__Group_0_1__2__Impl ;
     public final void rule__ExpCS__Group_0_1__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18610:1: ( rule__ExpCS__Group_0_1__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18611:2: rule__ExpCS__Group_0_1__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19628:1: ( rule__ExpCS__Group_0_1__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19629:2: rule__ExpCS__Group_0_1__2__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ExpCS__Group_0_1__2__Impl_in_rule__ExpCS__Group_0_1__238264);
+            pushFollow(FollowSets001.FOLLOW_rule__ExpCS__Group_0_1__2__Impl_in_rule__ExpCS__Group_0_1__240134);
             rule__ExpCS__Group_0_1__2__Impl();
 
             state._fsp--;
@@ -55886,25 +58354,25 @@
 
 
     // $ANTLR start "rule__ExpCS__Group_0_1__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18617:1: rule__ExpCS__Group_0_1__2__Impl : ( ( rule__ExpCS__OwnedRightAssignment_0_1_2 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19635:1: rule__ExpCS__Group_0_1__2__Impl : ( ( rule__ExpCS__OwnedRightAssignment_0_1_2 ) ) ;
     public final void rule__ExpCS__Group_0_1__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18621:1: ( ( ( rule__ExpCS__OwnedRightAssignment_0_1_2 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18622:1: ( ( rule__ExpCS__OwnedRightAssignment_0_1_2 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19639:1: ( ( ( rule__ExpCS__OwnedRightAssignment_0_1_2 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19640:1: ( ( rule__ExpCS__OwnedRightAssignment_0_1_2 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18622:1: ( ( rule__ExpCS__OwnedRightAssignment_0_1_2 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18623:1: ( rule__ExpCS__OwnedRightAssignment_0_1_2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19640:1: ( ( rule__ExpCS__OwnedRightAssignment_0_1_2 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19641:1: ( rule__ExpCS__OwnedRightAssignment_0_1_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getExpCSAccess().getOwnedRightAssignment_0_1_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18624:1: ( rule__ExpCS__OwnedRightAssignment_0_1_2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18624:2: rule__ExpCS__OwnedRightAssignment_0_1_2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19642:1: ( rule__ExpCS__OwnedRightAssignment_0_1_2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19642:2: rule__ExpCS__OwnedRightAssignment_0_1_2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ExpCS__OwnedRightAssignment_0_1_2_in_rule__ExpCS__Group_0_1__2__Impl38291);
+            pushFollow(FollowSets001.FOLLOW_rule__ExpCS__OwnedRightAssignment_0_1_2_in_rule__ExpCS__Group_0_1__2__Impl40161);
             rule__ExpCS__OwnedRightAssignment_0_1_2();
 
             state._fsp--;
@@ -55937,21 +58405,21 @@
 
 
     // $ANTLR start "rule__PrefixedLetExpCS__Group_0__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18640:1: rule__PrefixedLetExpCS__Group_0__0 : rule__PrefixedLetExpCS__Group_0__0__Impl rule__PrefixedLetExpCS__Group_0__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19658:1: rule__PrefixedLetExpCS__Group_0__0 : rule__PrefixedLetExpCS__Group_0__0__Impl rule__PrefixedLetExpCS__Group_0__1 ;
     public final void rule__PrefixedLetExpCS__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18644:1: ( rule__PrefixedLetExpCS__Group_0__0__Impl rule__PrefixedLetExpCS__Group_0__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18645:2: rule__PrefixedLetExpCS__Group_0__0__Impl rule__PrefixedLetExpCS__Group_0__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19662:1: ( rule__PrefixedLetExpCS__Group_0__0__Impl rule__PrefixedLetExpCS__Group_0__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19663:2: rule__PrefixedLetExpCS__Group_0__0__Impl rule__PrefixedLetExpCS__Group_0__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__PrefixedLetExpCS__Group_0__0__Impl_in_rule__PrefixedLetExpCS__Group_0__038327);
+            pushFollow(FollowSets001.FOLLOW_rule__PrefixedLetExpCS__Group_0__0__Impl_in_rule__PrefixedLetExpCS__Group_0__040197);
             rule__PrefixedLetExpCS__Group_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__PrefixedLetExpCS__Group_0__1_in_rule__PrefixedLetExpCS__Group_0__038330);
+            pushFollow(FollowSets001.FOLLOW_rule__PrefixedLetExpCS__Group_0__1_in_rule__PrefixedLetExpCS__Group_0__040200);
             rule__PrefixedLetExpCS__Group_0__1();
 
             state._fsp--;
@@ -55975,23 +58443,23 @@
 
 
     // $ANTLR start "rule__PrefixedLetExpCS__Group_0__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18652:1: rule__PrefixedLetExpCS__Group_0__0__Impl : ( () ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19670:1: rule__PrefixedLetExpCS__Group_0__0__Impl : ( () ) ;
     public final void rule__PrefixedLetExpCS__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18656:1: ( ( () ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18657:1: ( () )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19674:1: ( ( () ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19675:1: ( () )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18657:1: ( () )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18658:1: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19675:1: ( () )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19676:1: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPrefixedLetExpCSAccess().getPrefixExpCSAction_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18659:1: ()
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18661:1: 
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19677:1: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19679:1: 
             {
             }
 
@@ -56016,21 +58484,21 @@
 
 
     // $ANTLR start "rule__PrefixedLetExpCS__Group_0__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18671:1: rule__PrefixedLetExpCS__Group_0__1 : rule__PrefixedLetExpCS__Group_0__1__Impl rule__PrefixedLetExpCS__Group_0__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19689:1: rule__PrefixedLetExpCS__Group_0__1 : rule__PrefixedLetExpCS__Group_0__1__Impl rule__PrefixedLetExpCS__Group_0__2 ;
     public final void rule__PrefixedLetExpCS__Group_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18675:1: ( rule__PrefixedLetExpCS__Group_0__1__Impl rule__PrefixedLetExpCS__Group_0__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18676:2: rule__PrefixedLetExpCS__Group_0__1__Impl rule__PrefixedLetExpCS__Group_0__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19693:1: ( rule__PrefixedLetExpCS__Group_0__1__Impl rule__PrefixedLetExpCS__Group_0__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19694:2: rule__PrefixedLetExpCS__Group_0__1__Impl rule__PrefixedLetExpCS__Group_0__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__PrefixedLetExpCS__Group_0__1__Impl_in_rule__PrefixedLetExpCS__Group_0__138388);
+            pushFollow(FollowSets001.FOLLOW_rule__PrefixedLetExpCS__Group_0__1__Impl_in_rule__PrefixedLetExpCS__Group_0__140258);
             rule__PrefixedLetExpCS__Group_0__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__PrefixedLetExpCS__Group_0__2_in_rule__PrefixedLetExpCS__Group_0__138391);
+            pushFollow(FollowSets001.FOLLOW_rule__PrefixedLetExpCS__Group_0__2_in_rule__PrefixedLetExpCS__Group_0__140261);
             rule__PrefixedLetExpCS__Group_0__2();
 
             state._fsp--;
@@ -56054,25 +58522,25 @@
 
 
     // $ANTLR start "rule__PrefixedLetExpCS__Group_0__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18683:1: rule__PrefixedLetExpCS__Group_0__1__Impl : ( ( rule__PrefixedLetExpCS__NameAssignment_0_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19701:1: rule__PrefixedLetExpCS__Group_0__1__Impl : ( ( rule__PrefixedLetExpCS__NameAssignment_0_1 ) ) ;
     public final void rule__PrefixedLetExpCS__Group_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18687:1: ( ( ( rule__PrefixedLetExpCS__NameAssignment_0_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18688:1: ( ( rule__PrefixedLetExpCS__NameAssignment_0_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19705:1: ( ( ( rule__PrefixedLetExpCS__NameAssignment_0_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19706:1: ( ( rule__PrefixedLetExpCS__NameAssignment_0_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18688:1: ( ( rule__PrefixedLetExpCS__NameAssignment_0_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18689:1: ( rule__PrefixedLetExpCS__NameAssignment_0_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19706:1: ( ( rule__PrefixedLetExpCS__NameAssignment_0_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19707:1: ( rule__PrefixedLetExpCS__NameAssignment_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPrefixedLetExpCSAccess().getNameAssignment_0_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18690:1: ( rule__PrefixedLetExpCS__NameAssignment_0_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18690:2: rule__PrefixedLetExpCS__NameAssignment_0_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19708:1: ( rule__PrefixedLetExpCS__NameAssignment_0_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19708:2: rule__PrefixedLetExpCS__NameAssignment_0_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__PrefixedLetExpCS__NameAssignment_0_1_in_rule__PrefixedLetExpCS__Group_0__1__Impl38418);
+            pushFollow(FollowSets001.FOLLOW_rule__PrefixedLetExpCS__NameAssignment_0_1_in_rule__PrefixedLetExpCS__Group_0__1__Impl40288);
             rule__PrefixedLetExpCS__NameAssignment_0_1();
 
             state._fsp--;
@@ -56105,16 +58573,16 @@
 
 
     // $ANTLR start "rule__PrefixedLetExpCS__Group_0__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18700:1: rule__PrefixedLetExpCS__Group_0__2 : rule__PrefixedLetExpCS__Group_0__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19718:1: rule__PrefixedLetExpCS__Group_0__2 : rule__PrefixedLetExpCS__Group_0__2__Impl ;
     public final void rule__PrefixedLetExpCS__Group_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18704:1: ( rule__PrefixedLetExpCS__Group_0__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18705:2: rule__PrefixedLetExpCS__Group_0__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19722:1: ( rule__PrefixedLetExpCS__Group_0__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19723:2: rule__PrefixedLetExpCS__Group_0__2__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__PrefixedLetExpCS__Group_0__2__Impl_in_rule__PrefixedLetExpCS__Group_0__238448);
+            pushFollow(FollowSets001.FOLLOW_rule__PrefixedLetExpCS__Group_0__2__Impl_in_rule__PrefixedLetExpCS__Group_0__240318);
             rule__PrefixedLetExpCS__Group_0__2__Impl();
 
             state._fsp--;
@@ -56138,25 +58606,25 @@
 
 
     // $ANTLR start "rule__PrefixedLetExpCS__Group_0__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18711:1: rule__PrefixedLetExpCS__Group_0__2__Impl : ( ( rule__PrefixedLetExpCS__OwnedRightAssignment_0_2 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19729:1: rule__PrefixedLetExpCS__Group_0__2__Impl : ( ( rule__PrefixedLetExpCS__OwnedRightAssignment_0_2 ) ) ;
     public final void rule__PrefixedLetExpCS__Group_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18715:1: ( ( ( rule__PrefixedLetExpCS__OwnedRightAssignment_0_2 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18716:1: ( ( rule__PrefixedLetExpCS__OwnedRightAssignment_0_2 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19733:1: ( ( ( rule__PrefixedLetExpCS__OwnedRightAssignment_0_2 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19734:1: ( ( rule__PrefixedLetExpCS__OwnedRightAssignment_0_2 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18716:1: ( ( rule__PrefixedLetExpCS__OwnedRightAssignment_0_2 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18717:1: ( rule__PrefixedLetExpCS__OwnedRightAssignment_0_2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19734:1: ( ( rule__PrefixedLetExpCS__OwnedRightAssignment_0_2 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19735:1: ( rule__PrefixedLetExpCS__OwnedRightAssignment_0_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPrefixedLetExpCSAccess().getOwnedRightAssignment_0_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18718:1: ( rule__PrefixedLetExpCS__OwnedRightAssignment_0_2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18718:2: rule__PrefixedLetExpCS__OwnedRightAssignment_0_2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19736:1: ( rule__PrefixedLetExpCS__OwnedRightAssignment_0_2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19736:2: rule__PrefixedLetExpCS__OwnedRightAssignment_0_2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__PrefixedLetExpCS__OwnedRightAssignment_0_2_in_rule__PrefixedLetExpCS__Group_0__2__Impl38475);
+            pushFollow(FollowSets001.FOLLOW_rule__PrefixedLetExpCS__OwnedRightAssignment_0_2_in_rule__PrefixedLetExpCS__Group_0__2__Impl40345);
             rule__PrefixedLetExpCS__OwnedRightAssignment_0_2();
 
             state._fsp--;
@@ -56189,21 +58657,21 @@
 
 
     // $ANTLR start "rule__PrefixedPrimaryExpCS__Group_0__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18734:1: rule__PrefixedPrimaryExpCS__Group_0__0 : rule__PrefixedPrimaryExpCS__Group_0__0__Impl rule__PrefixedPrimaryExpCS__Group_0__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19752:1: rule__PrefixedPrimaryExpCS__Group_0__0 : rule__PrefixedPrimaryExpCS__Group_0__0__Impl rule__PrefixedPrimaryExpCS__Group_0__1 ;
     public final void rule__PrefixedPrimaryExpCS__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18738:1: ( rule__PrefixedPrimaryExpCS__Group_0__0__Impl rule__PrefixedPrimaryExpCS__Group_0__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18739:2: rule__PrefixedPrimaryExpCS__Group_0__0__Impl rule__PrefixedPrimaryExpCS__Group_0__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19756:1: ( rule__PrefixedPrimaryExpCS__Group_0__0__Impl rule__PrefixedPrimaryExpCS__Group_0__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19757:2: rule__PrefixedPrimaryExpCS__Group_0__0__Impl rule__PrefixedPrimaryExpCS__Group_0__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__PrefixedPrimaryExpCS__Group_0__0__Impl_in_rule__PrefixedPrimaryExpCS__Group_0__038511);
+            pushFollow(FollowSets001.FOLLOW_rule__PrefixedPrimaryExpCS__Group_0__0__Impl_in_rule__PrefixedPrimaryExpCS__Group_0__040381);
             rule__PrefixedPrimaryExpCS__Group_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__PrefixedPrimaryExpCS__Group_0__1_in_rule__PrefixedPrimaryExpCS__Group_0__038514);
+            pushFollow(FollowSets001.FOLLOW_rule__PrefixedPrimaryExpCS__Group_0__1_in_rule__PrefixedPrimaryExpCS__Group_0__040384);
             rule__PrefixedPrimaryExpCS__Group_0__1();
 
             state._fsp--;
@@ -56227,23 +58695,23 @@
 
 
     // $ANTLR start "rule__PrefixedPrimaryExpCS__Group_0__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18746:1: rule__PrefixedPrimaryExpCS__Group_0__0__Impl : ( () ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19764:1: rule__PrefixedPrimaryExpCS__Group_0__0__Impl : ( () ) ;
     public final void rule__PrefixedPrimaryExpCS__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18750:1: ( ( () ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18751:1: ( () )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19768:1: ( ( () ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19769:1: ( () )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18751:1: ( () )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18752:1: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19769:1: ( () )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19770:1: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPrefixedPrimaryExpCSAccess().getPrefixExpCSAction_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18753:1: ()
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18755:1: 
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19771:1: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19773:1: 
             {
             }
 
@@ -56268,21 +58736,21 @@
 
 
     // $ANTLR start "rule__PrefixedPrimaryExpCS__Group_0__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18765:1: rule__PrefixedPrimaryExpCS__Group_0__1 : rule__PrefixedPrimaryExpCS__Group_0__1__Impl rule__PrefixedPrimaryExpCS__Group_0__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19783:1: rule__PrefixedPrimaryExpCS__Group_0__1 : rule__PrefixedPrimaryExpCS__Group_0__1__Impl rule__PrefixedPrimaryExpCS__Group_0__2 ;
     public final void rule__PrefixedPrimaryExpCS__Group_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18769:1: ( rule__PrefixedPrimaryExpCS__Group_0__1__Impl rule__PrefixedPrimaryExpCS__Group_0__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18770:2: rule__PrefixedPrimaryExpCS__Group_0__1__Impl rule__PrefixedPrimaryExpCS__Group_0__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19787:1: ( rule__PrefixedPrimaryExpCS__Group_0__1__Impl rule__PrefixedPrimaryExpCS__Group_0__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19788:2: rule__PrefixedPrimaryExpCS__Group_0__1__Impl rule__PrefixedPrimaryExpCS__Group_0__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__PrefixedPrimaryExpCS__Group_0__1__Impl_in_rule__PrefixedPrimaryExpCS__Group_0__138572);
+            pushFollow(FollowSets001.FOLLOW_rule__PrefixedPrimaryExpCS__Group_0__1__Impl_in_rule__PrefixedPrimaryExpCS__Group_0__140442);
             rule__PrefixedPrimaryExpCS__Group_0__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__PrefixedPrimaryExpCS__Group_0__2_in_rule__PrefixedPrimaryExpCS__Group_0__138575);
+            pushFollow(FollowSets001.FOLLOW_rule__PrefixedPrimaryExpCS__Group_0__2_in_rule__PrefixedPrimaryExpCS__Group_0__140445);
             rule__PrefixedPrimaryExpCS__Group_0__2();
 
             state._fsp--;
@@ -56306,25 +58774,25 @@
 
 
     // $ANTLR start "rule__PrefixedPrimaryExpCS__Group_0__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18777:1: rule__PrefixedPrimaryExpCS__Group_0__1__Impl : ( ( rule__PrefixedPrimaryExpCS__NameAssignment_0_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19795:1: rule__PrefixedPrimaryExpCS__Group_0__1__Impl : ( ( rule__PrefixedPrimaryExpCS__NameAssignment_0_1 ) ) ;
     public final void rule__PrefixedPrimaryExpCS__Group_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18781:1: ( ( ( rule__PrefixedPrimaryExpCS__NameAssignment_0_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18782:1: ( ( rule__PrefixedPrimaryExpCS__NameAssignment_0_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19799:1: ( ( ( rule__PrefixedPrimaryExpCS__NameAssignment_0_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19800:1: ( ( rule__PrefixedPrimaryExpCS__NameAssignment_0_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18782:1: ( ( rule__PrefixedPrimaryExpCS__NameAssignment_0_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18783:1: ( rule__PrefixedPrimaryExpCS__NameAssignment_0_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19800:1: ( ( rule__PrefixedPrimaryExpCS__NameAssignment_0_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19801:1: ( rule__PrefixedPrimaryExpCS__NameAssignment_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPrefixedPrimaryExpCSAccess().getNameAssignment_0_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18784:1: ( rule__PrefixedPrimaryExpCS__NameAssignment_0_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18784:2: rule__PrefixedPrimaryExpCS__NameAssignment_0_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19802:1: ( rule__PrefixedPrimaryExpCS__NameAssignment_0_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19802:2: rule__PrefixedPrimaryExpCS__NameAssignment_0_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__PrefixedPrimaryExpCS__NameAssignment_0_1_in_rule__PrefixedPrimaryExpCS__Group_0__1__Impl38602);
+            pushFollow(FollowSets001.FOLLOW_rule__PrefixedPrimaryExpCS__NameAssignment_0_1_in_rule__PrefixedPrimaryExpCS__Group_0__1__Impl40472);
             rule__PrefixedPrimaryExpCS__NameAssignment_0_1();
 
             state._fsp--;
@@ -56357,16 +58825,16 @@
 
 
     // $ANTLR start "rule__PrefixedPrimaryExpCS__Group_0__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18794:1: rule__PrefixedPrimaryExpCS__Group_0__2 : rule__PrefixedPrimaryExpCS__Group_0__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19812:1: rule__PrefixedPrimaryExpCS__Group_0__2 : rule__PrefixedPrimaryExpCS__Group_0__2__Impl ;
     public final void rule__PrefixedPrimaryExpCS__Group_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18798:1: ( rule__PrefixedPrimaryExpCS__Group_0__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18799:2: rule__PrefixedPrimaryExpCS__Group_0__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19816:1: ( rule__PrefixedPrimaryExpCS__Group_0__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19817:2: rule__PrefixedPrimaryExpCS__Group_0__2__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__PrefixedPrimaryExpCS__Group_0__2__Impl_in_rule__PrefixedPrimaryExpCS__Group_0__238632);
+            pushFollow(FollowSets001.FOLLOW_rule__PrefixedPrimaryExpCS__Group_0__2__Impl_in_rule__PrefixedPrimaryExpCS__Group_0__240502);
             rule__PrefixedPrimaryExpCS__Group_0__2__Impl();
 
             state._fsp--;
@@ -56390,25 +58858,25 @@
 
 
     // $ANTLR start "rule__PrefixedPrimaryExpCS__Group_0__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18805:1: rule__PrefixedPrimaryExpCS__Group_0__2__Impl : ( ( rule__PrefixedPrimaryExpCS__OwnedRightAssignment_0_2 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19823:1: rule__PrefixedPrimaryExpCS__Group_0__2__Impl : ( ( rule__PrefixedPrimaryExpCS__OwnedRightAssignment_0_2 ) ) ;
     public final void rule__PrefixedPrimaryExpCS__Group_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18809:1: ( ( ( rule__PrefixedPrimaryExpCS__OwnedRightAssignment_0_2 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18810:1: ( ( rule__PrefixedPrimaryExpCS__OwnedRightAssignment_0_2 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19827:1: ( ( ( rule__PrefixedPrimaryExpCS__OwnedRightAssignment_0_2 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19828:1: ( ( rule__PrefixedPrimaryExpCS__OwnedRightAssignment_0_2 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18810:1: ( ( rule__PrefixedPrimaryExpCS__OwnedRightAssignment_0_2 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18811:1: ( rule__PrefixedPrimaryExpCS__OwnedRightAssignment_0_2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19828:1: ( ( rule__PrefixedPrimaryExpCS__OwnedRightAssignment_0_2 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19829:1: ( rule__PrefixedPrimaryExpCS__OwnedRightAssignment_0_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPrefixedPrimaryExpCSAccess().getOwnedRightAssignment_0_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18812:1: ( rule__PrefixedPrimaryExpCS__OwnedRightAssignment_0_2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18812:2: rule__PrefixedPrimaryExpCS__OwnedRightAssignment_0_2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19830:1: ( rule__PrefixedPrimaryExpCS__OwnedRightAssignment_0_2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19830:2: rule__PrefixedPrimaryExpCS__OwnedRightAssignment_0_2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__PrefixedPrimaryExpCS__OwnedRightAssignment_0_2_in_rule__PrefixedPrimaryExpCS__Group_0__2__Impl38659);
+            pushFollow(FollowSets001.FOLLOW_rule__PrefixedPrimaryExpCS__OwnedRightAssignment_0_2_in_rule__PrefixedPrimaryExpCS__Group_0__2__Impl40529);
             rule__PrefixedPrimaryExpCS__OwnedRightAssignment_0_2();
 
             state._fsp--;
@@ -56441,21 +58909,21 @@
 
 
     // $ANTLR start "rule__NameExpCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18828:1: rule__NameExpCS__Group__0 : rule__NameExpCS__Group__0__Impl rule__NameExpCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19846:1: rule__NameExpCS__Group__0 : rule__NameExpCS__Group__0__Impl rule__NameExpCS__Group__1 ;
     public final void rule__NameExpCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18832:1: ( rule__NameExpCS__Group__0__Impl rule__NameExpCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18833:2: rule__NameExpCS__Group__0__Impl rule__NameExpCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19850:1: ( rule__NameExpCS__Group__0__Impl rule__NameExpCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19851:2: rule__NameExpCS__Group__0__Impl rule__NameExpCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NameExpCS__Group__0__Impl_in_rule__NameExpCS__Group__038695);
+            pushFollow(FollowSets001.FOLLOW_rule__NameExpCS__Group__0__Impl_in_rule__NameExpCS__Group__040565);
             rule__NameExpCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__NameExpCS__Group__1_in_rule__NameExpCS__Group__038698);
+            pushFollow(FollowSets001.FOLLOW_rule__NameExpCS__Group__1_in_rule__NameExpCS__Group__040568);
             rule__NameExpCS__Group__1();
 
             state._fsp--;
@@ -56479,25 +58947,25 @@
 
 
     // $ANTLR start "rule__NameExpCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18840:1: rule__NameExpCS__Group__0__Impl : ( ( rule__NameExpCS__OwnedPathNameAssignment_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19858:1: rule__NameExpCS__Group__0__Impl : ( ( rule__NameExpCS__OwnedPathNameAssignment_0 ) ) ;
     public final void rule__NameExpCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18844:1: ( ( ( rule__NameExpCS__OwnedPathNameAssignment_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18845:1: ( ( rule__NameExpCS__OwnedPathNameAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19862:1: ( ( ( rule__NameExpCS__OwnedPathNameAssignment_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19863:1: ( ( rule__NameExpCS__OwnedPathNameAssignment_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18845:1: ( ( rule__NameExpCS__OwnedPathNameAssignment_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18846:1: ( rule__NameExpCS__OwnedPathNameAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19863:1: ( ( rule__NameExpCS__OwnedPathNameAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19864:1: ( rule__NameExpCS__OwnedPathNameAssignment_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNameExpCSAccess().getOwnedPathNameAssignment_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18847:1: ( rule__NameExpCS__OwnedPathNameAssignment_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18847:2: rule__NameExpCS__OwnedPathNameAssignment_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19865:1: ( rule__NameExpCS__OwnedPathNameAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19865:2: rule__NameExpCS__OwnedPathNameAssignment_0
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NameExpCS__OwnedPathNameAssignment_0_in_rule__NameExpCS__Group__0__Impl38725);
+            pushFollow(FollowSets001.FOLLOW_rule__NameExpCS__OwnedPathNameAssignment_0_in_rule__NameExpCS__Group__0__Impl40595);
             rule__NameExpCS__OwnedPathNameAssignment_0();
 
             state._fsp--;
@@ -56530,21 +58998,21 @@
 
 
     // $ANTLR start "rule__NameExpCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18857:1: rule__NameExpCS__Group__1 : rule__NameExpCS__Group__1__Impl rule__NameExpCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19875:1: rule__NameExpCS__Group__1 : rule__NameExpCS__Group__1__Impl rule__NameExpCS__Group__2 ;
     public final void rule__NameExpCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18861:1: ( rule__NameExpCS__Group__1__Impl rule__NameExpCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18862:2: rule__NameExpCS__Group__1__Impl rule__NameExpCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19879:1: ( rule__NameExpCS__Group__1__Impl rule__NameExpCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19880:2: rule__NameExpCS__Group__1__Impl rule__NameExpCS__Group__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NameExpCS__Group__1__Impl_in_rule__NameExpCS__Group__138755);
+            pushFollow(FollowSets001.FOLLOW_rule__NameExpCS__Group__1__Impl_in_rule__NameExpCS__Group__140625);
             rule__NameExpCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__NameExpCS__Group__2_in_rule__NameExpCS__Group__138758);
+            pushFollow(FollowSets001.FOLLOW_rule__NameExpCS__Group__2_in_rule__NameExpCS__Group__140628);
             rule__NameExpCS__Group__2();
 
             state._fsp--;
@@ -56568,37 +59036,37 @@
 
 
     // $ANTLR start "rule__NameExpCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18869:1: rule__NameExpCS__Group__1__Impl : ( ( rule__NameExpCS__OwnedSquareBracketedClausesAssignment_1 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19887:1: rule__NameExpCS__Group__1__Impl : ( ( rule__NameExpCS__OwnedSquareBracketedClausesAssignment_1 )* ) ;
     public final void rule__NameExpCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18873:1: ( ( ( rule__NameExpCS__OwnedSquareBracketedClausesAssignment_1 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18874:1: ( ( rule__NameExpCS__OwnedSquareBracketedClausesAssignment_1 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19891:1: ( ( ( rule__NameExpCS__OwnedSquareBracketedClausesAssignment_1 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19892:1: ( ( rule__NameExpCS__OwnedSquareBracketedClausesAssignment_1 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18874:1: ( ( rule__NameExpCS__OwnedSquareBracketedClausesAssignment_1 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18875:1: ( rule__NameExpCS__OwnedSquareBracketedClausesAssignment_1 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19892:1: ( ( rule__NameExpCS__OwnedSquareBracketedClausesAssignment_1 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19893:1: ( rule__NameExpCS__OwnedSquareBracketedClausesAssignment_1 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNameExpCSAccess().getOwnedSquareBracketedClausesAssignment_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18876:1: ( rule__NameExpCS__OwnedSquareBracketedClausesAssignment_1 )*
-            loop198:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19894:1: ( rule__NameExpCS__OwnedSquareBracketedClausesAssignment_1 )*
+            loop226:
             do {
-                int alt198=2;
-                int LA198_0 = input.LA(1);
+                int alt226=2;
+                int LA226_0 = input.LA(1);
 
-                if ( (LA198_0==109) ) {
-                    alt198=1;
+                if ( (LA226_0==118) ) {
+                    alt226=1;
                 }
 
 
-                switch (alt198) {
+                switch (alt226) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18876:2: rule__NameExpCS__OwnedSquareBracketedClausesAssignment_1
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19894:2: rule__NameExpCS__OwnedSquareBracketedClausesAssignment_1
             	    {
-            	    pushFollow(FollowSets001.FOLLOW_rule__NameExpCS__OwnedSquareBracketedClausesAssignment_1_in_rule__NameExpCS__Group__1__Impl38785);
+            	    pushFollow(FollowSets001.FOLLOW_rule__NameExpCS__OwnedSquareBracketedClausesAssignment_1_in_rule__NameExpCS__Group__1__Impl40655);
             	    rule__NameExpCS__OwnedSquareBracketedClausesAssignment_1();
 
             	    state._fsp--;
@@ -56608,7 +59076,7 @@
             	    break;
 
             	default :
-            	    break loop198;
+            	    break loop226;
                 }
             } while (true);
 
@@ -56637,21 +59105,21 @@
 
 
     // $ANTLR start "rule__NameExpCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18886:1: rule__NameExpCS__Group__2 : rule__NameExpCS__Group__2__Impl rule__NameExpCS__Group__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19904:1: rule__NameExpCS__Group__2 : rule__NameExpCS__Group__2__Impl rule__NameExpCS__Group__3 ;
     public final void rule__NameExpCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18890:1: ( rule__NameExpCS__Group__2__Impl rule__NameExpCS__Group__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18891:2: rule__NameExpCS__Group__2__Impl rule__NameExpCS__Group__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19908:1: ( rule__NameExpCS__Group__2__Impl rule__NameExpCS__Group__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19909:2: rule__NameExpCS__Group__2__Impl rule__NameExpCS__Group__3
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NameExpCS__Group__2__Impl_in_rule__NameExpCS__Group__238816);
+            pushFollow(FollowSets001.FOLLOW_rule__NameExpCS__Group__2__Impl_in_rule__NameExpCS__Group__240686);
             rule__NameExpCS__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__NameExpCS__Group__3_in_rule__NameExpCS__Group__238819);
+            pushFollow(FollowSets001.FOLLOW_rule__NameExpCS__Group__3_in_rule__NameExpCS__Group__240689);
             rule__NameExpCS__Group__3();
 
             state._fsp--;
@@ -56675,33 +59143,33 @@
 
 
     // $ANTLR start "rule__NameExpCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18898:1: rule__NameExpCS__Group__2__Impl : ( ( rule__NameExpCS__OwnedRoundBracketedClauseAssignment_2 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19916:1: rule__NameExpCS__Group__2__Impl : ( ( rule__NameExpCS__OwnedRoundBracketedClauseAssignment_2 )? ) ;
     public final void rule__NameExpCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18902:1: ( ( ( rule__NameExpCS__OwnedRoundBracketedClauseAssignment_2 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18903:1: ( ( rule__NameExpCS__OwnedRoundBracketedClauseAssignment_2 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19920:1: ( ( ( rule__NameExpCS__OwnedRoundBracketedClauseAssignment_2 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19921:1: ( ( rule__NameExpCS__OwnedRoundBracketedClauseAssignment_2 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18903:1: ( ( rule__NameExpCS__OwnedRoundBracketedClauseAssignment_2 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18904:1: ( rule__NameExpCS__OwnedRoundBracketedClauseAssignment_2 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19921:1: ( ( rule__NameExpCS__OwnedRoundBracketedClauseAssignment_2 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19922:1: ( rule__NameExpCS__OwnedRoundBracketedClauseAssignment_2 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNameExpCSAccess().getOwnedRoundBracketedClauseAssignment_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18905:1: ( rule__NameExpCS__OwnedRoundBracketedClauseAssignment_2 )?
-            int alt199=2;
-            int LA199_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19923:1: ( rule__NameExpCS__OwnedRoundBracketedClauseAssignment_2 )?
+            int alt227=2;
+            int LA227_0 = input.LA(1);
 
-            if ( (LA199_0==95) ) {
-                alt199=1;
+            if ( (LA227_0==104) ) {
+                alt227=1;
             }
-            switch (alt199) {
+            switch (alt227) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18905:2: rule__NameExpCS__OwnedRoundBracketedClauseAssignment_2
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19923:2: rule__NameExpCS__OwnedRoundBracketedClauseAssignment_2
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__NameExpCS__OwnedRoundBracketedClauseAssignment_2_in_rule__NameExpCS__Group__2__Impl38846);
+                    pushFollow(FollowSets001.FOLLOW_rule__NameExpCS__OwnedRoundBracketedClauseAssignment_2_in_rule__NameExpCS__Group__2__Impl40716);
                     rule__NameExpCS__OwnedRoundBracketedClauseAssignment_2();
 
                     state._fsp--;
@@ -56737,21 +59205,21 @@
 
 
     // $ANTLR start "rule__NameExpCS__Group__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18915:1: rule__NameExpCS__Group__3 : rule__NameExpCS__Group__3__Impl rule__NameExpCS__Group__4 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19933:1: rule__NameExpCS__Group__3 : rule__NameExpCS__Group__3__Impl rule__NameExpCS__Group__4 ;
     public final void rule__NameExpCS__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18919:1: ( rule__NameExpCS__Group__3__Impl rule__NameExpCS__Group__4 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18920:2: rule__NameExpCS__Group__3__Impl rule__NameExpCS__Group__4
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19937:1: ( rule__NameExpCS__Group__3__Impl rule__NameExpCS__Group__4 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19938:2: rule__NameExpCS__Group__3__Impl rule__NameExpCS__Group__4
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NameExpCS__Group__3__Impl_in_rule__NameExpCS__Group__338877);
+            pushFollow(FollowSets001.FOLLOW_rule__NameExpCS__Group__3__Impl_in_rule__NameExpCS__Group__340747);
             rule__NameExpCS__Group__3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__NameExpCS__Group__4_in_rule__NameExpCS__Group__338880);
+            pushFollow(FollowSets001.FOLLOW_rule__NameExpCS__Group__4_in_rule__NameExpCS__Group__340750);
             rule__NameExpCS__Group__4();
 
             state._fsp--;
@@ -56775,33 +59243,33 @@
 
 
     // $ANTLR start "rule__NameExpCS__Group__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18927:1: rule__NameExpCS__Group__3__Impl : ( ( rule__NameExpCS__OwnedCurlyBracketedClauseAssignment_3 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19945:1: rule__NameExpCS__Group__3__Impl : ( ( rule__NameExpCS__OwnedCurlyBracketedClauseAssignment_3 )? ) ;
     public final void rule__NameExpCS__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18931:1: ( ( ( rule__NameExpCS__OwnedCurlyBracketedClauseAssignment_3 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18932:1: ( ( rule__NameExpCS__OwnedCurlyBracketedClauseAssignment_3 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19949:1: ( ( ( rule__NameExpCS__OwnedCurlyBracketedClauseAssignment_3 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19950:1: ( ( rule__NameExpCS__OwnedCurlyBracketedClauseAssignment_3 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18932:1: ( ( rule__NameExpCS__OwnedCurlyBracketedClauseAssignment_3 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18933:1: ( rule__NameExpCS__OwnedCurlyBracketedClauseAssignment_3 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19950:1: ( ( rule__NameExpCS__OwnedCurlyBracketedClauseAssignment_3 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19951:1: ( rule__NameExpCS__OwnedCurlyBracketedClauseAssignment_3 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNameExpCSAccess().getOwnedCurlyBracketedClauseAssignment_3()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18934:1: ( rule__NameExpCS__OwnedCurlyBracketedClauseAssignment_3 )?
-            int alt200=2;
-            int LA200_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19952:1: ( rule__NameExpCS__OwnedCurlyBracketedClauseAssignment_3 )?
+            int alt228=2;
+            int LA228_0 = input.LA(1);
 
-            if ( (LA200_0==99) ) {
-                alt200=1;
+            if ( (LA228_0==108) ) {
+                alt228=1;
             }
-            switch (alt200) {
+            switch (alt228) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18934:2: rule__NameExpCS__OwnedCurlyBracketedClauseAssignment_3
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19952:2: rule__NameExpCS__OwnedCurlyBracketedClauseAssignment_3
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__NameExpCS__OwnedCurlyBracketedClauseAssignment_3_in_rule__NameExpCS__Group__3__Impl38907);
+                    pushFollow(FollowSets001.FOLLOW_rule__NameExpCS__OwnedCurlyBracketedClauseAssignment_3_in_rule__NameExpCS__Group__3__Impl40777);
                     rule__NameExpCS__OwnedCurlyBracketedClauseAssignment_3();
 
                     state._fsp--;
@@ -56837,16 +59305,16 @@
 
 
     // $ANTLR start "rule__NameExpCS__Group__4"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18944:1: rule__NameExpCS__Group__4 : rule__NameExpCS__Group__4__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19962:1: rule__NameExpCS__Group__4 : rule__NameExpCS__Group__4__Impl ;
     public final void rule__NameExpCS__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18948:1: ( rule__NameExpCS__Group__4__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18949:2: rule__NameExpCS__Group__4__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19966:1: ( rule__NameExpCS__Group__4__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19967:2: rule__NameExpCS__Group__4__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NameExpCS__Group__4__Impl_in_rule__NameExpCS__Group__438938);
+            pushFollow(FollowSets001.FOLLOW_rule__NameExpCS__Group__4__Impl_in_rule__NameExpCS__Group__440808);
             rule__NameExpCS__Group__4__Impl();
 
             state._fsp--;
@@ -56870,33 +59338,33 @@
 
 
     // $ANTLR start "rule__NameExpCS__Group__4__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18955:1: rule__NameExpCS__Group__4__Impl : ( ( rule__NameExpCS__Group_4__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19973:1: rule__NameExpCS__Group__4__Impl : ( ( rule__NameExpCS__Group_4__0 )? ) ;
     public final void rule__NameExpCS__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18959:1: ( ( ( rule__NameExpCS__Group_4__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18960:1: ( ( rule__NameExpCS__Group_4__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19977:1: ( ( ( rule__NameExpCS__Group_4__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19978:1: ( ( rule__NameExpCS__Group_4__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18960:1: ( ( rule__NameExpCS__Group_4__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18961:1: ( rule__NameExpCS__Group_4__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19978:1: ( ( rule__NameExpCS__Group_4__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19979:1: ( rule__NameExpCS__Group_4__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNameExpCSAccess().getGroup_4()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18962:1: ( rule__NameExpCS__Group_4__0 )?
-            int alt201=2;
-            int LA201_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19980:1: ( rule__NameExpCS__Group_4__0 )?
+            int alt229=2;
+            int LA229_0 = input.LA(1);
 
-            if ( (LA201_0==133) ) {
-                alt201=1;
+            if ( (LA229_0==133) ) {
+                alt229=1;
             }
-            switch (alt201) {
+            switch (alt229) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18962:2: rule__NameExpCS__Group_4__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19980:2: rule__NameExpCS__Group_4__0
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__NameExpCS__Group_4__0_in_rule__NameExpCS__Group__4__Impl38965);
+                    pushFollow(FollowSets001.FOLLOW_rule__NameExpCS__Group_4__0_in_rule__NameExpCS__Group__4__Impl40835);
                     rule__NameExpCS__Group_4__0();
 
                     state._fsp--;
@@ -56932,21 +59400,21 @@
 
 
     // $ANTLR start "rule__NameExpCS__Group_4__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18982:1: rule__NameExpCS__Group_4__0 : rule__NameExpCS__Group_4__0__Impl rule__NameExpCS__Group_4__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20000:1: rule__NameExpCS__Group_4__0 : rule__NameExpCS__Group_4__0__Impl rule__NameExpCS__Group_4__1 ;
     public final void rule__NameExpCS__Group_4__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18986:1: ( rule__NameExpCS__Group_4__0__Impl rule__NameExpCS__Group_4__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18987:2: rule__NameExpCS__Group_4__0__Impl rule__NameExpCS__Group_4__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20004:1: ( rule__NameExpCS__Group_4__0__Impl rule__NameExpCS__Group_4__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20005:2: rule__NameExpCS__Group_4__0__Impl rule__NameExpCS__Group_4__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NameExpCS__Group_4__0__Impl_in_rule__NameExpCS__Group_4__039006);
+            pushFollow(FollowSets001.FOLLOW_rule__NameExpCS__Group_4__0__Impl_in_rule__NameExpCS__Group_4__040876);
             rule__NameExpCS__Group_4__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__NameExpCS__Group_4__1_in_rule__NameExpCS__Group_4__039009);
+            pushFollow(FollowSets001.FOLLOW_rule__NameExpCS__Group_4__1_in_rule__NameExpCS__Group_4__040879);
             rule__NameExpCS__Group_4__1();
 
             state._fsp--;
@@ -56970,25 +59438,25 @@
 
 
     // $ANTLR start "rule__NameExpCS__Group_4__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18994:1: rule__NameExpCS__Group_4__0__Impl : ( ( rule__NameExpCS__IsPreAssignment_4_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20012:1: rule__NameExpCS__Group_4__0__Impl : ( ( rule__NameExpCS__IsPreAssignment_4_0 ) ) ;
     public final void rule__NameExpCS__Group_4__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18998:1: ( ( ( rule__NameExpCS__IsPreAssignment_4_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18999:1: ( ( rule__NameExpCS__IsPreAssignment_4_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20016:1: ( ( ( rule__NameExpCS__IsPreAssignment_4_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20017:1: ( ( rule__NameExpCS__IsPreAssignment_4_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:18999:1: ( ( rule__NameExpCS__IsPreAssignment_4_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19000:1: ( rule__NameExpCS__IsPreAssignment_4_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20017:1: ( ( rule__NameExpCS__IsPreAssignment_4_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20018:1: ( rule__NameExpCS__IsPreAssignment_4_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNameExpCSAccess().getIsPreAssignment_4_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19001:1: ( rule__NameExpCS__IsPreAssignment_4_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19001:2: rule__NameExpCS__IsPreAssignment_4_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20019:1: ( rule__NameExpCS__IsPreAssignment_4_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20019:2: rule__NameExpCS__IsPreAssignment_4_0
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NameExpCS__IsPreAssignment_4_0_in_rule__NameExpCS__Group_4__0__Impl39036);
+            pushFollow(FollowSets001.FOLLOW_rule__NameExpCS__IsPreAssignment_4_0_in_rule__NameExpCS__Group_4__0__Impl40906);
             rule__NameExpCS__IsPreAssignment_4_0();
 
             state._fsp--;
@@ -57021,16 +59489,16 @@
 
 
     // $ANTLR start "rule__NameExpCS__Group_4__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19011:1: rule__NameExpCS__Group_4__1 : rule__NameExpCS__Group_4__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20029:1: rule__NameExpCS__Group_4__1 : rule__NameExpCS__Group_4__1__Impl ;
     public final void rule__NameExpCS__Group_4__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19015:1: ( rule__NameExpCS__Group_4__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19016:2: rule__NameExpCS__Group_4__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20033:1: ( rule__NameExpCS__Group_4__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20034:2: rule__NameExpCS__Group_4__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NameExpCS__Group_4__1__Impl_in_rule__NameExpCS__Group_4__139066);
+            pushFollow(FollowSets001.FOLLOW_rule__NameExpCS__Group_4__1__Impl_in_rule__NameExpCS__Group_4__140936);
             rule__NameExpCS__Group_4__1__Impl();
 
             state._fsp--;
@@ -57054,22 +59522,22 @@
 
 
     // $ANTLR start "rule__NameExpCS__Group_4__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19022:1: rule__NameExpCS__Group_4__1__Impl : ( 'pre' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20040:1: rule__NameExpCS__Group_4__1__Impl : ( 'pre' ) ;
     public final void rule__NameExpCS__Group_4__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19026:1: ( ( 'pre' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19027:1: ( 'pre' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20044:1: ( ( 'pre' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20045:1: ( 'pre' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19027:1: ( 'pre' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19028:1: 'pre'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20045:1: ( 'pre' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20046:1: 'pre'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNameExpCSAccess().getPreKeyword_4_1()); 
             }
-            match(input,108,FollowSets001.FOLLOW_108_in_rule__NameExpCS__Group_4__1__Impl39094); if (state.failed) return ;
+            match(input,117,FollowSets001.FOLLOW_117_in_rule__NameExpCS__Group_4__1__Impl40964); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getNameExpCSAccess().getPreKeyword_4_1()); 
             }
@@ -57095,21 +59563,21 @@
 
 
     // $ANTLR start "rule__CurlyBracketedClauseCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19045:1: rule__CurlyBracketedClauseCS__Group__0 : rule__CurlyBracketedClauseCS__Group__0__Impl rule__CurlyBracketedClauseCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20063:1: rule__CurlyBracketedClauseCS__Group__0 : rule__CurlyBracketedClauseCS__Group__0__Impl rule__CurlyBracketedClauseCS__Group__1 ;
     public final void rule__CurlyBracketedClauseCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19049:1: ( rule__CurlyBracketedClauseCS__Group__0__Impl rule__CurlyBracketedClauseCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19050:2: rule__CurlyBracketedClauseCS__Group__0__Impl rule__CurlyBracketedClauseCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20067:1: ( rule__CurlyBracketedClauseCS__Group__0__Impl rule__CurlyBracketedClauseCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20068:2: rule__CurlyBracketedClauseCS__Group__0__Impl rule__CurlyBracketedClauseCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CurlyBracketedClauseCS__Group__0__Impl_in_rule__CurlyBracketedClauseCS__Group__039129);
+            pushFollow(FollowSets001.FOLLOW_rule__CurlyBracketedClauseCS__Group__0__Impl_in_rule__CurlyBracketedClauseCS__Group__040999);
             rule__CurlyBracketedClauseCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__CurlyBracketedClauseCS__Group__1_in_rule__CurlyBracketedClauseCS__Group__039132);
+            pushFollow(FollowSets001.FOLLOW_rule__CurlyBracketedClauseCS__Group__1_in_rule__CurlyBracketedClauseCS__Group__041002);
             rule__CurlyBracketedClauseCS__Group__1();
 
             state._fsp--;
@@ -57133,23 +59601,23 @@
 
 
     // $ANTLR start "rule__CurlyBracketedClauseCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19057:1: rule__CurlyBracketedClauseCS__Group__0__Impl : ( () ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20075:1: rule__CurlyBracketedClauseCS__Group__0__Impl : ( () ) ;
     public final void rule__CurlyBracketedClauseCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19061:1: ( ( () ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19062:1: ( () )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20079:1: ( ( () ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20080:1: ( () )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19062:1: ( () )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19063:1: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20080:1: ( () )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20081:1: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCurlyBracketedClauseCSAccess().getCurlyBracketedClauseCSAction_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19064:1: ()
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19066:1: 
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20082:1: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20084:1: 
             {
             }
 
@@ -57174,21 +59642,21 @@
 
 
     // $ANTLR start "rule__CurlyBracketedClauseCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19076:1: rule__CurlyBracketedClauseCS__Group__1 : rule__CurlyBracketedClauseCS__Group__1__Impl rule__CurlyBracketedClauseCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20094:1: rule__CurlyBracketedClauseCS__Group__1 : rule__CurlyBracketedClauseCS__Group__1__Impl rule__CurlyBracketedClauseCS__Group__2 ;
     public final void rule__CurlyBracketedClauseCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19080:1: ( rule__CurlyBracketedClauseCS__Group__1__Impl rule__CurlyBracketedClauseCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19081:2: rule__CurlyBracketedClauseCS__Group__1__Impl rule__CurlyBracketedClauseCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20098:1: ( rule__CurlyBracketedClauseCS__Group__1__Impl rule__CurlyBracketedClauseCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20099:2: rule__CurlyBracketedClauseCS__Group__1__Impl rule__CurlyBracketedClauseCS__Group__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CurlyBracketedClauseCS__Group__1__Impl_in_rule__CurlyBracketedClauseCS__Group__139190);
+            pushFollow(FollowSets001.FOLLOW_rule__CurlyBracketedClauseCS__Group__1__Impl_in_rule__CurlyBracketedClauseCS__Group__141060);
             rule__CurlyBracketedClauseCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__CurlyBracketedClauseCS__Group__2_in_rule__CurlyBracketedClauseCS__Group__139193);
+            pushFollow(FollowSets001.FOLLOW_rule__CurlyBracketedClauseCS__Group__2_in_rule__CurlyBracketedClauseCS__Group__141063);
             rule__CurlyBracketedClauseCS__Group__2();
 
             state._fsp--;
@@ -57212,22 +59680,22 @@
 
 
     // $ANTLR start "rule__CurlyBracketedClauseCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19088:1: rule__CurlyBracketedClauseCS__Group__1__Impl : ( '{' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20106:1: rule__CurlyBracketedClauseCS__Group__1__Impl : ( '{' ) ;
     public final void rule__CurlyBracketedClauseCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19092:1: ( ( '{' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19093:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20110:1: ( ( '{' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20111:1: ( '{' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19093:1: ( '{' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19094:1: '{'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20111:1: ( '{' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20112:1: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCurlyBracketedClauseCSAccess().getLeftCurlyBracketKeyword_1()); 
             }
-            match(input,99,FollowSets001.FOLLOW_99_in_rule__CurlyBracketedClauseCS__Group__1__Impl39221); if (state.failed) return ;
+            match(input,108,FollowSets001.FOLLOW_108_in_rule__CurlyBracketedClauseCS__Group__1__Impl41091); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getCurlyBracketedClauseCSAccess().getLeftCurlyBracketKeyword_1()); 
             }
@@ -57253,21 +59721,21 @@
 
 
     // $ANTLR start "rule__CurlyBracketedClauseCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19107:1: rule__CurlyBracketedClauseCS__Group__2 : rule__CurlyBracketedClauseCS__Group__2__Impl rule__CurlyBracketedClauseCS__Group__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20125:1: rule__CurlyBracketedClauseCS__Group__2 : rule__CurlyBracketedClauseCS__Group__2__Impl rule__CurlyBracketedClauseCS__Group__3 ;
     public final void rule__CurlyBracketedClauseCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19111:1: ( rule__CurlyBracketedClauseCS__Group__2__Impl rule__CurlyBracketedClauseCS__Group__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19112:2: rule__CurlyBracketedClauseCS__Group__2__Impl rule__CurlyBracketedClauseCS__Group__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20129:1: ( rule__CurlyBracketedClauseCS__Group__2__Impl rule__CurlyBracketedClauseCS__Group__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20130:2: rule__CurlyBracketedClauseCS__Group__2__Impl rule__CurlyBracketedClauseCS__Group__3
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CurlyBracketedClauseCS__Group__2__Impl_in_rule__CurlyBracketedClauseCS__Group__239252);
+            pushFollow(FollowSets001.FOLLOW_rule__CurlyBracketedClauseCS__Group__2__Impl_in_rule__CurlyBracketedClauseCS__Group__241122);
             rule__CurlyBracketedClauseCS__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__CurlyBracketedClauseCS__Group__3_in_rule__CurlyBracketedClauseCS__Group__239255);
+            pushFollow(FollowSets001.FOLLOW_rule__CurlyBracketedClauseCS__Group__3_in_rule__CurlyBracketedClauseCS__Group__241125);
             rule__CurlyBracketedClauseCS__Group__3();
 
             state._fsp--;
@@ -57291,25 +59759,25 @@
 
 
     // $ANTLR start "rule__CurlyBracketedClauseCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19119:1: rule__CurlyBracketedClauseCS__Group__2__Impl : ( ( rule__CurlyBracketedClauseCS__Alternatives_2 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20137:1: rule__CurlyBracketedClauseCS__Group__2__Impl : ( ( rule__CurlyBracketedClauseCS__Alternatives_2 ) ) ;
     public final void rule__CurlyBracketedClauseCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19123:1: ( ( ( rule__CurlyBracketedClauseCS__Alternatives_2 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19124:1: ( ( rule__CurlyBracketedClauseCS__Alternatives_2 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20141:1: ( ( ( rule__CurlyBracketedClauseCS__Alternatives_2 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20142:1: ( ( rule__CurlyBracketedClauseCS__Alternatives_2 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19124:1: ( ( rule__CurlyBracketedClauseCS__Alternatives_2 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19125:1: ( rule__CurlyBracketedClauseCS__Alternatives_2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20142:1: ( ( rule__CurlyBracketedClauseCS__Alternatives_2 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20143:1: ( rule__CurlyBracketedClauseCS__Alternatives_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCurlyBracketedClauseCSAccess().getAlternatives_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19126:1: ( rule__CurlyBracketedClauseCS__Alternatives_2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19126:2: rule__CurlyBracketedClauseCS__Alternatives_2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20144:1: ( rule__CurlyBracketedClauseCS__Alternatives_2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20144:2: rule__CurlyBracketedClauseCS__Alternatives_2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CurlyBracketedClauseCS__Alternatives_2_in_rule__CurlyBracketedClauseCS__Group__2__Impl39282);
+            pushFollow(FollowSets001.FOLLOW_rule__CurlyBracketedClauseCS__Alternatives_2_in_rule__CurlyBracketedClauseCS__Group__2__Impl41152);
             rule__CurlyBracketedClauseCS__Alternatives_2();
 
             state._fsp--;
@@ -57342,16 +59810,16 @@
 
 
     // $ANTLR start "rule__CurlyBracketedClauseCS__Group__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19136:1: rule__CurlyBracketedClauseCS__Group__3 : rule__CurlyBracketedClauseCS__Group__3__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20154:1: rule__CurlyBracketedClauseCS__Group__3 : rule__CurlyBracketedClauseCS__Group__3__Impl ;
     public final void rule__CurlyBracketedClauseCS__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19140:1: ( rule__CurlyBracketedClauseCS__Group__3__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19141:2: rule__CurlyBracketedClauseCS__Group__3__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20158:1: ( rule__CurlyBracketedClauseCS__Group__3__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20159:2: rule__CurlyBracketedClauseCS__Group__3__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CurlyBracketedClauseCS__Group__3__Impl_in_rule__CurlyBracketedClauseCS__Group__339312);
+            pushFollow(FollowSets001.FOLLOW_rule__CurlyBracketedClauseCS__Group__3__Impl_in_rule__CurlyBracketedClauseCS__Group__341182);
             rule__CurlyBracketedClauseCS__Group__3__Impl();
 
             state._fsp--;
@@ -57375,22 +59843,22 @@
 
 
     // $ANTLR start "rule__CurlyBracketedClauseCS__Group__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19147:1: rule__CurlyBracketedClauseCS__Group__3__Impl : ( '}' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20165:1: rule__CurlyBracketedClauseCS__Group__3__Impl : ( '}' ) ;
     public final void rule__CurlyBracketedClauseCS__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19151:1: ( ( '}' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19152:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20169:1: ( ( '}' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20170:1: ( '}' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19152:1: ( '}' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19153:1: '}'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20170:1: ( '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20171:1: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCurlyBracketedClauseCSAccess().getRightCurlyBracketKeyword_3()); 
             }
-            match(input,100,FollowSets001.FOLLOW_100_in_rule__CurlyBracketedClauseCS__Group__3__Impl39340); if (state.failed) return ;
+            match(input,109,FollowSets001.FOLLOW_109_in_rule__CurlyBracketedClauseCS__Group__3__Impl41210); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getCurlyBracketedClauseCSAccess().getRightCurlyBracketKeyword_3()); 
             }
@@ -57416,21 +59884,21 @@
 
 
     // $ANTLR start "rule__CurlyBracketedClauseCS__Group_2_0__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19174:1: rule__CurlyBracketedClauseCS__Group_2_0__0 : rule__CurlyBracketedClauseCS__Group_2_0__0__Impl rule__CurlyBracketedClauseCS__Group_2_0__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20192:1: rule__CurlyBracketedClauseCS__Group_2_0__0 : rule__CurlyBracketedClauseCS__Group_2_0__0__Impl rule__CurlyBracketedClauseCS__Group_2_0__1 ;
     public final void rule__CurlyBracketedClauseCS__Group_2_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19178:1: ( rule__CurlyBracketedClauseCS__Group_2_0__0__Impl rule__CurlyBracketedClauseCS__Group_2_0__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19179:2: rule__CurlyBracketedClauseCS__Group_2_0__0__Impl rule__CurlyBracketedClauseCS__Group_2_0__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20196:1: ( rule__CurlyBracketedClauseCS__Group_2_0__0__Impl rule__CurlyBracketedClauseCS__Group_2_0__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20197:2: rule__CurlyBracketedClauseCS__Group_2_0__0__Impl rule__CurlyBracketedClauseCS__Group_2_0__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CurlyBracketedClauseCS__Group_2_0__0__Impl_in_rule__CurlyBracketedClauseCS__Group_2_0__039379);
+            pushFollow(FollowSets001.FOLLOW_rule__CurlyBracketedClauseCS__Group_2_0__0__Impl_in_rule__CurlyBracketedClauseCS__Group_2_0__041249);
             rule__CurlyBracketedClauseCS__Group_2_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__CurlyBracketedClauseCS__Group_2_0__1_in_rule__CurlyBracketedClauseCS__Group_2_0__039382);
+            pushFollow(FollowSets001.FOLLOW_rule__CurlyBracketedClauseCS__Group_2_0__1_in_rule__CurlyBracketedClauseCS__Group_2_0__041252);
             rule__CurlyBracketedClauseCS__Group_2_0__1();
 
             state._fsp--;
@@ -57454,25 +59922,25 @@
 
 
     // $ANTLR start "rule__CurlyBracketedClauseCS__Group_2_0__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19186:1: rule__CurlyBracketedClauseCS__Group_2_0__0__Impl : ( ( rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20204:1: rule__CurlyBracketedClauseCS__Group_2_0__0__Impl : ( ( rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_0 ) ) ;
     public final void rule__CurlyBracketedClauseCS__Group_2_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19190:1: ( ( ( rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19191:1: ( ( rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20208:1: ( ( ( rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20209:1: ( ( rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19191:1: ( ( rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19192:1: ( rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20209:1: ( ( rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20210:1: ( rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCurlyBracketedClauseCSAccess().getOwnedPartsAssignment_2_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19193:1: ( rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19193:2: rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20211:1: ( rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20211:2: rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_0
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_0_in_rule__CurlyBracketedClauseCS__Group_2_0__0__Impl39409);
+            pushFollow(FollowSets001.FOLLOW_rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_0_in_rule__CurlyBracketedClauseCS__Group_2_0__0__Impl41279);
             rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_0();
 
             state._fsp--;
@@ -57505,16 +59973,16 @@
 
 
     // $ANTLR start "rule__CurlyBracketedClauseCS__Group_2_0__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19203:1: rule__CurlyBracketedClauseCS__Group_2_0__1 : rule__CurlyBracketedClauseCS__Group_2_0__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20221:1: rule__CurlyBracketedClauseCS__Group_2_0__1 : rule__CurlyBracketedClauseCS__Group_2_0__1__Impl ;
     public final void rule__CurlyBracketedClauseCS__Group_2_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19207:1: ( rule__CurlyBracketedClauseCS__Group_2_0__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19208:2: rule__CurlyBracketedClauseCS__Group_2_0__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20225:1: ( rule__CurlyBracketedClauseCS__Group_2_0__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20226:2: rule__CurlyBracketedClauseCS__Group_2_0__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CurlyBracketedClauseCS__Group_2_0__1__Impl_in_rule__CurlyBracketedClauseCS__Group_2_0__139439);
+            pushFollow(FollowSets001.FOLLOW_rule__CurlyBracketedClauseCS__Group_2_0__1__Impl_in_rule__CurlyBracketedClauseCS__Group_2_0__141309);
             rule__CurlyBracketedClauseCS__Group_2_0__1__Impl();
 
             state._fsp--;
@@ -57538,37 +60006,37 @@
 
 
     // $ANTLR start "rule__CurlyBracketedClauseCS__Group_2_0__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19214:1: rule__CurlyBracketedClauseCS__Group_2_0__1__Impl : ( ( rule__CurlyBracketedClauseCS__Group_2_0_1__0 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20232:1: rule__CurlyBracketedClauseCS__Group_2_0__1__Impl : ( ( rule__CurlyBracketedClauseCS__Group_2_0_1__0 )* ) ;
     public final void rule__CurlyBracketedClauseCS__Group_2_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19218:1: ( ( ( rule__CurlyBracketedClauseCS__Group_2_0_1__0 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19219:1: ( ( rule__CurlyBracketedClauseCS__Group_2_0_1__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20236:1: ( ( ( rule__CurlyBracketedClauseCS__Group_2_0_1__0 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20237:1: ( ( rule__CurlyBracketedClauseCS__Group_2_0_1__0 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19219:1: ( ( rule__CurlyBracketedClauseCS__Group_2_0_1__0 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19220:1: ( rule__CurlyBracketedClauseCS__Group_2_0_1__0 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20237:1: ( ( rule__CurlyBracketedClauseCS__Group_2_0_1__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20238:1: ( rule__CurlyBracketedClauseCS__Group_2_0_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCurlyBracketedClauseCSAccess().getGroup_2_0_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19221:1: ( rule__CurlyBracketedClauseCS__Group_2_0_1__0 )*
-            loop202:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20239:1: ( rule__CurlyBracketedClauseCS__Group_2_0_1__0 )*
+            loop230:
             do {
-                int alt202=2;
-                int LA202_0 = input.LA(1);
+                int alt230=2;
+                int LA230_0 = input.LA(1);
 
-                if ( (LA202_0==98) ) {
-                    alt202=1;
+                if ( (LA230_0==107) ) {
+                    alt230=1;
                 }
 
 
-                switch (alt202) {
+                switch (alt230) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19221:2: rule__CurlyBracketedClauseCS__Group_2_0_1__0
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20239:2: rule__CurlyBracketedClauseCS__Group_2_0_1__0
             	    {
-            	    pushFollow(FollowSets001.FOLLOW_rule__CurlyBracketedClauseCS__Group_2_0_1__0_in_rule__CurlyBracketedClauseCS__Group_2_0__1__Impl39466);
+            	    pushFollow(FollowSets001.FOLLOW_rule__CurlyBracketedClauseCS__Group_2_0_1__0_in_rule__CurlyBracketedClauseCS__Group_2_0__1__Impl41336);
             	    rule__CurlyBracketedClauseCS__Group_2_0_1__0();
 
             	    state._fsp--;
@@ -57578,7 +60046,7 @@
             	    break;
 
             	default :
-            	    break loop202;
+            	    break loop230;
                 }
             } while (true);
 
@@ -57607,21 +60075,21 @@
 
 
     // $ANTLR start "rule__CurlyBracketedClauseCS__Group_2_0_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19235:1: rule__CurlyBracketedClauseCS__Group_2_0_1__0 : rule__CurlyBracketedClauseCS__Group_2_0_1__0__Impl rule__CurlyBracketedClauseCS__Group_2_0_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20253:1: rule__CurlyBracketedClauseCS__Group_2_0_1__0 : rule__CurlyBracketedClauseCS__Group_2_0_1__0__Impl rule__CurlyBracketedClauseCS__Group_2_0_1__1 ;
     public final void rule__CurlyBracketedClauseCS__Group_2_0_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19239:1: ( rule__CurlyBracketedClauseCS__Group_2_0_1__0__Impl rule__CurlyBracketedClauseCS__Group_2_0_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19240:2: rule__CurlyBracketedClauseCS__Group_2_0_1__0__Impl rule__CurlyBracketedClauseCS__Group_2_0_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20257:1: ( rule__CurlyBracketedClauseCS__Group_2_0_1__0__Impl rule__CurlyBracketedClauseCS__Group_2_0_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20258:2: rule__CurlyBracketedClauseCS__Group_2_0_1__0__Impl rule__CurlyBracketedClauseCS__Group_2_0_1__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CurlyBracketedClauseCS__Group_2_0_1__0__Impl_in_rule__CurlyBracketedClauseCS__Group_2_0_1__039501);
+            pushFollow(FollowSets001.FOLLOW_rule__CurlyBracketedClauseCS__Group_2_0_1__0__Impl_in_rule__CurlyBracketedClauseCS__Group_2_0_1__041371);
             rule__CurlyBracketedClauseCS__Group_2_0_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__CurlyBracketedClauseCS__Group_2_0_1__1_in_rule__CurlyBracketedClauseCS__Group_2_0_1__039504);
+            pushFollow(FollowSets001.FOLLOW_rule__CurlyBracketedClauseCS__Group_2_0_1__1_in_rule__CurlyBracketedClauseCS__Group_2_0_1__041374);
             rule__CurlyBracketedClauseCS__Group_2_0_1__1();
 
             state._fsp--;
@@ -57645,22 +60113,22 @@
 
 
     // $ANTLR start "rule__CurlyBracketedClauseCS__Group_2_0_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19247:1: rule__CurlyBracketedClauseCS__Group_2_0_1__0__Impl : ( ',' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20265:1: rule__CurlyBracketedClauseCS__Group_2_0_1__0__Impl : ( ',' ) ;
     public final void rule__CurlyBracketedClauseCS__Group_2_0_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19251:1: ( ( ',' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19252:1: ( ',' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20269:1: ( ( ',' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20270:1: ( ',' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19252:1: ( ',' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19253:1: ','
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20270:1: ( ',' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20271:1: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCurlyBracketedClauseCSAccess().getCommaKeyword_2_0_1_0()); 
             }
-            match(input,98,FollowSets001.FOLLOW_98_in_rule__CurlyBracketedClauseCS__Group_2_0_1__0__Impl39532); if (state.failed) return ;
+            match(input,107,FollowSets001.FOLLOW_107_in_rule__CurlyBracketedClauseCS__Group_2_0_1__0__Impl41402); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getCurlyBracketedClauseCSAccess().getCommaKeyword_2_0_1_0()); 
             }
@@ -57686,16 +60154,16 @@
 
 
     // $ANTLR start "rule__CurlyBracketedClauseCS__Group_2_0_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19266:1: rule__CurlyBracketedClauseCS__Group_2_0_1__1 : rule__CurlyBracketedClauseCS__Group_2_0_1__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20284:1: rule__CurlyBracketedClauseCS__Group_2_0_1__1 : rule__CurlyBracketedClauseCS__Group_2_0_1__1__Impl ;
     public final void rule__CurlyBracketedClauseCS__Group_2_0_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19270:1: ( rule__CurlyBracketedClauseCS__Group_2_0_1__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19271:2: rule__CurlyBracketedClauseCS__Group_2_0_1__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20288:1: ( rule__CurlyBracketedClauseCS__Group_2_0_1__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20289:2: rule__CurlyBracketedClauseCS__Group_2_0_1__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CurlyBracketedClauseCS__Group_2_0_1__1__Impl_in_rule__CurlyBracketedClauseCS__Group_2_0_1__139563);
+            pushFollow(FollowSets001.FOLLOW_rule__CurlyBracketedClauseCS__Group_2_0_1__1__Impl_in_rule__CurlyBracketedClauseCS__Group_2_0_1__141433);
             rule__CurlyBracketedClauseCS__Group_2_0_1__1__Impl();
 
             state._fsp--;
@@ -57719,25 +60187,25 @@
 
 
     // $ANTLR start "rule__CurlyBracketedClauseCS__Group_2_0_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19277:1: rule__CurlyBracketedClauseCS__Group_2_0_1__1__Impl : ( ( rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_1_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20295:1: rule__CurlyBracketedClauseCS__Group_2_0_1__1__Impl : ( ( rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_1_1 ) ) ;
     public final void rule__CurlyBracketedClauseCS__Group_2_0_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19281:1: ( ( ( rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_1_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19282:1: ( ( rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20299:1: ( ( ( rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_1_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20300:1: ( ( rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_1_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19282:1: ( ( rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_1_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19283:1: ( rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20300:1: ( ( rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20301:1: ( rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCurlyBracketedClauseCSAccess().getOwnedPartsAssignment_2_0_1_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19284:1: ( rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_1_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19284:2: rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_1_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20302:1: ( rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20302:2: rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_1_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_1_1_in_rule__CurlyBracketedClauseCS__Group_2_0_1__1__Impl39590);
+            pushFollow(FollowSets001.FOLLOW_rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_1_1_in_rule__CurlyBracketedClauseCS__Group_2_0_1__1__Impl41460);
             rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_1_1();
 
             state._fsp--;
@@ -57770,21 +60238,21 @@
 
 
     // $ANTLR start "rule__RoundBracketedClauseCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19298:1: rule__RoundBracketedClauseCS__Group__0 : rule__RoundBracketedClauseCS__Group__0__Impl rule__RoundBracketedClauseCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20316:1: rule__RoundBracketedClauseCS__Group__0 : rule__RoundBracketedClauseCS__Group__0__Impl rule__RoundBracketedClauseCS__Group__1 ;
     public final void rule__RoundBracketedClauseCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19302:1: ( rule__RoundBracketedClauseCS__Group__0__Impl rule__RoundBracketedClauseCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19303:2: rule__RoundBracketedClauseCS__Group__0__Impl rule__RoundBracketedClauseCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20320:1: ( rule__RoundBracketedClauseCS__Group__0__Impl rule__RoundBracketedClauseCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20321:2: rule__RoundBracketedClauseCS__Group__0__Impl rule__RoundBracketedClauseCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group__0__Impl_in_rule__RoundBracketedClauseCS__Group__039624);
+            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group__0__Impl_in_rule__RoundBracketedClauseCS__Group__041494);
             rule__RoundBracketedClauseCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group__1_in_rule__RoundBracketedClauseCS__Group__039627);
+            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group__1_in_rule__RoundBracketedClauseCS__Group__041497);
             rule__RoundBracketedClauseCS__Group__1();
 
             state._fsp--;
@@ -57808,23 +60276,23 @@
 
 
     // $ANTLR start "rule__RoundBracketedClauseCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19310:1: rule__RoundBracketedClauseCS__Group__0__Impl : ( () ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20328:1: rule__RoundBracketedClauseCS__Group__0__Impl : ( () ) ;
     public final void rule__RoundBracketedClauseCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19314:1: ( ( () ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19315:1: ( () )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20332:1: ( ( () ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20333:1: ( () )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19315:1: ( () )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19316:1: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20333:1: ( () )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20334:1: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRoundBracketedClauseCSAccess().getRoundBracketedClauseCSAction_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19317:1: ()
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19319:1: 
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20335:1: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20337:1: 
             {
             }
 
@@ -57849,21 +60317,21 @@
 
 
     // $ANTLR start "rule__RoundBracketedClauseCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19329:1: rule__RoundBracketedClauseCS__Group__1 : rule__RoundBracketedClauseCS__Group__1__Impl rule__RoundBracketedClauseCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20347:1: rule__RoundBracketedClauseCS__Group__1 : rule__RoundBracketedClauseCS__Group__1__Impl rule__RoundBracketedClauseCS__Group__2 ;
     public final void rule__RoundBracketedClauseCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19333:1: ( rule__RoundBracketedClauseCS__Group__1__Impl rule__RoundBracketedClauseCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19334:2: rule__RoundBracketedClauseCS__Group__1__Impl rule__RoundBracketedClauseCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20351:1: ( rule__RoundBracketedClauseCS__Group__1__Impl rule__RoundBracketedClauseCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20352:2: rule__RoundBracketedClauseCS__Group__1__Impl rule__RoundBracketedClauseCS__Group__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group__1__Impl_in_rule__RoundBracketedClauseCS__Group__139685);
+            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group__1__Impl_in_rule__RoundBracketedClauseCS__Group__141555);
             rule__RoundBracketedClauseCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group__2_in_rule__RoundBracketedClauseCS__Group__139688);
+            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group__2_in_rule__RoundBracketedClauseCS__Group__141558);
             rule__RoundBracketedClauseCS__Group__2();
 
             state._fsp--;
@@ -57887,22 +60355,22 @@
 
 
     // $ANTLR start "rule__RoundBracketedClauseCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19341:1: rule__RoundBracketedClauseCS__Group__1__Impl : ( '(' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20359:1: rule__RoundBracketedClauseCS__Group__1__Impl : ( '(' ) ;
     public final void rule__RoundBracketedClauseCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19345:1: ( ( '(' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19346:1: ( '(' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20363:1: ( ( '(' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20364:1: ( '(' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19346:1: ( '(' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19347:1: '('
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20364:1: ( '(' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20365:1: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRoundBracketedClauseCSAccess().getLeftParenthesisKeyword_1()); 
             }
-            match(input,95,FollowSets001.FOLLOW_95_in_rule__RoundBracketedClauseCS__Group__1__Impl39716); if (state.failed) return ;
+            match(input,104,FollowSets001.FOLLOW_104_in_rule__RoundBracketedClauseCS__Group__1__Impl41586); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getRoundBracketedClauseCSAccess().getLeftParenthesisKeyword_1()); 
             }
@@ -57928,21 +60396,21 @@
 
 
     // $ANTLR start "rule__RoundBracketedClauseCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19360:1: rule__RoundBracketedClauseCS__Group__2 : rule__RoundBracketedClauseCS__Group__2__Impl rule__RoundBracketedClauseCS__Group__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20378:1: rule__RoundBracketedClauseCS__Group__2 : rule__RoundBracketedClauseCS__Group__2__Impl rule__RoundBracketedClauseCS__Group__3 ;
     public final void rule__RoundBracketedClauseCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19364:1: ( rule__RoundBracketedClauseCS__Group__2__Impl rule__RoundBracketedClauseCS__Group__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19365:2: rule__RoundBracketedClauseCS__Group__2__Impl rule__RoundBracketedClauseCS__Group__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20382:1: ( rule__RoundBracketedClauseCS__Group__2__Impl rule__RoundBracketedClauseCS__Group__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20383:2: rule__RoundBracketedClauseCS__Group__2__Impl rule__RoundBracketedClauseCS__Group__3
             {
-            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group__2__Impl_in_rule__RoundBracketedClauseCS__Group__239747);
+            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group__2__Impl_in_rule__RoundBracketedClauseCS__Group__241617);
             rule__RoundBracketedClauseCS__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group__3_in_rule__RoundBracketedClauseCS__Group__239750);
+            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group__3_in_rule__RoundBracketedClauseCS__Group__241620);
             rule__RoundBracketedClauseCS__Group__3();
 
             state._fsp--;
@@ -57966,33 +60434,33 @@
 
 
     // $ANTLR start "rule__RoundBracketedClauseCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19372:1: rule__RoundBracketedClauseCS__Group__2__Impl : ( ( rule__RoundBracketedClauseCS__Group_2__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20390:1: rule__RoundBracketedClauseCS__Group__2__Impl : ( ( rule__RoundBracketedClauseCS__Group_2__0 )? ) ;
     public final void rule__RoundBracketedClauseCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19376:1: ( ( ( rule__RoundBracketedClauseCS__Group_2__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19377:1: ( ( rule__RoundBracketedClauseCS__Group_2__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20394:1: ( ( ( rule__RoundBracketedClauseCS__Group_2__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20395:1: ( ( rule__RoundBracketedClauseCS__Group_2__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19377:1: ( ( rule__RoundBracketedClauseCS__Group_2__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19378:1: ( rule__RoundBracketedClauseCS__Group_2__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20395:1: ( ( rule__RoundBracketedClauseCS__Group_2__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20396:1: ( rule__RoundBracketedClauseCS__Group_2__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRoundBracketedClauseCSAccess().getGroup_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19379:1: ( rule__RoundBracketedClauseCS__Group_2__0 )?
-            int alt203=2;
-            int LA203_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20397:1: ( rule__RoundBracketedClauseCS__Group_2__0 )?
+            int alt231=2;
+            int LA231_0 = input.LA(1);
 
-            if ( ((LA203_0>=RULE_INT && LA203_0<=RULE_SINGLE_QUOTED_STRING)||(LA203_0>=RULE_SIMPLE_ID && LA203_0<=RULE_ESCAPED_ID)||(LA203_0>=17 && LA203_0<=52)||(LA203_0>=55 && LA203_0<=63)||(LA203_0>=80 && LA203_0<=93)||LA203_0==95||LA203_0==97||(LA203_0>=105 && LA203_0<=107)||LA203_0==112||(LA203_0>=117 && LA203_0<=118)||(LA203_0>=131 && LA203_0<=132)) ) {
-                alt203=1;
+            if ( ((LA231_0>=RULE_INT && LA231_0<=RULE_SINGLE_QUOTED_STRING)||(LA231_0>=RULE_SIMPLE_ID && LA231_0<=RULE_ESCAPED_ID)||(LA231_0>=17 && LA231_0<=52)||(LA231_0>=64 && LA231_0<=72)||(LA231_0>=89 && LA231_0<=102)||LA231_0==104||LA231_0==106||(LA231_0>=114 && LA231_0<=116)||LA231_0==121||(LA231_0>=126 && LA231_0<=127)||(LA231_0>=131 && LA231_0<=132)) ) {
+                alt231=1;
             }
-            switch (alt203) {
+            switch (alt231) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19379:2: rule__RoundBracketedClauseCS__Group_2__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20397:2: rule__RoundBracketedClauseCS__Group_2__0
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group_2__0_in_rule__RoundBracketedClauseCS__Group__2__Impl39777);
+                    pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group_2__0_in_rule__RoundBracketedClauseCS__Group__2__Impl41647);
                     rule__RoundBracketedClauseCS__Group_2__0();
 
                     state._fsp--;
@@ -58028,16 +60496,16 @@
 
 
     // $ANTLR start "rule__RoundBracketedClauseCS__Group__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19389:1: rule__RoundBracketedClauseCS__Group__3 : rule__RoundBracketedClauseCS__Group__3__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20407:1: rule__RoundBracketedClauseCS__Group__3 : rule__RoundBracketedClauseCS__Group__3__Impl ;
     public final void rule__RoundBracketedClauseCS__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19393:1: ( rule__RoundBracketedClauseCS__Group__3__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19394:2: rule__RoundBracketedClauseCS__Group__3__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20411:1: ( rule__RoundBracketedClauseCS__Group__3__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20412:2: rule__RoundBracketedClauseCS__Group__3__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group__3__Impl_in_rule__RoundBracketedClauseCS__Group__339808);
+            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group__3__Impl_in_rule__RoundBracketedClauseCS__Group__341678);
             rule__RoundBracketedClauseCS__Group__3__Impl();
 
             state._fsp--;
@@ -58061,22 +60529,22 @@
 
 
     // $ANTLR start "rule__RoundBracketedClauseCS__Group__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19400:1: rule__RoundBracketedClauseCS__Group__3__Impl : ( ')' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20418:1: rule__RoundBracketedClauseCS__Group__3__Impl : ( ')' ) ;
     public final void rule__RoundBracketedClauseCS__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19404:1: ( ( ')' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19405:1: ( ')' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20422:1: ( ( ')' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20423:1: ( ')' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19405:1: ( ')' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19406:1: ')'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20423:1: ( ')' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20424:1: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRoundBracketedClauseCSAccess().getRightParenthesisKeyword_3()); 
             }
-            match(input,96,FollowSets001.FOLLOW_96_in_rule__RoundBracketedClauseCS__Group__3__Impl39836); if (state.failed) return ;
+            match(input,105,FollowSets001.FOLLOW_105_in_rule__RoundBracketedClauseCS__Group__3__Impl41706); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getRoundBracketedClauseCSAccess().getRightParenthesisKeyword_3()); 
             }
@@ -58102,21 +60570,21 @@
 
 
     // $ANTLR start "rule__RoundBracketedClauseCS__Group_2__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19427:1: rule__RoundBracketedClauseCS__Group_2__0 : rule__RoundBracketedClauseCS__Group_2__0__Impl rule__RoundBracketedClauseCS__Group_2__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20445:1: rule__RoundBracketedClauseCS__Group_2__0 : rule__RoundBracketedClauseCS__Group_2__0__Impl rule__RoundBracketedClauseCS__Group_2__1 ;
     public final void rule__RoundBracketedClauseCS__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19431:1: ( rule__RoundBracketedClauseCS__Group_2__0__Impl rule__RoundBracketedClauseCS__Group_2__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19432:2: rule__RoundBracketedClauseCS__Group_2__0__Impl rule__RoundBracketedClauseCS__Group_2__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20449:1: ( rule__RoundBracketedClauseCS__Group_2__0__Impl rule__RoundBracketedClauseCS__Group_2__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20450:2: rule__RoundBracketedClauseCS__Group_2__0__Impl rule__RoundBracketedClauseCS__Group_2__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group_2__0__Impl_in_rule__RoundBracketedClauseCS__Group_2__039875);
+            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group_2__0__Impl_in_rule__RoundBracketedClauseCS__Group_2__041745);
             rule__RoundBracketedClauseCS__Group_2__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group_2__1_in_rule__RoundBracketedClauseCS__Group_2__039878);
+            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group_2__1_in_rule__RoundBracketedClauseCS__Group_2__041748);
             rule__RoundBracketedClauseCS__Group_2__1();
 
             state._fsp--;
@@ -58140,25 +60608,25 @@
 
 
     // $ANTLR start "rule__RoundBracketedClauseCS__Group_2__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19439:1: rule__RoundBracketedClauseCS__Group_2__0__Impl : ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20457:1: rule__RoundBracketedClauseCS__Group_2__0__Impl : ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_0 ) ) ;
     public final void rule__RoundBracketedClauseCS__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19443:1: ( ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19444:1: ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20461:1: ( ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20462:1: ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19444:1: ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19445:1: ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20462:1: ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20463:1: ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRoundBracketedClauseCSAccess().getOwnedArgumentsAssignment_2_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19446:1: ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19446:2: rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20464:1: ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20464:2: rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_0
             {
-            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_0_in_rule__RoundBracketedClauseCS__Group_2__0__Impl39905);
+            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_0_in_rule__RoundBracketedClauseCS__Group_2__0__Impl41775);
             rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_0();
 
             state._fsp--;
@@ -58191,21 +60659,21 @@
 
 
     // $ANTLR start "rule__RoundBracketedClauseCS__Group_2__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19456:1: rule__RoundBracketedClauseCS__Group_2__1 : rule__RoundBracketedClauseCS__Group_2__1__Impl rule__RoundBracketedClauseCS__Group_2__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20474:1: rule__RoundBracketedClauseCS__Group_2__1 : rule__RoundBracketedClauseCS__Group_2__1__Impl rule__RoundBracketedClauseCS__Group_2__2 ;
     public final void rule__RoundBracketedClauseCS__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19460:1: ( rule__RoundBracketedClauseCS__Group_2__1__Impl rule__RoundBracketedClauseCS__Group_2__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19461:2: rule__RoundBracketedClauseCS__Group_2__1__Impl rule__RoundBracketedClauseCS__Group_2__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20478:1: ( rule__RoundBracketedClauseCS__Group_2__1__Impl rule__RoundBracketedClauseCS__Group_2__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20479:2: rule__RoundBracketedClauseCS__Group_2__1__Impl rule__RoundBracketedClauseCS__Group_2__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group_2__1__Impl_in_rule__RoundBracketedClauseCS__Group_2__139935);
+            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group_2__1__Impl_in_rule__RoundBracketedClauseCS__Group_2__141805);
             rule__RoundBracketedClauseCS__Group_2__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group_2__2_in_rule__RoundBracketedClauseCS__Group_2__139938);
+            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group_2__2_in_rule__RoundBracketedClauseCS__Group_2__141808);
             rule__RoundBracketedClauseCS__Group_2__2();
 
             state._fsp--;
@@ -58229,37 +60697,37 @@
 
 
     // $ANTLR start "rule__RoundBracketedClauseCS__Group_2__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19468:1: rule__RoundBracketedClauseCS__Group_2__1__Impl : ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_1 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20486:1: rule__RoundBracketedClauseCS__Group_2__1__Impl : ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_1 )* ) ;
     public final void rule__RoundBracketedClauseCS__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19472:1: ( ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_1 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19473:1: ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_1 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20490:1: ( ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_1 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20491:1: ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_1 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19473:1: ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_1 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19474:1: ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_1 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20491:1: ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_1 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20492:1: ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_1 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRoundBracketedClauseCSAccess().getOwnedArgumentsAssignment_2_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19475:1: ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_1 )*
-            loop204:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20493:1: ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_1 )*
+            loop232:
             do {
-                int alt204=2;
-                int LA204_0 = input.LA(1);
+                int alt232=2;
+                int LA232_0 = input.LA(1);
 
-                if ( (LA204_0==98) ) {
-                    alt204=1;
+                if ( (LA232_0==107) ) {
+                    alt232=1;
                 }
 
 
-                switch (alt204) {
+                switch (alt232) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19475:2: rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_1
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20493:2: rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_1
             	    {
-            	    pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_1_in_rule__RoundBracketedClauseCS__Group_2__1__Impl39965);
+            	    pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_1_in_rule__RoundBracketedClauseCS__Group_2__1__Impl41835);
             	    rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_1();
 
             	    state._fsp--;
@@ -58269,7 +60737,7 @@
             	    break;
 
             	default :
-            	    break loop204;
+            	    break loop232;
                 }
             } while (true);
 
@@ -58298,21 +60766,21 @@
 
 
     // $ANTLR start "rule__RoundBracketedClauseCS__Group_2__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19485:1: rule__RoundBracketedClauseCS__Group_2__2 : rule__RoundBracketedClauseCS__Group_2__2__Impl rule__RoundBracketedClauseCS__Group_2__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20503:1: rule__RoundBracketedClauseCS__Group_2__2 : rule__RoundBracketedClauseCS__Group_2__2__Impl rule__RoundBracketedClauseCS__Group_2__3 ;
     public final void rule__RoundBracketedClauseCS__Group_2__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19489:1: ( rule__RoundBracketedClauseCS__Group_2__2__Impl rule__RoundBracketedClauseCS__Group_2__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19490:2: rule__RoundBracketedClauseCS__Group_2__2__Impl rule__RoundBracketedClauseCS__Group_2__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20507:1: ( rule__RoundBracketedClauseCS__Group_2__2__Impl rule__RoundBracketedClauseCS__Group_2__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20508:2: rule__RoundBracketedClauseCS__Group_2__2__Impl rule__RoundBracketedClauseCS__Group_2__3
             {
-            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group_2__2__Impl_in_rule__RoundBracketedClauseCS__Group_2__239996);
+            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group_2__2__Impl_in_rule__RoundBracketedClauseCS__Group_2__241866);
             rule__RoundBracketedClauseCS__Group_2__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group_2__3_in_rule__RoundBracketedClauseCS__Group_2__239999);
+            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group_2__3_in_rule__RoundBracketedClauseCS__Group_2__241869);
             rule__RoundBracketedClauseCS__Group_2__3();
 
             state._fsp--;
@@ -58336,33 +60804,33 @@
 
 
     // $ANTLR start "rule__RoundBracketedClauseCS__Group_2__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19497:1: rule__RoundBracketedClauseCS__Group_2__2__Impl : ( ( rule__RoundBracketedClauseCS__Group_2_2__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20515:1: rule__RoundBracketedClauseCS__Group_2__2__Impl : ( ( rule__RoundBracketedClauseCS__Group_2_2__0 )? ) ;
     public final void rule__RoundBracketedClauseCS__Group_2__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19501:1: ( ( ( rule__RoundBracketedClauseCS__Group_2_2__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19502:1: ( ( rule__RoundBracketedClauseCS__Group_2_2__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20519:1: ( ( ( rule__RoundBracketedClauseCS__Group_2_2__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20520:1: ( ( rule__RoundBracketedClauseCS__Group_2_2__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19502:1: ( ( rule__RoundBracketedClauseCS__Group_2_2__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19503:1: ( rule__RoundBracketedClauseCS__Group_2_2__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20520:1: ( ( rule__RoundBracketedClauseCS__Group_2_2__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20521:1: ( rule__RoundBracketedClauseCS__Group_2_2__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRoundBracketedClauseCSAccess().getGroup_2_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19504:1: ( rule__RoundBracketedClauseCS__Group_2_2__0 )?
-            int alt205=2;
-            int LA205_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20522:1: ( rule__RoundBracketedClauseCS__Group_2_2__0 )?
+            int alt233=2;
+            int LA233_0 = input.LA(1);
 
-            if ( (LA205_0==53) ) {
-                alt205=1;
+            if ( (LA233_0==53) ) {
+                alt233=1;
             }
-            switch (alt205) {
+            switch (alt233) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19504:2: rule__RoundBracketedClauseCS__Group_2_2__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20522:2: rule__RoundBracketedClauseCS__Group_2_2__0
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group_2_2__0_in_rule__RoundBracketedClauseCS__Group_2__2__Impl40026);
+                    pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group_2_2__0_in_rule__RoundBracketedClauseCS__Group_2__2__Impl41896);
                     rule__RoundBracketedClauseCS__Group_2_2__0();
 
                     state._fsp--;
@@ -58398,16 +60866,16 @@
 
 
     // $ANTLR start "rule__RoundBracketedClauseCS__Group_2__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19514:1: rule__RoundBracketedClauseCS__Group_2__3 : rule__RoundBracketedClauseCS__Group_2__3__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20532:1: rule__RoundBracketedClauseCS__Group_2__3 : rule__RoundBracketedClauseCS__Group_2__3__Impl ;
     public final void rule__RoundBracketedClauseCS__Group_2__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19518:1: ( rule__RoundBracketedClauseCS__Group_2__3__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19519:2: rule__RoundBracketedClauseCS__Group_2__3__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20536:1: ( rule__RoundBracketedClauseCS__Group_2__3__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20537:2: rule__RoundBracketedClauseCS__Group_2__3__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group_2__3__Impl_in_rule__RoundBracketedClauseCS__Group_2__340057);
+            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group_2__3__Impl_in_rule__RoundBracketedClauseCS__Group_2__341927);
             rule__RoundBracketedClauseCS__Group_2__3__Impl();
 
             state._fsp--;
@@ -58431,37 +60899,37 @@
 
 
     // $ANTLR start "rule__RoundBracketedClauseCS__Group_2__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19525:1: rule__RoundBracketedClauseCS__Group_2__3__Impl : ( ( rule__RoundBracketedClauseCS__Group_2_3__0 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20543:1: rule__RoundBracketedClauseCS__Group_2__3__Impl : ( ( rule__RoundBracketedClauseCS__Group_2_3__0 )* ) ;
     public final void rule__RoundBracketedClauseCS__Group_2__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19529:1: ( ( ( rule__RoundBracketedClauseCS__Group_2_3__0 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19530:1: ( ( rule__RoundBracketedClauseCS__Group_2_3__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20547:1: ( ( ( rule__RoundBracketedClauseCS__Group_2_3__0 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20548:1: ( ( rule__RoundBracketedClauseCS__Group_2_3__0 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19530:1: ( ( rule__RoundBracketedClauseCS__Group_2_3__0 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19531:1: ( rule__RoundBracketedClauseCS__Group_2_3__0 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20548:1: ( ( rule__RoundBracketedClauseCS__Group_2_3__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20549:1: ( rule__RoundBracketedClauseCS__Group_2_3__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRoundBracketedClauseCSAccess().getGroup_2_3()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19532:1: ( rule__RoundBracketedClauseCS__Group_2_3__0 )*
-            loop206:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20550:1: ( rule__RoundBracketedClauseCS__Group_2_3__0 )*
+            loop234:
             do {
-                int alt206=2;
-                int LA206_0 = input.LA(1);
+                int alt234=2;
+                int LA234_0 = input.LA(1);
 
-                if ( (LA206_0==134) ) {
-                    alt206=1;
+                if ( (LA234_0==134) ) {
+                    alt234=1;
                 }
 
 
-                switch (alt206) {
+                switch (alt234) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19532:2: rule__RoundBracketedClauseCS__Group_2_3__0
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20550:2: rule__RoundBracketedClauseCS__Group_2_3__0
             	    {
-            	    pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group_2_3__0_in_rule__RoundBracketedClauseCS__Group_2__3__Impl40084);
+            	    pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group_2_3__0_in_rule__RoundBracketedClauseCS__Group_2__3__Impl41954);
             	    rule__RoundBracketedClauseCS__Group_2_3__0();
 
             	    state._fsp--;
@@ -58471,7 +60939,7 @@
             	    break;
 
             	default :
-            	    break loop206;
+            	    break loop234;
                 }
             } while (true);
 
@@ -58500,21 +60968,21 @@
 
 
     // $ANTLR start "rule__RoundBracketedClauseCS__Group_2_2__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19550:1: rule__RoundBracketedClauseCS__Group_2_2__0 : rule__RoundBracketedClauseCS__Group_2_2__0__Impl rule__RoundBracketedClauseCS__Group_2_2__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20568:1: rule__RoundBracketedClauseCS__Group_2_2__0 : rule__RoundBracketedClauseCS__Group_2_2__0__Impl rule__RoundBracketedClauseCS__Group_2_2__1 ;
     public final void rule__RoundBracketedClauseCS__Group_2_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19554:1: ( rule__RoundBracketedClauseCS__Group_2_2__0__Impl rule__RoundBracketedClauseCS__Group_2_2__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19555:2: rule__RoundBracketedClauseCS__Group_2_2__0__Impl rule__RoundBracketedClauseCS__Group_2_2__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20572:1: ( rule__RoundBracketedClauseCS__Group_2_2__0__Impl rule__RoundBracketedClauseCS__Group_2_2__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20573:2: rule__RoundBracketedClauseCS__Group_2_2__0__Impl rule__RoundBracketedClauseCS__Group_2_2__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group_2_2__0__Impl_in_rule__RoundBracketedClauseCS__Group_2_2__040123);
+            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group_2_2__0__Impl_in_rule__RoundBracketedClauseCS__Group_2_2__041993);
             rule__RoundBracketedClauseCS__Group_2_2__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group_2_2__1_in_rule__RoundBracketedClauseCS__Group_2_2__040126);
+            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group_2_2__1_in_rule__RoundBracketedClauseCS__Group_2_2__041996);
             rule__RoundBracketedClauseCS__Group_2_2__1();
 
             state._fsp--;
@@ -58538,25 +61006,25 @@
 
 
     // $ANTLR start "rule__RoundBracketedClauseCS__Group_2_2__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19562:1: rule__RoundBracketedClauseCS__Group_2_2__0__Impl : ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20580:1: rule__RoundBracketedClauseCS__Group_2_2__0__Impl : ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_0 ) ) ;
     public final void rule__RoundBracketedClauseCS__Group_2_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19566:1: ( ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19567:1: ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20584:1: ( ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20585:1: ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19567:1: ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19568:1: ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20585:1: ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20586:1: ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRoundBracketedClauseCSAccess().getOwnedArgumentsAssignment_2_2_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19569:1: ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19569:2: rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20587:1: ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20587:2: rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_0
             {
-            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_0_in_rule__RoundBracketedClauseCS__Group_2_2__0__Impl40153);
+            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_0_in_rule__RoundBracketedClauseCS__Group_2_2__0__Impl42023);
             rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_0();
 
             state._fsp--;
@@ -58589,16 +61057,16 @@
 
 
     // $ANTLR start "rule__RoundBracketedClauseCS__Group_2_2__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19579:1: rule__RoundBracketedClauseCS__Group_2_2__1 : rule__RoundBracketedClauseCS__Group_2_2__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20597:1: rule__RoundBracketedClauseCS__Group_2_2__1 : rule__RoundBracketedClauseCS__Group_2_2__1__Impl ;
     public final void rule__RoundBracketedClauseCS__Group_2_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19583:1: ( rule__RoundBracketedClauseCS__Group_2_2__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19584:2: rule__RoundBracketedClauseCS__Group_2_2__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20601:1: ( rule__RoundBracketedClauseCS__Group_2_2__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20602:2: rule__RoundBracketedClauseCS__Group_2_2__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group_2_2__1__Impl_in_rule__RoundBracketedClauseCS__Group_2_2__140183);
+            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group_2_2__1__Impl_in_rule__RoundBracketedClauseCS__Group_2_2__142053);
             rule__RoundBracketedClauseCS__Group_2_2__1__Impl();
 
             state._fsp--;
@@ -58622,37 +61090,37 @@
 
 
     // $ANTLR start "rule__RoundBracketedClauseCS__Group_2_2__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19590:1: rule__RoundBracketedClauseCS__Group_2_2__1__Impl : ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_1 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20608:1: rule__RoundBracketedClauseCS__Group_2_2__1__Impl : ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_1 )* ) ;
     public final void rule__RoundBracketedClauseCS__Group_2_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19594:1: ( ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_1 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19595:1: ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_1 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20612:1: ( ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_1 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20613:1: ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_1 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19595:1: ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_1 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19596:1: ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_1 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20613:1: ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_1 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20614:1: ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_1 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRoundBracketedClauseCSAccess().getOwnedArgumentsAssignment_2_2_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19597:1: ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_1 )*
-            loop207:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20615:1: ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_1 )*
+            loop235:
             do {
-                int alt207=2;
-                int LA207_0 = input.LA(1);
+                int alt235=2;
+                int LA235_0 = input.LA(1);
 
-                if ( (LA207_0==98) ) {
-                    alt207=1;
+                if ( (LA235_0==107) ) {
+                    alt235=1;
                 }
 
 
-                switch (alt207) {
+                switch (alt235) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19597:2: rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_1
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20615:2: rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_1
             	    {
-            	    pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_1_in_rule__RoundBracketedClauseCS__Group_2_2__1__Impl40210);
+            	    pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_1_in_rule__RoundBracketedClauseCS__Group_2_2__1__Impl42080);
             	    rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_1();
 
             	    state._fsp--;
@@ -58662,7 +61130,7 @@
             	    break;
 
             	default :
-            	    break loop207;
+            	    break loop235;
                 }
             } while (true);
 
@@ -58691,21 +61159,21 @@
 
 
     // $ANTLR start "rule__RoundBracketedClauseCS__Group_2_3__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19611:1: rule__RoundBracketedClauseCS__Group_2_3__0 : rule__RoundBracketedClauseCS__Group_2_3__0__Impl rule__RoundBracketedClauseCS__Group_2_3__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20629:1: rule__RoundBracketedClauseCS__Group_2_3__0 : rule__RoundBracketedClauseCS__Group_2_3__0__Impl rule__RoundBracketedClauseCS__Group_2_3__1 ;
     public final void rule__RoundBracketedClauseCS__Group_2_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19615:1: ( rule__RoundBracketedClauseCS__Group_2_3__0__Impl rule__RoundBracketedClauseCS__Group_2_3__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19616:2: rule__RoundBracketedClauseCS__Group_2_3__0__Impl rule__RoundBracketedClauseCS__Group_2_3__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20633:1: ( rule__RoundBracketedClauseCS__Group_2_3__0__Impl rule__RoundBracketedClauseCS__Group_2_3__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20634:2: rule__RoundBracketedClauseCS__Group_2_3__0__Impl rule__RoundBracketedClauseCS__Group_2_3__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group_2_3__0__Impl_in_rule__RoundBracketedClauseCS__Group_2_3__040245);
+            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group_2_3__0__Impl_in_rule__RoundBracketedClauseCS__Group_2_3__042115);
             rule__RoundBracketedClauseCS__Group_2_3__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group_2_3__1_in_rule__RoundBracketedClauseCS__Group_2_3__040248);
+            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group_2_3__1_in_rule__RoundBracketedClauseCS__Group_2_3__042118);
             rule__RoundBracketedClauseCS__Group_2_3__1();
 
             state._fsp--;
@@ -58729,25 +61197,25 @@
 
 
     // $ANTLR start "rule__RoundBracketedClauseCS__Group_2_3__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19623:1: rule__RoundBracketedClauseCS__Group_2_3__0__Impl : ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20641:1: rule__RoundBracketedClauseCS__Group_2_3__0__Impl : ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_0 ) ) ;
     public final void rule__RoundBracketedClauseCS__Group_2_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19627:1: ( ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19628:1: ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20645:1: ( ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20646:1: ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19628:1: ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19629:1: ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20646:1: ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20647:1: ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRoundBracketedClauseCSAccess().getOwnedArgumentsAssignment_2_3_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19630:1: ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19630:2: rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20648:1: ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20648:2: rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_0
             {
-            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_0_in_rule__RoundBracketedClauseCS__Group_2_3__0__Impl40275);
+            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_0_in_rule__RoundBracketedClauseCS__Group_2_3__0__Impl42145);
             rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_0();
 
             state._fsp--;
@@ -58780,16 +61248,16 @@
 
 
     // $ANTLR start "rule__RoundBracketedClauseCS__Group_2_3__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19640:1: rule__RoundBracketedClauseCS__Group_2_3__1 : rule__RoundBracketedClauseCS__Group_2_3__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20658:1: rule__RoundBracketedClauseCS__Group_2_3__1 : rule__RoundBracketedClauseCS__Group_2_3__1__Impl ;
     public final void rule__RoundBracketedClauseCS__Group_2_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19644:1: ( rule__RoundBracketedClauseCS__Group_2_3__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19645:2: rule__RoundBracketedClauseCS__Group_2_3__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20662:1: ( rule__RoundBracketedClauseCS__Group_2_3__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20663:2: rule__RoundBracketedClauseCS__Group_2_3__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group_2_3__1__Impl_in_rule__RoundBracketedClauseCS__Group_2_3__140305);
+            pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__Group_2_3__1__Impl_in_rule__RoundBracketedClauseCS__Group_2_3__142175);
             rule__RoundBracketedClauseCS__Group_2_3__1__Impl();
 
             state._fsp--;
@@ -58813,37 +61281,37 @@
 
 
     // $ANTLR start "rule__RoundBracketedClauseCS__Group_2_3__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19651:1: rule__RoundBracketedClauseCS__Group_2_3__1__Impl : ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_1 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20669:1: rule__RoundBracketedClauseCS__Group_2_3__1__Impl : ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_1 )* ) ;
     public final void rule__RoundBracketedClauseCS__Group_2_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19655:1: ( ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_1 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19656:1: ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_1 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20673:1: ( ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_1 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20674:1: ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_1 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19656:1: ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_1 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19657:1: ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_1 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20674:1: ( ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_1 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20675:1: ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_1 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRoundBracketedClauseCSAccess().getOwnedArgumentsAssignment_2_3_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19658:1: ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_1 )*
-            loop208:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20676:1: ( rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_1 )*
+            loop236:
             do {
-                int alt208=2;
-                int LA208_0 = input.LA(1);
+                int alt236=2;
+                int LA236_0 = input.LA(1);
 
-                if ( (LA208_0==98) ) {
-                    alt208=1;
+                if ( (LA236_0==107) ) {
+                    alt236=1;
                 }
 
 
-                switch (alt208) {
+                switch (alt236) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19658:2: rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_1
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20676:2: rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_1
             	    {
-            	    pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_1_in_rule__RoundBracketedClauseCS__Group_2_3__1__Impl40332);
+            	    pushFollow(FollowSets001.FOLLOW_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_1_in_rule__RoundBracketedClauseCS__Group_2_3__1__Impl42202);
             	    rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_1();
 
             	    state._fsp--;
@@ -58853,7 +61321,7 @@
             	    break;
 
             	default :
-            	    break loop208;
+            	    break loop236;
                 }
             } while (true);
 
@@ -58882,21 +61350,21 @@
 
 
     // $ANTLR start "rule__SquareBracketedClauseCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19672:1: rule__SquareBracketedClauseCS__Group__0 : rule__SquareBracketedClauseCS__Group__0__Impl rule__SquareBracketedClauseCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20690:1: rule__SquareBracketedClauseCS__Group__0 : rule__SquareBracketedClauseCS__Group__0__Impl rule__SquareBracketedClauseCS__Group__1 ;
     public final void rule__SquareBracketedClauseCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19676:1: ( rule__SquareBracketedClauseCS__Group__0__Impl rule__SquareBracketedClauseCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19677:2: rule__SquareBracketedClauseCS__Group__0__Impl rule__SquareBracketedClauseCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20694:1: ( rule__SquareBracketedClauseCS__Group__0__Impl rule__SquareBracketedClauseCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20695:2: rule__SquareBracketedClauseCS__Group__0__Impl rule__SquareBracketedClauseCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__SquareBracketedClauseCS__Group__0__Impl_in_rule__SquareBracketedClauseCS__Group__040367);
+            pushFollow(FollowSets001.FOLLOW_rule__SquareBracketedClauseCS__Group__0__Impl_in_rule__SquareBracketedClauseCS__Group__042237);
             rule__SquareBracketedClauseCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__SquareBracketedClauseCS__Group__1_in_rule__SquareBracketedClauseCS__Group__040370);
+            pushFollow(FollowSets001.FOLLOW_rule__SquareBracketedClauseCS__Group__1_in_rule__SquareBracketedClauseCS__Group__042240);
             rule__SquareBracketedClauseCS__Group__1();
 
             state._fsp--;
@@ -58920,22 +61388,22 @@
 
 
     // $ANTLR start "rule__SquareBracketedClauseCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19684:1: rule__SquareBracketedClauseCS__Group__0__Impl : ( '[' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20702:1: rule__SquareBracketedClauseCS__Group__0__Impl : ( '[' ) ;
     public final void rule__SquareBracketedClauseCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19688:1: ( ( '[' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19689:1: ( '[' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20706:1: ( ( '[' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20707:1: ( '[' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19689:1: ( '[' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19690:1: '['
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20707:1: ( '[' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20708:1: '['
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSquareBracketedClauseCSAccess().getLeftSquareBracketKeyword_0()); 
             }
-            match(input,109,FollowSets001.FOLLOW_109_in_rule__SquareBracketedClauseCS__Group__0__Impl40398); if (state.failed) return ;
+            match(input,118,FollowSets001.FOLLOW_118_in_rule__SquareBracketedClauseCS__Group__0__Impl42268); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getSquareBracketedClauseCSAccess().getLeftSquareBracketKeyword_0()); 
             }
@@ -58961,21 +61429,21 @@
 
 
     // $ANTLR start "rule__SquareBracketedClauseCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19703:1: rule__SquareBracketedClauseCS__Group__1 : rule__SquareBracketedClauseCS__Group__1__Impl rule__SquareBracketedClauseCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20721:1: rule__SquareBracketedClauseCS__Group__1 : rule__SquareBracketedClauseCS__Group__1__Impl rule__SquareBracketedClauseCS__Group__2 ;
     public final void rule__SquareBracketedClauseCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19707:1: ( rule__SquareBracketedClauseCS__Group__1__Impl rule__SquareBracketedClauseCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19708:2: rule__SquareBracketedClauseCS__Group__1__Impl rule__SquareBracketedClauseCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20725:1: ( rule__SquareBracketedClauseCS__Group__1__Impl rule__SquareBracketedClauseCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20726:2: rule__SquareBracketedClauseCS__Group__1__Impl rule__SquareBracketedClauseCS__Group__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__SquareBracketedClauseCS__Group__1__Impl_in_rule__SquareBracketedClauseCS__Group__140429);
+            pushFollow(FollowSets001.FOLLOW_rule__SquareBracketedClauseCS__Group__1__Impl_in_rule__SquareBracketedClauseCS__Group__142299);
             rule__SquareBracketedClauseCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__SquareBracketedClauseCS__Group__2_in_rule__SquareBracketedClauseCS__Group__140432);
+            pushFollow(FollowSets001.FOLLOW_rule__SquareBracketedClauseCS__Group__2_in_rule__SquareBracketedClauseCS__Group__142302);
             rule__SquareBracketedClauseCS__Group__2();
 
             state._fsp--;
@@ -58999,25 +61467,25 @@
 
 
     // $ANTLR start "rule__SquareBracketedClauseCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19715:1: rule__SquareBracketedClauseCS__Group__1__Impl : ( ( rule__SquareBracketedClauseCS__OwnedTermsAssignment_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20733:1: rule__SquareBracketedClauseCS__Group__1__Impl : ( ( rule__SquareBracketedClauseCS__OwnedTermsAssignment_1 ) ) ;
     public final void rule__SquareBracketedClauseCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19719:1: ( ( ( rule__SquareBracketedClauseCS__OwnedTermsAssignment_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19720:1: ( ( rule__SquareBracketedClauseCS__OwnedTermsAssignment_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20737:1: ( ( ( rule__SquareBracketedClauseCS__OwnedTermsAssignment_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20738:1: ( ( rule__SquareBracketedClauseCS__OwnedTermsAssignment_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19720:1: ( ( rule__SquareBracketedClauseCS__OwnedTermsAssignment_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19721:1: ( rule__SquareBracketedClauseCS__OwnedTermsAssignment_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20738:1: ( ( rule__SquareBracketedClauseCS__OwnedTermsAssignment_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20739:1: ( rule__SquareBracketedClauseCS__OwnedTermsAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSquareBracketedClauseCSAccess().getOwnedTermsAssignment_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19722:1: ( rule__SquareBracketedClauseCS__OwnedTermsAssignment_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19722:2: rule__SquareBracketedClauseCS__OwnedTermsAssignment_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20740:1: ( rule__SquareBracketedClauseCS__OwnedTermsAssignment_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20740:2: rule__SquareBracketedClauseCS__OwnedTermsAssignment_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__SquareBracketedClauseCS__OwnedTermsAssignment_1_in_rule__SquareBracketedClauseCS__Group__1__Impl40459);
+            pushFollow(FollowSets001.FOLLOW_rule__SquareBracketedClauseCS__OwnedTermsAssignment_1_in_rule__SquareBracketedClauseCS__Group__1__Impl42329);
             rule__SquareBracketedClauseCS__OwnedTermsAssignment_1();
 
             state._fsp--;
@@ -59050,21 +61518,21 @@
 
 
     // $ANTLR start "rule__SquareBracketedClauseCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19732:1: rule__SquareBracketedClauseCS__Group__2 : rule__SquareBracketedClauseCS__Group__2__Impl rule__SquareBracketedClauseCS__Group__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20750:1: rule__SquareBracketedClauseCS__Group__2 : rule__SquareBracketedClauseCS__Group__2__Impl rule__SquareBracketedClauseCS__Group__3 ;
     public final void rule__SquareBracketedClauseCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19736:1: ( rule__SquareBracketedClauseCS__Group__2__Impl rule__SquareBracketedClauseCS__Group__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19737:2: rule__SquareBracketedClauseCS__Group__2__Impl rule__SquareBracketedClauseCS__Group__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20754:1: ( rule__SquareBracketedClauseCS__Group__2__Impl rule__SquareBracketedClauseCS__Group__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20755:2: rule__SquareBracketedClauseCS__Group__2__Impl rule__SquareBracketedClauseCS__Group__3
             {
-            pushFollow(FollowSets001.FOLLOW_rule__SquareBracketedClauseCS__Group__2__Impl_in_rule__SquareBracketedClauseCS__Group__240489);
+            pushFollow(FollowSets001.FOLLOW_rule__SquareBracketedClauseCS__Group__2__Impl_in_rule__SquareBracketedClauseCS__Group__242359);
             rule__SquareBracketedClauseCS__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__SquareBracketedClauseCS__Group__3_in_rule__SquareBracketedClauseCS__Group__240492);
+            pushFollow(FollowSets001.FOLLOW_rule__SquareBracketedClauseCS__Group__3_in_rule__SquareBracketedClauseCS__Group__242362);
             rule__SquareBracketedClauseCS__Group__3();
 
             state._fsp--;
@@ -59088,37 +61556,37 @@
 
 
     // $ANTLR start "rule__SquareBracketedClauseCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19744:1: rule__SquareBracketedClauseCS__Group__2__Impl : ( ( rule__SquareBracketedClauseCS__Group_2__0 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20762:1: rule__SquareBracketedClauseCS__Group__2__Impl : ( ( rule__SquareBracketedClauseCS__Group_2__0 )* ) ;
     public final void rule__SquareBracketedClauseCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19748:1: ( ( ( rule__SquareBracketedClauseCS__Group_2__0 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19749:1: ( ( rule__SquareBracketedClauseCS__Group_2__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20766:1: ( ( ( rule__SquareBracketedClauseCS__Group_2__0 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20767:1: ( ( rule__SquareBracketedClauseCS__Group_2__0 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19749:1: ( ( rule__SquareBracketedClauseCS__Group_2__0 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19750:1: ( rule__SquareBracketedClauseCS__Group_2__0 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20767:1: ( ( rule__SquareBracketedClauseCS__Group_2__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20768:1: ( rule__SquareBracketedClauseCS__Group_2__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSquareBracketedClauseCSAccess().getGroup_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19751:1: ( rule__SquareBracketedClauseCS__Group_2__0 )*
-            loop209:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20769:1: ( rule__SquareBracketedClauseCS__Group_2__0 )*
+            loop237:
             do {
-                int alt209=2;
-                int LA209_0 = input.LA(1);
+                int alt237=2;
+                int LA237_0 = input.LA(1);
 
-                if ( (LA209_0==98) ) {
-                    alt209=1;
+                if ( (LA237_0==107) ) {
+                    alt237=1;
                 }
 
 
-                switch (alt209) {
+                switch (alt237) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19751:2: rule__SquareBracketedClauseCS__Group_2__0
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20769:2: rule__SquareBracketedClauseCS__Group_2__0
             	    {
-            	    pushFollow(FollowSets001.FOLLOW_rule__SquareBracketedClauseCS__Group_2__0_in_rule__SquareBracketedClauseCS__Group__2__Impl40519);
+            	    pushFollow(FollowSets001.FOLLOW_rule__SquareBracketedClauseCS__Group_2__0_in_rule__SquareBracketedClauseCS__Group__2__Impl42389);
             	    rule__SquareBracketedClauseCS__Group_2__0();
 
             	    state._fsp--;
@@ -59128,7 +61596,7 @@
             	    break;
 
             	default :
-            	    break loop209;
+            	    break loop237;
                 }
             } while (true);
 
@@ -59157,16 +61625,16 @@
 
 
     // $ANTLR start "rule__SquareBracketedClauseCS__Group__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19761:1: rule__SquareBracketedClauseCS__Group__3 : rule__SquareBracketedClauseCS__Group__3__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20779:1: rule__SquareBracketedClauseCS__Group__3 : rule__SquareBracketedClauseCS__Group__3__Impl ;
     public final void rule__SquareBracketedClauseCS__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19765:1: ( rule__SquareBracketedClauseCS__Group__3__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19766:2: rule__SquareBracketedClauseCS__Group__3__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20783:1: ( rule__SquareBracketedClauseCS__Group__3__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20784:2: rule__SquareBracketedClauseCS__Group__3__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__SquareBracketedClauseCS__Group__3__Impl_in_rule__SquareBracketedClauseCS__Group__340550);
+            pushFollow(FollowSets001.FOLLOW_rule__SquareBracketedClauseCS__Group__3__Impl_in_rule__SquareBracketedClauseCS__Group__342420);
             rule__SquareBracketedClauseCS__Group__3__Impl();
 
             state._fsp--;
@@ -59190,22 +61658,22 @@
 
 
     // $ANTLR start "rule__SquareBracketedClauseCS__Group__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19772:1: rule__SquareBracketedClauseCS__Group__3__Impl : ( ']' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20790:1: rule__SquareBracketedClauseCS__Group__3__Impl : ( ']' ) ;
     public final void rule__SquareBracketedClauseCS__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19776:1: ( ( ']' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19777:1: ( ']' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20794:1: ( ( ']' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20795:1: ( ']' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19777:1: ( ']' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19778:1: ']'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20795:1: ( ']' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20796:1: ']'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSquareBracketedClauseCSAccess().getRightSquareBracketKeyword_3()); 
             }
-            match(input,110,FollowSets001.FOLLOW_110_in_rule__SquareBracketedClauseCS__Group__3__Impl40578); if (state.failed) return ;
+            match(input,119,FollowSets001.FOLLOW_119_in_rule__SquareBracketedClauseCS__Group__3__Impl42448); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getSquareBracketedClauseCSAccess().getRightSquareBracketKeyword_3()); 
             }
@@ -59231,21 +61699,21 @@
 
 
     // $ANTLR start "rule__SquareBracketedClauseCS__Group_2__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19799:1: rule__SquareBracketedClauseCS__Group_2__0 : rule__SquareBracketedClauseCS__Group_2__0__Impl rule__SquareBracketedClauseCS__Group_2__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20817:1: rule__SquareBracketedClauseCS__Group_2__0 : rule__SquareBracketedClauseCS__Group_2__0__Impl rule__SquareBracketedClauseCS__Group_2__1 ;
     public final void rule__SquareBracketedClauseCS__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19803:1: ( rule__SquareBracketedClauseCS__Group_2__0__Impl rule__SquareBracketedClauseCS__Group_2__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19804:2: rule__SquareBracketedClauseCS__Group_2__0__Impl rule__SquareBracketedClauseCS__Group_2__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20821:1: ( rule__SquareBracketedClauseCS__Group_2__0__Impl rule__SquareBracketedClauseCS__Group_2__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20822:2: rule__SquareBracketedClauseCS__Group_2__0__Impl rule__SquareBracketedClauseCS__Group_2__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__SquareBracketedClauseCS__Group_2__0__Impl_in_rule__SquareBracketedClauseCS__Group_2__040617);
+            pushFollow(FollowSets001.FOLLOW_rule__SquareBracketedClauseCS__Group_2__0__Impl_in_rule__SquareBracketedClauseCS__Group_2__042487);
             rule__SquareBracketedClauseCS__Group_2__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__SquareBracketedClauseCS__Group_2__1_in_rule__SquareBracketedClauseCS__Group_2__040620);
+            pushFollow(FollowSets001.FOLLOW_rule__SquareBracketedClauseCS__Group_2__1_in_rule__SquareBracketedClauseCS__Group_2__042490);
             rule__SquareBracketedClauseCS__Group_2__1();
 
             state._fsp--;
@@ -59269,22 +61737,22 @@
 
 
     // $ANTLR start "rule__SquareBracketedClauseCS__Group_2__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19811:1: rule__SquareBracketedClauseCS__Group_2__0__Impl : ( ',' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20829:1: rule__SquareBracketedClauseCS__Group_2__0__Impl : ( ',' ) ;
     public final void rule__SquareBracketedClauseCS__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19815:1: ( ( ',' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19816:1: ( ',' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20833:1: ( ( ',' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20834:1: ( ',' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19816:1: ( ',' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19817:1: ','
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20834:1: ( ',' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20835:1: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSquareBracketedClauseCSAccess().getCommaKeyword_2_0()); 
             }
-            match(input,98,FollowSets001.FOLLOW_98_in_rule__SquareBracketedClauseCS__Group_2__0__Impl40648); if (state.failed) return ;
+            match(input,107,FollowSets001.FOLLOW_107_in_rule__SquareBracketedClauseCS__Group_2__0__Impl42518); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getSquareBracketedClauseCSAccess().getCommaKeyword_2_0()); 
             }
@@ -59310,16 +61778,16 @@
 
 
     // $ANTLR start "rule__SquareBracketedClauseCS__Group_2__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19830:1: rule__SquareBracketedClauseCS__Group_2__1 : rule__SquareBracketedClauseCS__Group_2__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20848:1: rule__SquareBracketedClauseCS__Group_2__1 : rule__SquareBracketedClauseCS__Group_2__1__Impl ;
     public final void rule__SquareBracketedClauseCS__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19834:1: ( rule__SquareBracketedClauseCS__Group_2__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19835:2: rule__SquareBracketedClauseCS__Group_2__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20852:1: ( rule__SquareBracketedClauseCS__Group_2__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20853:2: rule__SquareBracketedClauseCS__Group_2__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__SquareBracketedClauseCS__Group_2__1__Impl_in_rule__SquareBracketedClauseCS__Group_2__140679);
+            pushFollow(FollowSets001.FOLLOW_rule__SquareBracketedClauseCS__Group_2__1__Impl_in_rule__SquareBracketedClauseCS__Group_2__142549);
             rule__SquareBracketedClauseCS__Group_2__1__Impl();
 
             state._fsp--;
@@ -59343,25 +61811,25 @@
 
 
     // $ANTLR start "rule__SquareBracketedClauseCS__Group_2__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19841:1: rule__SquareBracketedClauseCS__Group_2__1__Impl : ( ( rule__SquareBracketedClauseCS__OwnedTermsAssignment_2_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20859:1: rule__SquareBracketedClauseCS__Group_2__1__Impl : ( ( rule__SquareBracketedClauseCS__OwnedTermsAssignment_2_1 ) ) ;
     public final void rule__SquareBracketedClauseCS__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19845:1: ( ( ( rule__SquareBracketedClauseCS__OwnedTermsAssignment_2_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19846:1: ( ( rule__SquareBracketedClauseCS__OwnedTermsAssignment_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20863:1: ( ( ( rule__SquareBracketedClauseCS__OwnedTermsAssignment_2_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20864:1: ( ( rule__SquareBracketedClauseCS__OwnedTermsAssignment_2_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19846:1: ( ( rule__SquareBracketedClauseCS__OwnedTermsAssignment_2_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19847:1: ( rule__SquareBracketedClauseCS__OwnedTermsAssignment_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20864:1: ( ( rule__SquareBracketedClauseCS__OwnedTermsAssignment_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20865:1: ( rule__SquareBracketedClauseCS__OwnedTermsAssignment_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSquareBracketedClauseCSAccess().getOwnedTermsAssignment_2_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19848:1: ( rule__SquareBracketedClauseCS__OwnedTermsAssignment_2_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19848:2: rule__SquareBracketedClauseCS__OwnedTermsAssignment_2_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20866:1: ( rule__SquareBracketedClauseCS__OwnedTermsAssignment_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20866:2: rule__SquareBracketedClauseCS__OwnedTermsAssignment_2_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__SquareBracketedClauseCS__OwnedTermsAssignment_2_1_in_rule__SquareBracketedClauseCS__Group_2__1__Impl40706);
+            pushFollow(FollowSets001.FOLLOW_rule__SquareBracketedClauseCS__OwnedTermsAssignment_2_1_in_rule__SquareBracketedClauseCS__Group_2__1__Impl42576);
             rule__SquareBracketedClauseCS__OwnedTermsAssignment_2_1();
 
             state._fsp--;
@@ -59394,21 +61862,21 @@
 
 
     // $ANTLR start "rule__NavigatingArgCS__Group_0__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19862:1: rule__NavigatingArgCS__Group_0__0 : rule__NavigatingArgCS__Group_0__0__Impl rule__NavigatingArgCS__Group_0__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20880:1: rule__NavigatingArgCS__Group_0__0 : rule__NavigatingArgCS__Group_0__0__Impl rule__NavigatingArgCS__Group_0__1 ;
     public final void rule__NavigatingArgCS__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19866:1: ( rule__NavigatingArgCS__Group_0__0__Impl rule__NavigatingArgCS__Group_0__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19867:2: rule__NavigatingArgCS__Group_0__0__Impl rule__NavigatingArgCS__Group_0__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20884:1: ( rule__NavigatingArgCS__Group_0__0__Impl rule__NavigatingArgCS__Group_0__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20885:2: rule__NavigatingArgCS__Group_0__0__Impl rule__NavigatingArgCS__Group_0__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_0__0__Impl_in_rule__NavigatingArgCS__Group_0__040740);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_0__0__Impl_in_rule__NavigatingArgCS__Group_0__042610);
             rule__NavigatingArgCS__Group_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_0__1_in_rule__NavigatingArgCS__Group_0__040743);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_0__1_in_rule__NavigatingArgCS__Group_0__042613);
             rule__NavigatingArgCS__Group_0__1();
 
             state._fsp--;
@@ -59432,25 +61900,25 @@
 
 
     // $ANTLR start "rule__NavigatingArgCS__Group_0__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19874:1: rule__NavigatingArgCS__Group_0__0__Impl : ( ( rule__NavigatingArgCS__OwnedNameExpressionAssignment_0_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20892:1: rule__NavigatingArgCS__Group_0__0__Impl : ( ( rule__NavigatingArgCS__OwnedNameExpressionAssignment_0_0 ) ) ;
     public final void rule__NavigatingArgCS__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19878:1: ( ( ( rule__NavigatingArgCS__OwnedNameExpressionAssignment_0_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19879:1: ( ( rule__NavigatingArgCS__OwnedNameExpressionAssignment_0_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20896:1: ( ( ( rule__NavigatingArgCS__OwnedNameExpressionAssignment_0_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20897:1: ( ( rule__NavigatingArgCS__OwnedNameExpressionAssignment_0_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19879:1: ( ( rule__NavigatingArgCS__OwnedNameExpressionAssignment_0_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19880:1: ( rule__NavigatingArgCS__OwnedNameExpressionAssignment_0_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20897:1: ( ( rule__NavigatingArgCS__OwnedNameExpressionAssignment_0_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20898:1: ( rule__NavigatingArgCS__OwnedNameExpressionAssignment_0_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingArgCSAccess().getOwnedNameExpressionAssignment_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19881:1: ( rule__NavigatingArgCS__OwnedNameExpressionAssignment_0_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19881:2: rule__NavigatingArgCS__OwnedNameExpressionAssignment_0_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20899:1: ( rule__NavigatingArgCS__OwnedNameExpressionAssignment_0_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20899:2: rule__NavigatingArgCS__OwnedNameExpressionAssignment_0_0
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__OwnedNameExpressionAssignment_0_0_in_rule__NavigatingArgCS__Group_0__0__Impl40770);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__OwnedNameExpressionAssignment_0_0_in_rule__NavigatingArgCS__Group_0__0__Impl42640);
             rule__NavigatingArgCS__OwnedNameExpressionAssignment_0_0();
 
             state._fsp--;
@@ -59483,16 +61951,16 @@
 
 
     // $ANTLR start "rule__NavigatingArgCS__Group_0__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19891:1: rule__NavigatingArgCS__Group_0__1 : rule__NavigatingArgCS__Group_0__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20909:1: rule__NavigatingArgCS__Group_0__1 : rule__NavigatingArgCS__Group_0__1__Impl ;
     public final void rule__NavigatingArgCS__Group_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19895:1: ( rule__NavigatingArgCS__Group_0__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19896:2: rule__NavigatingArgCS__Group_0__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20913:1: ( rule__NavigatingArgCS__Group_0__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20914:2: rule__NavigatingArgCS__Group_0__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_0__1__Impl_in_rule__NavigatingArgCS__Group_0__140800);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_0__1__Impl_in_rule__NavigatingArgCS__Group_0__142670);
             rule__NavigatingArgCS__Group_0__1__Impl();
 
             state._fsp--;
@@ -59516,33 +61984,33 @@
 
 
     // $ANTLR start "rule__NavigatingArgCS__Group_0__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19902:1: rule__NavigatingArgCS__Group_0__1__Impl : ( ( rule__NavigatingArgCS__Alternatives_0_1 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20920:1: rule__NavigatingArgCS__Group_0__1__Impl : ( ( rule__NavigatingArgCS__Alternatives_0_1 )? ) ;
     public final void rule__NavigatingArgCS__Group_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19906:1: ( ( ( rule__NavigatingArgCS__Alternatives_0_1 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19907:1: ( ( rule__NavigatingArgCS__Alternatives_0_1 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20924:1: ( ( ( rule__NavigatingArgCS__Alternatives_0_1 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20925:1: ( ( rule__NavigatingArgCS__Alternatives_0_1 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19907:1: ( ( rule__NavigatingArgCS__Alternatives_0_1 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19908:1: ( rule__NavigatingArgCS__Alternatives_0_1 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20925:1: ( ( rule__NavigatingArgCS__Alternatives_0_1 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20926:1: ( rule__NavigatingArgCS__Alternatives_0_1 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingArgCSAccess().getAlternatives_0_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19909:1: ( rule__NavigatingArgCS__Alternatives_0_1 )?
-            int alt210=2;
-            int LA210_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20927:1: ( rule__NavigatingArgCS__Alternatives_0_1 )?
+            int alt238=2;
+            int LA238_0 = input.LA(1);
 
-            if ( (LA210_0==97||LA210_0==111) ) {
-                alt210=1;
+            if ( (LA238_0==106||LA238_0==120) ) {
+                alt238=1;
             }
-            switch (alt210) {
+            switch (alt238) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19909:2: rule__NavigatingArgCS__Alternatives_0_1
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20927:2: rule__NavigatingArgCS__Alternatives_0_1
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Alternatives_0_1_in_rule__NavigatingArgCS__Group_0__1__Impl40827);
+                    pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Alternatives_0_1_in_rule__NavigatingArgCS__Group_0__1__Impl42697);
                     rule__NavigatingArgCS__Alternatives_0_1();
 
                     state._fsp--;
@@ -59578,21 +62046,21 @@
 
 
     // $ANTLR start "rule__NavigatingArgCS__Group_0_1_0__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19923:1: rule__NavigatingArgCS__Group_0_1_0__0 : rule__NavigatingArgCS__Group_0_1_0__0__Impl rule__NavigatingArgCS__Group_0_1_0__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20941:1: rule__NavigatingArgCS__Group_0_1_0__0 : rule__NavigatingArgCS__Group_0_1_0__0__Impl rule__NavigatingArgCS__Group_0_1_0__1 ;
     public final void rule__NavigatingArgCS__Group_0_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19927:1: ( rule__NavigatingArgCS__Group_0_1_0__0__Impl rule__NavigatingArgCS__Group_0_1_0__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19928:2: rule__NavigatingArgCS__Group_0_1_0__0__Impl rule__NavigatingArgCS__Group_0_1_0__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20945:1: ( rule__NavigatingArgCS__Group_0_1_0__0__Impl rule__NavigatingArgCS__Group_0_1_0__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20946:2: rule__NavigatingArgCS__Group_0_1_0__0__Impl rule__NavigatingArgCS__Group_0_1_0__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_0_1_0__0__Impl_in_rule__NavigatingArgCS__Group_0_1_0__040862);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_0_1_0__0__Impl_in_rule__NavigatingArgCS__Group_0_1_0__042732);
             rule__NavigatingArgCS__Group_0_1_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_0_1_0__1_in_rule__NavigatingArgCS__Group_0_1_0__040865);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_0_1_0__1_in_rule__NavigatingArgCS__Group_0_1_0__042735);
             rule__NavigatingArgCS__Group_0_1_0__1();
 
             state._fsp--;
@@ -59616,22 +62084,22 @@
 
 
     // $ANTLR start "rule__NavigatingArgCS__Group_0_1_0__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19935:1: rule__NavigatingArgCS__Group_0_1_0__0__Impl : ( ':' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20953:1: rule__NavigatingArgCS__Group_0_1_0__0__Impl : ( ':' ) ;
     public final void rule__NavigatingArgCS__Group_0_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19939:1: ( ( ':' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19940:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20957:1: ( ( ':' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20958:1: ( ':' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19940:1: ( ':' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19941:1: ':'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20958:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20959:1: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingArgCSAccess().getColonKeyword_0_1_0_0()); 
             }
-            match(input,97,FollowSets001.FOLLOW_97_in_rule__NavigatingArgCS__Group_0_1_0__0__Impl40893); if (state.failed) return ;
+            match(input,106,FollowSets001.FOLLOW_106_in_rule__NavigatingArgCS__Group_0_1_0__0__Impl42763); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getNavigatingArgCSAccess().getColonKeyword_0_1_0_0()); 
             }
@@ -59657,21 +62125,21 @@
 
 
     // $ANTLR start "rule__NavigatingArgCS__Group_0_1_0__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19954:1: rule__NavigatingArgCS__Group_0_1_0__1 : rule__NavigatingArgCS__Group_0_1_0__1__Impl rule__NavigatingArgCS__Group_0_1_0__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20972:1: rule__NavigatingArgCS__Group_0_1_0__1 : rule__NavigatingArgCS__Group_0_1_0__1__Impl rule__NavigatingArgCS__Group_0_1_0__2 ;
     public final void rule__NavigatingArgCS__Group_0_1_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19958:1: ( rule__NavigatingArgCS__Group_0_1_0__1__Impl rule__NavigatingArgCS__Group_0_1_0__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19959:2: rule__NavigatingArgCS__Group_0_1_0__1__Impl rule__NavigatingArgCS__Group_0_1_0__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20976:1: ( rule__NavigatingArgCS__Group_0_1_0__1__Impl rule__NavigatingArgCS__Group_0_1_0__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20977:2: rule__NavigatingArgCS__Group_0_1_0__1__Impl rule__NavigatingArgCS__Group_0_1_0__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_0_1_0__1__Impl_in_rule__NavigatingArgCS__Group_0_1_0__140924);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_0_1_0__1__Impl_in_rule__NavigatingArgCS__Group_0_1_0__142794);
             rule__NavigatingArgCS__Group_0_1_0__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_0_1_0__2_in_rule__NavigatingArgCS__Group_0_1_0__140927);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_0_1_0__2_in_rule__NavigatingArgCS__Group_0_1_0__142797);
             rule__NavigatingArgCS__Group_0_1_0__2();
 
             state._fsp--;
@@ -59695,25 +62163,25 @@
 
 
     // $ANTLR start "rule__NavigatingArgCS__Group_0_1_0__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19966:1: rule__NavigatingArgCS__Group_0_1_0__1__Impl : ( ( rule__NavigatingArgCS__OwnedTypeAssignment_0_1_0_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20984:1: rule__NavigatingArgCS__Group_0_1_0__1__Impl : ( ( rule__NavigatingArgCS__OwnedTypeAssignment_0_1_0_1 ) ) ;
     public final void rule__NavigatingArgCS__Group_0_1_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19970:1: ( ( ( rule__NavigatingArgCS__OwnedTypeAssignment_0_1_0_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19971:1: ( ( rule__NavigatingArgCS__OwnedTypeAssignment_0_1_0_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20988:1: ( ( ( rule__NavigatingArgCS__OwnedTypeAssignment_0_1_0_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20989:1: ( ( rule__NavigatingArgCS__OwnedTypeAssignment_0_1_0_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19971:1: ( ( rule__NavigatingArgCS__OwnedTypeAssignment_0_1_0_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19972:1: ( rule__NavigatingArgCS__OwnedTypeAssignment_0_1_0_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20989:1: ( ( rule__NavigatingArgCS__OwnedTypeAssignment_0_1_0_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20990:1: ( rule__NavigatingArgCS__OwnedTypeAssignment_0_1_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingArgCSAccess().getOwnedTypeAssignment_0_1_0_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19973:1: ( rule__NavigatingArgCS__OwnedTypeAssignment_0_1_0_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19973:2: rule__NavigatingArgCS__OwnedTypeAssignment_0_1_0_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20991:1: ( rule__NavigatingArgCS__OwnedTypeAssignment_0_1_0_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20991:2: rule__NavigatingArgCS__OwnedTypeAssignment_0_1_0_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__OwnedTypeAssignment_0_1_0_1_in_rule__NavigatingArgCS__Group_0_1_0__1__Impl40954);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__OwnedTypeAssignment_0_1_0_1_in_rule__NavigatingArgCS__Group_0_1_0__1__Impl42824);
             rule__NavigatingArgCS__OwnedTypeAssignment_0_1_0_1();
 
             state._fsp--;
@@ -59746,16 +62214,16 @@
 
 
     // $ANTLR start "rule__NavigatingArgCS__Group_0_1_0__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19983:1: rule__NavigatingArgCS__Group_0_1_0__2 : rule__NavigatingArgCS__Group_0_1_0__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21001:1: rule__NavigatingArgCS__Group_0_1_0__2 : rule__NavigatingArgCS__Group_0_1_0__2__Impl ;
     public final void rule__NavigatingArgCS__Group_0_1_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19987:1: ( rule__NavigatingArgCS__Group_0_1_0__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19988:2: rule__NavigatingArgCS__Group_0_1_0__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21005:1: ( rule__NavigatingArgCS__Group_0_1_0__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21006:2: rule__NavigatingArgCS__Group_0_1_0__2__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_0_1_0__2__Impl_in_rule__NavigatingArgCS__Group_0_1_0__240984);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_0_1_0__2__Impl_in_rule__NavigatingArgCS__Group_0_1_0__242854);
             rule__NavigatingArgCS__Group_0_1_0__2__Impl();
 
             state._fsp--;
@@ -59779,33 +62247,33 @@
 
 
     // $ANTLR start "rule__NavigatingArgCS__Group_0_1_0__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19994:1: rule__NavigatingArgCS__Group_0_1_0__2__Impl : ( ( rule__NavigatingArgCS__Group_0_1_0_2__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21012:1: rule__NavigatingArgCS__Group_0_1_0__2__Impl : ( ( rule__NavigatingArgCS__Group_0_1_0_2__0 )? ) ;
     public final void rule__NavigatingArgCS__Group_0_1_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19998:1: ( ( ( rule__NavigatingArgCS__Group_0_1_0_2__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19999:1: ( ( rule__NavigatingArgCS__Group_0_1_0_2__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21016:1: ( ( ( rule__NavigatingArgCS__Group_0_1_0_2__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21017:1: ( ( rule__NavigatingArgCS__Group_0_1_0_2__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:19999:1: ( ( rule__NavigatingArgCS__Group_0_1_0_2__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20000:1: ( rule__NavigatingArgCS__Group_0_1_0_2__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21017:1: ( ( rule__NavigatingArgCS__Group_0_1_0_2__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21018:1: ( rule__NavigatingArgCS__Group_0_1_0_2__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingArgCSAccess().getGroup_0_1_0_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20001:1: ( rule__NavigatingArgCS__Group_0_1_0_2__0 )?
-            int alt211=2;
-            int LA211_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21019:1: ( rule__NavigatingArgCS__Group_0_1_0_2__0 )?
+            int alt239=2;
+            int LA239_0 = input.LA(1);
 
-            if ( (LA211_0==70) ) {
-                alt211=1;
+            if ( (LA239_0==79) ) {
+                alt239=1;
             }
-            switch (alt211) {
+            switch (alt239) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20001:2: rule__NavigatingArgCS__Group_0_1_0_2__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21019:2: rule__NavigatingArgCS__Group_0_1_0_2__0
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_0_1_0_2__0_in_rule__NavigatingArgCS__Group_0_1_0__2__Impl41011);
+                    pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_0_1_0_2__0_in_rule__NavigatingArgCS__Group_0_1_0__2__Impl42881);
                     rule__NavigatingArgCS__Group_0_1_0_2__0();
 
                     state._fsp--;
@@ -59841,21 +62309,21 @@
 
 
     // $ANTLR start "rule__NavigatingArgCS__Group_0_1_0_2__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20017:1: rule__NavigatingArgCS__Group_0_1_0_2__0 : rule__NavigatingArgCS__Group_0_1_0_2__0__Impl rule__NavigatingArgCS__Group_0_1_0_2__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21035:1: rule__NavigatingArgCS__Group_0_1_0_2__0 : rule__NavigatingArgCS__Group_0_1_0_2__0__Impl rule__NavigatingArgCS__Group_0_1_0_2__1 ;
     public final void rule__NavigatingArgCS__Group_0_1_0_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20021:1: ( rule__NavigatingArgCS__Group_0_1_0_2__0__Impl rule__NavigatingArgCS__Group_0_1_0_2__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20022:2: rule__NavigatingArgCS__Group_0_1_0_2__0__Impl rule__NavigatingArgCS__Group_0_1_0_2__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21039:1: ( rule__NavigatingArgCS__Group_0_1_0_2__0__Impl rule__NavigatingArgCS__Group_0_1_0_2__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21040:2: rule__NavigatingArgCS__Group_0_1_0_2__0__Impl rule__NavigatingArgCS__Group_0_1_0_2__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_0_1_0_2__0__Impl_in_rule__NavigatingArgCS__Group_0_1_0_2__041048);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_0_1_0_2__0__Impl_in_rule__NavigatingArgCS__Group_0_1_0_2__042918);
             rule__NavigatingArgCS__Group_0_1_0_2__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_0_1_0_2__1_in_rule__NavigatingArgCS__Group_0_1_0_2__041051);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_0_1_0_2__1_in_rule__NavigatingArgCS__Group_0_1_0_2__042921);
             rule__NavigatingArgCS__Group_0_1_0_2__1();
 
             state._fsp--;
@@ -59879,22 +62347,22 @@
 
 
     // $ANTLR start "rule__NavigatingArgCS__Group_0_1_0_2__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20029:1: rule__NavigatingArgCS__Group_0_1_0_2__0__Impl : ( '=' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21047:1: rule__NavigatingArgCS__Group_0_1_0_2__0__Impl : ( '=' ) ;
     public final void rule__NavigatingArgCS__Group_0_1_0_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20033:1: ( ( '=' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20034:1: ( '=' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21051:1: ( ( '=' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21052:1: ( '=' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20034:1: ( '=' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20035:1: '='
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21052:1: ( '=' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21053:1: '='
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingArgCSAccess().getEqualsSignKeyword_0_1_0_2_0()); 
             }
-            match(input,70,FollowSets001.FOLLOW_70_in_rule__NavigatingArgCS__Group_0_1_0_2__0__Impl41079); if (state.failed) return ;
+            match(input,79,FollowSets001.FOLLOW_79_in_rule__NavigatingArgCS__Group_0_1_0_2__0__Impl42949); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getNavigatingArgCSAccess().getEqualsSignKeyword_0_1_0_2_0()); 
             }
@@ -59920,16 +62388,16 @@
 
 
     // $ANTLR start "rule__NavigatingArgCS__Group_0_1_0_2__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20048:1: rule__NavigatingArgCS__Group_0_1_0_2__1 : rule__NavigatingArgCS__Group_0_1_0_2__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21066:1: rule__NavigatingArgCS__Group_0_1_0_2__1 : rule__NavigatingArgCS__Group_0_1_0_2__1__Impl ;
     public final void rule__NavigatingArgCS__Group_0_1_0_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20052:1: ( rule__NavigatingArgCS__Group_0_1_0_2__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20053:2: rule__NavigatingArgCS__Group_0_1_0_2__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21070:1: ( rule__NavigatingArgCS__Group_0_1_0_2__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21071:2: rule__NavigatingArgCS__Group_0_1_0_2__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_0_1_0_2__1__Impl_in_rule__NavigatingArgCS__Group_0_1_0_2__141110);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_0_1_0_2__1__Impl_in_rule__NavigatingArgCS__Group_0_1_0_2__142980);
             rule__NavigatingArgCS__Group_0_1_0_2__1__Impl();
 
             state._fsp--;
@@ -59953,25 +62421,25 @@
 
 
     // $ANTLR start "rule__NavigatingArgCS__Group_0_1_0_2__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20059:1: rule__NavigatingArgCS__Group_0_1_0_2__1__Impl : ( ( rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_0_2_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21077:1: rule__NavigatingArgCS__Group_0_1_0_2__1__Impl : ( ( rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_0_2_1 ) ) ;
     public final void rule__NavigatingArgCS__Group_0_1_0_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20063:1: ( ( ( rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_0_2_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20064:1: ( ( rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_0_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21081:1: ( ( ( rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_0_2_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21082:1: ( ( rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_0_2_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20064:1: ( ( rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_0_2_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20065:1: ( rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_0_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21082:1: ( ( rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_0_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21083:1: ( rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_0_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingArgCSAccess().getOwnedInitExpressionAssignment_0_1_0_2_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20066:1: ( rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_0_2_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20066:2: rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_0_2_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21084:1: ( rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_0_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21084:2: rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_0_2_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_0_2_1_in_rule__NavigatingArgCS__Group_0_1_0_2__1__Impl41137);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_0_2_1_in_rule__NavigatingArgCS__Group_0_1_0_2__1__Impl43007);
             rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_0_2_1();
 
             state._fsp--;
@@ -60004,21 +62472,21 @@
 
 
     // $ANTLR start "rule__NavigatingArgCS__Group_0_1_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20080:1: rule__NavigatingArgCS__Group_0_1_1__0 : rule__NavigatingArgCS__Group_0_1_1__0__Impl rule__NavigatingArgCS__Group_0_1_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21098:1: rule__NavigatingArgCS__Group_0_1_1__0 : rule__NavigatingArgCS__Group_0_1_1__0__Impl rule__NavigatingArgCS__Group_0_1_1__1 ;
     public final void rule__NavigatingArgCS__Group_0_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20084:1: ( rule__NavigatingArgCS__Group_0_1_1__0__Impl rule__NavigatingArgCS__Group_0_1_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20085:2: rule__NavigatingArgCS__Group_0_1_1__0__Impl rule__NavigatingArgCS__Group_0_1_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21102:1: ( rule__NavigatingArgCS__Group_0_1_1__0__Impl rule__NavigatingArgCS__Group_0_1_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21103:2: rule__NavigatingArgCS__Group_0_1_1__0__Impl rule__NavigatingArgCS__Group_0_1_1__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_0_1_1__0__Impl_in_rule__NavigatingArgCS__Group_0_1_1__041171);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_0_1_1__0__Impl_in_rule__NavigatingArgCS__Group_0_1_1__043041);
             rule__NavigatingArgCS__Group_0_1_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_0_1_1__1_in_rule__NavigatingArgCS__Group_0_1_1__041174);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_0_1_1__1_in_rule__NavigatingArgCS__Group_0_1_1__043044);
             rule__NavigatingArgCS__Group_0_1_1__1();
 
             state._fsp--;
@@ -60042,22 +62510,22 @@
 
 
     // $ANTLR start "rule__NavigatingArgCS__Group_0_1_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20092:1: rule__NavigatingArgCS__Group_0_1_1__0__Impl : ( 'in' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21110:1: rule__NavigatingArgCS__Group_0_1_1__0__Impl : ( 'in' ) ;
     public final void rule__NavigatingArgCS__Group_0_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20096:1: ( ( 'in' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20097:1: ( 'in' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21114:1: ( ( 'in' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21115:1: ( 'in' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20097:1: ( 'in' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20098:1: 'in'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21115:1: ( 'in' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21116:1: 'in'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingArgCSAccess().getInKeyword_0_1_1_0()); 
             }
-            match(input,111,FollowSets001.FOLLOW_111_in_rule__NavigatingArgCS__Group_0_1_1__0__Impl41202); if (state.failed) return ;
+            match(input,120,FollowSets001.FOLLOW_120_in_rule__NavigatingArgCS__Group_0_1_1__0__Impl43072); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getNavigatingArgCSAccess().getInKeyword_0_1_1_0()); 
             }
@@ -60083,16 +62551,16 @@
 
 
     // $ANTLR start "rule__NavigatingArgCS__Group_0_1_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20111:1: rule__NavigatingArgCS__Group_0_1_1__1 : rule__NavigatingArgCS__Group_0_1_1__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21129:1: rule__NavigatingArgCS__Group_0_1_1__1 : rule__NavigatingArgCS__Group_0_1_1__1__Impl ;
     public final void rule__NavigatingArgCS__Group_0_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20115:1: ( rule__NavigatingArgCS__Group_0_1_1__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20116:2: rule__NavigatingArgCS__Group_0_1_1__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21133:1: ( rule__NavigatingArgCS__Group_0_1_1__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21134:2: rule__NavigatingArgCS__Group_0_1_1__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_0_1_1__1__Impl_in_rule__NavigatingArgCS__Group_0_1_1__141233);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_0_1_1__1__Impl_in_rule__NavigatingArgCS__Group_0_1_1__143103);
             rule__NavigatingArgCS__Group_0_1_1__1__Impl();
 
             state._fsp--;
@@ -60116,25 +62584,25 @@
 
 
     // $ANTLR start "rule__NavigatingArgCS__Group_0_1_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20122:1: rule__NavigatingArgCS__Group_0_1_1__1__Impl : ( ( rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_1_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21140:1: rule__NavigatingArgCS__Group_0_1_1__1__Impl : ( ( rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_1_1 ) ) ;
     public final void rule__NavigatingArgCS__Group_0_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20126:1: ( ( ( rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_1_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20127:1: ( ( rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21144:1: ( ( ( rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_1_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21145:1: ( ( rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_1_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20127:1: ( ( rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_1_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20128:1: ( rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21145:1: ( ( rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21146:1: ( rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingArgCSAccess().getOwnedInitExpressionAssignment_0_1_1_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20129:1: ( rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_1_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20129:2: rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_1_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21147:1: ( rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21147:2: rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_1_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_1_1_in_rule__NavigatingArgCS__Group_0_1_1__1__Impl41260);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_1_1_in_rule__NavigatingArgCS__Group_0_1_1__1__Impl43130);
             rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_1_1();
 
             state._fsp--;
@@ -60167,21 +62635,21 @@
 
 
     // $ANTLR start "rule__NavigatingArgCS__Group_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20143:1: rule__NavigatingArgCS__Group_1__0 : rule__NavigatingArgCS__Group_1__0__Impl rule__NavigatingArgCS__Group_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21161:1: rule__NavigatingArgCS__Group_1__0 : rule__NavigatingArgCS__Group_1__0__Impl rule__NavigatingArgCS__Group_1__1 ;
     public final void rule__NavigatingArgCS__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20147:1: ( rule__NavigatingArgCS__Group_1__0__Impl rule__NavigatingArgCS__Group_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20148:2: rule__NavigatingArgCS__Group_1__0__Impl rule__NavigatingArgCS__Group_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21165:1: ( rule__NavigatingArgCS__Group_1__0__Impl rule__NavigatingArgCS__Group_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21166:2: rule__NavigatingArgCS__Group_1__0__Impl rule__NavigatingArgCS__Group_1__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_1__0__Impl_in_rule__NavigatingArgCS__Group_1__041294);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_1__0__Impl_in_rule__NavigatingArgCS__Group_1__043164);
             rule__NavigatingArgCS__Group_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_1__1_in_rule__NavigatingArgCS__Group_1__041297);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_1__1_in_rule__NavigatingArgCS__Group_1__043167);
             rule__NavigatingArgCS__Group_1__1();
 
             state._fsp--;
@@ -60205,22 +62673,22 @@
 
 
     // $ANTLR start "rule__NavigatingArgCS__Group_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20155:1: rule__NavigatingArgCS__Group_1__0__Impl : ( ':' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21173:1: rule__NavigatingArgCS__Group_1__0__Impl : ( ':' ) ;
     public final void rule__NavigatingArgCS__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20159:1: ( ( ':' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20160:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21177:1: ( ( ':' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21178:1: ( ':' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20160:1: ( ':' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20161:1: ':'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21178:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21179:1: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingArgCSAccess().getColonKeyword_1_0()); 
             }
-            match(input,97,FollowSets001.FOLLOW_97_in_rule__NavigatingArgCS__Group_1__0__Impl41325); if (state.failed) return ;
+            match(input,106,FollowSets001.FOLLOW_106_in_rule__NavigatingArgCS__Group_1__0__Impl43195); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getNavigatingArgCSAccess().getColonKeyword_1_0()); 
             }
@@ -60246,16 +62714,16 @@
 
 
     // $ANTLR start "rule__NavigatingArgCS__Group_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20174:1: rule__NavigatingArgCS__Group_1__1 : rule__NavigatingArgCS__Group_1__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21192:1: rule__NavigatingArgCS__Group_1__1 : rule__NavigatingArgCS__Group_1__1__Impl ;
     public final void rule__NavigatingArgCS__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20178:1: ( rule__NavigatingArgCS__Group_1__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20179:2: rule__NavigatingArgCS__Group_1__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21196:1: ( rule__NavigatingArgCS__Group_1__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21197:2: rule__NavigatingArgCS__Group_1__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_1__1__Impl_in_rule__NavigatingArgCS__Group_1__141356);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__Group_1__1__Impl_in_rule__NavigatingArgCS__Group_1__143226);
             rule__NavigatingArgCS__Group_1__1__Impl();
 
             state._fsp--;
@@ -60279,25 +62747,25 @@
 
 
     // $ANTLR start "rule__NavigatingArgCS__Group_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20185:1: rule__NavigatingArgCS__Group_1__1__Impl : ( ( rule__NavigatingArgCS__OwnedTypeAssignment_1_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21203:1: rule__NavigatingArgCS__Group_1__1__Impl : ( ( rule__NavigatingArgCS__OwnedTypeAssignment_1_1 ) ) ;
     public final void rule__NavigatingArgCS__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20189:1: ( ( ( rule__NavigatingArgCS__OwnedTypeAssignment_1_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20190:1: ( ( rule__NavigatingArgCS__OwnedTypeAssignment_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21207:1: ( ( ( rule__NavigatingArgCS__OwnedTypeAssignment_1_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21208:1: ( ( rule__NavigatingArgCS__OwnedTypeAssignment_1_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20190:1: ( ( rule__NavigatingArgCS__OwnedTypeAssignment_1_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20191:1: ( rule__NavigatingArgCS__OwnedTypeAssignment_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21208:1: ( ( rule__NavigatingArgCS__OwnedTypeAssignment_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21209:1: ( rule__NavigatingArgCS__OwnedTypeAssignment_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingArgCSAccess().getOwnedTypeAssignment_1_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20192:1: ( rule__NavigatingArgCS__OwnedTypeAssignment_1_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20192:2: rule__NavigatingArgCS__OwnedTypeAssignment_1_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21210:1: ( rule__NavigatingArgCS__OwnedTypeAssignment_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21210:2: rule__NavigatingArgCS__OwnedTypeAssignment_1_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__OwnedTypeAssignment_1_1_in_rule__NavigatingArgCS__Group_1__1__Impl41383);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingArgCS__OwnedTypeAssignment_1_1_in_rule__NavigatingArgCS__Group_1__1__Impl43253);
             rule__NavigatingArgCS__OwnedTypeAssignment_1_1();
 
             state._fsp--;
@@ -60330,21 +62798,21 @@
 
 
     // $ANTLR start "rule__NavigatingBarArgCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20206:1: rule__NavigatingBarArgCS__Group__0 : rule__NavigatingBarArgCS__Group__0__Impl rule__NavigatingBarArgCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21224:1: rule__NavigatingBarArgCS__Group__0 : rule__NavigatingBarArgCS__Group__0__Impl rule__NavigatingBarArgCS__Group__1 ;
     public final void rule__NavigatingBarArgCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20210:1: ( rule__NavigatingBarArgCS__Group__0__Impl rule__NavigatingBarArgCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20211:2: rule__NavigatingBarArgCS__Group__0__Impl rule__NavigatingBarArgCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21228:1: ( rule__NavigatingBarArgCS__Group__0__Impl rule__NavigatingBarArgCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21229:2: rule__NavigatingBarArgCS__Group__0__Impl rule__NavigatingBarArgCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group__0__Impl_in_rule__NavigatingBarArgCS__Group__041417);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group__0__Impl_in_rule__NavigatingBarArgCS__Group__043287);
             rule__NavigatingBarArgCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group__1_in_rule__NavigatingBarArgCS__Group__041420);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group__1_in_rule__NavigatingBarArgCS__Group__043290);
             rule__NavigatingBarArgCS__Group__1();
 
             state._fsp--;
@@ -60368,25 +62836,25 @@
 
 
     // $ANTLR start "rule__NavigatingBarArgCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20218:1: rule__NavigatingBarArgCS__Group__0__Impl : ( ( rule__NavigatingBarArgCS__PrefixAssignment_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21236:1: rule__NavigatingBarArgCS__Group__0__Impl : ( ( rule__NavigatingBarArgCS__PrefixAssignment_0 ) ) ;
     public final void rule__NavigatingBarArgCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20222:1: ( ( ( rule__NavigatingBarArgCS__PrefixAssignment_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20223:1: ( ( rule__NavigatingBarArgCS__PrefixAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21240:1: ( ( ( rule__NavigatingBarArgCS__PrefixAssignment_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21241:1: ( ( rule__NavigatingBarArgCS__PrefixAssignment_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20223:1: ( ( rule__NavigatingBarArgCS__PrefixAssignment_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20224:1: ( rule__NavigatingBarArgCS__PrefixAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21241:1: ( ( rule__NavigatingBarArgCS__PrefixAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21242:1: ( rule__NavigatingBarArgCS__PrefixAssignment_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingBarArgCSAccess().getPrefixAssignment_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20225:1: ( rule__NavigatingBarArgCS__PrefixAssignment_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20225:2: rule__NavigatingBarArgCS__PrefixAssignment_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21243:1: ( rule__NavigatingBarArgCS__PrefixAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21243:2: rule__NavigatingBarArgCS__PrefixAssignment_0
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__PrefixAssignment_0_in_rule__NavigatingBarArgCS__Group__0__Impl41447);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__PrefixAssignment_0_in_rule__NavigatingBarArgCS__Group__0__Impl43317);
             rule__NavigatingBarArgCS__PrefixAssignment_0();
 
             state._fsp--;
@@ -60419,21 +62887,21 @@
 
 
     // $ANTLR start "rule__NavigatingBarArgCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20235:1: rule__NavigatingBarArgCS__Group__1 : rule__NavigatingBarArgCS__Group__1__Impl rule__NavigatingBarArgCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21253:1: rule__NavigatingBarArgCS__Group__1 : rule__NavigatingBarArgCS__Group__1__Impl rule__NavigatingBarArgCS__Group__2 ;
     public final void rule__NavigatingBarArgCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20239:1: ( rule__NavigatingBarArgCS__Group__1__Impl rule__NavigatingBarArgCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20240:2: rule__NavigatingBarArgCS__Group__1__Impl rule__NavigatingBarArgCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21257:1: ( rule__NavigatingBarArgCS__Group__1__Impl rule__NavigatingBarArgCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21258:2: rule__NavigatingBarArgCS__Group__1__Impl rule__NavigatingBarArgCS__Group__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group__1__Impl_in_rule__NavigatingBarArgCS__Group__141477);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group__1__Impl_in_rule__NavigatingBarArgCS__Group__143347);
             rule__NavigatingBarArgCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group__2_in_rule__NavigatingBarArgCS__Group__141480);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group__2_in_rule__NavigatingBarArgCS__Group__143350);
             rule__NavigatingBarArgCS__Group__2();
 
             state._fsp--;
@@ -60457,25 +62925,25 @@
 
 
     // $ANTLR start "rule__NavigatingBarArgCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20247:1: rule__NavigatingBarArgCS__Group__1__Impl : ( ( rule__NavigatingBarArgCS__OwnedNameExpressionAssignment_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21265:1: rule__NavigatingBarArgCS__Group__1__Impl : ( ( rule__NavigatingBarArgCS__OwnedNameExpressionAssignment_1 ) ) ;
     public final void rule__NavigatingBarArgCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20251:1: ( ( ( rule__NavigatingBarArgCS__OwnedNameExpressionAssignment_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20252:1: ( ( rule__NavigatingBarArgCS__OwnedNameExpressionAssignment_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21269:1: ( ( ( rule__NavigatingBarArgCS__OwnedNameExpressionAssignment_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21270:1: ( ( rule__NavigatingBarArgCS__OwnedNameExpressionAssignment_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20252:1: ( ( rule__NavigatingBarArgCS__OwnedNameExpressionAssignment_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20253:1: ( rule__NavigatingBarArgCS__OwnedNameExpressionAssignment_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21270:1: ( ( rule__NavigatingBarArgCS__OwnedNameExpressionAssignment_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21271:1: ( rule__NavigatingBarArgCS__OwnedNameExpressionAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingBarArgCSAccess().getOwnedNameExpressionAssignment_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20254:1: ( rule__NavigatingBarArgCS__OwnedNameExpressionAssignment_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20254:2: rule__NavigatingBarArgCS__OwnedNameExpressionAssignment_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21272:1: ( rule__NavigatingBarArgCS__OwnedNameExpressionAssignment_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21272:2: rule__NavigatingBarArgCS__OwnedNameExpressionAssignment_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__OwnedNameExpressionAssignment_1_in_rule__NavigatingBarArgCS__Group__1__Impl41507);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__OwnedNameExpressionAssignment_1_in_rule__NavigatingBarArgCS__Group__1__Impl43377);
             rule__NavigatingBarArgCS__OwnedNameExpressionAssignment_1();
 
             state._fsp--;
@@ -60508,16 +62976,16 @@
 
 
     // $ANTLR start "rule__NavigatingBarArgCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20264:1: rule__NavigatingBarArgCS__Group__2 : rule__NavigatingBarArgCS__Group__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21282:1: rule__NavigatingBarArgCS__Group__2 : rule__NavigatingBarArgCS__Group__2__Impl ;
     public final void rule__NavigatingBarArgCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20268:1: ( rule__NavigatingBarArgCS__Group__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20269:2: rule__NavigatingBarArgCS__Group__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21286:1: ( rule__NavigatingBarArgCS__Group__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21287:2: rule__NavigatingBarArgCS__Group__2__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group__2__Impl_in_rule__NavigatingBarArgCS__Group__241537);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group__2__Impl_in_rule__NavigatingBarArgCS__Group__243407);
             rule__NavigatingBarArgCS__Group__2__Impl();
 
             state._fsp--;
@@ -60541,33 +63009,33 @@
 
 
     // $ANTLR start "rule__NavigatingBarArgCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20275:1: rule__NavigatingBarArgCS__Group__2__Impl : ( ( rule__NavigatingBarArgCS__Group_2__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21293:1: rule__NavigatingBarArgCS__Group__2__Impl : ( ( rule__NavigatingBarArgCS__Group_2__0 )? ) ;
     public final void rule__NavigatingBarArgCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20279:1: ( ( ( rule__NavigatingBarArgCS__Group_2__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20280:1: ( ( rule__NavigatingBarArgCS__Group_2__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21297:1: ( ( ( rule__NavigatingBarArgCS__Group_2__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21298:1: ( ( rule__NavigatingBarArgCS__Group_2__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20280:1: ( ( rule__NavigatingBarArgCS__Group_2__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20281:1: ( rule__NavigatingBarArgCS__Group_2__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21298:1: ( ( rule__NavigatingBarArgCS__Group_2__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21299:1: ( rule__NavigatingBarArgCS__Group_2__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingBarArgCSAccess().getGroup_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20282:1: ( rule__NavigatingBarArgCS__Group_2__0 )?
-            int alt212=2;
-            int LA212_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21300:1: ( rule__NavigatingBarArgCS__Group_2__0 )?
+            int alt240=2;
+            int LA240_0 = input.LA(1);
 
-            if ( (LA212_0==97) ) {
-                alt212=1;
+            if ( (LA240_0==106) ) {
+                alt240=1;
             }
-            switch (alt212) {
+            switch (alt240) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20282:2: rule__NavigatingBarArgCS__Group_2__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21300:2: rule__NavigatingBarArgCS__Group_2__0
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group_2__0_in_rule__NavigatingBarArgCS__Group__2__Impl41564);
+                    pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group_2__0_in_rule__NavigatingBarArgCS__Group__2__Impl43434);
                     rule__NavigatingBarArgCS__Group_2__0();
 
                     state._fsp--;
@@ -60603,21 +63071,21 @@
 
 
     // $ANTLR start "rule__NavigatingBarArgCS__Group_2__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20298:1: rule__NavigatingBarArgCS__Group_2__0 : rule__NavigatingBarArgCS__Group_2__0__Impl rule__NavigatingBarArgCS__Group_2__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21316:1: rule__NavigatingBarArgCS__Group_2__0 : rule__NavigatingBarArgCS__Group_2__0__Impl rule__NavigatingBarArgCS__Group_2__1 ;
     public final void rule__NavigatingBarArgCS__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20302:1: ( rule__NavigatingBarArgCS__Group_2__0__Impl rule__NavigatingBarArgCS__Group_2__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20303:2: rule__NavigatingBarArgCS__Group_2__0__Impl rule__NavigatingBarArgCS__Group_2__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21320:1: ( rule__NavigatingBarArgCS__Group_2__0__Impl rule__NavigatingBarArgCS__Group_2__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21321:2: rule__NavigatingBarArgCS__Group_2__0__Impl rule__NavigatingBarArgCS__Group_2__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group_2__0__Impl_in_rule__NavigatingBarArgCS__Group_2__041601);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group_2__0__Impl_in_rule__NavigatingBarArgCS__Group_2__043471);
             rule__NavigatingBarArgCS__Group_2__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group_2__1_in_rule__NavigatingBarArgCS__Group_2__041604);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group_2__1_in_rule__NavigatingBarArgCS__Group_2__043474);
             rule__NavigatingBarArgCS__Group_2__1();
 
             state._fsp--;
@@ -60641,22 +63109,22 @@
 
 
     // $ANTLR start "rule__NavigatingBarArgCS__Group_2__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20310:1: rule__NavigatingBarArgCS__Group_2__0__Impl : ( ':' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21328:1: rule__NavigatingBarArgCS__Group_2__0__Impl : ( ':' ) ;
     public final void rule__NavigatingBarArgCS__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20314:1: ( ( ':' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20315:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21332:1: ( ( ':' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21333:1: ( ':' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20315:1: ( ':' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20316:1: ':'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21333:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21334:1: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingBarArgCSAccess().getColonKeyword_2_0()); 
             }
-            match(input,97,FollowSets001.FOLLOW_97_in_rule__NavigatingBarArgCS__Group_2__0__Impl41632); if (state.failed) return ;
+            match(input,106,FollowSets001.FOLLOW_106_in_rule__NavigatingBarArgCS__Group_2__0__Impl43502); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getNavigatingBarArgCSAccess().getColonKeyword_2_0()); 
             }
@@ -60682,21 +63150,21 @@
 
 
     // $ANTLR start "rule__NavigatingBarArgCS__Group_2__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20329:1: rule__NavigatingBarArgCS__Group_2__1 : rule__NavigatingBarArgCS__Group_2__1__Impl rule__NavigatingBarArgCS__Group_2__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21347:1: rule__NavigatingBarArgCS__Group_2__1 : rule__NavigatingBarArgCS__Group_2__1__Impl rule__NavigatingBarArgCS__Group_2__2 ;
     public final void rule__NavigatingBarArgCS__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20333:1: ( rule__NavigatingBarArgCS__Group_2__1__Impl rule__NavigatingBarArgCS__Group_2__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20334:2: rule__NavigatingBarArgCS__Group_2__1__Impl rule__NavigatingBarArgCS__Group_2__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21351:1: ( rule__NavigatingBarArgCS__Group_2__1__Impl rule__NavigatingBarArgCS__Group_2__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21352:2: rule__NavigatingBarArgCS__Group_2__1__Impl rule__NavigatingBarArgCS__Group_2__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group_2__1__Impl_in_rule__NavigatingBarArgCS__Group_2__141663);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group_2__1__Impl_in_rule__NavigatingBarArgCS__Group_2__143533);
             rule__NavigatingBarArgCS__Group_2__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group_2__2_in_rule__NavigatingBarArgCS__Group_2__141666);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group_2__2_in_rule__NavigatingBarArgCS__Group_2__143536);
             rule__NavigatingBarArgCS__Group_2__2();
 
             state._fsp--;
@@ -60720,25 +63188,25 @@
 
 
     // $ANTLR start "rule__NavigatingBarArgCS__Group_2__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20341:1: rule__NavigatingBarArgCS__Group_2__1__Impl : ( ( rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21359:1: rule__NavigatingBarArgCS__Group_2__1__Impl : ( ( rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1 ) ) ;
     public final void rule__NavigatingBarArgCS__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20345:1: ( ( ( rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20346:1: ( ( rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21363:1: ( ( ( rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21364:1: ( ( rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20346:1: ( ( rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20347:1: ( rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21364:1: ( ( rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21365:1: ( rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingBarArgCSAccess().getOwnedTypeAssignment_2_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20348:1: ( rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20348:2: rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21366:1: ( rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21366:2: rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1_in_rule__NavigatingBarArgCS__Group_2__1__Impl41693);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1_in_rule__NavigatingBarArgCS__Group_2__1__Impl43563);
             rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1();
 
             state._fsp--;
@@ -60771,16 +63239,16 @@
 
 
     // $ANTLR start "rule__NavigatingBarArgCS__Group_2__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20358:1: rule__NavigatingBarArgCS__Group_2__2 : rule__NavigatingBarArgCS__Group_2__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21376:1: rule__NavigatingBarArgCS__Group_2__2 : rule__NavigatingBarArgCS__Group_2__2__Impl ;
     public final void rule__NavigatingBarArgCS__Group_2__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20362:1: ( rule__NavigatingBarArgCS__Group_2__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20363:2: rule__NavigatingBarArgCS__Group_2__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21380:1: ( rule__NavigatingBarArgCS__Group_2__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21381:2: rule__NavigatingBarArgCS__Group_2__2__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group_2__2__Impl_in_rule__NavigatingBarArgCS__Group_2__241723);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group_2__2__Impl_in_rule__NavigatingBarArgCS__Group_2__243593);
             rule__NavigatingBarArgCS__Group_2__2__Impl();
 
             state._fsp--;
@@ -60804,33 +63272,33 @@
 
 
     // $ANTLR start "rule__NavigatingBarArgCS__Group_2__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20369:1: rule__NavigatingBarArgCS__Group_2__2__Impl : ( ( rule__NavigatingBarArgCS__Group_2_2__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21387:1: rule__NavigatingBarArgCS__Group_2__2__Impl : ( ( rule__NavigatingBarArgCS__Group_2_2__0 )? ) ;
     public final void rule__NavigatingBarArgCS__Group_2__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20373:1: ( ( ( rule__NavigatingBarArgCS__Group_2_2__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20374:1: ( ( rule__NavigatingBarArgCS__Group_2_2__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21391:1: ( ( ( rule__NavigatingBarArgCS__Group_2_2__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21392:1: ( ( rule__NavigatingBarArgCS__Group_2_2__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20374:1: ( ( rule__NavigatingBarArgCS__Group_2_2__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20375:1: ( rule__NavigatingBarArgCS__Group_2_2__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21392:1: ( ( rule__NavigatingBarArgCS__Group_2_2__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21393:1: ( rule__NavigatingBarArgCS__Group_2_2__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingBarArgCSAccess().getGroup_2_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20376:1: ( rule__NavigatingBarArgCS__Group_2_2__0 )?
-            int alt213=2;
-            int LA213_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21394:1: ( rule__NavigatingBarArgCS__Group_2_2__0 )?
+            int alt241=2;
+            int LA241_0 = input.LA(1);
 
-            if ( (LA213_0==70) ) {
-                alt213=1;
+            if ( (LA241_0==79) ) {
+                alt241=1;
             }
-            switch (alt213) {
+            switch (alt241) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20376:2: rule__NavigatingBarArgCS__Group_2_2__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21394:2: rule__NavigatingBarArgCS__Group_2_2__0
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group_2_2__0_in_rule__NavigatingBarArgCS__Group_2__2__Impl41750);
+                    pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group_2_2__0_in_rule__NavigatingBarArgCS__Group_2__2__Impl43620);
                     rule__NavigatingBarArgCS__Group_2_2__0();
 
                     state._fsp--;
@@ -60866,21 +63334,21 @@
 
 
     // $ANTLR start "rule__NavigatingBarArgCS__Group_2_2__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20392:1: rule__NavigatingBarArgCS__Group_2_2__0 : rule__NavigatingBarArgCS__Group_2_2__0__Impl rule__NavigatingBarArgCS__Group_2_2__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21410:1: rule__NavigatingBarArgCS__Group_2_2__0 : rule__NavigatingBarArgCS__Group_2_2__0__Impl rule__NavigatingBarArgCS__Group_2_2__1 ;
     public final void rule__NavigatingBarArgCS__Group_2_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20396:1: ( rule__NavigatingBarArgCS__Group_2_2__0__Impl rule__NavigatingBarArgCS__Group_2_2__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20397:2: rule__NavigatingBarArgCS__Group_2_2__0__Impl rule__NavigatingBarArgCS__Group_2_2__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21414:1: ( rule__NavigatingBarArgCS__Group_2_2__0__Impl rule__NavigatingBarArgCS__Group_2_2__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21415:2: rule__NavigatingBarArgCS__Group_2_2__0__Impl rule__NavigatingBarArgCS__Group_2_2__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group_2_2__0__Impl_in_rule__NavigatingBarArgCS__Group_2_2__041787);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group_2_2__0__Impl_in_rule__NavigatingBarArgCS__Group_2_2__043657);
             rule__NavigatingBarArgCS__Group_2_2__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group_2_2__1_in_rule__NavigatingBarArgCS__Group_2_2__041790);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group_2_2__1_in_rule__NavigatingBarArgCS__Group_2_2__043660);
             rule__NavigatingBarArgCS__Group_2_2__1();
 
             state._fsp--;
@@ -60904,22 +63372,22 @@
 
 
     // $ANTLR start "rule__NavigatingBarArgCS__Group_2_2__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20404:1: rule__NavigatingBarArgCS__Group_2_2__0__Impl : ( '=' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21422:1: rule__NavigatingBarArgCS__Group_2_2__0__Impl : ( '=' ) ;
     public final void rule__NavigatingBarArgCS__Group_2_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20408:1: ( ( '=' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20409:1: ( '=' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21426:1: ( ( '=' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21427:1: ( '=' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20409:1: ( '=' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20410:1: '='
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21427:1: ( '=' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21428:1: '='
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingBarArgCSAccess().getEqualsSignKeyword_2_2_0()); 
             }
-            match(input,70,FollowSets001.FOLLOW_70_in_rule__NavigatingBarArgCS__Group_2_2__0__Impl41818); if (state.failed) return ;
+            match(input,79,FollowSets001.FOLLOW_79_in_rule__NavigatingBarArgCS__Group_2_2__0__Impl43688); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getNavigatingBarArgCSAccess().getEqualsSignKeyword_2_2_0()); 
             }
@@ -60945,16 +63413,16 @@
 
 
     // $ANTLR start "rule__NavigatingBarArgCS__Group_2_2__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20423:1: rule__NavigatingBarArgCS__Group_2_2__1 : rule__NavigatingBarArgCS__Group_2_2__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21441:1: rule__NavigatingBarArgCS__Group_2_2__1 : rule__NavigatingBarArgCS__Group_2_2__1__Impl ;
     public final void rule__NavigatingBarArgCS__Group_2_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20427:1: ( rule__NavigatingBarArgCS__Group_2_2__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20428:2: rule__NavigatingBarArgCS__Group_2_2__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21445:1: ( rule__NavigatingBarArgCS__Group_2_2__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21446:2: rule__NavigatingBarArgCS__Group_2_2__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group_2_2__1__Impl_in_rule__NavigatingBarArgCS__Group_2_2__141849);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__Group_2_2__1__Impl_in_rule__NavigatingBarArgCS__Group_2_2__143719);
             rule__NavigatingBarArgCS__Group_2_2__1__Impl();
 
             state._fsp--;
@@ -60978,25 +63446,25 @@
 
 
     // $ANTLR start "rule__NavigatingBarArgCS__Group_2_2__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20434:1: rule__NavigatingBarArgCS__Group_2_2__1__Impl : ( ( rule__NavigatingBarArgCS__OwnedInitExpressionAssignment_2_2_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21452:1: rule__NavigatingBarArgCS__Group_2_2__1__Impl : ( ( rule__NavigatingBarArgCS__OwnedInitExpressionAssignment_2_2_1 ) ) ;
     public final void rule__NavigatingBarArgCS__Group_2_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20438:1: ( ( ( rule__NavigatingBarArgCS__OwnedInitExpressionAssignment_2_2_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20439:1: ( ( rule__NavigatingBarArgCS__OwnedInitExpressionAssignment_2_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21456:1: ( ( ( rule__NavigatingBarArgCS__OwnedInitExpressionAssignment_2_2_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21457:1: ( ( rule__NavigatingBarArgCS__OwnedInitExpressionAssignment_2_2_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20439:1: ( ( rule__NavigatingBarArgCS__OwnedInitExpressionAssignment_2_2_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20440:1: ( rule__NavigatingBarArgCS__OwnedInitExpressionAssignment_2_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21457:1: ( ( rule__NavigatingBarArgCS__OwnedInitExpressionAssignment_2_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21458:1: ( rule__NavigatingBarArgCS__OwnedInitExpressionAssignment_2_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingBarArgCSAccess().getOwnedInitExpressionAssignment_2_2_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20441:1: ( rule__NavigatingBarArgCS__OwnedInitExpressionAssignment_2_2_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20441:2: rule__NavigatingBarArgCS__OwnedInitExpressionAssignment_2_2_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21459:1: ( rule__NavigatingBarArgCS__OwnedInitExpressionAssignment_2_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21459:2: rule__NavigatingBarArgCS__OwnedInitExpressionAssignment_2_2_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__OwnedInitExpressionAssignment_2_2_1_in_rule__NavigatingBarArgCS__Group_2_2__1__Impl41876);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingBarArgCS__OwnedInitExpressionAssignment_2_2_1_in_rule__NavigatingBarArgCS__Group_2_2__1__Impl43746);
             rule__NavigatingBarArgCS__OwnedInitExpressionAssignment_2_2_1();
 
             state._fsp--;
@@ -61029,21 +63497,21 @@
 
 
     // $ANTLR start "rule__NavigatingCommaArgCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20455:1: rule__NavigatingCommaArgCS__Group__0 : rule__NavigatingCommaArgCS__Group__0__Impl rule__NavigatingCommaArgCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21473:1: rule__NavigatingCommaArgCS__Group__0 : rule__NavigatingCommaArgCS__Group__0__Impl rule__NavigatingCommaArgCS__Group__1 ;
     public final void rule__NavigatingCommaArgCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20459:1: ( rule__NavigatingCommaArgCS__Group__0__Impl rule__NavigatingCommaArgCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20460:2: rule__NavigatingCommaArgCS__Group__0__Impl rule__NavigatingCommaArgCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21477:1: ( rule__NavigatingCommaArgCS__Group__0__Impl rule__NavigatingCommaArgCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21478:2: rule__NavigatingCommaArgCS__Group__0__Impl rule__NavigatingCommaArgCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group__0__Impl_in_rule__NavigatingCommaArgCS__Group__041910);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group__0__Impl_in_rule__NavigatingCommaArgCS__Group__043780);
             rule__NavigatingCommaArgCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group__1_in_rule__NavigatingCommaArgCS__Group__041913);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group__1_in_rule__NavigatingCommaArgCS__Group__043783);
             rule__NavigatingCommaArgCS__Group__1();
 
             state._fsp--;
@@ -61067,25 +63535,25 @@
 
 
     // $ANTLR start "rule__NavigatingCommaArgCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20467:1: rule__NavigatingCommaArgCS__Group__0__Impl : ( ( rule__NavigatingCommaArgCS__PrefixAssignment_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21485:1: rule__NavigatingCommaArgCS__Group__0__Impl : ( ( rule__NavigatingCommaArgCS__PrefixAssignment_0 ) ) ;
     public final void rule__NavigatingCommaArgCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20471:1: ( ( ( rule__NavigatingCommaArgCS__PrefixAssignment_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20472:1: ( ( rule__NavigatingCommaArgCS__PrefixAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21489:1: ( ( ( rule__NavigatingCommaArgCS__PrefixAssignment_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21490:1: ( ( rule__NavigatingCommaArgCS__PrefixAssignment_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20472:1: ( ( rule__NavigatingCommaArgCS__PrefixAssignment_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20473:1: ( rule__NavigatingCommaArgCS__PrefixAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21490:1: ( ( rule__NavigatingCommaArgCS__PrefixAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21491:1: ( rule__NavigatingCommaArgCS__PrefixAssignment_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingCommaArgCSAccess().getPrefixAssignment_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20474:1: ( rule__NavigatingCommaArgCS__PrefixAssignment_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20474:2: rule__NavigatingCommaArgCS__PrefixAssignment_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21492:1: ( rule__NavigatingCommaArgCS__PrefixAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21492:2: rule__NavigatingCommaArgCS__PrefixAssignment_0
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__PrefixAssignment_0_in_rule__NavigatingCommaArgCS__Group__0__Impl41940);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__PrefixAssignment_0_in_rule__NavigatingCommaArgCS__Group__0__Impl43810);
             rule__NavigatingCommaArgCS__PrefixAssignment_0();
 
             state._fsp--;
@@ -61118,21 +63586,21 @@
 
 
     // $ANTLR start "rule__NavigatingCommaArgCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20484:1: rule__NavigatingCommaArgCS__Group__1 : rule__NavigatingCommaArgCS__Group__1__Impl rule__NavigatingCommaArgCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21502:1: rule__NavigatingCommaArgCS__Group__1 : rule__NavigatingCommaArgCS__Group__1__Impl rule__NavigatingCommaArgCS__Group__2 ;
     public final void rule__NavigatingCommaArgCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20488:1: ( rule__NavigatingCommaArgCS__Group__1__Impl rule__NavigatingCommaArgCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20489:2: rule__NavigatingCommaArgCS__Group__1__Impl rule__NavigatingCommaArgCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21506:1: ( rule__NavigatingCommaArgCS__Group__1__Impl rule__NavigatingCommaArgCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21507:2: rule__NavigatingCommaArgCS__Group__1__Impl rule__NavigatingCommaArgCS__Group__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group__1__Impl_in_rule__NavigatingCommaArgCS__Group__141970);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group__1__Impl_in_rule__NavigatingCommaArgCS__Group__143840);
             rule__NavigatingCommaArgCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group__2_in_rule__NavigatingCommaArgCS__Group__141973);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group__2_in_rule__NavigatingCommaArgCS__Group__143843);
             rule__NavigatingCommaArgCS__Group__2();
 
             state._fsp--;
@@ -61156,25 +63624,25 @@
 
 
     // $ANTLR start "rule__NavigatingCommaArgCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20496:1: rule__NavigatingCommaArgCS__Group__1__Impl : ( ( rule__NavigatingCommaArgCS__OwnedNameExpressionAssignment_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21514:1: rule__NavigatingCommaArgCS__Group__1__Impl : ( ( rule__NavigatingCommaArgCS__OwnedNameExpressionAssignment_1 ) ) ;
     public final void rule__NavigatingCommaArgCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20500:1: ( ( ( rule__NavigatingCommaArgCS__OwnedNameExpressionAssignment_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20501:1: ( ( rule__NavigatingCommaArgCS__OwnedNameExpressionAssignment_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21518:1: ( ( ( rule__NavigatingCommaArgCS__OwnedNameExpressionAssignment_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21519:1: ( ( rule__NavigatingCommaArgCS__OwnedNameExpressionAssignment_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20501:1: ( ( rule__NavigatingCommaArgCS__OwnedNameExpressionAssignment_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20502:1: ( rule__NavigatingCommaArgCS__OwnedNameExpressionAssignment_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21519:1: ( ( rule__NavigatingCommaArgCS__OwnedNameExpressionAssignment_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21520:1: ( rule__NavigatingCommaArgCS__OwnedNameExpressionAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedNameExpressionAssignment_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20503:1: ( rule__NavigatingCommaArgCS__OwnedNameExpressionAssignment_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20503:2: rule__NavigatingCommaArgCS__OwnedNameExpressionAssignment_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21521:1: ( rule__NavigatingCommaArgCS__OwnedNameExpressionAssignment_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21521:2: rule__NavigatingCommaArgCS__OwnedNameExpressionAssignment_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__OwnedNameExpressionAssignment_1_in_rule__NavigatingCommaArgCS__Group__1__Impl42000);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__OwnedNameExpressionAssignment_1_in_rule__NavigatingCommaArgCS__Group__1__Impl43870);
             rule__NavigatingCommaArgCS__OwnedNameExpressionAssignment_1();
 
             state._fsp--;
@@ -61207,16 +63675,16 @@
 
 
     // $ANTLR start "rule__NavigatingCommaArgCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20513:1: rule__NavigatingCommaArgCS__Group__2 : rule__NavigatingCommaArgCS__Group__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21531:1: rule__NavigatingCommaArgCS__Group__2 : rule__NavigatingCommaArgCS__Group__2__Impl ;
     public final void rule__NavigatingCommaArgCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20517:1: ( rule__NavigatingCommaArgCS__Group__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20518:2: rule__NavigatingCommaArgCS__Group__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21535:1: ( rule__NavigatingCommaArgCS__Group__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21536:2: rule__NavigatingCommaArgCS__Group__2__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group__2__Impl_in_rule__NavigatingCommaArgCS__Group__242030);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group__2__Impl_in_rule__NavigatingCommaArgCS__Group__243900);
             rule__NavigatingCommaArgCS__Group__2__Impl();
 
             state._fsp--;
@@ -61240,33 +63708,33 @@
 
 
     // $ANTLR start "rule__NavigatingCommaArgCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20524:1: rule__NavigatingCommaArgCS__Group__2__Impl : ( ( rule__NavigatingCommaArgCS__Alternatives_2 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21542:1: rule__NavigatingCommaArgCS__Group__2__Impl : ( ( rule__NavigatingCommaArgCS__Alternatives_2 )? ) ;
     public final void rule__NavigatingCommaArgCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20528:1: ( ( ( rule__NavigatingCommaArgCS__Alternatives_2 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20529:1: ( ( rule__NavigatingCommaArgCS__Alternatives_2 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21546:1: ( ( ( rule__NavigatingCommaArgCS__Alternatives_2 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21547:1: ( ( rule__NavigatingCommaArgCS__Alternatives_2 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20529:1: ( ( rule__NavigatingCommaArgCS__Alternatives_2 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20530:1: ( rule__NavigatingCommaArgCS__Alternatives_2 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21547:1: ( ( rule__NavigatingCommaArgCS__Alternatives_2 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21548:1: ( rule__NavigatingCommaArgCS__Alternatives_2 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingCommaArgCSAccess().getAlternatives_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20531:1: ( rule__NavigatingCommaArgCS__Alternatives_2 )?
-            int alt214=2;
-            int LA214_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21549:1: ( rule__NavigatingCommaArgCS__Alternatives_2 )?
+            int alt242=2;
+            int LA242_0 = input.LA(1);
 
-            if ( (LA214_0==97||LA214_0==111) ) {
-                alt214=1;
+            if ( (LA242_0==106||LA242_0==120) ) {
+                alt242=1;
             }
-            switch (alt214) {
+            switch (alt242) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20531:2: rule__NavigatingCommaArgCS__Alternatives_2
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21549:2: rule__NavigatingCommaArgCS__Alternatives_2
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Alternatives_2_in_rule__NavigatingCommaArgCS__Group__2__Impl42057);
+                    pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Alternatives_2_in_rule__NavigatingCommaArgCS__Group__2__Impl43927);
                     rule__NavigatingCommaArgCS__Alternatives_2();
 
                     state._fsp--;
@@ -61302,21 +63770,21 @@
 
 
     // $ANTLR start "rule__NavigatingCommaArgCS__Group_2_0__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20547:1: rule__NavigatingCommaArgCS__Group_2_0__0 : rule__NavigatingCommaArgCS__Group_2_0__0__Impl rule__NavigatingCommaArgCS__Group_2_0__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21565:1: rule__NavigatingCommaArgCS__Group_2_0__0 : rule__NavigatingCommaArgCS__Group_2_0__0__Impl rule__NavigatingCommaArgCS__Group_2_0__1 ;
     public final void rule__NavigatingCommaArgCS__Group_2_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20551:1: ( rule__NavigatingCommaArgCS__Group_2_0__0__Impl rule__NavigatingCommaArgCS__Group_2_0__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20552:2: rule__NavigatingCommaArgCS__Group_2_0__0__Impl rule__NavigatingCommaArgCS__Group_2_0__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21569:1: ( rule__NavigatingCommaArgCS__Group_2_0__0__Impl rule__NavigatingCommaArgCS__Group_2_0__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21570:2: rule__NavigatingCommaArgCS__Group_2_0__0__Impl rule__NavigatingCommaArgCS__Group_2_0__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group_2_0__0__Impl_in_rule__NavigatingCommaArgCS__Group_2_0__042094);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group_2_0__0__Impl_in_rule__NavigatingCommaArgCS__Group_2_0__043964);
             rule__NavigatingCommaArgCS__Group_2_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group_2_0__1_in_rule__NavigatingCommaArgCS__Group_2_0__042097);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group_2_0__1_in_rule__NavigatingCommaArgCS__Group_2_0__043967);
             rule__NavigatingCommaArgCS__Group_2_0__1();
 
             state._fsp--;
@@ -61340,22 +63808,22 @@
 
 
     // $ANTLR start "rule__NavigatingCommaArgCS__Group_2_0__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20559:1: rule__NavigatingCommaArgCS__Group_2_0__0__Impl : ( ':' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21577:1: rule__NavigatingCommaArgCS__Group_2_0__0__Impl : ( ':' ) ;
     public final void rule__NavigatingCommaArgCS__Group_2_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20563:1: ( ( ':' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20564:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21581:1: ( ( ':' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21582:1: ( ':' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20564:1: ( ':' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20565:1: ':'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21582:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21583:1: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingCommaArgCSAccess().getColonKeyword_2_0_0()); 
             }
-            match(input,97,FollowSets001.FOLLOW_97_in_rule__NavigatingCommaArgCS__Group_2_0__0__Impl42125); if (state.failed) return ;
+            match(input,106,FollowSets001.FOLLOW_106_in_rule__NavigatingCommaArgCS__Group_2_0__0__Impl43995); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getNavigatingCommaArgCSAccess().getColonKeyword_2_0_0()); 
             }
@@ -61381,21 +63849,21 @@
 
 
     // $ANTLR start "rule__NavigatingCommaArgCS__Group_2_0__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20578:1: rule__NavigatingCommaArgCS__Group_2_0__1 : rule__NavigatingCommaArgCS__Group_2_0__1__Impl rule__NavigatingCommaArgCS__Group_2_0__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21596:1: rule__NavigatingCommaArgCS__Group_2_0__1 : rule__NavigatingCommaArgCS__Group_2_0__1__Impl rule__NavigatingCommaArgCS__Group_2_0__2 ;
     public final void rule__NavigatingCommaArgCS__Group_2_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20582:1: ( rule__NavigatingCommaArgCS__Group_2_0__1__Impl rule__NavigatingCommaArgCS__Group_2_0__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20583:2: rule__NavigatingCommaArgCS__Group_2_0__1__Impl rule__NavigatingCommaArgCS__Group_2_0__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21600:1: ( rule__NavigatingCommaArgCS__Group_2_0__1__Impl rule__NavigatingCommaArgCS__Group_2_0__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21601:2: rule__NavigatingCommaArgCS__Group_2_0__1__Impl rule__NavigatingCommaArgCS__Group_2_0__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group_2_0__1__Impl_in_rule__NavigatingCommaArgCS__Group_2_0__142156);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group_2_0__1__Impl_in_rule__NavigatingCommaArgCS__Group_2_0__144026);
             rule__NavigatingCommaArgCS__Group_2_0__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group_2_0__2_in_rule__NavigatingCommaArgCS__Group_2_0__142159);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group_2_0__2_in_rule__NavigatingCommaArgCS__Group_2_0__144029);
             rule__NavigatingCommaArgCS__Group_2_0__2();
 
             state._fsp--;
@@ -61419,25 +63887,25 @@
 
 
     // $ANTLR start "rule__NavigatingCommaArgCS__Group_2_0__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20590:1: rule__NavigatingCommaArgCS__Group_2_0__1__Impl : ( ( rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_0_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21608:1: rule__NavigatingCommaArgCS__Group_2_0__1__Impl : ( ( rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_0_1 ) ) ;
     public final void rule__NavigatingCommaArgCS__Group_2_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20594:1: ( ( ( rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_0_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20595:1: ( ( rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_0_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21612:1: ( ( ( rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_0_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21613:1: ( ( rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_0_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20595:1: ( ( rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_0_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20596:1: ( rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_0_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21613:1: ( ( rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_0_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21614:1: ( rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedTypeAssignment_2_0_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20597:1: ( rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_0_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20597:2: rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_0_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21615:1: ( rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_0_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21615:2: rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_0_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_0_1_in_rule__NavigatingCommaArgCS__Group_2_0__1__Impl42186);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_0_1_in_rule__NavigatingCommaArgCS__Group_2_0__1__Impl44056);
             rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_0_1();
 
             state._fsp--;
@@ -61470,16 +63938,16 @@
 
 
     // $ANTLR start "rule__NavigatingCommaArgCS__Group_2_0__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20607:1: rule__NavigatingCommaArgCS__Group_2_0__2 : rule__NavigatingCommaArgCS__Group_2_0__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21625:1: rule__NavigatingCommaArgCS__Group_2_0__2 : rule__NavigatingCommaArgCS__Group_2_0__2__Impl ;
     public final void rule__NavigatingCommaArgCS__Group_2_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20611:1: ( rule__NavigatingCommaArgCS__Group_2_0__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20612:2: rule__NavigatingCommaArgCS__Group_2_0__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21629:1: ( rule__NavigatingCommaArgCS__Group_2_0__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21630:2: rule__NavigatingCommaArgCS__Group_2_0__2__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group_2_0__2__Impl_in_rule__NavigatingCommaArgCS__Group_2_0__242216);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group_2_0__2__Impl_in_rule__NavigatingCommaArgCS__Group_2_0__244086);
             rule__NavigatingCommaArgCS__Group_2_0__2__Impl();
 
             state._fsp--;
@@ -61503,33 +63971,33 @@
 
 
     // $ANTLR start "rule__NavigatingCommaArgCS__Group_2_0__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20618:1: rule__NavigatingCommaArgCS__Group_2_0__2__Impl : ( ( rule__NavigatingCommaArgCS__Group_2_0_2__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21636:1: rule__NavigatingCommaArgCS__Group_2_0__2__Impl : ( ( rule__NavigatingCommaArgCS__Group_2_0_2__0 )? ) ;
     public final void rule__NavigatingCommaArgCS__Group_2_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20622:1: ( ( ( rule__NavigatingCommaArgCS__Group_2_0_2__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20623:1: ( ( rule__NavigatingCommaArgCS__Group_2_0_2__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21640:1: ( ( ( rule__NavigatingCommaArgCS__Group_2_0_2__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21641:1: ( ( rule__NavigatingCommaArgCS__Group_2_0_2__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20623:1: ( ( rule__NavigatingCommaArgCS__Group_2_0_2__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20624:1: ( rule__NavigatingCommaArgCS__Group_2_0_2__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21641:1: ( ( rule__NavigatingCommaArgCS__Group_2_0_2__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21642:1: ( rule__NavigatingCommaArgCS__Group_2_0_2__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingCommaArgCSAccess().getGroup_2_0_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20625:1: ( rule__NavigatingCommaArgCS__Group_2_0_2__0 )?
-            int alt215=2;
-            int LA215_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21643:1: ( rule__NavigatingCommaArgCS__Group_2_0_2__0 )?
+            int alt243=2;
+            int LA243_0 = input.LA(1);
 
-            if ( (LA215_0==70) ) {
-                alt215=1;
+            if ( (LA243_0==79) ) {
+                alt243=1;
             }
-            switch (alt215) {
+            switch (alt243) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20625:2: rule__NavigatingCommaArgCS__Group_2_0_2__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21643:2: rule__NavigatingCommaArgCS__Group_2_0_2__0
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group_2_0_2__0_in_rule__NavigatingCommaArgCS__Group_2_0__2__Impl42243);
+                    pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group_2_0_2__0_in_rule__NavigatingCommaArgCS__Group_2_0__2__Impl44113);
                     rule__NavigatingCommaArgCS__Group_2_0_2__0();
 
                     state._fsp--;
@@ -61565,21 +64033,21 @@
 
 
     // $ANTLR start "rule__NavigatingCommaArgCS__Group_2_0_2__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20641:1: rule__NavigatingCommaArgCS__Group_2_0_2__0 : rule__NavigatingCommaArgCS__Group_2_0_2__0__Impl rule__NavigatingCommaArgCS__Group_2_0_2__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21659:1: rule__NavigatingCommaArgCS__Group_2_0_2__0 : rule__NavigatingCommaArgCS__Group_2_0_2__0__Impl rule__NavigatingCommaArgCS__Group_2_0_2__1 ;
     public final void rule__NavigatingCommaArgCS__Group_2_0_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20645:1: ( rule__NavigatingCommaArgCS__Group_2_0_2__0__Impl rule__NavigatingCommaArgCS__Group_2_0_2__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20646:2: rule__NavigatingCommaArgCS__Group_2_0_2__0__Impl rule__NavigatingCommaArgCS__Group_2_0_2__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21663:1: ( rule__NavigatingCommaArgCS__Group_2_0_2__0__Impl rule__NavigatingCommaArgCS__Group_2_0_2__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21664:2: rule__NavigatingCommaArgCS__Group_2_0_2__0__Impl rule__NavigatingCommaArgCS__Group_2_0_2__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group_2_0_2__0__Impl_in_rule__NavigatingCommaArgCS__Group_2_0_2__042280);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group_2_0_2__0__Impl_in_rule__NavigatingCommaArgCS__Group_2_0_2__044150);
             rule__NavigatingCommaArgCS__Group_2_0_2__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group_2_0_2__1_in_rule__NavigatingCommaArgCS__Group_2_0_2__042283);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group_2_0_2__1_in_rule__NavigatingCommaArgCS__Group_2_0_2__044153);
             rule__NavigatingCommaArgCS__Group_2_0_2__1();
 
             state._fsp--;
@@ -61603,22 +64071,22 @@
 
 
     // $ANTLR start "rule__NavigatingCommaArgCS__Group_2_0_2__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20653:1: rule__NavigatingCommaArgCS__Group_2_0_2__0__Impl : ( '=' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21671:1: rule__NavigatingCommaArgCS__Group_2_0_2__0__Impl : ( '=' ) ;
     public final void rule__NavigatingCommaArgCS__Group_2_0_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20657:1: ( ( '=' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20658:1: ( '=' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21675:1: ( ( '=' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21676:1: ( '=' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20658:1: ( '=' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20659:1: '='
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21676:1: ( '=' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21677:1: '='
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingCommaArgCSAccess().getEqualsSignKeyword_2_0_2_0()); 
             }
-            match(input,70,FollowSets001.FOLLOW_70_in_rule__NavigatingCommaArgCS__Group_2_0_2__0__Impl42311); if (state.failed) return ;
+            match(input,79,FollowSets001.FOLLOW_79_in_rule__NavigatingCommaArgCS__Group_2_0_2__0__Impl44181); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getNavigatingCommaArgCSAccess().getEqualsSignKeyword_2_0_2_0()); 
             }
@@ -61644,16 +64112,16 @@
 
 
     // $ANTLR start "rule__NavigatingCommaArgCS__Group_2_0_2__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20672:1: rule__NavigatingCommaArgCS__Group_2_0_2__1 : rule__NavigatingCommaArgCS__Group_2_0_2__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21690:1: rule__NavigatingCommaArgCS__Group_2_0_2__1 : rule__NavigatingCommaArgCS__Group_2_0_2__1__Impl ;
     public final void rule__NavigatingCommaArgCS__Group_2_0_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20676:1: ( rule__NavigatingCommaArgCS__Group_2_0_2__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20677:2: rule__NavigatingCommaArgCS__Group_2_0_2__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21694:1: ( rule__NavigatingCommaArgCS__Group_2_0_2__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21695:2: rule__NavigatingCommaArgCS__Group_2_0_2__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group_2_0_2__1__Impl_in_rule__NavigatingCommaArgCS__Group_2_0_2__142342);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group_2_0_2__1__Impl_in_rule__NavigatingCommaArgCS__Group_2_0_2__144212);
             rule__NavigatingCommaArgCS__Group_2_0_2__1__Impl();
 
             state._fsp--;
@@ -61677,25 +64145,25 @@
 
 
     // $ANTLR start "rule__NavigatingCommaArgCS__Group_2_0_2__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20683:1: rule__NavigatingCommaArgCS__Group_2_0_2__1__Impl : ( ( rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_0_2_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21701:1: rule__NavigatingCommaArgCS__Group_2_0_2__1__Impl : ( ( rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_0_2_1 ) ) ;
     public final void rule__NavigatingCommaArgCS__Group_2_0_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20687:1: ( ( ( rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_0_2_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20688:1: ( ( rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_0_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21705:1: ( ( ( rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_0_2_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21706:1: ( ( rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_0_2_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20688:1: ( ( rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_0_2_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20689:1: ( rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_0_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21706:1: ( ( rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_0_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21707:1: ( rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_0_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedInitExpressionAssignment_2_0_2_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20690:1: ( rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_0_2_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20690:2: rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_0_2_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21708:1: ( rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_0_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21708:2: rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_0_2_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_0_2_1_in_rule__NavigatingCommaArgCS__Group_2_0_2__1__Impl42369);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_0_2_1_in_rule__NavigatingCommaArgCS__Group_2_0_2__1__Impl44239);
             rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_0_2_1();
 
             state._fsp--;
@@ -61728,21 +64196,21 @@
 
 
     // $ANTLR start "rule__NavigatingCommaArgCS__Group_2_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20704:1: rule__NavigatingCommaArgCS__Group_2_1__0 : rule__NavigatingCommaArgCS__Group_2_1__0__Impl rule__NavigatingCommaArgCS__Group_2_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21722:1: rule__NavigatingCommaArgCS__Group_2_1__0 : rule__NavigatingCommaArgCS__Group_2_1__0__Impl rule__NavigatingCommaArgCS__Group_2_1__1 ;
     public final void rule__NavigatingCommaArgCS__Group_2_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20708:1: ( rule__NavigatingCommaArgCS__Group_2_1__0__Impl rule__NavigatingCommaArgCS__Group_2_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20709:2: rule__NavigatingCommaArgCS__Group_2_1__0__Impl rule__NavigatingCommaArgCS__Group_2_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21726:1: ( rule__NavigatingCommaArgCS__Group_2_1__0__Impl rule__NavigatingCommaArgCS__Group_2_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21727:2: rule__NavigatingCommaArgCS__Group_2_1__0__Impl rule__NavigatingCommaArgCS__Group_2_1__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group_2_1__0__Impl_in_rule__NavigatingCommaArgCS__Group_2_1__042403);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group_2_1__0__Impl_in_rule__NavigatingCommaArgCS__Group_2_1__044273);
             rule__NavigatingCommaArgCS__Group_2_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group_2_1__1_in_rule__NavigatingCommaArgCS__Group_2_1__042406);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group_2_1__1_in_rule__NavigatingCommaArgCS__Group_2_1__044276);
             rule__NavigatingCommaArgCS__Group_2_1__1();
 
             state._fsp--;
@@ -61766,22 +64234,22 @@
 
 
     // $ANTLR start "rule__NavigatingCommaArgCS__Group_2_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20716:1: rule__NavigatingCommaArgCS__Group_2_1__0__Impl : ( 'in' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21734:1: rule__NavigatingCommaArgCS__Group_2_1__0__Impl : ( 'in' ) ;
     public final void rule__NavigatingCommaArgCS__Group_2_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20720:1: ( ( 'in' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20721:1: ( 'in' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21738:1: ( ( 'in' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21739:1: ( 'in' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20721:1: ( 'in' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20722:1: 'in'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21739:1: ( 'in' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21740:1: 'in'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingCommaArgCSAccess().getInKeyword_2_1_0()); 
             }
-            match(input,111,FollowSets001.FOLLOW_111_in_rule__NavigatingCommaArgCS__Group_2_1__0__Impl42434); if (state.failed) return ;
+            match(input,120,FollowSets001.FOLLOW_120_in_rule__NavigatingCommaArgCS__Group_2_1__0__Impl44304); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getNavigatingCommaArgCSAccess().getInKeyword_2_1_0()); 
             }
@@ -61807,16 +64275,16 @@
 
 
     // $ANTLR start "rule__NavigatingCommaArgCS__Group_2_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20735:1: rule__NavigatingCommaArgCS__Group_2_1__1 : rule__NavigatingCommaArgCS__Group_2_1__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21753:1: rule__NavigatingCommaArgCS__Group_2_1__1 : rule__NavigatingCommaArgCS__Group_2_1__1__Impl ;
     public final void rule__NavigatingCommaArgCS__Group_2_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20739:1: ( rule__NavigatingCommaArgCS__Group_2_1__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20740:2: rule__NavigatingCommaArgCS__Group_2_1__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21757:1: ( rule__NavigatingCommaArgCS__Group_2_1__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21758:2: rule__NavigatingCommaArgCS__Group_2_1__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group_2_1__1__Impl_in_rule__NavigatingCommaArgCS__Group_2_1__142465);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__Group_2_1__1__Impl_in_rule__NavigatingCommaArgCS__Group_2_1__144335);
             rule__NavigatingCommaArgCS__Group_2_1__1__Impl();
 
             state._fsp--;
@@ -61840,25 +64308,25 @@
 
 
     // $ANTLR start "rule__NavigatingCommaArgCS__Group_2_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20746:1: rule__NavigatingCommaArgCS__Group_2_1__1__Impl : ( ( rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_1_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21764:1: rule__NavigatingCommaArgCS__Group_2_1__1__Impl : ( ( rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_1_1 ) ) ;
     public final void rule__NavigatingCommaArgCS__Group_2_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20750:1: ( ( ( rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_1_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20751:1: ( ( rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21768:1: ( ( ( rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_1_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21769:1: ( ( rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_1_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20751:1: ( ( rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_1_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20752:1: ( rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21769:1: ( ( rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21770:1: ( rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedInitExpressionAssignment_2_1_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20753:1: ( rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_1_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20753:2: rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_1_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21771:1: ( rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21771:2: rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_1_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_1_1_in_rule__NavigatingCommaArgCS__Group_2_1__1__Impl42492);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_1_1_in_rule__NavigatingCommaArgCS__Group_2_1__1__Impl44362);
             rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_1_1();
 
             state._fsp--;
@@ -61891,21 +64359,21 @@
 
 
     // $ANTLR start "rule__NavigatingSemiArgCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20767:1: rule__NavigatingSemiArgCS__Group__0 : rule__NavigatingSemiArgCS__Group__0__Impl rule__NavigatingSemiArgCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21785:1: rule__NavigatingSemiArgCS__Group__0 : rule__NavigatingSemiArgCS__Group__0__Impl rule__NavigatingSemiArgCS__Group__1 ;
     public final void rule__NavigatingSemiArgCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20771:1: ( rule__NavigatingSemiArgCS__Group__0__Impl rule__NavigatingSemiArgCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20772:2: rule__NavigatingSemiArgCS__Group__0__Impl rule__NavigatingSemiArgCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21789:1: ( rule__NavigatingSemiArgCS__Group__0__Impl rule__NavigatingSemiArgCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21790:2: rule__NavigatingSemiArgCS__Group__0__Impl rule__NavigatingSemiArgCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group__0__Impl_in_rule__NavigatingSemiArgCS__Group__042526);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group__0__Impl_in_rule__NavigatingSemiArgCS__Group__044396);
             rule__NavigatingSemiArgCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group__1_in_rule__NavigatingSemiArgCS__Group__042529);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group__1_in_rule__NavigatingSemiArgCS__Group__044399);
             rule__NavigatingSemiArgCS__Group__1();
 
             state._fsp--;
@@ -61929,25 +64397,25 @@
 
 
     // $ANTLR start "rule__NavigatingSemiArgCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20779:1: rule__NavigatingSemiArgCS__Group__0__Impl : ( ( rule__NavigatingSemiArgCS__PrefixAssignment_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21797:1: rule__NavigatingSemiArgCS__Group__0__Impl : ( ( rule__NavigatingSemiArgCS__PrefixAssignment_0 ) ) ;
     public final void rule__NavigatingSemiArgCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20783:1: ( ( ( rule__NavigatingSemiArgCS__PrefixAssignment_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20784:1: ( ( rule__NavigatingSemiArgCS__PrefixAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21801:1: ( ( ( rule__NavigatingSemiArgCS__PrefixAssignment_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21802:1: ( ( rule__NavigatingSemiArgCS__PrefixAssignment_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20784:1: ( ( rule__NavigatingSemiArgCS__PrefixAssignment_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20785:1: ( rule__NavigatingSemiArgCS__PrefixAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21802:1: ( ( rule__NavigatingSemiArgCS__PrefixAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21803:1: ( rule__NavigatingSemiArgCS__PrefixAssignment_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingSemiArgCSAccess().getPrefixAssignment_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20786:1: ( rule__NavigatingSemiArgCS__PrefixAssignment_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20786:2: rule__NavigatingSemiArgCS__PrefixAssignment_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21804:1: ( rule__NavigatingSemiArgCS__PrefixAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21804:2: rule__NavigatingSemiArgCS__PrefixAssignment_0
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__PrefixAssignment_0_in_rule__NavigatingSemiArgCS__Group__0__Impl42556);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__PrefixAssignment_0_in_rule__NavigatingSemiArgCS__Group__0__Impl44426);
             rule__NavigatingSemiArgCS__PrefixAssignment_0();
 
             state._fsp--;
@@ -61980,21 +64448,21 @@
 
 
     // $ANTLR start "rule__NavigatingSemiArgCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20796:1: rule__NavigatingSemiArgCS__Group__1 : rule__NavigatingSemiArgCS__Group__1__Impl rule__NavigatingSemiArgCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21814:1: rule__NavigatingSemiArgCS__Group__1 : rule__NavigatingSemiArgCS__Group__1__Impl rule__NavigatingSemiArgCS__Group__2 ;
     public final void rule__NavigatingSemiArgCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20800:1: ( rule__NavigatingSemiArgCS__Group__1__Impl rule__NavigatingSemiArgCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20801:2: rule__NavigatingSemiArgCS__Group__1__Impl rule__NavigatingSemiArgCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21818:1: ( rule__NavigatingSemiArgCS__Group__1__Impl rule__NavigatingSemiArgCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21819:2: rule__NavigatingSemiArgCS__Group__1__Impl rule__NavigatingSemiArgCS__Group__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group__1__Impl_in_rule__NavigatingSemiArgCS__Group__142586);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group__1__Impl_in_rule__NavigatingSemiArgCS__Group__144456);
             rule__NavigatingSemiArgCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group__2_in_rule__NavigatingSemiArgCS__Group__142589);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group__2_in_rule__NavigatingSemiArgCS__Group__144459);
             rule__NavigatingSemiArgCS__Group__2();
 
             state._fsp--;
@@ -62018,25 +64486,25 @@
 
 
     // $ANTLR start "rule__NavigatingSemiArgCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20808:1: rule__NavigatingSemiArgCS__Group__1__Impl : ( ( rule__NavigatingSemiArgCS__OwnedNameExpressionAssignment_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21826:1: rule__NavigatingSemiArgCS__Group__1__Impl : ( ( rule__NavigatingSemiArgCS__OwnedNameExpressionAssignment_1 ) ) ;
     public final void rule__NavigatingSemiArgCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20812:1: ( ( ( rule__NavigatingSemiArgCS__OwnedNameExpressionAssignment_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20813:1: ( ( rule__NavigatingSemiArgCS__OwnedNameExpressionAssignment_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21830:1: ( ( ( rule__NavigatingSemiArgCS__OwnedNameExpressionAssignment_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21831:1: ( ( rule__NavigatingSemiArgCS__OwnedNameExpressionAssignment_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20813:1: ( ( rule__NavigatingSemiArgCS__OwnedNameExpressionAssignment_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20814:1: ( rule__NavigatingSemiArgCS__OwnedNameExpressionAssignment_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21831:1: ( ( rule__NavigatingSemiArgCS__OwnedNameExpressionAssignment_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21832:1: ( rule__NavigatingSemiArgCS__OwnedNameExpressionAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingSemiArgCSAccess().getOwnedNameExpressionAssignment_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20815:1: ( rule__NavigatingSemiArgCS__OwnedNameExpressionAssignment_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20815:2: rule__NavigatingSemiArgCS__OwnedNameExpressionAssignment_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21833:1: ( rule__NavigatingSemiArgCS__OwnedNameExpressionAssignment_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21833:2: rule__NavigatingSemiArgCS__OwnedNameExpressionAssignment_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__OwnedNameExpressionAssignment_1_in_rule__NavigatingSemiArgCS__Group__1__Impl42616);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__OwnedNameExpressionAssignment_1_in_rule__NavigatingSemiArgCS__Group__1__Impl44486);
             rule__NavigatingSemiArgCS__OwnedNameExpressionAssignment_1();
 
             state._fsp--;
@@ -62069,16 +64537,16 @@
 
 
     // $ANTLR start "rule__NavigatingSemiArgCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20825:1: rule__NavigatingSemiArgCS__Group__2 : rule__NavigatingSemiArgCS__Group__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21843:1: rule__NavigatingSemiArgCS__Group__2 : rule__NavigatingSemiArgCS__Group__2__Impl ;
     public final void rule__NavigatingSemiArgCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20829:1: ( rule__NavigatingSemiArgCS__Group__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20830:2: rule__NavigatingSemiArgCS__Group__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21847:1: ( rule__NavigatingSemiArgCS__Group__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21848:2: rule__NavigatingSemiArgCS__Group__2__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group__2__Impl_in_rule__NavigatingSemiArgCS__Group__242646);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group__2__Impl_in_rule__NavigatingSemiArgCS__Group__244516);
             rule__NavigatingSemiArgCS__Group__2__Impl();
 
             state._fsp--;
@@ -62102,33 +64570,33 @@
 
 
     // $ANTLR start "rule__NavigatingSemiArgCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20836:1: rule__NavigatingSemiArgCS__Group__2__Impl : ( ( rule__NavigatingSemiArgCS__Group_2__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21854:1: rule__NavigatingSemiArgCS__Group__2__Impl : ( ( rule__NavigatingSemiArgCS__Group_2__0 )? ) ;
     public final void rule__NavigatingSemiArgCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20840:1: ( ( ( rule__NavigatingSemiArgCS__Group_2__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20841:1: ( ( rule__NavigatingSemiArgCS__Group_2__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21858:1: ( ( ( rule__NavigatingSemiArgCS__Group_2__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21859:1: ( ( rule__NavigatingSemiArgCS__Group_2__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20841:1: ( ( rule__NavigatingSemiArgCS__Group_2__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20842:1: ( rule__NavigatingSemiArgCS__Group_2__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21859:1: ( ( rule__NavigatingSemiArgCS__Group_2__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21860:1: ( rule__NavigatingSemiArgCS__Group_2__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingSemiArgCSAccess().getGroup_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20843:1: ( rule__NavigatingSemiArgCS__Group_2__0 )?
-            int alt216=2;
-            int LA216_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21861:1: ( rule__NavigatingSemiArgCS__Group_2__0 )?
+            int alt244=2;
+            int LA244_0 = input.LA(1);
 
-            if ( (LA216_0==97) ) {
-                alt216=1;
+            if ( (LA244_0==106) ) {
+                alt244=1;
             }
-            switch (alt216) {
+            switch (alt244) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20843:2: rule__NavigatingSemiArgCS__Group_2__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21861:2: rule__NavigatingSemiArgCS__Group_2__0
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group_2__0_in_rule__NavigatingSemiArgCS__Group__2__Impl42673);
+                    pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group_2__0_in_rule__NavigatingSemiArgCS__Group__2__Impl44543);
                     rule__NavigatingSemiArgCS__Group_2__0();
 
                     state._fsp--;
@@ -62164,21 +64632,21 @@
 
 
     // $ANTLR start "rule__NavigatingSemiArgCS__Group_2__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20859:1: rule__NavigatingSemiArgCS__Group_2__0 : rule__NavigatingSemiArgCS__Group_2__0__Impl rule__NavigatingSemiArgCS__Group_2__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21877:1: rule__NavigatingSemiArgCS__Group_2__0 : rule__NavigatingSemiArgCS__Group_2__0__Impl rule__NavigatingSemiArgCS__Group_2__1 ;
     public final void rule__NavigatingSemiArgCS__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20863:1: ( rule__NavigatingSemiArgCS__Group_2__0__Impl rule__NavigatingSemiArgCS__Group_2__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20864:2: rule__NavigatingSemiArgCS__Group_2__0__Impl rule__NavigatingSemiArgCS__Group_2__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21881:1: ( rule__NavigatingSemiArgCS__Group_2__0__Impl rule__NavigatingSemiArgCS__Group_2__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21882:2: rule__NavigatingSemiArgCS__Group_2__0__Impl rule__NavigatingSemiArgCS__Group_2__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group_2__0__Impl_in_rule__NavigatingSemiArgCS__Group_2__042710);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group_2__0__Impl_in_rule__NavigatingSemiArgCS__Group_2__044580);
             rule__NavigatingSemiArgCS__Group_2__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group_2__1_in_rule__NavigatingSemiArgCS__Group_2__042713);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group_2__1_in_rule__NavigatingSemiArgCS__Group_2__044583);
             rule__NavigatingSemiArgCS__Group_2__1();
 
             state._fsp--;
@@ -62202,22 +64670,22 @@
 
 
     // $ANTLR start "rule__NavigatingSemiArgCS__Group_2__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20871:1: rule__NavigatingSemiArgCS__Group_2__0__Impl : ( ':' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21889:1: rule__NavigatingSemiArgCS__Group_2__0__Impl : ( ':' ) ;
     public final void rule__NavigatingSemiArgCS__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20875:1: ( ( ':' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20876:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21893:1: ( ( ':' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21894:1: ( ':' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20876:1: ( ':' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20877:1: ':'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21894:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21895:1: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingSemiArgCSAccess().getColonKeyword_2_0()); 
             }
-            match(input,97,FollowSets001.FOLLOW_97_in_rule__NavigatingSemiArgCS__Group_2__0__Impl42741); if (state.failed) return ;
+            match(input,106,FollowSets001.FOLLOW_106_in_rule__NavigatingSemiArgCS__Group_2__0__Impl44611); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getNavigatingSemiArgCSAccess().getColonKeyword_2_0()); 
             }
@@ -62243,21 +64711,21 @@
 
 
     // $ANTLR start "rule__NavigatingSemiArgCS__Group_2__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20890:1: rule__NavigatingSemiArgCS__Group_2__1 : rule__NavigatingSemiArgCS__Group_2__1__Impl rule__NavigatingSemiArgCS__Group_2__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21908:1: rule__NavigatingSemiArgCS__Group_2__1 : rule__NavigatingSemiArgCS__Group_2__1__Impl rule__NavigatingSemiArgCS__Group_2__2 ;
     public final void rule__NavigatingSemiArgCS__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20894:1: ( rule__NavigatingSemiArgCS__Group_2__1__Impl rule__NavigatingSemiArgCS__Group_2__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20895:2: rule__NavigatingSemiArgCS__Group_2__1__Impl rule__NavigatingSemiArgCS__Group_2__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21912:1: ( rule__NavigatingSemiArgCS__Group_2__1__Impl rule__NavigatingSemiArgCS__Group_2__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21913:2: rule__NavigatingSemiArgCS__Group_2__1__Impl rule__NavigatingSemiArgCS__Group_2__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group_2__1__Impl_in_rule__NavigatingSemiArgCS__Group_2__142772);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group_2__1__Impl_in_rule__NavigatingSemiArgCS__Group_2__144642);
             rule__NavigatingSemiArgCS__Group_2__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group_2__2_in_rule__NavigatingSemiArgCS__Group_2__142775);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group_2__2_in_rule__NavigatingSemiArgCS__Group_2__144645);
             rule__NavigatingSemiArgCS__Group_2__2();
 
             state._fsp--;
@@ -62281,25 +64749,25 @@
 
 
     // $ANTLR start "rule__NavigatingSemiArgCS__Group_2__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20902:1: rule__NavigatingSemiArgCS__Group_2__1__Impl : ( ( rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21920:1: rule__NavigatingSemiArgCS__Group_2__1__Impl : ( ( rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1 ) ) ;
     public final void rule__NavigatingSemiArgCS__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20906:1: ( ( ( rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20907:1: ( ( rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21924:1: ( ( ( rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21925:1: ( ( rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20907:1: ( ( rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20908:1: ( rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21925:1: ( ( rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21926:1: ( rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingSemiArgCSAccess().getOwnedTypeAssignment_2_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20909:1: ( rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20909:2: rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21927:1: ( rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21927:2: rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1_in_rule__NavigatingSemiArgCS__Group_2__1__Impl42802);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1_in_rule__NavigatingSemiArgCS__Group_2__1__Impl44672);
             rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1();
 
             state._fsp--;
@@ -62332,16 +64800,16 @@
 
 
     // $ANTLR start "rule__NavigatingSemiArgCS__Group_2__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20919:1: rule__NavigatingSemiArgCS__Group_2__2 : rule__NavigatingSemiArgCS__Group_2__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21937:1: rule__NavigatingSemiArgCS__Group_2__2 : rule__NavigatingSemiArgCS__Group_2__2__Impl ;
     public final void rule__NavigatingSemiArgCS__Group_2__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20923:1: ( rule__NavigatingSemiArgCS__Group_2__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20924:2: rule__NavigatingSemiArgCS__Group_2__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21941:1: ( rule__NavigatingSemiArgCS__Group_2__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21942:2: rule__NavigatingSemiArgCS__Group_2__2__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group_2__2__Impl_in_rule__NavigatingSemiArgCS__Group_2__242832);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group_2__2__Impl_in_rule__NavigatingSemiArgCS__Group_2__244702);
             rule__NavigatingSemiArgCS__Group_2__2__Impl();
 
             state._fsp--;
@@ -62365,33 +64833,33 @@
 
 
     // $ANTLR start "rule__NavigatingSemiArgCS__Group_2__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20930:1: rule__NavigatingSemiArgCS__Group_2__2__Impl : ( ( rule__NavigatingSemiArgCS__Group_2_2__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21948:1: rule__NavigatingSemiArgCS__Group_2__2__Impl : ( ( rule__NavigatingSemiArgCS__Group_2_2__0 )? ) ;
     public final void rule__NavigatingSemiArgCS__Group_2__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20934:1: ( ( ( rule__NavigatingSemiArgCS__Group_2_2__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20935:1: ( ( rule__NavigatingSemiArgCS__Group_2_2__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21952:1: ( ( ( rule__NavigatingSemiArgCS__Group_2_2__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21953:1: ( ( rule__NavigatingSemiArgCS__Group_2_2__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20935:1: ( ( rule__NavigatingSemiArgCS__Group_2_2__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20936:1: ( rule__NavigatingSemiArgCS__Group_2_2__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21953:1: ( ( rule__NavigatingSemiArgCS__Group_2_2__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21954:1: ( rule__NavigatingSemiArgCS__Group_2_2__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingSemiArgCSAccess().getGroup_2_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20937:1: ( rule__NavigatingSemiArgCS__Group_2_2__0 )?
-            int alt217=2;
-            int LA217_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21955:1: ( rule__NavigatingSemiArgCS__Group_2_2__0 )?
+            int alt245=2;
+            int LA245_0 = input.LA(1);
 
-            if ( (LA217_0==70) ) {
-                alt217=1;
+            if ( (LA245_0==79) ) {
+                alt245=1;
             }
-            switch (alt217) {
+            switch (alt245) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20937:2: rule__NavigatingSemiArgCS__Group_2_2__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21955:2: rule__NavigatingSemiArgCS__Group_2_2__0
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group_2_2__0_in_rule__NavigatingSemiArgCS__Group_2__2__Impl42859);
+                    pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group_2_2__0_in_rule__NavigatingSemiArgCS__Group_2__2__Impl44729);
                     rule__NavigatingSemiArgCS__Group_2_2__0();
 
                     state._fsp--;
@@ -62427,21 +64895,21 @@
 
 
     // $ANTLR start "rule__NavigatingSemiArgCS__Group_2_2__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20953:1: rule__NavigatingSemiArgCS__Group_2_2__0 : rule__NavigatingSemiArgCS__Group_2_2__0__Impl rule__NavigatingSemiArgCS__Group_2_2__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21971:1: rule__NavigatingSemiArgCS__Group_2_2__0 : rule__NavigatingSemiArgCS__Group_2_2__0__Impl rule__NavigatingSemiArgCS__Group_2_2__1 ;
     public final void rule__NavigatingSemiArgCS__Group_2_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20957:1: ( rule__NavigatingSemiArgCS__Group_2_2__0__Impl rule__NavigatingSemiArgCS__Group_2_2__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20958:2: rule__NavigatingSemiArgCS__Group_2_2__0__Impl rule__NavigatingSemiArgCS__Group_2_2__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21975:1: ( rule__NavigatingSemiArgCS__Group_2_2__0__Impl rule__NavigatingSemiArgCS__Group_2_2__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21976:2: rule__NavigatingSemiArgCS__Group_2_2__0__Impl rule__NavigatingSemiArgCS__Group_2_2__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group_2_2__0__Impl_in_rule__NavigatingSemiArgCS__Group_2_2__042896);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group_2_2__0__Impl_in_rule__NavigatingSemiArgCS__Group_2_2__044766);
             rule__NavigatingSemiArgCS__Group_2_2__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group_2_2__1_in_rule__NavigatingSemiArgCS__Group_2_2__042899);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group_2_2__1_in_rule__NavigatingSemiArgCS__Group_2_2__044769);
             rule__NavigatingSemiArgCS__Group_2_2__1();
 
             state._fsp--;
@@ -62465,22 +64933,22 @@
 
 
     // $ANTLR start "rule__NavigatingSemiArgCS__Group_2_2__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20965:1: rule__NavigatingSemiArgCS__Group_2_2__0__Impl : ( '=' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21983:1: rule__NavigatingSemiArgCS__Group_2_2__0__Impl : ( '=' ) ;
     public final void rule__NavigatingSemiArgCS__Group_2_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20969:1: ( ( '=' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20970:1: ( '=' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21987:1: ( ( '=' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21988:1: ( '=' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20970:1: ( '=' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20971:1: '='
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21988:1: ( '=' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21989:1: '='
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingSemiArgCSAccess().getEqualsSignKeyword_2_2_0()); 
             }
-            match(input,70,FollowSets001.FOLLOW_70_in_rule__NavigatingSemiArgCS__Group_2_2__0__Impl42927); if (state.failed) return ;
+            match(input,79,FollowSets001.FOLLOW_79_in_rule__NavigatingSemiArgCS__Group_2_2__0__Impl44797); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getNavigatingSemiArgCSAccess().getEqualsSignKeyword_2_2_0()); 
             }
@@ -62506,16 +64974,16 @@
 
 
     // $ANTLR start "rule__NavigatingSemiArgCS__Group_2_2__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20984:1: rule__NavigatingSemiArgCS__Group_2_2__1 : rule__NavigatingSemiArgCS__Group_2_2__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22002:1: rule__NavigatingSemiArgCS__Group_2_2__1 : rule__NavigatingSemiArgCS__Group_2_2__1__Impl ;
     public final void rule__NavigatingSemiArgCS__Group_2_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20988:1: ( rule__NavigatingSemiArgCS__Group_2_2__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20989:2: rule__NavigatingSemiArgCS__Group_2_2__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22006:1: ( rule__NavigatingSemiArgCS__Group_2_2__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22007:2: rule__NavigatingSemiArgCS__Group_2_2__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group_2_2__1__Impl_in_rule__NavigatingSemiArgCS__Group_2_2__142958);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__Group_2_2__1__Impl_in_rule__NavigatingSemiArgCS__Group_2_2__144828);
             rule__NavigatingSemiArgCS__Group_2_2__1__Impl();
 
             state._fsp--;
@@ -62539,25 +65007,25 @@
 
 
     // $ANTLR start "rule__NavigatingSemiArgCS__Group_2_2__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20995:1: rule__NavigatingSemiArgCS__Group_2_2__1__Impl : ( ( rule__NavigatingSemiArgCS__OwnedInitExpressionAssignment_2_2_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22013:1: rule__NavigatingSemiArgCS__Group_2_2__1__Impl : ( ( rule__NavigatingSemiArgCS__OwnedInitExpressionAssignment_2_2_1 ) ) ;
     public final void rule__NavigatingSemiArgCS__Group_2_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:20999:1: ( ( ( rule__NavigatingSemiArgCS__OwnedInitExpressionAssignment_2_2_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21000:1: ( ( rule__NavigatingSemiArgCS__OwnedInitExpressionAssignment_2_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22017:1: ( ( ( rule__NavigatingSemiArgCS__OwnedInitExpressionAssignment_2_2_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22018:1: ( ( rule__NavigatingSemiArgCS__OwnedInitExpressionAssignment_2_2_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21000:1: ( ( rule__NavigatingSemiArgCS__OwnedInitExpressionAssignment_2_2_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21001:1: ( rule__NavigatingSemiArgCS__OwnedInitExpressionAssignment_2_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22018:1: ( ( rule__NavigatingSemiArgCS__OwnedInitExpressionAssignment_2_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22019:1: ( rule__NavigatingSemiArgCS__OwnedInitExpressionAssignment_2_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingSemiArgCSAccess().getOwnedInitExpressionAssignment_2_2_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21002:1: ( rule__NavigatingSemiArgCS__OwnedInitExpressionAssignment_2_2_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21002:2: rule__NavigatingSemiArgCS__OwnedInitExpressionAssignment_2_2_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22020:1: ( rule__NavigatingSemiArgCS__OwnedInitExpressionAssignment_2_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22020:2: rule__NavigatingSemiArgCS__OwnedInitExpressionAssignment_2_2_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__OwnedInitExpressionAssignment_2_2_1_in_rule__NavigatingSemiArgCS__Group_2_2__1__Impl42985);
+            pushFollow(FollowSets001.FOLLOW_rule__NavigatingSemiArgCS__OwnedInitExpressionAssignment_2_2_1_in_rule__NavigatingSemiArgCS__Group_2_2__1__Impl44855);
             rule__NavigatingSemiArgCS__OwnedInitExpressionAssignment_2_2_1();
 
             state._fsp--;
@@ -62590,21 +65058,21 @@
 
 
     // $ANTLR start "rule__IfExpCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21016:1: rule__IfExpCS__Group__0 : rule__IfExpCS__Group__0__Impl rule__IfExpCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22034:1: rule__IfExpCS__Group__0 : rule__IfExpCS__Group__0__Impl rule__IfExpCS__Group__1 ;
     public final void rule__IfExpCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21020:1: ( rule__IfExpCS__Group__0__Impl rule__IfExpCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21021:2: rule__IfExpCS__Group__0__Impl rule__IfExpCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22038:1: ( rule__IfExpCS__Group__0__Impl rule__IfExpCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22039:2: rule__IfExpCS__Group__0__Impl rule__IfExpCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__0__Impl_in_rule__IfExpCS__Group__043019);
+            pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__0__Impl_in_rule__IfExpCS__Group__044889);
             rule__IfExpCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__1_in_rule__IfExpCS__Group__043022);
+            pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__1_in_rule__IfExpCS__Group__044892);
             rule__IfExpCS__Group__1();
 
             state._fsp--;
@@ -62628,22 +65096,22 @@
 
 
     // $ANTLR start "rule__IfExpCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21028:1: rule__IfExpCS__Group__0__Impl : ( 'if' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22046:1: rule__IfExpCS__Group__0__Impl : ( 'if' ) ;
     public final void rule__IfExpCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21032:1: ( ( 'if' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21033:1: ( 'if' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22050:1: ( ( 'if' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22051:1: ( 'if' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21033:1: ( 'if' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21034:1: 'if'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22051:1: ( 'if' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22052:1: 'if'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getIfExpCSAccess().getIfKeyword_0()); 
             }
-            match(input,112,FollowSets001.FOLLOW_112_in_rule__IfExpCS__Group__0__Impl43050); if (state.failed) return ;
+            match(input,121,FollowSets001.FOLLOW_121_in_rule__IfExpCS__Group__0__Impl44920); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getIfExpCSAccess().getIfKeyword_0()); 
             }
@@ -62669,21 +65137,21 @@
 
 
     // $ANTLR start "rule__IfExpCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21047:1: rule__IfExpCS__Group__1 : rule__IfExpCS__Group__1__Impl rule__IfExpCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22065:1: rule__IfExpCS__Group__1 : rule__IfExpCS__Group__1__Impl rule__IfExpCS__Group__2 ;
     public final void rule__IfExpCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21051:1: ( rule__IfExpCS__Group__1__Impl rule__IfExpCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21052:2: rule__IfExpCS__Group__1__Impl rule__IfExpCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22069:1: ( rule__IfExpCS__Group__1__Impl rule__IfExpCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22070:2: rule__IfExpCS__Group__1__Impl rule__IfExpCS__Group__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__1__Impl_in_rule__IfExpCS__Group__143081);
+            pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__1__Impl_in_rule__IfExpCS__Group__144951);
             rule__IfExpCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__2_in_rule__IfExpCS__Group__143084);
+            pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__2_in_rule__IfExpCS__Group__144954);
             rule__IfExpCS__Group__2();
 
             state._fsp--;
@@ -62707,25 +65175,25 @@
 
 
     // $ANTLR start "rule__IfExpCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21059:1: rule__IfExpCS__Group__1__Impl : ( ( rule__IfExpCS__OwnedConditionAssignment_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22077:1: rule__IfExpCS__Group__1__Impl : ( ( rule__IfExpCS__OwnedConditionAssignment_1 ) ) ;
     public final void rule__IfExpCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21063:1: ( ( ( rule__IfExpCS__OwnedConditionAssignment_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21064:1: ( ( rule__IfExpCS__OwnedConditionAssignment_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22081:1: ( ( ( rule__IfExpCS__OwnedConditionAssignment_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22082:1: ( ( rule__IfExpCS__OwnedConditionAssignment_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21064:1: ( ( rule__IfExpCS__OwnedConditionAssignment_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21065:1: ( rule__IfExpCS__OwnedConditionAssignment_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22082:1: ( ( rule__IfExpCS__OwnedConditionAssignment_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22083:1: ( rule__IfExpCS__OwnedConditionAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getIfExpCSAccess().getOwnedConditionAssignment_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21066:1: ( rule__IfExpCS__OwnedConditionAssignment_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21066:2: rule__IfExpCS__OwnedConditionAssignment_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22084:1: ( rule__IfExpCS__OwnedConditionAssignment_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22084:2: rule__IfExpCS__OwnedConditionAssignment_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__OwnedConditionAssignment_1_in_rule__IfExpCS__Group__1__Impl43111);
+            pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__OwnedConditionAssignment_1_in_rule__IfExpCS__Group__1__Impl44981);
             rule__IfExpCS__OwnedConditionAssignment_1();
 
             state._fsp--;
@@ -62758,21 +65226,21 @@
 
 
     // $ANTLR start "rule__IfExpCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21076:1: rule__IfExpCS__Group__2 : rule__IfExpCS__Group__2__Impl rule__IfExpCS__Group__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22094:1: rule__IfExpCS__Group__2 : rule__IfExpCS__Group__2__Impl rule__IfExpCS__Group__3 ;
     public final void rule__IfExpCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21080:1: ( rule__IfExpCS__Group__2__Impl rule__IfExpCS__Group__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21081:2: rule__IfExpCS__Group__2__Impl rule__IfExpCS__Group__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22098:1: ( rule__IfExpCS__Group__2__Impl rule__IfExpCS__Group__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22099:2: rule__IfExpCS__Group__2__Impl rule__IfExpCS__Group__3
             {
-            pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__2__Impl_in_rule__IfExpCS__Group__243141);
+            pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__2__Impl_in_rule__IfExpCS__Group__245011);
             rule__IfExpCS__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__3_in_rule__IfExpCS__Group__243144);
+            pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__3_in_rule__IfExpCS__Group__245014);
             rule__IfExpCS__Group__3();
 
             state._fsp--;
@@ -62796,22 +65264,22 @@
 
 
     // $ANTLR start "rule__IfExpCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21088:1: rule__IfExpCS__Group__2__Impl : ( 'then' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22106:1: rule__IfExpCS__Group__2__Impl : ( 'then' ) ;
     public final void rule__IfExpCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21092:1: ( ( 'then' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21093:1: ( 'then' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22110:1: ( ( 'then' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22111:1: ( 'then' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21093:1: ( 'then' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21094:1: 'then'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22111:1: ( 'then' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22112:1: 'then'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getIfExpCSAccess().getThenKeyword_2()); 
             }
-            match(input,113,FollowSets001.FOLLOW_113_in_rule__IfExpCS__Group__2__Impl43172); if (state.failed) return ;
+            match(input,122,FollowSets001.FOLLOW_122_in_rule__IfExpCS__Group__2__Impl45042); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getIfExpCSAccess().getThenKeyword_2()); 
             }
@@ -62837,21 +65305,21 @@
 
 
     // $ANTLR start "rule__IfExpCS__Group__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21107:1: rule__IfExpCS__Group__3 : rule__IfExpCS__Group__3__Impl rule__IfExpCS__Group__4 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22125:1: rule__IfExpCS__Group__3 : rule__IfExpCS__Group__3__Impl rule__IfExpCS__Group__4 ;
     public final void rule__IfExpCS__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21111:1: ( rule__IfExpCS__Group__3__Impl rule__IfExpCS__Group__4 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21112:2: rule__IfExpCS__Group__3__Impl rule__IfExpCS__Group__4
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22129:1: ( rule__IfExpCS__Group__3__Impl rule__IfExpCS__Group__4 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22130:2: rule__IfExpCS__Group__3__Impl rule__IfExpCS__Group__4
             {
-            pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__3__Impl_in_rule__IfExpCS__Group__343203);
+            pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__3__Impl_in_rule__IfExpCS__Group__345073);
             rule__IfExpCS__Group__3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__4_in_rule__IfExpCS__Group__343206);
+            pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__4_in_rule__IfExpCS__Group__345076);
             rule__IfExpCS__Group__4();
 
             state._fsp--;
@@ -62875,25 +65343,25 @@
 
 
     // $ANTLR start "rule__IfExpCS__Group__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21119:1: rule__IfExpCS__Group__3__Impl : ( ( rule__IfExpCS__OwnedThenExpressionAssignment_3 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22137:1: rule__IfExpCS__Group__3__Impl : ( ( rule__IfExpCS__OwnedThenExpressionAssignment_3 ) ) ;
     public final void rule__IfExpCS__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21123:1: ( ( ( rule__IfExpCS__OwnedThenExpressionAssignment_3 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21124:1: ( ( rule__IfExpCS__OwnedThenExpressionAssignment_3 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22141:1: ( ( ( rule__IfExpCS__OwnedThenExpressionAssignment_3 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22142:1: ( ( rule__IfExpCS__OwnedThenExpressionAssignment_3 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21124:1: ( ( rule__IfExpCS__OwnedThenExpressionAssignment_3 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21125:1: ( rule__IfExpCS__OwnedThenExpressionAssignment_3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22142:1: ( ( rule__IfExpCS__OwnedThenExpressionAssignment_3 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22143:1: ( rule__IfExpCS__OwnedThenExpressionAssignment_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getIfExpCSAccess().getOwnedThenExpressionAssignment_3()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21126:1: ( rule__IfExpCS__OwnedThenExpressionAssignment_3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21126:2: rule__IfExpCS__OwnedThenExpressionAssignment_3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22144:1: ( rule__IfExpCS__OwnedThenExpressionAssignment_3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22144:2: rule__IfExpCS__OwnedThenExpressionAssignment_3
             {
-            pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__OwnedThenExpressionAssignment_3_in_rule__IfExpCS__Group__3__Impl43233);
+            pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__OwnedThenExpressionAssignment_3_in_rule__IfExpCS__Group__3__Impl45103);
             rule__IfExpCS__OwnedThenExpressionAssignment_3();
 
             state._fsp--;
@@ -62926,21 +65394,21 @@
 
 
     // $ANTLR start "rule__IfExpCS__Group__4"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21136:1: rule__IfExpCS__Group__4 : rule__IfExpCS__Group__4__Impl rule__IfExpCS__Group__5 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22154:1: rule__IfExpCS__Group__4 : rule__IfExpCS__Group__4__Impl rule__IfExpCS__Group__5 ;
     public final void rule__IfExpCS__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21140:1: ( rule__IfExpCS__Group__4__Impl rule__IfExpCS__Group__5 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21141:2: rule__IfExpCS__Group__4__Impl rule__IfExpCS__Group__5
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22158:1: ( rule__IfExpCS__Group__4__Impl rule__IfExpCS__Group__5 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22159:2: rule__IfExpCS__Group__4__Impl rule__IfExpCS__Group__5
             {
-            pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__4__Impl_in_rule__IfExpCS__Group__443263);
+            pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__4__Impl_in_rule__IfExpCS__Group__445133);
             rule__IfExpCS__Group__4__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__5_in_rule__IfExpCS__Group__443266);
+            pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__5_in_rule__IfExpCS__Group__445136);
             rule__IfExpCS__Group__5();
 
             state._fsp--;
@@ -62964,37 +65432,37 @@
 
 
     // $ANTLR start "rule__IfExpCS__Group__4__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21148:1: rule__IfExpCS__Group__4__Impl : ( ( rule__IfExpCS__OwnedIfThenExpressionsAssignment_4 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22166:1: rule__IfExpCS__Group__4__Impl : ( ( rule__IfExpCS__OwnedIfThenExpressionsAssignment_4 )* ) ;
     public final void rule__IfExpCS__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21152:1: ( ( ( rule__IfExpCS__OwnedIfThenExpressionsAssignment_4 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21153:1: ( ( rule__IfExpCS__OwnedIfThenExpressionsAssignment_4 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22170:1: ( ( ( rule__IfExpCS__OwnedIfThenExpressionsAssignment_4 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22171:1: ( ( rule__IfExpCS__OwnedIfThenExpressionsAssignment_4 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21153:1: ( ( rule__IfExpCS__OwnedIfThenExpressionsAssignment_4 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21154:1: ( rule__IfExpCS__OwnedIfThenExpressionsAssignment_4 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22171:1: ( ( rule__IfExpCS__OwnedIfThenExpressionsAssignment_4 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22172:1: ( rule__IfExpCS__OwnedIfThenExpressionsAssignment_4 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getIfExpCSAccess().getOwnedIfThenExpressionsAssignment_4()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21155:1: ( rule__IfExpCS__OwnedIfThenExpressionsAssignment_4 )*
-            loop218:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22173:1: ( rule__IfExpCS__OwnedIfThenExpressionsAssignment_4 )*
+            loop246:
             do {
-                int alt218=2;
-                int LA218_0 = input.LA(1);
+                int alt246=2;
+                int LA246_0 = input.LA(1);
 
-                if ( (LA218_0==116) ) {
-                    alt218=1;
+                if ( (LA246_0==125) ) {
+                    alt246=1;
                 }
 
 
-                switch (alt218) {
+                switch (alt246) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21155:2: rule__IfExpCS__OwnedIfThenExpressionsAssignment_4
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22173:2: rule__IfExpCS__OwnedIfThenExpressionsAssignment_4
             	    {
-            	    pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__OwnedIfThenExpressionsAssignment_4_in_rule__IfExpCS__Group__4__Impl43293);
+            	    pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__OwnedIfThenExpressionsAssignment_4_in_rule__IfExpCS__Group__4__Impl45163);
             	    rule__IfExpCS__OwnedIfThenExpressionsAssignment_4();
 
             	    state._fsp--;
@@ -63004,7 +65472,7 @@
             	    break;
 
             	default :
-            	    break loop218;
+            	    break loop246;
                 }
             } while (true);
 
@@ -63033,21 +65501,21 @@
 
 
     // $ANTLR start "rule__IfExpCS__Group__5"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21165:1: rule__IfExpCS__Group__5 : rule__IfExpCS__Group__5__Impl rule__IfExpCS__Group__6 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22183:1: rule__IfExpCS__Group__5 : rule__IfExpCS__Group__5__Impl rule__IfExpCS__Group__6 ;
     public final void rule__IfExpCS__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21169:1: ( rule__IfExpCS__Group__5__Impl rule__IfExpCS__Group__6 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21170:2: rule__IfExpCS__Group__5__Impl rule__IfExpCS__Group__6
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22187:1: ( rule__IfExpCS__Group__5__Impl rule__IfExpCS__Group__6 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22188:2: rule__IfExpCS__Group__5__Impl rule__IfExpCS__Group__6
             {
-            pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__5__Impl_in_rule__IfExpCS__Group__543324);
+            pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__5__Impl_in_rule__IfExpCS__Group__545194);
             rule__IfExpCS__Group__5__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__6_in_rule__IfExpCS__Group__543327);
+            pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__6_in_rule__IfExpCS__Group__545197);
             rule__IfExpCS__Group__6();
 
             state._fsp--;
@@ -63071,22 +65539,22 @@
 
 
     // $ANTLR start "rule__IfExpCS__Group__5__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21177:1: rule__IfExpCS__Group__5__Impl : ( 'else' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22195:1: rule__IfExpCS__Group__5__Impl : ( 'else' ) ;
     public final void rule__IfExpCS__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21181:1: ( ( 'else' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21182:1: ( 'else' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22199:1: ( ( 'else' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22200:1: ( 'else' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21182:1: ( 'else' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21183:1: 'else'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22200:1: ( 'else' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22201:1: 'else'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getIfExpCSAccess().getElseKeyword_5()); 
             }
-            match(input,114,FollowSets001.FOLLOW_114_in_rule__IfExpCS__Group__5__Impl43355); if (state.failed) return ;
+            match(input,123,FollowSets001.FOLLOW_123_in_rule__IfExpCS__Group__5__Impl45225); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getIfExpCSAccess().getElseKeyword_5()); 
             }
@@ -63112,21 +65580,21 @@
 
 
     // $ANTLR start "rule__IfExpCS__Group__6"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21196:1: rule__IfExpCS__Group__6 : rule__IfExpCS__Group__6__Impl rule__IfExpCS__Group__7 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22214:1: rule__IfExpCS__Group__6 : rule__IfExpCS__Group__6__Impl rule__IfExpCS__Group__7 ;
     public final void rule__IfExpCS__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21200:1: ( rule__IfExpCS__Group__6__Impl rule__IfExpCS__Group__7 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21201:2: rule__IfExpCS__Group__6__Impl rule__IfExpCS__Group__7
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22218:1: ( rule__IfExpCS__Group__6__Impl rule__IfExpCS__Group__7 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22219:2: rule__IfExpCS__Group__6__Impl rule__IfExpCS__Group__7
             {
-            pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__6__Impl_in_rule__IfExpCS__Group__643386);
+            pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__6__Impl_in_rule__IfExpCS__Group__645256);
             rule__IfExpCS__Group__6__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__7_in_rule__IfExpCS__Group__643389);
+            pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__7_in_rule__IfExpCS__Group__645259);
             rule__IfExpCS__Group__7();
 
             state._fsp--;
@@ -63150,25 +65618,25 @@
 
 
     // $ANTLR start "rule__IfExpCS__Group__6__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21208:1: rule__IfExpCS__Group__6__Impl : ( ( rule__IfExpCS__OwnedElseExpressionAssignment_6 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22226:1: rule__IfExpCS__Group__6__Impl : ( ( rule__IfExpCS__OwnedElseExpressionAssignment_6 ) ) ;
     public final void rule__IfExpCS__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21212:1: ( ( ( rule__IfExpCS__OwnedElseExpressionAssignment_6 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21213:1: ( ( rule__IfExpCS__OwnedElseExpressionAssignment_6 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22230:1: ( ( ( rule__IfExpCS__OwnedElseExpressionAssignment_6 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22231:1: ( ( rule__IfExpCS__OwnedElseExpressionAssignment_6 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21213:1: ( ( rule__IfExpCS__OwnedElseExpressionAssignment_6 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21214:1: ( rule__IfExpCS__OwnedElseExpressionAssignment_6 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22231:1: ( ( rule__IfExpCS__OwnedElseExpressionAssignment_6 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22232:1: ( rule__IfExpCS__OwnedElseExpressionAssignment_6 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getIfExpCSAccess().getOwnedElseExpressionAssignment_6()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21215:1: ( rule__IfExpCS__OwnedElseExpressionAssignment_6 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21215:2: rule__IfExpCS__OwnedElseExpressionAssignment_6
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22233:1: ( rule__IfExpCS__OwnedElseExpressionAssignment_6 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22233:2: rule__IfExpCS__OwnedElseExpressionAssignment_6
             {
-            pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__OwnedElseExpressionAssignment_6_in_rule__IfExpCS__Group__6__Impl43416);
+            pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__OwnedElseExpressionAssignment_6_in_rule__IfExpCS__Group__6__Impl45286);
             rule__IfExpCS__OwnedElseExpressionAssignment_6();
 
             state._fsp--;
@@ -63201,16 +65669,16 @@
 
 
     // $ANTLR start "rule__IfExpCS__Group__7"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21225:1: rule__IfExpCS__Group__7 : rule__IfExpCS__Group__7__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22243:1: rule__IfExpCS__Group__7 : rule__IfExpCS__Group__7__Impl ;
     public final void rule__IfExpCS__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21229:1: ( rule__IfExpCS__Group__7__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21230:2: rule__IfExpCS__Group__7__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22247:1: ( rule__IfExpCS__Group__7__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22248:2: rule__IfExpCS__Group__7__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__7__Impl_in_rule__IfExpCS__Group__743446);
+            pushFollow(FollowSets001.FOLLOW_rule__IfExpCS__Group__7__Impl_in_rule__IfExpCS__Group__745316);
             rule__IfExpCS__Group__7__Impl();
 
             state._fsp--;
@@ -63234,22 +65702,22 @@
 
 
     // $ANTLR start "rule__IfExpCS__Group__7__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21236:1: rule__IfExpCS__Group__7__Impl : ( 'endif' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22254:1: rule__IfExpCS__Group__7__Impl : ( 'endif' ) ;
     public final void rule__IfExpCS__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21240:1: ( ( 'endif' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21241:1: ( 'endif' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22258:1: ( ( 'endif' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22259:1: ( 'endif' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21241:1: ( 'endif' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21242:1: 'endif'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22259:1: ( 'endif' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22260:1: 'endif'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getIfExpCSAccess().getEndifKeyword_7()); 
             }
-            match(input,115,FollowSets001.FOLLOW_115_in_rule__IfExpCS__Group__7__Impl43474); if (state.failed) return ;
+            match(input,124,FollowSets001.FOLLOW_124_in_rule__IfExpCS__Group__7__Impl45344); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getIfExpCSAccess().getEndifKeyword_7()); 
             }
@@ -63275,21 +65743,21 @@
 
 
     // $ANTLR start "rule__ElseIfThenExpCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21271:1: rule__ElseIfThenExpCS__Group__0 : rule__ElseIfThenExpCS__Group__0__Impl rule__ElseIfThenExpCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22289:1: rule__ElseIfThenExpCS__Group__0 : rule__ElseIfThenExpCS__Group__0__Impl rule__ElseIfThenExpCS__Group__1 ;
     public final void rule__ElseIfThenExpCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21275:1: ( rule__ElseIfThenExpCS__Group__0__Impl rule__ElseIfThenExpCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21276:2: rule__ElseIfThenExpCS__Group__0__Impl rule__ElseIfThenExpCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22293:1: ( rule__ElseIfThenExpCS__Group__0__Impl rule__ElseIfThenExpCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22294:2: rule__ElseIfThenExpCS__Group__0__Impl rule__ElseIfThenExpCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ElseIfThenExpCS__Group__0__Impl_in_rule__ElseIfThenExpCS__Group__043521);
+            pushFollow(FollowSets001.FOLLOW_rule__ElseIfThenExpCS__Group__0__Impl_in_rule__ElseIfThenExpCS__Group__045391);
             rule__ElseIfThenExpCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ElseIfThenExpCS__Group__1_in_rule__ElseIfThenExpCS__Group__043524);
+            pushFollow(FollowSets001.FOLLOW_rule__ElseIfThenExpCS__Group__1_in_rule__ElseIfThenExpCS__Group__045394);
             rule__ElseIfThenExpCS__Group__1();
 
             state._fsp--;
@@ -63313,22 +65781,22 @@
 
 
     // $ANTLR start "rule__ElseIfThenExpCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21283:1: rule__ElseIfThenExpCS__Group__0__Impl : ( 'elseif' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22301:1: rule__ElseIfThenExpCS__Group__0__Impl : ( 'elseif' ) ;
     public final void rule__ElseIfThenExpCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21287:1: ( ( 'elseif' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21288:1: ( 'elseif' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22305:1: ( ( 'elseif' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22306:1: ( 'elseif' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21288:1: ( 'elseif' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21289:1: 'elseif'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22306:1: ( 'elseif' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22307:1: 'elseif'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getElseIfThenExpCSAccess().getElseifKeyword_0()); 
             }
-            match(input,116,FollowSets001.FOLLOW_116_in_rule__ElseIfThenExpCS__Group__0__Impl43552); if (state.failed) return ;
+            match(input,125,FollowSets001.FOLLOW_125_in_rule__ElseIfThenExpCS__Group__0__Impl45422); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getElseIfThenExpCSAccess().getElseifKeyword_0()); 
             }
@@ -63354,21 +65822,21 @@
 
 
     // $ANTLR start "rule__ElseIfThenExpCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21302:1: rule__ElseIfThenExpCS__Group__1 : rule__ElseIfThenExpCS__Group__1__Impl rule__ElseIfThenExpCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22320:1: rule__ElseIfThenExpCS__Group__1 : rule__ElseIfThenExpCS__Group__1__Impl rule__ElseIfThenExpCS__Group__2 ;
     public final void rule__ElseIfThenExpCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21306:1: ( rule__ElseIfThenExpCS__Group__1__Impl rule__ElseIfThenExpCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21307:2: rule__ElseIfThenExpCS__Group__1__Impl rule__ElseIfThenExpCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22324:1: ( rule__ElseIfThenExpCS__Group__1__Impl rule__ElseIfThenExpCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22325:2: rule__ElseIfThenExpCS__Group__1__Impl rule__ElseIfThenExpCS__Group__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ElseIfThenExpCS__Group__1__Impl_in_rule__ElseIfThenExpCS__Group__143583);
+            pushFollow(FollowSets001.FOLLOW_rule__ElseIfThenExpCS__Group__1__Impl_in_rule__ElseIfThenExpCS__Group__145453);
             rule__ElseIfThenExpCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ElseIfThenExpCS__Group__2_in_rule__ElseIfThenExpCS__Group__143586);
+            pushFollow(FollowSets001.FOLLOW_rule__ElseIfThenExpCS__Group__2_in_rule__ElseIfThenExpCS__Group__145456);
             rule__ElseIfThenExpCS__Group__2();
 
             state._fsp--;
@@ -63392,25 +65860,25 @@
 
 
     // $ANTLR start "rule__ElseIfThenExpCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21314:1: rule__ElseIfThenExpCS__Group__1__Impl : ( ( rule__ElseIfThenExpCS__OwnedConditionAssignment_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22332:1: rule__ElseIfThenExpCS__Group__1__Impl : ( ( rule__ElseIfThenExpCS__OwnedConditionAssignment_1 ) ) ;
     public final void rule__ElseIfThenExpCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21318:1: ( ( ( rule__ElseIfThenExpCS__OwnedConditionAssignment_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21319:1: ( ( rule__ElseIfThenExpCS__OwnedConditionAssignment_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22336:1: ( ( ( rule__ElseIfThenExpCS__OwnedConditionAssignment_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22337:1: ( ( rule__ElseIfThenExpCS__OwnedConditionAssignment_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21319:1: ( ( rule__ElseIfThenExpCS__OwnedConditionAssignment_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21320:1: ( rule__ElseIfThenExpCS__OwnedConditionAssignment_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22337:1: ( ( rule__ElseIfThenExpCS__OwnedConditionAssignment_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22338:1: ( rule__ElseIfThenExpCS__OwnedConditionAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getElseIfThenExpCSAccess().getOwnedConditionAssignment_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21321:1: ( rule__ElseIfThenExpCS__OwnedConditionAssignment_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21321:2: rule__ElseIfThenExpCS__OwnedConditionAssignment_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22339:1: ( rule__ElseIfThenExpCS__OwnedConditionAssignment_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22339:2: rule__ElseIfThenExpCS__OwnedConditionAssignment_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ElseIfThenExpCS__OwnedConditionAssignment_1_in_rule__ElseIfThenExpCS__Group__1__Impl43613);
+            pushFollow(FollowSets001.FOLLOW_rule__ElseIfThenExpCS__OwnedConditionAssignment_1_in_rule__ElseIfThenExpCS__Group__1__Impl45483);
             rule__ElseIfThenExpCS__OwnedConditionAssignment_1();
 
             state._fsp--;
@@ -63443,21 +65911,21 @@
 
 
     // $ANTLR start "rule__ElseIfThenExpCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21331:1: rule__ElseIfThenExpCS__Group__2 : rule__ElseIfThenExpCS__Group__2__Impl rule__ElseIfThenExpCS__Group__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22349:1: rule__ElseIfThenExpCS__Group__2 : rule__ElseIfThenExpCS__Group__2__Impl rule__ElseIfThenExpCS__Group__3 ;
     public final void rule__ElseIfThenExpCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21335:1: ( rule__ElseIfThenExpCS__Group__2__Impl rule__ElseIfThenExpCS__Group__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21336:2: rule__ElseIfThenExpCS__Group__2__Impl rule__ElseIfThenExpCS__Group__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22353:1: ( rule__ElseIfThenExpCS__Group__2__Impl rule__ElseIfThenExpCS__Group__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22354:2: rule__ElseIfThenExpCS__Group__2__Impl rule__ElseIfThenExpCS__Group__3
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ElseIfThenExpCS__Group__2__Impl_in_rule__ElseIfThenExpCS__Group__243643);
+            pushFollow(FollowSets001.FOLLOW_rule__ElseIfThenExpCS__Group__2__Impl_in_rule__ElseIfThenExpCS__Group__245513);
             rule__ElseIfThenExpCS__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__ElseIfThenExpCS__Group__3_in_rule__ElseIfThenExpCS__Group__243646);
+            pushFollow(FollowSets001.FOLLOW_rule__ElseIfThenExpCS__Group__3_in_rule__ElseIfThenExpCS__Group__245516);
             rule__ElseIfThenExpCS__Group__3();
 
             state._fsp--;
@@ -63481,22 +65949,22 @@
 
 
     // $ANTLR start "rule__ElseIfThenExpCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21343:1: rule__ElseIfThenExpCS__Group__2__Impl : ( 'then' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22361:1: rule__ElseIfThenExpCS__Group__2__Impl : ( 'then' ) ;
     public final void rule__ElseIfThenExpCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21347:1: ( ( 'then' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21348:1: ( 'then' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22365:1: ( ( 'then' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22366:1: ( 'then' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21348:1: ( 'then' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21349:1: 'then'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22366:1: ( 'then' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22367:1: 'then'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getElseIfThenExpCSAccess().getThenKeyword_2()); 
             }
-            match(input,113,FollowSets001.FOLLOW_113_in_rule__ElseIfThenExpCS__Group__2__Impl43674); if (state.failed) return ;
+            match(input,122,FollowSets001.FOLLOW_122_in_rule__ElseIfThenExpCS__Group__2__Impl45544); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getElseIfThenExpCSAccess().getThenKeyword_2()); 
             }
@@ -63522,16 +65990,16 @@
 
 
     // $ANTLR start "rule__ElseIfThenExpCS__Group__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21362:1: rule__ElseIfThenExpCS__Group__3 : rule__ElseIfThenExpCS__Group__3__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22380:1: rule__ElseIfThenExpCS__Group__3 : rule__ElseIfThenExpCS__Group__3__Impl ;
     public final void rule__ElseIfThenExpCS__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21366:1: ( rule__ElseIfThenExpCS__Group__3__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21367:2: rule__ElseIfThenExpCS__Group__3__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22384:1: ( rule__ElseIfThenExpCS__Group__3__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22385:2: rule__ElseIfThenExpCS__Group__3__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ElseIfThenExpCS__Group__3__Impl_in_rule__ElseIfThenExpCS__Group__343705);
+            pushFollow(FollowSets001.FOLLOW_rule__ElseIfThenExpCS__Group__3__Impl_in_rule__ElseIfThenExpCS__Group__345575);
             rule__ElseIfThenExpCS__Group__3__Impl();
 
             state._fsp--;
@@ -63555,25 +66023,25 @@
 
 
     // $ANTLR start "rule__ElseIfThenExpCS__Group__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21373:1: rule__ElseIfThenExpCS__Group__3__Impl : ( ( rule__ElseIfThenExpCS__OwnedThenExpressionAssignment_3 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22391:1: rule__ElseIfThenExpCS__Group__3__Impl : ( ( rule__ElseIfThenExpCS__OwnedThenExpressionAssignment_3 ) ) ;
     public final void rule__ElseIfThenExpCS__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21377:1: ( ( ( rule__ElseIfThenExpCS__OwnedThenExpressionAssignment_3 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21378:1: ( ( rule__ElseIfThenExpCS__OwnedThenExpressionAssignment_3 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22395:1: ( ( ( rule__ElseIfThenExpCS__OwnedThenExpressionAssignment_3 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22396:1: ( ( rule__ElseIfThenExpCS__OwnedThenExpressionAssignment_3 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21378:1: ( ( rule__ElseIfThenExpCS__OwnedThenExpressionAssignment_3 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21379:1: ( rule__ElseIfThenExpCS__OwnedThenExpressionAssignment_3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22396:1: ( ( rule__ElseIfThenExpCS__OwnedThenExpressionAssignment_3 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22397:1: ( rule__ElseIfThenExpCS__OwnedThenExpressionAssignment_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getElseIfThenExpCSAccess().getOwnedThenExpressionAssignment_3()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21380:1: ( rule__ElseIfThenExpCS__OwnedThenExpressionAssignment_3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21380:2: rule__ElseIfThenExpCS__OwnedThenExpressionAssignment_3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22398:1: ( rule__ElseIfThenExpCS__OwnedThenExpressionAssignment_3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22398:2: rule__ElseIfThenExpCS__OwnedThenExpressionAssignment_3
             {
-            pushFollow(FollowSets001.FOLLOW_rule__ElseIfThenExpCS__OwnedThenExpressionAssignment_3_in_rule__ElseIfThenExpCS__Group__3__Impl43732);
+            pushFollow(FollowSets001.FOLLOW_rule__ElseIfThenExpCS__OwnedThenExpressionAssignment_3_in_rule__ElseIfThenExpCS__Group__3__Impl45602);
             rule__ElseIfThenExpCS__OwnedThenExpressionAssignment_3();
 
             state._fsp--;
@@ -63606,21 +66074,21 @@
 
 
     // $ANTLR start "rule__LetExpCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21398:1: rule__LetExpCS__Group__0 : rule__LetExpCS__Group__0__Impl rule__LetExpCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22416:1: rule__LetExpCS__Group__0 : rule__LetExpCS__Group__0__Impl rule__LetExpCS__Group__1 ;
     public final void rule__LetExpCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21402:1: ( rule__LetExpCS__Group__0__Impl rule__LetExpCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21403:2: rule__LetExpCS__Group__0__Impl rule__LetExpCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22420:1: ( rule__LetExpCS__Group__0__Impl rule__LetExpCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22421:2: rule__LetExpCS__Group__0__Impl rule__LetExpCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__Group__0__Impl_in_rule__LetExpCS__Group__043770);
+            pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__Group__0__Impl_in_rule__LetExpCS__Group__045640);
             rule__LetExpCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__Group__1_in_rule__LetExpCS__Group__043773);
+            pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__Group__1_in_rule__LetExpCS__Group__045643);
             rule__LetExpCS__Group__1();
 
             state._fsp--;
@@ -63644,22 +66112,22 @@
 
 
     // $ANTLR start "rule__LetExpCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21410:1: rule__LetExpCS__Group__0__Impl : ( 'let' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22428:1: rule__LetExpCS__Group__0__Impl : ( 'let' ) ;
     public final void rule__LetExpCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21414:1: ( ( 'let' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21415:1: ( 'let' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22432:1: ( ( 'let' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22433:1: ( 'let' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21415:1: ( 'let' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21416:1: 'let'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22433:1: ( 'let' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22434:1: 'let'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLetExpCSAccess().getLetKeyword_0()); 
             }
-            match(input,117,FollowSets001.FOLLOW_117_in_rule__LetExpCS__Group__0__Impl43801); if (state.failed) return ;
+            match(input,126,FollowSets001.FOLLOW_126_in_rule__LetExpCS__Group__0__Impl45671); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getLetExpCSAccess().getLetKeyword_0()); 
             }
@@ -63685,21 +66153,21 @@
 
 
     // $ANTLR start "rule__LetExpCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21429:1: rule__LetExpCS__Group__1 : rule__LetExpCS__Group__1__Impl rule__LetExpCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22447:1: rule__LetExpCS__Group__1 : rule__LetExpCS__Group__1__Impl rule__LetExpCS__Group__2 ;
     public final void rule__LetExpCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21433:1: ( rule__LetExpCS__Group__1__Impl rule__LetExpCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21434:2: rule__LetExpCS__Group__1__Impl rule__LetExpCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22451:1: ( rule__LetExpCS__Group__1__Impl rule__LetExpCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22452:2: rule__LetExpCS__Group__1__Impl rule__LetExpCS__Group__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__Group__1__Impl_in_rule__LetExpCS__Group__143832);
+            pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__Group__1__Impl_in_rule__LetExpCS__Group__145702);
             rule__LetExpCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__Group__2_in_rule__LetExpCS__Group__143835);
+            pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__Group__2_in_rule__LetExpCS__Group__145705);
             rule__LetExpCS__Group__2();
 
             state._fsp--;
@@ -63723,25 +66191,25 @@
 
 
     // $ANTLR start "rule__LetExpCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21441:1: rule__LetExpCS__Group__1__Impl : ( ( rule__LetExpCS__OwnedVariablesAssignment_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22459:1: rule__LetExpCS__Group__1__Impl : ( ( rule__LetExpCS__OwnedVariablesAssignment_1 ) ) ;
     public final void rule__LetExpCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21445:1: ( ( ( rule__LetExpCS__OwnedVariablesAssignment_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21446:1: ( ( rule__LetExpCS__OwnedVariablesAssignment_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22463:1: ( ( ( rule__LetExpCS__OwnedVariablesAssignment_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22464:1: ( ( rule__LetExpCS__OwnedVariablesAssignment_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21446:1: ( ( rule__LetExpCS__OwnedVariablesAssignment_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21447:1: ( rule__LetExpCS__OwnedVariablesAssignment_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22464:1: ( ( rule__LetExpCS__OwnedVariablesAssignment_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22465:1: ( rule__LetExpCS__OwnedVariablesAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLetExpCSAccess().getOwnedVariablesAssignment_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21448:1: ( rule__LetExpCS__OwnedVariablesAssignment_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21448:2: rule__LetExpCS__OwnedVariablesAssignment_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22466:1: ( rule__LetExpCS__OwnedVariablesAssignment_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22466:2: rule__LetExpCS__OwnedVariablesAssignment_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__OwnedVariablesAssignment_1_in_rule__LetExpCS__Group__1__Impl43862);
+            pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__OwnedVariablesAssignment_1_in_rule__LetExpCS__Group__1__Impl45732);
             rule__LetExpCS__OwnedVariablesAssignment_1();
 
             state._fsp--;
@@ -63774,21 +66242,21 @@
 
 
     // $ANTLR start "rule__LetExpCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21458:1: rule__LetExpCS__Group__2 : rule__LetExpCS__Group__2__Impl rule__LetExpCS__Group__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22476:1: rule__LetExpCS__Group__2 : rule__LetExpCS__Group__2__Impl rule__LetExpCS__Group__3 ;
     public final void rule__LetExpCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21462:1: ( rule__LetExpCS__Group__2__Impl rule__LetExpCS__Group__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21463:2: rule__LetExpCS__Group__2__Impl rule__LetExpCS__Group__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22480:1: ( rule__LetExpCS__Group__2__Impl rule__LetExpCS__Group__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22481:2: rule__LetExpCS__Group__2__Impl rule__LetExpCS__Group__3
             {
-            pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__Group__2__Impl_in_rule__LetExpCS__Group__243892);
+            pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__Group__2__Impl_in_rule__LetExpCS__Group__245762);
             rule__LetExpCS__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__Group__3_in_rule__LetExpCS__Group__243895);
+            pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__Group__3_in_rule__LetExpCS__Group__245765);
             rule__LetExpCS__Group__3();
 
             state._fsp--;
@@ -63812,37 +66280,37 @@
 
 
     // $ANTLR start "rule__LetExpCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21470:1: rule__LetExpCS__Group__2__Impl : ( ( rule__LetExpCS__Group_2__0 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22488:1: rule__LetExpCS__Group__2__Impl : ( ( rule__LetExpCS__Group_2__0 )* ) ;
     public final void rule__LetExpCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21474:1: ( ( ( rule__LetExpCS__Group_2__0 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21475:1: ( ( rule__LetExpCS__Group_2__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22492:1: ( ( ( rule__LetExpCS__Group_2__0 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22493:1: ( ( rule__LetExpCS__Group_2__0 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21475:1: ( ( rule__LetExpCS__Group_2__0 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21476:1: ( rule__LetExpCS__Group_2__0 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22493:1: ( ( rule__LetExpCS__Group_2__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22494:1: ( rule__LetExpCS__Group_2__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLetExpCSAccess().getGroup_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21477:1: ( rule__LetExpCS__Group_2__0 )*
-            loop219:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22495:1: ( rule__LetExpCS__Group_2__0 )*
+            loop247:
             do {
-                int alt219=2;
-                int LA219_0 = input.LA(1);
+                int alt247=2;
+                int LA247_0 = input.LA(1);
 
-                if ( (LA219_0==98) ) {
-                    alt219=1;
+                if ( (LA247_0==107) ) {
+                    alt247=1;
                 }
 
 
-                switch (alt219) {
+                switch (alt247) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21477:2: rule__LetExpCS__Group_2__0
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22495:2: rule__LetExpCS__Group_2__0
             	    {
-            	    pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__Group_2__0_in_rule__LetExpCS__Group__2__Impl43922);
+            	    pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__Group_2__0_in_rule__LetExpCS__Group__2__Impl45792);
             	    rule__LetExpCS__Group_2__0();
 
             	    state._fsp--;
@@ -63852,7 +66320,7 @@
             	    break;
 
             	default :
-            	    break loop219;
+            	    break loop247;
                 }
             } while (true);
 
@@ -63881,21 +66349,21 @@
 
 
     // $ANTLR start "rule__LetExpCS__Group__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21487:1: rule__LetExpCS__Group__3 : rule__LetExpCS__Group__3__Impl rule__LetExpCS__Group__4 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22505:1: rule__LetExpCS__Group__3 : rule__LetExpCS__Group__3__Impl rule__LetExpCS__Group__4 ;
     public final void rule__LetExpCS__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21491:1: ( rule__LetExpCS__Group__3__Impl rule__LetExpCS__Group__4 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21492:2: rule__LetExpCS__Group__3__Impl rule__LetExpCS__Group__4
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22509:1: ( rule__LetExpCS__Group__3__Impl rule__LetExpCS__Group__4 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22510:2: rule__LetExpCS__Group__3__Impl rule__LetExpCS__Group__4
             {
-            pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__Group__3__Impl_in_rule__LetExpCS__Group__343953);
+            pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__Group__3__Impl_in_rule__LetExpCS__Group__345823);
             rule__LetExpCS__Group__3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__Group__4_in_rule__LetExpCS__Group__343956);
+            pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__Group__4_in_rule__LetExpCS__Group__345826);
             rule__LetExpCS__Group__4();
 
             state._fsp--;
@@ -63919,22 +66387,22 @@
 
 
     // $ANTLR start "rule__LetExpCS__Group__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21499:1: rule__LetExpCS__Group__3__Impl : ( 'in' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22517:1: rule__LetExpCS__Group__3__Impl : ( 'in' ) ;
     public final void rule__LetExpCS__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21503:1: ( ( 'in' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21504:1: ( 'in' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22521:1: ( ( 'in' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22522:1: ( 'in' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21504:1: ( 'in' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21505:1: 'in'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22522:1: ( 'in' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22523:1: 'in'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLetExpCSAccess().getInKeyword_3()); 
             }
-            match(input,111,FollowSets001.FOLLOW_111_in_rule__LetExpCS__Group__3__Impl43984); if (state.failed) return ;
+            match(input,120,FollowSets001.FOLLOW_120_in_rule__LetExpCS__Group__3__Impl45854); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getLetExpCSAccess().getInKeyword_3()); 
             }
@@ -63960,16 +66428,16 @@
 
 
     // $ANTLR start "rule__LetExpCS__Group__4"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21518:1: rule__LetExpCS__Group__4 : rule__LetExpCS__Group__4__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22536:1: rule__LetExpCS__Group__4 : rule__LetExpCS__Group__4__Impl ;
     public final void rule__LetExpCS__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21522:1: ( rule__LetExpCS__Group__4__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21523:2: rule__LetExpCS__Group__4__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22540:1: ( rule__LetExpCS__Group__4__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22541:2: rule__LetExpCS__Group__4__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__Group__4__Impl_in_rule__LetExpCS__Group__444015);
+            pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__Group__4__Impl_in_rule__LetExpCS__Group__445885);
             rule__LetExpCS__Group__4__Impl();
 
             state._fsp--;
@@ -63993,25 +66461,25 @@
 
 
     // $ANTLR start "rule__LetExpCS__Group__4__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21529:1: rule__LetExpCS__Group__4__Impl : ( ( rule__LetExpCS__OwnedInExpressionAssignment_4 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22547:1: rule__LetExpCS__Group__4__Impl : ( ( rule__LetExpCS__OwnedInExpressionAssignment_4 ) ) ;
     public final void rule__LetExpCS__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21533:1: ( ( ( rule__LetExpCS__OwnedInExpressionAssignment_4 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21534:1: ( ( rule__LetExpCS__OwnedInExpressionAssignment_4 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22551:1: ( ( ( rule__LetExpCS__OwnedInExpressionAssignment_4 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22552:1: ( ( rule__LetExpCS__OwnedInExpressionAssignment_4 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21534:1: ( ( rule__LetExpCS__OwnedInExpressionAssignment_4 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21535:1: ( rule__LetExpCS__OwnedInExpressionAssignment_4 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22552:1: ( ( rule__LetExpCS__OwnedInExpressionAssignment_4 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22553:1: ( rule__LetExpCS__OwnedInExpressionAssignment_4 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLetExpCSAccess().getOwnedInExpressionAssignment_4()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21536:1: ( rule__LetExpCS__OwnedInExpressionAssignment_4 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21536:2: rule__LetExpCS__OwnedInExpressionAssignment_4
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22554:1: ( rule__LetExpCS__OwnedInExpressionAssignment_4 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22554:2: rule__LetExpCS__OwnedInExpressionAssignment_4
             {
-            pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__OwnedInExpressionAssignment_4_in_rule__LetExpCS__Group__4__Impl44042);
+            pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__OwnedInExpressionAssignment_4_in_rule__LetExpCS__Group__4__Impl45912);
             rule__LetExpCS__OwnedInExpressionAssignment_4();
 
             state._fsp--;
@@ -64044,21 +66512,21 @@
 
 
     // $ANTLR start "rule__LetExpCS__Group_2__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21556:1: rule__LetExpCS__Group_2__0 : rule__LetExpCS__Group_2__0__Impl rule__LetExpCS__Group_2__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22574:1: rule__LetExpCS__Group_2__0 : rule__LetExpCS__Group_2__0__Impl rule__LetExpCS__Group_2__1 ;
     public final void rule__LetExpCS__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21560:1: ( rule__LetExpCS__Group_2__0__Impl rule__LetExpCS__Group_2__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21561:2: rule__LetExpCS__Group_2__0__Impl rule__LetExpCS__Group_2__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22578:1: ( rule__LetExpCS__Group_2__0__Impl rule__LetExpCS__Group_2__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22579:2: rule__LetExpCS__Group_2__0__Impl rule__LetExpCS__Group_2__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__Group_2__0__Impl_in_rule__LetExpCS__Group_2__044082);
+            pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__Group_2__0__Impl_in_rule__LetExpCS__Group_2__045952);
             rule__LetExpCS__Group_2__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__Group_2__1_in_rule__LetExpCS__Group_2__044085);
+            pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__Group_2__1_in_rule__LetExpCS__Group_2__045955);
             rule__LetExpCS__Group_2__1();
 
             state._fsp--;
@@ -64082,22 +66550,22 @@
 
 
     // $ANTLR start "rule__LetExpCS__Group_2__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21568:1: rule__LetExpCS__Group_2__0__Impl : ( ',' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22586:1: rule__LetExpCS__Group_2__0__Impl : ( ',' ) ;
     public final void rule__LetExpCS__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21572:1: ( ( ',' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21573:1: ( ',' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22590:1: ( ( ',' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22591:1: ( ',' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21573:1: ( ',' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21574:1: ','
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22591:1: ( ',' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22592:1: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLetExpCSAccess().getCommaKeyword_2_0()); 
             }
-            match(input,98,FollowSets001.FOLLOW_98_in_rule__LetExpCS__Group_2__0__Impl44113); if (state.failed) return ;
+            match(input,107,FollowSets001.FOLLOW_107_in_rule__LetExpCS__Group_2__0__Impl45983); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getLetExpCSAccess().getCommaKeyword_2_0()); 
             }
@@ -64123,16 +66591,16 @@
 
 
     // $ANTLR start "rule__LetExpCS__Group_2__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21587:1: rule__LetExpCS__Group_2__1 : rule__LetExpCS__Group_2__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22605:1: rule__LetExpCS__Group_2__1 : rule__LetExpCS__Group_2__1__Impl ;
     public final void rule__LetExpCS__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21591:1: ( rule__LetExpCS__Group_2__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21592:2: rule__LetExpCS__Group_2__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22609:1: ( rule__LetExpCS__Group_2__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22610:2: rule__LetExpCS__Group_2__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__Group_2__1__Impl_in_rule__LetExpCS__Group_2__144144);
+            pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__Group_2__1__Impl_in_rule__LetExpCS__Group_2__146014);
             rule__LetExpCS__Group_2__1__Impl();
 
             state._fsp--;
@@ -64156,25 +66624,25 @@
 
 
     // $ANTLR start "rule__LetExpCS__Group_2__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21598:1: rule__LetExpCS__Group_2__1__Impl : ( ( rule__LetExpCS__OwnedVariablesAssignment_2_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22616:1: rule__LetExpCS__Group_2__1__Impl : ( ( rule__LetExpCS__OwnedVariablesAssignment_2_1 ) ) ;
     public final void rule__LetExpCS__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21602:1: ( ( ( rule__LetExpCS__OwnedVariablesAssignment_2_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21603:1: ( ( rule__LetExpCS__OwnedVariablesAssignment_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22620:1: ( ( ( rule__LetExpCS__OwnedVariablesAssignment_2_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22621:1: ( ( rule__LetExpCS__OwnedVariablesAssignment_2_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21603:1: ( ( rule__LetExpCS__OwnedVariablesAssignment_2_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21604:1: ( rule__LetExpCS__OwnedVariablesAssignment_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22621:1: ( ( rule__LetExpCS__OwnedVariablesAssignment_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22622:1: ( rule__LetExpCS__OwnedVariablesAssignment_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLetExpCSAccess().getOwnedVariablesAssignment_2_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21605:1: ( rule__LetExpCS__OwnedVariablesAssignment_2_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21605:2: rule__LetExpCS__OwnedVariablesAssignment_2_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22623:1: ( rule__LetExpCS__OwnedVariablesAssignment_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22623:2: rule__LetExpCS__OwnedVariablesAssignment_2_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__OwnedVariablesAssignment_2_1_in_rule__LetExpCS__Group_2__1__Impl44171);
+            pushFollow(FollowSets001.FOLLOW_rule__LetExpCS__OwnedVariablesAssignment_2_1_in_rule__LetExpCS__Group_2__1__Impl46041);
             rule__LetExpCS__OwnedVariablesAssignment_2_1();
 
             state._fsp--;
@@ -64207,21 +66675,21 @@
 
 
     // $ANTLR start "rule__LetVariableCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21619:1: rule__LetVariableCS__Group__0 : rule__LetVariableCS__Group__0__Impl rule__LetVariableCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22637:1: rule__LetVariableCS__Group__0 : rule__LetVariableCS__Group__0__Impl rule__LetVariableCS__Group__1 ;
     public final void rule__LetVariableCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21623:1: ( rule__LetVariableCS__Group__0__Impl rule__LetVariableCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21624:2: rule__LetVariableCS__Group__0__Impl rule__LetVariableCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22641:1: ( rule__LetVariableCS__Group__0__Impl rule__LetVariableCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22642:2: rule__LetVariableCS__Group__0__Impl rule__LetVariableCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__LetVariableCS__Group__0__Impl_in_rule__LetVariableCS__Group__044205);
+            pushFollow(FollowSets001.FOLLOW_rule__LetVariableCS__Group__0__Impl_in_rule__LetVariableCS__Group__046075);
             rule__LetVariableCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__LetVariableCS__Group__1_in_rule__LetVariableCS__Group__044208);
+            pushFollow(FollowSets001.FOLLOW_rule__LetVariableCS__Group__1_in_rule__LetVariableCS__Group__046078);
             rule__LetVariableCS__Group__1();
 
             state._fsp--;
@@ -64245,25 +66713,25 @@
 
 
     // $ANTLR start "rule__LetVariableCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21631:1: rule__LetVariableCS__Group__0__Impl : ( ( rule__LetVariableCS__NameAssignment_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22649:1: rule__LetVariableCS__Group__0__Impl : ( ( rule__LetVariableCS__NameAssignment_0 ) ) ;
     public final void rule__LetVariableCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21635:1: ( ( ( rule__LetVariableCS__NameAssignment_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21636:1: ( ( rule__LetVariableCS__NameAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22653:1: ( ( ( rule__LetVariableCS__NameAssignment_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22654:1: ( ( rule__LetVariableCS__NameAssignment_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21636:1: ( ( rule__LetVariableCS__NameAssignment_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21637:1: ( rule__LetVariableCS__NameAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22654:1: ( ( rule__LetVariableCS__NameAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22655:1: ( rule__LetVariableCS__NameAssignment_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLetVariableCSAccess().getNameAssignment_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21638:1: ( rule__LetVariableCS__NameAssignment_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21638:2: rule__LetVariableCS__NameAssignment_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22656:1: ( rule__LetVariableCS__NameAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22656:2: rule__LetVariableCS__NameAssignment_0
             {
-            pushFollow(FollowSets001.FOLLOW_rule__LetVariableCS__NameAssignment_0_in_rule__LetVariableCS__Group__0__Impl44235);
+            pushFollow(FollowSets002.FOLLOW_rule__LetVariableCS__NameAssignment_0_in_rule__LetVariableCS__Group__0__Impl46105);
             rule__LetVariableCS__NameAssignment_0();
 
             state._fsp--;
@@ -64296,21 +66764,21 @@
 
 
     // $ANTLR start "rule__LetVariableCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21648:1: rule__LetVariableCS__Group__1 : rule__LetVariableCS__Group__1__Impl rule__LetVariableCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22666:1: rule__LetVariableCS__Group__1 : rule__LetVariableCS__Group__1__Impl rule__LetVariableCS__Group__2 ;
     public final void rule__LetVariableCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21652:1: ( rule__LetVariableCS__Group__1__Impl rule__LetVariableCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21653:2: rule__LetVariableCS__Group__1__Impl rule__LetVariableCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22670:1: ( rule__LetVariableCS__Group__1__Impl rule__LetVariableCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22671:2: rule__LetVariableCS__Group__1__Impl rule__LetVariableCS__Group__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__LetVariableCS__Group__1__Impl_in_rule__LetVariableCS__Group__144265);
+            pushFollow(FollowSets002.FOLLOW_rule__LetVariableCS__Group__1__Impl_in_rule__LetVariableCS__Group__146135);
             rule__LetVariableCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__LetVariableCS__Group__2_in_rule__LetVariableCS__Group__144268);
+            pushFollow(FollowSets002.FOLLOW_rule__LetVariableCS__Group__2_in_rule__LetVariableCS__Group__146138);
             rule__LetVariableCS__Group__2();
 
             state._fsp--;
@@ -64334,33 +66802,33 @@
 
 
     // $ANTLR start "rule__LetVariableCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21660:1: rule__LetVariableCS__Group__1__Impl : ( ( rule__LetVariableCS__OwnedRoundBracketedClauseAssignment_1 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22678:1: rule__LetVariableCS__Group__1__Impl : ( ( rule__LetVariableCS__OwnedRoundBracketedClauseAssignment_1 )? ) ;
     public final void rule__LetVariableCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21664:1: ( ( ( rule__LetVariableCS__OwnedRoundBracketedClauseAssignment_1 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21665:1: ( ( rule__LetVariableCS__OwnedRoundBracketedClauseAssignment_1 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22682:1: ( ( ( rule__LetVariableCS__OwnedRoundBracketedClauseAssignment_1 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22683:1: ( ( rule__LetVariableCS__OwnedRoundBracketedClauseAssignment_1 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21665:1: ( ( rule__LetVariableCS__OwnedRoundBracketedClauseAssignment_1 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21666:1: ( rule__LetVariableCS__OwnedRoundBracketedClauseAssignment_1 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22683:1: ( ( rule__LetVariableCS__OwnedRoundBracketedClauseAssignment_1 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22684:1: ( rule__LetVariableCS__OwnedRoundBracketedClauseAssignment_1 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLetVariableCSAccess().getOwnedRoundBracketedClauseAssignment_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21667:1: ( rule__LetVariableCS__OwnedRoundBracketedClauseAssignment_1 )?
-            int alt220=2;
-            int LA220_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22685:1: ( rule__LetVariableCS__OwnedRoundBracketedClauseAssignment_1 )?
+            int alt248=2;
+            int LA248_0 = input.LA(1);
 
-            if ( (LA220_0==95) ) {
-                alt220=1;
+            if ( (LA248_0==104) ) {
+                alt248=1;
             }
-            switch (alt220) {
+            switch (alt248) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21667:2: rule__LetVariableCS__OwnedRoundBracketedClauseAssignment_1
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22685:2: rule__LetVariableCS__OwnedRoundBracketedClauseAssignment_1
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__LetVariableCS__OwnedRoundBracketedClauseAssignment_1_in_rule__LetVariableCS__Group__1__Impl44295);
+                    pushFollow(FollowSets002.FOLLOW_rule__LetVariableCS__OwnedRoundBracketedClauseAssignment_1_in_rule__LetVariableCS__Group__1__Impl46165);
                     rule__LetVariableCS__OwnedRoundBracketedClauseAssignment_1();
 
                     state._fsp--;
@@ -64396,21 +66864,21 @@
 
 
     // $ANTLR start "rule__LetVariableCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21677:1: rule__LetVariableCS__Group__2 : rule__LetVariableCS__Group__2__Impl rule__LetVariableCS__Group__3 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22695:1: rule__LetVariableCS__Group__2 : rule__LetVariableCS__Group__2__Impl rule__LetVariableCS__Group__3 ;
     public final void rule__LetVariableCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21681:1: ( rule__LetVariableCS__Group__2__Impl rule__LetVariableCS__Group__3 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21682:2: rule__LetVariableCS__Group__2__Impl rule__LetVariableCS__Group__3
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22699:1: ( rule__LetVariableCS__Group__2__Impl rule__LetVariableCS__Group__3 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22700:2: rule__LetVariableCS__Group__2__Impl rule__LetVariableCS__Group__3
             {
-            pushFollow(FollowSets001.FOLLOW_rule__LetVariableCS__Group__2__Impl_in_rule__LetVariableCS__Group__244326);
+            pushFollow(FollowSets002.FOLLOW_rule__LetVariableCS__Group__2__Impl_in_rule__LetVariableCS__Group__246196);
             rule__LetVariableCS__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__LetVariableCS__Group__3_in_rule__LetVariableCS__Group__244329);
+            pushFollow(FollowSets002.FOLLOW_rule__LetVariableCS__Group__3_in_rule__LetVariableCS__Group__246199);
             rule__LetVariableCS__Group__3();
 
             state._fsp--;
@@ -64434,33 +66902,33 @@
 
 
     // $ANTLR start "rule__LetVariableCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21689:1: rule__LetVariableCS__Group__2__Impl : ( ( rule__LetVariableCS__Group_2__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22707:1: rule__LetVariableCS__Group__2__Impl : ( ( rule__LetVariableCS__Group_2__0 )? ) ;
     public final void rule__LetVariableCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21693:1: ( ( ( rule__LetVariableCS__Group_2__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21694:1: ( ( rule__LetVariableCS__Group_2__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22711:1: ( ( ( rule__LetVariableCS__Group_2__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22712:1: ( ( rule__LetVariableCS__Group_2__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21694:1: ( ( rule__LetVariableCS__Group_2__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21695:1: ( rule__LetVariableCS__Group_2__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22712:1: ( ( rule__LetVariableCS__Group_2__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22713:1: ( rule__LetVariableCS__Group_2__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLetVariableCSAccess().getGroup_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21696:1: ( rule__LetVariableCS__Group_2__0 )?
-            int alt221=2;
-            int LA221_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22714:1: ( rule__LetVariableCS__Group_2__0 )?
+            int alt249=2;
+            int LA249_0 = input.LA(1);
 
-            if ( (LA221_0==97) ) {
-                alt221=1;
+            if ( (LA249_0==106) ) {
+                alt249=1;
             }
-            switch (alt221) {
+            switch (alt249) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21696:2: rule__LetVariableCS__Group_2__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22714:2: rule__LetVariableCS__Group_2__0
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__LetVariableCS__Group_2__0_in_rule__LetVariableCS__Group__2__Impl44356);
+                    pushFollow(FollowSets002.FOLLOW_rule__LetVariableCS__Group_2__0_in_rule__LetVariableCS__Group__2__Impl46226);
                     rule__LetVariableCS__Group_2__0();
 
                     state._fsp--;
@@ -64496,21 +66964,21 @@
 
 
     // $ANTLR start "rule__LetVariableCS__Group__3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21706:1: rule__LetVariableCS__Group__3 : rule__LetVariableCS__Group__3__Impl rule__LetVariableCS__Group__4 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22724:1: rule__LetVariableCS__Group__3 : rule__LetVariableCS__Group__3__Impl rule__LetVariableCS__Group__4 ;
     public final void rule__LetVariableCS__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21710:1: ( rule__LetVariableCS__Group__3__Impl rule__LetVariableCS__Group__4 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21711:2: rule__LetVariableCS__Group__3__Impl rule__LetVariableCS__Group__4
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22728:1: ( rule__LetVariableCS__Group__3__Impl rule__LetVariableCS__Group__4 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22729:2: rule__LetVariableCS__Group__3__Impl rule__LetVariableCS__Group__4
             {
-            pushFollow(FollowSets001.FOLLOW_rule__LetVariableCS__Group__3__Impl_in_rule__LetVariableCS__Group__344387);
+            pushFollow(FollowSets002.FOLLOW_rule__LetVariableCS__Group__3__Impl_in_rule__LetVariableCS__Group__346257);
             rule__LetVariableCS__Group__3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__LetVariableCS__Group__4_in_rule__LetVariableCS__Group__344390);
+            pushFollow(FollowSets002.FOLLOW_rule__LetVariableCS__Group__4_in_rule__LetVariableCS__Group__346260);
             rule__LetVariableCS__Group__4();
 
             state._fsp--;
@@ -64534,22 +67002,22 @@
 
 
     // $ANTLR start "rule__LetVariableCS__Group__3__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21718:1: rule__LetVariableCS__Group__3__Impl : ( '=' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22736:1: rule__LetVariableCS__Group__3__Impl : ( '=' ) ;
     public final void rule__LetVariableCS__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21722:1: ( ( '=' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21723:1: ( '=' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22740:1: ( ( '=' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22741:1: ( '=' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21723:1: ( '=' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21724:1: '='
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22741:1: ( '=' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22742:1: '='
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLetVariableCSAccess().getEqualsSignKeyword_3()); 
             }
-            match(input,70,FollowSets001.FOLLOW_70_in_rule__LetVariableCS__Group__3__Impl44418); if (state.failed) return ;
+            match(input,79,FollowSets002.FOLLOW_79_in_rule__LetVariableCS__Group__3__Impl46288); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getLetVariableCSAccess().getEqualsSignKeyword_3()); 
             }
@@ -64575,16 +67043,16 @@
 
 
     // $ANTLR start "rule__LetVariableCS__Group__4"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21737:1: rule__LetVariableCS__Group__4 : rule__LetVariableCS__Group__4__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22755:1: rule__LetVariableCS__Group__4 : rule__LetVariableCS__Group__4__Impl ;
     public final void rule__LetVariableCS__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21741:1: ( rule__LetVariableCS__Group__4__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21742:2: rule__LetVariableCS__Group__4__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22759:1: ( rule__LetVariableCS__Group__4__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22760:2: rule__LetVariableCS__Group__4__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__LetVariableCS__Group__4__Impl_in_rule__LetVariableCS__Group__444449);
+            pushFollow(FollowSets002.FOLLOW_rule__LetVariableCS__Group__4__Impl_in_rule__LetVariableCS__Group__446319);
             rule__LetVariableCS__Group__4__Impl();
 
             state._fsp--;
@@ -64608,25 +67076,25 @@
 
 
     // $ANTLR start "rule__LetVariableCS__Group__4__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21748:1: rule__LetVariableCS__Group__4__Impl : ( ( rule__LetVariableCS__OwnedInitExpressionAssignment_4 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22766:1: rule__LetVariableCS__Group__4__Impl : ( ( rule__LetVariableCS__OwnedInitExpressionAssignment_4 ) ) ;
     public final void rule__LetVariableCS__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21752:1: ( ( ( rule__LetVariableCS__OwnedInitExpressionAssignment_4 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21753:1: ( ( rule__LetVariableCS__OwnedInitExpressionAssignment_4 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22770:1: ( ( ( rule__LetVariableCS__OwnedInitExpressionAssignment_4 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22771:1: ( ( rule__LetVariableCS__OwnedInitExpressionAssignment_4 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21753:1: ( ( rule__LetVariableCS__OwnedInitExpressionAssignment_4 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21754:1: ( rule__LetVariableCS__OwnedInitExpressionAssignment_4 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22771:1: ( ( rule__LetVariableCS__OwnedInitExpressionAssignment_4 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22772:1: ( rule__LetVariableCS__OwnedInitExpressionAssignment_4 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLetVariableCSAccess().getOwnedInitExpressionAssignment_4()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21755:1: ( rule__LetVariableCS__OwnedInitExpressionAssignment_4 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21755:2: rule__LetVariableCS__OwnedInitExpressionAssignment_4
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22773:1: ( rule__LetVariableCS__OwnedInitExpressionAssignment_4 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22773:2: rule__LetVariableCS__OwnedInitExpressionAssignment_4
             {
-            pushFollow(FollowSets001.FOLLOW_rule__LetVariableCS__OwnedInitExpressionAssignment_4_in_rule__LetVariableCS__Group__4__Impl44476);
+            pushFollow(FollowSets002.FOLLOW_rule__LetVariableCS__OwnedInitExpressionAssignment_4_in_rule__LetVariableCS__Group__4__Impl46346);
             rule__LetVariableCS__OwnedInitExpressionAssignment_4();
 
             state._fsp--;
@@ -64659,21 +67127,21 @@
 
 
     // $ANTLR start "rule__LetVariableCS__Group_2__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21775:1: rule__LetVariableCS__Group_2__0 : rule__LetVariableCS__Group_2__0__Impl rule__LetVariableCS__Group_2__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22793:1: rule__LetVariableCS__Group_2__0 : rule__LetVariableCS__Group_2__0__Impl rule__LetVariableCS__Group_2__1 ;
     public final void rule__LetVariableCS__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21779:1: ( rule__LetVariableCS__Group_2__0__Impl rule__LetVariableCS__Group_2__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21780:2: rule__LetVariableCS__Group_2__0__Impl rule__LetVariableCS__Group_2__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22797:1: ( rule__LetVariableCS__Group_2__0__Impl rule__LetVariableCS__Group_2__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22798:2: rule__LetVariableCS__Group_2__0__Impl rule__LetVariableCS__Group_2__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__LetVariableCS__Group_2__0__Impl_in_rule__LetVariableCS__Group_2__044516);
+            pushFollow(FollowSets002.FOLLOW_rule__LetVariableCS__Group_2__0__Impl_in_rule__LetVariableCS__Group_2__046386);
             rule__LetVariableCS__Group_2__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__LetVariableCS__Group_2__1_in_rule__LetVariableCS__Group_2__044519);
+            pushFollow(FollowSets002.FOLLOW_rule__LetVariableCS__Group_2__1_in_rule__LetVariableCS__Group_2__046389);
             rule__LetVariableCS__Group_2__1();
 
             state._fsp--;
@@ -64697,22 +67165,22 @@
 
 
     // $ANTLR start "rule__LetVariableCS__Group_2__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21787:1: rule__LetVariableCS__Group_2__0__Impl : ( ':' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22805:1: rule__LetVariableCS__Group_2__0__Impl : ( ':' ) ;
     public final void rule__LetVariableCS__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21791:1: ( ( ':' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21792:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22809:1: ( ( ':' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22810:1: ( ':' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21792:1: ( ':' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21793:1: ':'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22810:1: ( ':' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22811:1: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLetVariableCSAccess().getColonKeyword_2_0()); 
             }
-            match(input,97,FollowSets001.FOLLOW_97_in_rule__LetVariableCS__Group_2__0__Impl44547); if (state.failed) return ;
+            match(input,106,FollowSets002.FOLLOW_106_in_rule__LetVariableCS__Group_2__0__Impl46417); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getLetVariableCSAccess().getColonKeyword_2_0()); 
             }
@@ -64738,16 +67206,16 @@
 
 
     // $ANTLR start "rule__LetVariableCS__Group_2__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21806:1: rule__LetVariableCS__Group_2__1 : rule__LetVariableCS__Group_2__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22824:1: rule__LetVariableCS__Group_2__1 : rule__LetVariableCS__Group_2__1__Impl ;
     public final void rule__LetVariableCS__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21810:1: ( rule__LetVariableCS__Group_2__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21811:2: rule__LetVariableCS__Group_2__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22828:1: ( rule__LetVariableCS__Group_2__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22829:2: rule__LetVariableCS__Group_2__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__LetVariableCS__Group_2__1__Impl_in_rule__LetVariableCS__Group_2__144578);
+            pushFollow(FollowSets002.FOLLOW_rule__LetVariableCS__Group_2__1__Impl_in_rule__LetVariableCS__Group_2__146448);
             rule__LetVariableCS__Group_2__1__Impl();
 
             state._fsp--;
@@ -64771,25 +67239,25 @@
 
 
     // $ANTLR start "rule__LetVariableCS__Group_2__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21817:1: rule__LetVariableCS__Group_2__1__Impl : ( ( rule__LetVariableCS__OwnedTypeAssignment_2_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22835:1: rule__LetVariableCS__Group_2__1__Impl : ( ( rule__LetVariableCS__OwnedTypeAssignment_2_1 ) ) ;
     public final void rule__LetVariableCS__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21821:1: ( ( ( rule__LetVariableCS__OwnedTypeAssignment_2_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21822:1: ( ( rule__LetVariableCS__OwnedTypeAssignment_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22839:1: ( ( ( rule__LetVariableCS__OwnedTypeAssignment_2_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22840:1: ( ( rule__LetVariableCS__OwnedTypeAssignment_2_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21822:1: ( ( rule__LetVariableCS__OwnedTypeAssignment_2_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21823:1: ( rule__LetVariableCS__OwnedTypeAssignment_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22840:1: ( ( rule__LetVariableCS__OwnedTypeAssignment_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22841:1: ( rule__LetVariableCS__OwnedTypeAssignment_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLetVariableCSAccess().getOwnedTypeAssignment_2_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21824:1: ( rule__LetVariableCS__OwnedTypeAssignment_2_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21824:2: rule__LetVariableCS__OwnedTypeAssignment_2_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22842:1: ( rule__LetVariableCS__OwnedTypeAssignment_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22842:2: rule__LetVariableCS__OwnedTypeAssignment_2_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__LetVariableCS__OwnedTypeAssignment_2_1_in_rule__LetVariableCS__Group_2__1__Impl44605);
+            pushFollow(FollowSets002.FOLLOW_rule__LetVariableCS__OwnedTypeAssignment_2_1_in_rule__LetVariableCS__Group_2__1__Impl46475);
             rule__LetVariableCS__OwnedTypeAssignment_2_1();
 
             state._fsp--;
@@ -64822,21 +67290,21 @@
 
 
     // $ANTLR start "rule__NestedExpCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21838:1: rule__NestedExpCS__Group__0 : rule__NestedExpCS__Group__0__Impl rule__NestedExpCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22856:1: rule__NestedExpCS__Group__0 : rule__NestedExpCS__Group__0__Impl rule__NestedExpCS__Group__1 ;
     public final void rule__NestedExpCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21842:1: ( rule__NestedExpCS__Group__0__Impl rule__NestedExpCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21843:2: rule__NestedExpCS__Group__0__Impl rule__NestedExpCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22860:1: ( rule__NestedExpCS__Group__0__Impl rule__NestedExpCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22861:2: rule__NestedExpCS__Group__0__Impl rule__NestedExpCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NestedExpCS__Group__0__Impl_in_rule__NestedExpCS__Group__044639);
+            pushFollow(FollowSets002.FOLLOW_rule__NestedExpCS__Group__0__Impl_in_rule__NestedExpCS__Group__046509);
             rule__NestedExpCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__NestedExpCS__Group__1_in_rule__NestedExpCS__Group__044642);
+            pushFollow(FollowSets002.FOLLOW_rule__NestedExpCS__Group__1_in_rule__NestedExpCS__Group__046512);
             rule__NestedExpCS__Group__1();
 
             state._fsp--;
@@ -64860,22 +67328,22 @@
 
 
     // $ANTLR start "rule__NestedExpCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21850:1: rule__NestedExpCS__Group__0__Impl : ( '(' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22868:1: rule__NestedExpCS__Group__0__Impl : ( '(' ) ;
     public final void rule__NestedExpCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21854:1: ( ( '(' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21855:1: ( '(' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22872:1: ( ( '(' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22873:1: ( '(' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21855:1: ( '(' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21856:1: '('
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22873:1: ( '(' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22874:1: '('
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNestedExpCSAccess().getLeftParenthesisKeyword_0()); 
             }
-            match(input,95,FollowSets001.FOLLOW_95_in_rule__NestedExpCS__Group__0__Impl44670); if (state.failed) return ;
+            match(input,104,FollowSets002.FOLLOW_104_in_rule__NestedExpCS__Group__0__Impl46540); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getNestedExpCSAccess().getLeftParenthesisKeyword_0()); 
             }
@@ -64901,21 +67369,21 @@
 
 
     // $ANTLR start "rule__NestedExpCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21869:1: rule__NestedExpCS__Group__1 : rule__NestedExpCS__Group__1__Impl rule__NestedExpCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22887:1: rule__NestedExpCS__Group__1 : rule__NestedExpCS__Group__1__Impl rule__NestedExpCS__Group__2 ;
     public final void rule__NestedExpCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21873:1: ( rule__NestedExpCS__Group__1__Impl rule__NestedExpCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21874:2: rule__NestedExpCS__Group__1__Impl rule__NestedExpCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22891:1: ( rule__NestedExpCS__Group__1__Impl rule__NestedExpCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22892:2: rule__NestedExpCS__Group__1__Impl rule__NestedExpCS__Group__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NestedExpCS__Group__1__Impl_in_rule__NestedExpCS__Group__144701);
+            pushFollow(FollowSets002.FOLLOW_rule__NestedExpCS__Group__1__Impl_in_rule__NestedExpCS__Group__146571);
             rule__NestedExpCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__NestedExpCS__Group__2_in_rule__NestedExpCS__Group__144704);
+            pushFollow(FollowSets002.FOLLOW_rule__NestedExpCS__Group__2_in_rule__NestedExpCS__Group__146574);
             rule__NestedExpCS__Group__2();
 
             state._fsp--;
@@ -64939,25 +67407,25 @@
 
 
     // $ANTLR start "rule__NestedExpCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21881:1: rule__NestedExpCS__Group__1__Impl : ( ( rule__NestedExpCS__OwnedExpressionAssignment_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22899:1: rule__NestedExpCS__Group__1__Impl : ( ( rule__NestedExpCS__OwnedExpressionAssignment_1 ) ) ;
     public final void rule__NestedExpCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21885:1: ( ( ( rule__NestedExpCS__OwnedExpressionAssignment_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21886:1: ( ( rule__NestedExpCS__OwnedExpressionAssignment_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22903:1: ( ( ( rule__NestedExpCS__OwnedExpressionAssignment_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22904:1: ( ( rule__NestedExpCS__OwnedExpressionAssignment_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21886:1: ( ( rule__NestedExpCS__OwnedExpressionAssignment_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21887:1: ( rule__NestedExpCS__OwnedExpressionAssignment_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22904:1: ( ( rule__NestedExpCS__OwnedExpressionAssignment_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22905:1: ( rule__NestedExpCS__OwnedExpressionAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNestedExpCSAccess().getOwnedExpressionAssignment_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21888:1: ( rule__NestedExpCS__OwnedExpressionAssignment_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21888:2: rule__NestedExpCS__OwnedExpressionAssignment_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22906:1: ( rule__NestedExpCS__OwnedExpressionAssignment_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22906:2: rule__NestedExpCS__OwnedExpressionAssignment_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NestedExpCS__OwnedExpressionAssignment_1_in_rule__NestedExpCS__Group__1__Impl44731);
+            pushFollow(FollowSets002.FOLLOW_rule__NestedExpCS__OwnedExpressionAssignment_1_in_rule__NestedExpCS__Group__1__Impl46601);
             rule__NestedExpCS__OwnedExpressionAssignment_1();
 
             state._fsp--;
@@ -64990,16 +67458,16 @@
 
 
     // $ANTLR start "rule__NestedExpCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21898:1: rule__NestedExpCS__Group__2 : rule__NestedExpCS__Group__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22916:1: rule__NestedExpCS__Group__2 : rule__NestedExpCS__Group__2__Impl ;
     public final void rule__NestedExpCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21902:1: ( rule__NestedExpCS__Group__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21903:2: rule__NestedExpCS__Group__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22920:1: ( rule__NestedExpCS__Group__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22921:2: rule__NestedExpCS__Group__2__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__NestedExpCS__Group__2__Impl_in_rule__NestedExpCS__Group__244761);
+            pushFollow(FollowSets002.FOLLOW_rule__NestedExpCS__Group__2__Impl_in_rule__NestedExpCS__Group__246631);
             rule__NestedExpCS__Group__2__Impl();
 
             state._fsp--;
@@ -65023,22 +67491,22 @@
 
 
     // $ANTLR start "rule__NestedExpCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21909:1: rule__NestedExpCS__Group__2__Impl : ( ')' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22927:1: rule__NestedExpCS__Group__2__Impl : ( ')' ) ;
     public final void rule__NestedExpCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21913:1: ( ( ')' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21914:1: ( ')' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22931:1: ( ( ')' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22932:1: ( ')' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21914:1: ( ')' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21915:1: ')'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22932:1: ( ')' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22933:1: ')'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNestedExpCSAccess().getRightParenthesisKeyword_2()); 
             }
-            match(input,96,FollowSets001.FOLLOW_96_in_rule__NestedExpCS__Group__2__Impl44789); if (state.failed) return ;
+            match(input,105,FollowSets002.FOLLOW_105_in_rule__NestedExpCS__Group__2__Impl46659); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getNestedExpCSAccess().getRightParenthesisKeyword_2()); 
             }
@@ -65064,21 +67532,21 @@
 
 
     // $ANTLR start "rule__SelfExpCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21934:1: rule__SelfExpCS__Group__0 : rule__SelfExpCS__Group__0__Impl rule__SelfExpCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22952:1: rule__SelfExpCS__Group__0 : rule__SelfExpCS__Group__0__Impl rule__SelfExpCS__Group__1 ;
     public final void rule__SelfExpCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21938:1: ( rule__SelfExpCS__Group__0__Impl rule__SelfExpCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21939:2: rule__SelfExpCS__Group__0__Impl rule__SelfExpCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22956:1: ( rule__SelfExpCS__Group__0__Impl rule__SelfExpCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22957:2: rule__SelfExpCS__Group__0__Impl rule__SelfExpCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__SelfExpCS__Group__0__Impl_in_rule__SelfExpCS__Group__044826);
+            pushFollow(FollowSets002.FOLLOW_rule__SelfExpCS__Group__0__Impl_in_rule__SelfExpCS__Group__046696);
             rule__SelfExpCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__SelfExpCS__Group__1_in_rule__SelfExpCS__Group__044829);
+            pushFollow(FollowSets002.FOLLOW_rule__SelfExpCS__Group__1_in_rule__SelfExpCS__Group__046699);
             rule__SelfExpCS__Group__1();
 
             state._fsp--;
@@ -65102,23 +67570,23 @@
 
 
     // $ANTLR start "rule__SelfExpCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21946:1: rule__SelfExpCS__Group__0__Impl : ( () ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22964:1: rule__SelfExpCS__Group__0__Impl : ( () ) ;
     public final void rule__SelfExpCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21950:1: ( ( () ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21951:1: ( () )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22968:1: ( ( () ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22969:1: ( () )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21951:1: ( () )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21952:1: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22969:1: ( () )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22970:1: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSelfExpCSAccess().getSelfExpCSAction_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21953:1: ()
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21955:1: 
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22971:1: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22973:1: 
             {
             }
 
@@ -65143,16 +67611,16 @@
 
 
     // $ANTLR start "rule__SelfExpCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21965:1: rule__SelfExpCS__Group__1 : rule__SelfExpCS__Group__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22983:1: rule__SelfExpCS__Group__1 : rule__SelfExpCS__Group__1__Impl ;
     public final void rule__SelfExpCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21969:1: ( rule__SelfExpCS__Group__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21970:2: rule__SelfExpCS__Group__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22987:1: ( rule__SelfExpCS__Group__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22988:2: rule__SelfExpCS__Group__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__SelfExpCS__Group__1__Impl_in_rule__SelfExpCS__Group__144887);
+            pushFollow(FollowSets002.FOLLOW_rule__SelfExpCS__Group__1__Impl_in_rule__SelfExpCS__Group__146757);
             rule__SelfExpCS__Group__1__Impl();
 
             state._fsp--;
@@ -65176,22 +67644,22 @@
 
 
     // $ANTLR start "rule__SelfExpCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21976:1: rule__SelfExpCS__Group__1__Impl : ( 'self' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22994:1: rule__SelfExpCS__Group__1__Impl : ( 'self' ) ;
     public final void rule__SelfExpCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21980:1: ( ( 'self' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21981:1: ( 'self' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22998:1: ( ( 'self' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22999:1: ( 'self' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21981:1: ( 'self' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21982:1: 'self'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22999:1: ( 'self' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23000:1: 'self'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSelfExpCSAccess().getSelfKeyword_1()); 
             }
-            match(input,118,FollowSets001.FOLLOW_118_in_rule__SelfExpCS__Group__1__Impl44915); if (state.failed) return ;
+            match(input,127,FollowSets002.FOLLOW_127_in_rule__SelfExpCS__Group__1__Impl46785); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getSelfExpCSAccess().getSelfKeyword_1()); 
             }
@@ -65217,21 +67685,21 @@
 
 
     // $ANTLR start "rule__MultiplicityBoundsCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:21999:1: rule__MultiplicityBoundsCS__Group__0 : rule__MultiplicityBoundsCS__Group__0__Impl rule__MultiplicityBoundsCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23017:1: rule__MultiplicityBoundsCS__Group__0 : rule__MultiplicityBoundsCS__Group__0__Impl rule__MultiplicityBoundsCS__Group__1 ;
     public final void rule__MultiplicityBoundsCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22003:1: ( rule__MultiplicityBoundsCS__Group__0__Impl rule__MultiplicityBoundsCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22004:2: rule__MultiplicityBoundsCS__Group__0__Impl rule__MultiplicityBoundsCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23021:1: ( rule__MultiplicityBoundsCS__Group__0__Impl rule__MultiplicityBoundsCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23022:2: rule__MultiplicityBoundsCS__Group__0__Impl rule__MultiplicityBoundsCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__MultiplicityBoundsCS__Group__0__Impl_in_rule__MultiplicityBoundsCS__Group__044950);
+            pushFollow(FollowSets002.FOLLOW_rule__MultiplicityBoundsCS__Group__0__Impl_in_rule__MultiplicityBoundsCS__Group__046820);
             rule__MultiplicityBoundsCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__MultiplicityBoundsCS__Group__1_in_rule__MultiplicityBoundsCS__Group__044953);
+            pushFollow(FollowSets002.FOLLOW_rule__MultiplicityBoundsCS__Group__1_in_rule__MultiplicityBoundsCS__Group__046823);
             rule__MultiplicityBoundsCS__Group__1();
 
             state._fsp--;
@@ -65255,25 +67723,25 @@
 
 
     // $ANTLR start "rule__MultiplicityBoundsCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22011:1: rule__MultiplicityBoundsCS__Group__0__Impl : ( ( rule__MultiplicityBoundsCS__LowerBoundAssignment_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23029:1: rule__MultiplicityBoundsCS__Group__0__Impl : ( ( rule__MultiplicityBoundsCS__LowerBoundAssignment_0 ) ) ;
     public final void rule__MultiplicityBoundsCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22015:1: ( ( ( rule__MultiplicityBoundsCS__LowerBoundAssignment_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22016:1: ( ( rule__MultiplicityBoundsCS__LowerBoundAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23033:1: ( ( ( rule__MultiplicityBoundsCS__LowerBoundAssignment_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23034:1: ( ( rule__MultiplicityBoundsCS__LowerBoundAssignment_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22016:1: ( ( rule__MultiplicityBoundsCS__LowerBoundAssignment_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22017:1: ( rule__MultiplicityBoundsCS__LowerBoundAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23034:1: ( ( rule__MultiplicityBoundsCS__LowerBoundAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23035:1: ( rule__MultiplicityBoundsCS__LowerBoundAssignment_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMultiplicityBoundsCSAccess().getLowerBoundAssignment_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22018:1: ( rule__MultiplicityBoundsCS__LowerBoundAssignment_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22018:2: rule__MultiplicityBoundsCS__LowerBoundAssignment_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23036:1: ( rule__MultiplicityBoundsCS__LowerBoundAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23036:2: rule__MultiplicityBoundsCS__LowerBoundAssignment_0
             {
-            pushFollow(FollowSets001.FOLLOW_rule__MultiplicityBoundsCS__LowerBoundAssignment_0_in_rule__MultiplicityBoundsCS__Group__0__Impl44980);
+            pushFollow(FollowSets002.FOLLOW_rule__MultiplicityBoundsCS__LowerBoundAssignment_0_in_rule__MultiplicityBoundsCS__Group__0__Impl46850);
             rule__MultiplicityBoundsCS__LowerBoundAssignment_0();
 
             state._fsp--;
@@ -65306,16 +67774,16 @@
 
 
     // $ANTLR start "rule__MultiplicityBoundsCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22028:1: rule__MultiplicityBoundsCS__Group__1 : rule__MultiplicityBoundsCS__Group__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23046:1: rule__MultiplicityBoundsCS__Group__1 : rule__MultiplicityBoundsCS__Group__1__Impl ;
     public final void rule__MultiplicityBoundsCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22032:1: ( rule__MultiplicityBoundsCS__Group__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22033:2: rule__MultiplicityBoundsCS__Group__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23050:1: ( rule__MultiplicityBoundsCS__Group__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23051:2: rule__MultiplicityBoundsCS__Group__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__MultiplicityBoundsCS__Group__1__Impl_in_rule__MultiplicityBoundsCS__Group__145010);
+            pushFollow(FollowSets002.FOLLOW_rule__MultiplicityBoundsCS__Group__1__Impl_in_rule__MultiplicityBoundsCS__Group__146880);
             rule__MultiplicityBoundsCS__Group__1__Impl();
 
             state._fsp--;
@@ -65339,33 +67807,33 @@
 
 
     // $ANTLR start "rule__MultiplicityBoundsCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22039:1: rule__MultiplicityBoundsCS__Group__1__Impl : ( ( rule__MultiplicityBoundsCS__Group_1__0 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23057:1: rule__MultiplicityBoundsCS__Group__1__Impl : ( ( rule__MultiplicityBoundsCS__Group_1__0 )? ) ;
     public final void rule__MultiplicityBoundsCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22043:1: ( ( ( rule__MultiplicityBoundsCS__Group_1__0 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22044:1: ( ( rule__MultiplicityBoundsCS__Group_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23061:1: ( ( ( rule__MultiplicityBoundsCS__Group_1__0 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23062:1: ( ( rule__MultiplicityBoundsCS__Group_1__0 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22044:1: ( ( rule__MultiplicityBoundsCS__Group_1__0 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22045:1: ( rule__MultiplicityBoundsCS__Group_1__0 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23062:1: ( ( rule__MultiplicityBoundsCS__Group_1__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23063:1: ( rule__MultiplicityBoundsCS__Group_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMultiplicityBoundsCSAccess().getGroup_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22046:1: ( rule__MultiplicityBoundsCS__Group_1__0 )?
-            int alt222=2;
-            int LA222_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23064:1: ( rule__MultiplicityBoundsCS__Group_1__0 )?
+            int alt250=2;
+            int LA250_0 = input.LA(1);
 
-            if ( (LA222_0==103) ) {
-                alt222=1;
+            if ( (LA250_0==112) ) {
+                alt250=1;
             }
-            switch (alt222) {
+            switch (alt250) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22046:2: rule__MultiplicityBoundsCS__Group_1__0
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23064:2: rule__MultiplicityBoundsCS__Group_1__0
                     {
-                    pushFollow(FollowSets001.FOLLOW_rule__MultiplicityBoundsCS__Group_1__0_in_rule__MultiplicityBoundsCS__Group__1__Impl45037);
+                    pushFollow(FollowSets002.FOLLOW_rule__MultiplicityBoundsCS__Group_1__0_in_rule__MultiplicityBoundsCS__Group__1__Impl46907);
                     rule__MultiplicityBoundsCS__Group_1__0();
 
                     state._fsp--;
@@ -65401,21 +67869,21 @@
 
 
     // $ANTLR start "rule__MultiplicityBoundsCS__Group_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22060:1: rule__MultiplicityBoundsCS__Group_1__0 : rule__MultiplicityBoundsCS__Group_1__0__Impl rule__MultiplicityBoundsCS__Group_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23078:1: rule__MultiplicityBoundsCS__Group_1__0 : rule__MultiplicityBoundsCS__Group_1__0__Impl rule__MultiplicityBoundsCS__Group_1__1 ;
     public final void rule__MultiplicityBoundsCS__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22064:1: ( rule__MultiplicityBoundsCS__Group_1__0__Impl rule__MultiplicityBoundsCS__Group_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22065:2: rule__MultiplicityBoundsCS__Group_1__0__Impl rule__MultiplicityBoundsCS__Group_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23082:1: ( rule__MultiplicityBoundsCS__Group_1__0__Impl rule__MultiplicityBoundsCS__Group_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23083:2: rule__MultiplicityBoundsCS__Group_1__0__Impl rule__MultiplicityBoundsCS__Group_1__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__MultiplicityBoundsCS__Group_1__0__Impl_in_rule__MultiplicityBoundsCS__Group_1__045072);
+            pushFollow(FollowSets002.FOLLOW_rule__MultiplicityBoundsCS__Group_1__0__Impl_in_rule__MultiplicityBoundsCS__Group_1__046942);
             rule__MultiplicityBoundsCS__Group_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__MultiplicityBoundsCS__Group_1__1_in_rule__MultiplicityBoundsCS__Group_1__045075);
+            pushFollow(FollowSets002.FOLLOW_rule__MultiplicityBoundsCS__Group_1__1_in_rule__MultiplicityBoundsCS__Group_1__046945);
             rule__MultiplicityBoundsCS__Group_1__1();
 
             state._fsp--;
@@ -65439,22 +67907,22 @@
 
 
     // $ANTLR start "rule__MultiplicityBoundsCS__Group_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22072:1: rule__MultiplicityBoundsCS__Group_1__0__Impl : ( '..' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23090:1: rule__MultiplicityBoundsCS__Group_1__0__Impl : ( '..' ) ;
     public final void rule__MultiplicityBoundsCS__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22076:1: ( ( '..' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22077:1: ( '..' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23094:1: ( ( '..' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23095:1: ( '..' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22077:1: ( '..' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22078:1: '..'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23095:1: ( '..' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23096:1: '..'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMultiplicityBoundsCSAccess().getFullStopFullStopKeyword_1_0()); 
             }
-            match(input,103,FollowSets001.FOLLOW_103_in_rule__MultiplicityBoundsCS__Group_1__0__Impl45103); if (state.failed) return ;
+            match(input,112,FollowSets002.FOLLOW_112_in_rule__MultiplicityBoundsCS__Group_1__0__Impl46973); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getMultiplicityBoundsCSAccess().getFullStopFullStopKeyword_1_0()); 
             }
@@ -65480,16 +67948,16 @@
 
 
     // $ANTLR start "rule__MultiplicityBoundsCS__Group_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22091:1: rule__MultiplicityBoundsCS__Group_1__1 : rule__MultiplicityBoundsCS__Group_1__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23109:1: rule__MultiplicityBoundsCS__Group_1__1 : rule__MultiplicityBoundsCS__Group_1__1__Impl ;
     public final void rule__MultiplicityBoundsCS__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22095:1: ( rule__MultiplicityBoundsCS__Group_1__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22096:2: rule__MultiplicityBoundsCS__Group_1__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23113:1: ( rule__MultiplicityBoundsCS__Group_1__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23114:2: rule__MultiplicityBoundsCS__Group_1__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__MultiplicityBoundsCS__Group_1__1__Impl_in_rule__MultiplicityBoundsCS__Group_1__145134);
+            pushFollow(FollowSets002.FOLLOW_rule__MultiplicityBoundsCS__Group_1__1__Impl_in_rule__MultiplicityBoundsCS__Group_1__147004);
             rule__MultiplicityBoundsCS__Group_1__1__Impl();
 
             state._fsp--;
@@ -65513,25 +67981,25 @@
 
 
     // $ANTLR start "rule__MultiplicityBoundsCS__Group_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22102:1: rule__MultiplicityBoundsCS__Group_1__1__Impl : ( ( rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23120:1: rule__MultiplicityBoundsCS__Group_1__1__Impl : ( ( rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1 ) ) ;
     public final void rule__MultiplicityBoundsCS__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22106:1: ( ( ( rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22107:1: ( ( rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23124:1: ( ( ( rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23125:1: ( ( rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22107:1: ( ( rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22108:1: ( rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23125:1: ( ( rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23126:1: ( rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMultiplicityBoundsCSAccess().getUpperBoundAssignment_1_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22109:1: ( rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22109:2: rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23127:1: ( rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23127:2: rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1_in_rule__MultiplicityBoundsCS__Group_1__1__Impl45161);
+            pushFollow(FollowSets002.FOLLOW_rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1_in_rule__MultiplicityBoundsCS__Group_1__1__Impl47031);
             rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1();
 
             state._fsp--;
@@ -65564,21 +68032,21 @@
 
 
     // $ANTLR start "rule__MultiplicityCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22123:1: rule__MultiplicityCS__Group__0 : rule__MultiplicityCS__Group__0__Impl rule__MultiplicityCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23141:1: rule__MultiplicityCS__Group__0 : rule__MultiplicityCS__Group__0__Impl rule__MultiplicityCS__Group__1 ;
     public final void rule__MultiplicityCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22127:1: ( rule__MultiplicityCS__Group__0__Impl rule__MultiplicityCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22128:2: rule__MultiplicityCS__Group__0__Impl rule__MultiplicityCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23145:1: ( rule__MultiplicityCS__Group__0__Impl rule__MultiplicityCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23146:2: rule__MultiplicityCS__Group__0__Impl rule__MultiplicityCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__MultiplicityCS__Group__0__Impl_in_rule__MultiplicityCS__Group__045195);
+            pushFollow(FollowSets002.FOLLOW_rule__MultiplicityCS__Group__0__Impl_in_rule__MultiplicityCS__Group__047065);
             rule__MultiplicityCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__MultiplicityCS__Group__1_in_rule__MultiplicityCS__Group__045198);
+            pushFollow(FollowSets002.FOLLOW_rule__MultiplicityCS__Group__1_in_rule__MultiplicityCS__Group__047068);
             rule__MultiplicityCS__Group__1();
 
             state._fsp--;
@@ -65602,22 +68070,22 @@
 
 
     // $ANTLR start "rule__MultiplicityCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22135:1: rule__MultiplicityCS__Group__0__Impl : ( '[' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23153:1: rule__MultiplicityCS__Group__0__Impl : ( '[' ) ;
     public final void rule__MultiplicityCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22139:1: ( ( '[' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22140:1: ( '[' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23157:1: ( ( '[' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23158:1: ( '[' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22140:1: ( '[' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22141:1: '['
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23158:1: ( '[' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23159:1: '['
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMultiplicityCSAccess().getLeftSquareBracketKeyword_0()); 
             }
-            match(input,109,FollowSets001.FOLLOW_109_in_rule__MultiplicityCS__Group__0__Impl45226); if (state.failed) return ;
+            match(input,118,FollowSets002.FOLLOW_118_in_rule__MultiplicityCS__Group__0__Impl47096); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getMultiplicityCSAccess().getLeftSquareBracketKeyword_0()); 
             }
@@ -65643,21 +68111,21 @@
 
 
     // $ANTLR start "rule__MultiplicityCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22154:1: rule__MultiplicityCS__Group__1 : rule__MultiplicityCS__Group__1__Impl rule__MultiplicityCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23172:1: rule__MultiplicityCS__Group__1 : rule__MultiplicityCS__Group__1__Impl rule__MultiplicityCS__Group__2 ;
     public final void rule__MultiplicityCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22158:1: ( rule__MultiplicityCS__Group__1__Impl rule__MultiplicityCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22159:2: rule__MultiplicityCS__Group__1__Impl rule__MultiplicityCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23176:1: ( rule__MultiplicityCS__Group__1__Impl rule__MultiplicityCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23177:2: rule__MultiplicityCS__Group__1__Impl rule__MultiplicityCS__Group__2
             {
-            pushFollow(FollowSets001.FOLLOW_rule__MultiplicityCS__Group__1__Impl_in_rule__MultiplicityCS__Group__145257);
+            pushFollow(FollowSets002.FOLLOW_rule__MultiplicityCS__Group__1__Impl_in_rule__MultiplicityCS__Group__147127);
             rule__MultiplicityCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__MultiplicityCS__Group__2_in_rule__MultiplicityCS__Group__145260);
+            pushFollow(FollowSets002.FOLLOW_rule__MultiplicityCS__Group__2_in_rule__MultiplicityCS__Group__147130);
             rule__MultiplicityCS__Group__2();
 
             state._fsp--;
@@ -65681,25 +68149,25 @@
 
 
     // $ANTLR start "rule__MultiplicityCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22166:1: rule__MultiplicityCS__Group__1__Impl : ( ( rule__MultiplicityCS__Alternatives_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23184:1: rule__MultiplicityCS__Group__1__Impl : ( ( rule__MultiplicityCS__Alternatives_1 ) ) ;
     public final void rule__MultiplicityCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22170:1: ( ( ( rule__MultiplicityCS__Alternatives_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22171:1: ( ( rule__MultiplicityCS__Alternatives_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23188:1: ( ( ( rule__MultiplicityCS__Alternatives_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23189:1: ( ( rule__MultiplicityCS__Alternatives_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22171:1: ( ( rule__MultiplicityCS__Alternatives_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22172:1: ( rule__MultiplicityCS__Alternatives_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23189:1: ( ( rule__MultiplicityCS__Alternatives_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23190:1: ( rule__MultiplicityCS__Alternatives_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMultiplicityCSAccess().getAlternatives_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22173:1: ( rule__MultiplicityCS__Alternatives_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22173:2: rule__MultiplicityCS__Alternatives_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23191:1: ( rule__MultiplicityCS__Alternatives_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23191:2: rule__MultiplicityCS__Alternatives_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__MultiplicityCS__Alternatives_1_in_rule__MultiplicityCS__Group__1__Impl45287);
+            pushFollow(FollowSets002.FOLLOW_rule__MultiplicityCS__Alternatives_1_in_rule__MultiplicityCS__Group__1__Impl47157);
             rule__MultiplicityCS__Alternatives_1();
 
             state._fsp--;
@@ -65732,16 +68200,16 @@
 
 
     // $ANTLR start "rule__MultiplicityCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22183:1: rule__MultiplicityCS__Group__2 : rule__MultiplicityCS__Group__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23201:1: rule__MultiplicityCS__Group__2 : rule__MultiplicityCS__Group__2__Impl ;
     public final void rule__MultiplicityCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22187:1: ( rule__MultiplicityCS__Group__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22188:2: rule__MultiplicityCS__Group__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23205:1: ( rule__MultiplicityCS__Group__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23206:2: rule__MultiplicityCS__Group__2__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__MultiplicityCS__Group__2__Impl_in_rule__MultiplicityCS__Group__245317);
+            pushFollow(FollowSets002.FOLLOW_rule__MultiplicityCS__Group__2__Impl_in_rule__MultiplicityCS__Group__247187);
             rule__MultiplicityCS__Group__2__Impl();
 
             state._fsp--;
@@ -65765,22 +68233,22 @@
 
 
     // $ANTLR start "rule__MultiplicityCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22194:1: rule__MultiplicityCS__Group__2__Impl : ( ']' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23212:1: rule__MultiplicityCS__Group__2__Impl : ( ']' ) ;
     public final void rule__MultiplicityCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22198:1: ( ( ']' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22199:1: ( ']' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23216:1: ( ( ']' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23217:1: ( ']' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22199:1: ( ']' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22200:1: ']'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23217:1: ( ']' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23218:1: ']'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMultiplicityCSAccess().getRightSquareBracketKeyword_2()); 
             }
-            match(input,110,FollowSets001.FOLLOW_110_in_rule__MultiplicityCS__Group__2__Impl45345); if (state.failed) return ;
+            match(input,119,FollowSets002.FOLLOW_119_in_rule__MultiplicityCS__Group__2__Impl47215); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getMultiplicityCSAccess().getRightSquareBracketKeyword_2()); 
             }
@@ -65806,21 +68274,21 @@
 
 
     // $ANTLR start "rule__PathNameCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22219:1: rule__PathNameCS__Group__0 : rule__PathNameCS__Group__0__Impl rule__PathNameCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23237:1: rule__PathNameCS__Group__0 : rule__PathNameCS__Group__0__Impl rule__PathNameCS__Group__1 ;
     public final void rule__PathNameCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22223:1: ( rule__PathNameCS__Group__0__Impl rule__PathNameCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22224:2: rule__PathNameCS__Group__0__Impl rule__PathNameCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23241:1: ( rule__PathNameCS__Group__0__Impl rule__PathNameCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23242:2: rule__PathNameCS__Group__0__Impl rule__PathNameCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__PathNameCS__Group__0__Impl_in_rule__PathNameCS__Group__045382);
+            pushFollow(FollowSets002.FOLLOW_rule__PathNameCS__Group__0__Impl_in_rule__PathNameCS__Group__047252);
             rule__PathNameCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__PathNameCS__Group__1_in_rule__PathNameCS__Group__045385);
+            pushFollow(FollowSets002.FOLLOW_rule__PathNameCS__Group__1_in_rule__PathNameCS__Group__047255);
             rule__PathNameCS__Group__1();
 
             state._fsp--;
@@ -65844,25 +68312,25 @@
 
 
     // $ANTLR start "rule__PathNameCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22231:1: rule__PathNameCS__Group__0__Impl : ( ( rule__PathNameCS__OwnedPathElementsAssignment_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23249:1: rule__PathNameCS__Group__0__Impl : ( ( rule__PathNameCS__OwnedPathElementsAssignment_0 ) ) ;
     public final void rule__PathNameCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22235:1: ( ( ( rule__PathNameCS__OwnedPathElementsAssignment_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22236:1: ( ( rule__PathNameCS__OwnedPathElementsAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23253:1: ( ( ( rule__PathNameCS__OwnedPathElementsAssignment_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23254:1: ( ( rule__PathNameCS__OwnedPathElementsAssignment_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22236:1: ( ( rule__PathNameCS__OwnedPathElementsAssignment_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22237:1: ( rule__PathNameCS__OwnedPathElementsAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23254:1: ( ( rule__PathNameCS__OwnedPathElementsAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23255:1: ( rule__PathNameCS__OwnedPathElementsAssignment_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPathNameCSAccess().getOwnedPathElementsAssignment_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22238:1: ( rule__PathNameCS__OwnedPathElementsAssignment_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22238:2: rule__PathNameCS__OwnedPathElementsAssignment_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23256:1: ( rule__PathNameCS__OwnedPathElementsAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23256:2: rule__PathNameCS__OwnedPathElementsAssignment_0
             {
-            pushFollow(FollowSets001.FOLLOW_rule__PathNameCS__OwnedPathElementsAssignment_0_in_rule__PathNameCS__Group__0__Impl45412);
+            pushFollow(FollowSets002.FOLLOW_rule__PathNameCS__OwnedPathElementsAssignment_0_in_rule__PathNameCS__Group__0__Impl47282);
             rule__PathNameCS__OwnedPathElementsAssignment_0();
 
             state._fsp--;
@@ -65895,16 +68363,16 @@
 
 
     // $ANTLR start "rule__PathNameCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22248:1: rule__PathNameCS__Group__1 : rule__PathNameCS__Group__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23266:1: rule__PathNameCS__Group__1 : rule__PathNameCS__Group__1__Impl ;
     public final void rule__PathNameCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22252:1: ( rule__PathNameCS__Group__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22253:2: rule__PathNameCS__Group__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23270:1: ( rule__PathNameCS__Group__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23271:2: rule__PathNameCS__Group__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__PathNameCS__Group__1__Impl_in_rule__PathNameCS__Group__145442);
+            pushFollow(FollowSets002.FOLLOW_rule__PathNameCS__Group__1__Impl_in_rule__PathNameCS__Group__147312);
             rule__PathNameCS__Group__1__Impl();
 
             state._fsp--;
@@ -65928,37 +68396,37 @@
 
 
     // $ANTLR start "rule__PathNameCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22259:1: rule__PathNameCS__Group__1__Impl : ( ( rule__PathNameCS__Group_1__0 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23277:1: rule__PathNameCS__Group__1__Impl : ( ( rule__PathNameCS__Group_1__0 )* ) ;
     public final void rule__PathNameCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22263:1: ( ( ( rule__PathNameCS__Group_1__0 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22264:1: ( ( rule__PathNameCS__Group_1__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23281:1: ( ( ( rule__PathNameCS__Group_1__0 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23282:1: ( ( rule__PathNameCS__Group_1__0 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22264:1: ( ( rule__PathNameCS__Group_1__0 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22265:1: ( rule__PathNameCS__Group_1__0 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23282:1: ( ( rule__PathNameCS__Group_1__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23283:1: ( rule__PathNameCS__Group_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPathNameCSAccess().getGroup_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22266:1: ( rule__PathNameCS__Group_1__0 )*
-            loop223:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23284:1: ( rule__PathNameCS__Group_1__0 )*
+            loop251:
             do {
-                int alt223=2;
-                int LA223_0 = input.LA(1);
+                int alt251=2;
+                int LA251_0 = input.LA(1);
 
-                if ( (LA223_0==102) ) {
-                    alt223=1;
+                if ( (LA251_0==111) ) {
+                    alt251=1;
                 }
 
 
-                switch (alt223) {
+                switch (alt251) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22266:2: rule__PathNameCS__Group_1__0
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23284:2: rule__PathNameCS__Group_1__0
             	    {
-            	    pushFollow(FollowSets001.FOLLOW_rule__PathNameCS__Group_1__0_in_rule__PathNameCS__Group__1__Impl45469);
+            	    pushFollow(FollowSets002.FOLLOW_rule__PathNameCS__Group_1__0_in_rule__PathNameCS__Group__1__Impl47339);
             	    rule__PathNameCS__Group_1__0();
 
             	    state._fsp--;
@@ -65968,7 +68436,7 @@
             	    break;
 
             	default :
-            	    break loop223;
+            	    break loop251;
                 }
             } while (true);
 
@@ -65997,21 +68465,21 @@
 
 
     // $ANTLR start "rule__PathNameCS__Group_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22280:1: rule__PathNameCS__Group_1__0 : rule__PathNameCS__Group_1__0__Impl rule__PathNameCS__Group_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23298:1: rule__PathNameCS__Group_1__0 : rule__PathNameCS__Group_1__0__Impl rule__PathNameCS__Group_1__1 ;
     public final void rule__PathNameCS__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22284:1: ( rule__PathNameCS__Group_1__0__Impl rule__PathNameCS__Group_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22285:2: rule__PathNameCS__Group_1__0__Impl rule__PathNameCS__Group_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23302:1: ( rule__PathNameCS__Group_1__0__Impl rule__PathNameCS__Group_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23303:2: rule__PathNameCS__Group_1__0__Impl rule__PathNameCS__Group_1__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__PathNameCS__Group_1__0__Impl_in_rule__PathNameCS__Group_1__045504);
+            pushFollow(FollowSets002.FOLLOW_rule__PathNameCS__Group_1__0__Impl_in_rule__PathNameCS__Group_1__047374);
             rule__PathNameCS__Group_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets001.FOLLOW_rule__PathNameCS__Group_1__1_in_rule__PathNameCS__Group_1__045507);
+            pushFollow(FollowSets002.FOLLOW_rule__PathNameCS__Group_1__1_in_rule__PathNameCS__Group_1__047377);
             rule__PathNameCS__Group_1__1();
 
             state._fsp--;
@@ -66035,22 +68503,22 @@
 
 
     // $ANTLR start "rule__PathNameCS__Group_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22292:1: rule__PathNameCS__Group_1__0__Impl : ( '::' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23310:1: rule__PathNameCS__Group_1__0__Impl : ( '::' ) ;
     public final void rule__PathNameCS__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22296:1: ( ( '::' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22297:1: ( '::' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23314:1: ( ( '::' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23315:1: ( '::' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22297:1: ( '::' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22298:1: '::'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23315:1: ( '::' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23316:1: '::'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPathNameCSAccess().getColonColonKeyword_1_0()); 
             }
-            match(input,102,FollowSets001.FOLLOW_102_in_rule__PathNameCS__Group_1__0__Impl45535); if (state.failed) return ;
+            match(input,111,FollowSets002.FOLLOW_111_in_rule__PathNameCS__Group_1__0__Impl47405); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPathNameCSAccess().getColonColonKeyword_1_0()); 
             }
@@ -66076,16 +68544,16 @@
 
 
     // $ANTLR start "rule__PathNameCS__Group_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22311:1: rule__PathNameCS__Group_1__1 : rule__PathNameCS__Group_1__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23329:1: rule__PathNameCS__Group_1__1 : rule__PathNameCS__Group_1__1__Impl ;
     public final void rule__PathNameCS__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22315:1: ( rule__PathNameCS__Group_1__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22316:2: rule__PathNameCS__Group_1__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23333:1: ( rule__PathNameCS__Group_1__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23334:2: rule__PathNameCS__Group_1__1__Impl
             {
-            pushFollow(FollowSets001.FOLLOW_rule__PathNameCS__Group_1__1__Impl_in_rule__PathNameCS__Group_1__145566);
+            pushFollow(FollowSets002.FOLLOW_rule__PathNameCS__Group_1__1__Impl_in_rule__PathNameCS__Group_1__147436);
             rule__PathNameCS__Group_1__1__Impl();
 
             state._fsp--;
@@ -66109,25 +68577,25 @@
 
 
     // $ANTLR start "rule__PathNameCS__Group_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22322:1: rule__PathNameCS__Group_1__1__Impl : ( ( rule__PathNameCS__OwnedPathElementsAssignment_1_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23340:1: rule__PathNameCS__Group_1__1__Impl : ( ( rule__PathNameCS__OwnedPathElementsAssignment_1_1 ) ) ;
     public final void rule__PathNameCS__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22326:1: ( ( ( rule__PathNameCS__OwnedPathElementsAssignment_1_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22327:1: ( ( rule__PathNameCS__OwnedPathElementsAssignment_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23344:1: ( ( ( rule__PathNameCS__OwnedPathElementsAssignment_1_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23345:1: ( ( rule__PathNameCS__OwnedPathElementsAssignment_1_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22327:1: ( ( rule__PathNameCS__OwnedPathElementsAssignment_1_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22328:1: ( rule__PathNameCS__OwnedPathElementsAssignment_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23345:1: ( ( rule__PathNameCS__OwnedPathElementsAssignment_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23346:1: ( rule__PathNameCS__OwnedPathElementsAssignment_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPathNameCSAccess().getOwnedPathElementsAssignment_1_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22329:1: ( rule__PathNameCS__OwnedPathElementsAssignment_1_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22329:2: rule__PathNameCS__OwnedPathElementsAssignment_1_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23347:1: ( rule__PathNameCS__OwnedPathElementsAssignment_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23347:2: rule__PathNameCS__OwnedPathElementsAssignment_1_1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__PathNameCS__OwnedPathElementsAssignment_1_1_in_rule__PathNameCS__Group_1__1__Impl45593);
+            pushFollow(FollowSets002.FOLLOW_rule__PathNameCS__OwnedPathElementsAssignment_1_1_in_rule__PathNameCS__Group_1__1__Impl47463);
             rule__PathNameCS__OwnedPathElementsAssignment_1_1();
 
             state._fsp--;
@@ -66160,21 +68628,21 @@
 
 
     // $ANTLR start "rule__TypeParameterCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22343:1: rule__TypeParameterCS__Group__0 : rule__TypeParameterCS__Group__0__Impl rule__TypeParameterCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23361:1: rule__TypeParameterCS__Group__0 : rule__TypeParameterCS__Group__0__Impl rule__TypeParameterCS__Group__1 ;
     public final void rule__TypeParameterCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22347:1: ( rule__TypeParameterCS__Group__0__Impl rule__TypeParameterCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22348:2: rule__TypeParameterCS__Group__0__Impl rule__TypeParameterCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23365:1: ( rule__TypeParameterCS__Group__0__Impl rule__TypeParameterCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23366:2: rule__TypeParameterCS__Group__0__Impl rule__TypeParameterCS__Group__1
             {
-            pushFollow(FollowSets001.FOLLOW_rule__TypeParameterCS__Group__0__Impl_in_rule__TypeParameterCS__Group__045627);
+            pushFollow(FollowSets002.FOLLOW_rule__TypeParameterCS__Group__0__Impl_in_rule__TypeParameterCS__Group__047497);
             rule__TypeParameterCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets002.FOLLOW_rule__TypeParameterCS__Group__1_in_rule__TypeParameterCS__Group__045630);
+            pushFollow(FollowSets002.FOLLOW_rule__TypeParameterCS__Group__1_in_rule__TypeParameterCS__Group__047500);
             rule__TypeParameterCS__Group__1();
 
             state._fsp--;
@@ -66198,25 +68666,25 @@
 
 
     // $ANTLR start "rule__TypeParameterCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22355:1: rule__TypeParameterCS__Group__0__Impl : ( ( rule__TypeParameterCS__NameAssignment_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23373:1: rule__TypeParameterCS__Group__0__Impl : ( ( rule__TypeParameterCS__NameAssignment_0 ) ) ;
     public final void rule__TypeParameterCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22359:1: ( ( ( rule__TypeParameterCS__NameAssignment_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22360:1: ( ( rule__TypeParameterCS__NameAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23377:1: ( ( ( rule__TypeParameterCS__NameAssignment_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23378:1: ( ( rule__TypeParameterCS__NameAssignment_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22360:1: ( ( rule__TypeParameterCS__NameAssignment_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22361:1: ( rule__TypeParameterCS__NameAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23378:1: ( ( rule__TypeParameterCS__NameAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23379:1: ( rule__TypeParameterCS__NameAssignment_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTypeParameterCSAccess().getNameAssignment_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22362:1: ( rule__TypeParameterCS__NameAssignment_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22362:2: rule__TypeParameterCS__NameAssignment_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23380:1: ( rule__TypeParameterCS__NameAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23380:2: rule__TypeParameterCS__NameAssignment_0
             {
-            pushFollow(FollowSets002.FOLLOW_rule__TypeParameterCS__NameAssignment_0_in_rule__TypeParameterCS__Group__0__Impl45657);
+            pushFollow(FollowSets002.FOLLOW_rule__TypeParameterCS__NameAssignment_0_in_rule__TypeParameterCS__Group__0__Impl47527);
             rule__TypeParameterCS__NameAssignment_0();
 
             state._fsp--;
@@ -66249,16 +68717,16 @@
 
 
     // $ANTLR start "rule__TypeParameterCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22372:1: rule__TypeParameterCS__Group__1 : rule__TypeParameterCS__Group__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23390:1: rule__TypeParameterCS__Group__1 : rule__TypeParameterCS__Group__1__Impl ;
     public final void rule__TypeParameterCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22376:1: ( rule__TypeParameterCS__Group__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22377:2: rule__TypeParameterCS__Group__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23394:1: ( rule__TypeParameterCS__Group__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23395:2: rule__TypeParameterCS__Group__1__Impl
             {
-            pushFollow(FollowSets002.FOLLOW_rule__TypeParameterCS__Group__1__Impl_in_rule__TypeParameterCS__Group__145687);
+            pushFollow(FollowSets002.FOLLOW_rule__TypeParameterCS__Group__1__Impl_in_rule__TypeParameterCS__Group__147557);
             rule__TypeParameterCS__Group__1__Impl();
 
             state._fsp--;
@@ -66282,33 +68750,33 @@
 
 
     // $ANTLR start "rule__TypeParameterCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22383:1: rule__TypeParameterCS__Group__1__Impl : ( ( rule__TypeParameterCS__Alternatives_1 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23401:1: rule__TypeParameterCS__Group__1__Impl : ( ( rule__TypeParameterCS__Alternatives_1 )? ) ;
     public final void rule__TypeParameterCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22387:1: ( ( ( rule__TypeParameterCS__Alternatives_1 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22388:1: ( ( rule__TypeParameterCS__Alternatives_1 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23405:1: ( ( ( rule__TypeParameterCS__Alternatives_1 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23406:1: ( ( rule__TypeParameterCS__Alternatives_1 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22388:1: ( ( rule__TypeParameterCS__Alternatives_1 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22389:1: ( rule__TypeParameterCS__Alternatives_1 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23406:1: ( ( rule__TypeParameterCS__Alternatives_1 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23407:1: ( rule__TypeParameterCS__Alternatives_1 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTypeParameterCSAccess().getAlternatives_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22390:1: ( rule__TypeParameterCS__Alternatives_1 )?
-            int alt224=2;
-            int LA224_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23408:1: ( rule__TypeParameterCS__Alternatives_1 )?
+            int alt252=2;
+            int LA252_0 = input.LA(1);
 
-            if ( (LA224_0==28||LA224_0==47) ) {
-                alt224=1;
+            if ( (LA252_0==28||LA252_0==47) ) {
+                alt252=1;
             }
-            switch (alt224) {
+            switch (alt252) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22390:2: rule__TypeParameterCS__Alternatives_1
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23408:2: rule__TypeParameterCS__Alternatives_1
                     {
-                    pushFollow(FollowSets002.FOLLOW_rule__TypeParameterCS__Alternatives_1_in_rule__TypeParameterCS__Group__1__Impl45714);
+                    pushFollow(FollowSets002.FOLLOW_rule__TypeParameterCS__Alternatives_1_in_rule__TypeParameterCS__Group__1__Impl47584);
                     rule__TypeParameterCS__Alternatives_1();
 
                     state._fsp--;
@@ -66344,21 +68812,21 @@
 
 
     // $ANTLR start "rule__TypeParameterCS__Group_1_0__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22404:1: rule__TypeParameterCS__Group_1_0__0 : rule__TypeParameterCS__Group_1_0__0__Impl rule__TypeParameterCS__Group_1_0__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23422:1: rule__TypeParameterCS__Group_1_0__0 : rule__TypeParameterCS__Group_1_0__0__Impl rule__TypeParameterCS__Group_1_0__1 ;
     public final void rule__TypeParameterCS__Group_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22408:1: ( rule__TypeParameterCS__Group_1_0__0__Impl rule__TypeParameterCS__Group_1_0__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22409:2: rule__TypeParameterCS__Group_1_0__0__Impl rule__TypeParameterCS__Group_1_0__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23426:1: ( rule__TypeParameterCS__Group_1_0__0__Impl rule__TypeParameterCS__Group_1_0__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23427:2: rule__TypeParameterCS__Group_1_0__0__Impl rule__TypeParameterCS__Group_1_0__1
             {
-            pushFollow(FollowSets002.FOLLOW_rule__TypeParameterCS__Group_1_0__0__Impl_in_rule__TypeParameterCS__Group_1_0__045749);
+            pushFollow(FollowSets002.FOLLOW_rule__TypeParameterCS__Group_1_0__0__Impl_in_rule__TypeParameterCS__Group_1_0__047619);
             rule__TypeParameterCS__Group_1_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets002.FOLLOW_rule__TypeParameterCS__Group_1_0__1_in_rule__TypeParameterCS__Group_1_0__045752);
+            pushFollow(FollowSets002.FOLLOW_rule__TypeParameterCS__Group_1_0__1_in_rule__TypeParameterCS__Group_1_0__047622);
             rule__TypeParameterCS__Group_1_0__1();
 
             state._fsp--;
@@ -66382,22 +68850,22 @@
 
 
     // $ANTLR start "rule__TypeParameterCS__Group_1_0__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22416:1: rule__TypeParameterCS__Group_1_0__0__Impl : ( 'extends' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23434:1: rule__TypeParameterCS__Group_1_0__0__Impl : ( 'extends' ) ;
     public final void rule__TypeParameterCS__Group_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22420:1: ( ( 'extends' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22421:1: ( 'extends' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23438:1: ( ( 'extends' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23439:1: ( 'extends' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22421:1: ( 'extends' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22422:1: 'extends'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23439:1: ( 'extends' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23440:1: 'extends'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTypeParameterCSAccess().getExtendsKeyword_1_0_0()); 
             }
-            match(input,28,FollowSets002.FOLLOW_28_in_rule__TypeParameterCS__Group_1_0__0__Impl45780); if (state.failed) return ;
+            match(input,28,FollowSets002.FOLLOW_28_in_rule__TypeParameterCS__Group_1_0__0__Impl47650); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTypeParameterCSAccess().getExtendsKeyword_1_0_0()); 
             }
@@ -66423,21 +68891,21 @@
 
 
     // $ANTLR start "rule__TypeParameterCS__Group_1_0__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22435:1: rule__TypeParameterCS__Group_1_0__1 : rule__TypeParameterCS__Group_1_0__1__Impl rule__TypeParameterCS__Group_1_0__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23453:1: rule__TypeParameterCS__Group_1_0__1 : rule__TypeParameterCS__Group_1_0__1__Impl rule__TypeParameterCS__Group_1_0__2 ;
     public final void rule__TypeParameterCS__Group_1_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22439:1: ( rule__TypeParameterCS__Group_1_0__1__Impl rule__TypeParameterCS__Group_1_0__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22440:2: rule__TypeParameterCS__Group_1_0__1__Impl rule__TypeParameterCS__Group_1_0__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23457:1: ( rule__TypeParameterCS__Group_1_0__1__Impl rule__TypeParameterCS__Group_1_0__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23458:2: rule__TypeParameterCS__Group_1_0__1__Impl rule__TypeParameterCS__Group_1_0__2
             {
-            pushFollow(FollowSets002.FOLLOW_rule__TypeParameterCS__Group_1_0__1__Impl_in_rule__TypeParameterCS__Group_1_0__145811);
+            pushFollow(FollowSets002.FOLLOW_rule__TypeParameterCS__Group_1_0__1__Impl_in_rule__TypeParameterCS__Group_1_0__147681);
             rule__TypeParameterCS__Group_1_0__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets002.FOLLOW_rule__TypeParameterCS__Group_1_0__2_in_rule__TypeParameterCS__Group_1_0__145814);
+            pushFollow(FollowSets002.FOLLOW_rule__TypeParameterCS__Group_1_0__2_in_rule__TypeParameterCS__Group_1_0__147684);
             rule__TypeParameterCS__Group_1_0__2();
 
             state._fsp--;
@@ -66461,25 +68929,25 @@
 
 
     // $ANTLR start "rule__TypeParameterCS__Group_1_0__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22447:1: rule__TypeParameterCS__Group_1_0__1__Impl : ( ( rule__TypeParameterCS__OwnedExtendsAssignment_1_0_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23465:1: rule__TypeParameterCS__Group_1_0__1__Impl : ( ( rule__TypeParameterCS__OwnedExtendsAssignment_1_0_1 ) ) ;
     public final void rule__TypeParameterCS__Group_1_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22451:1: ( ( ( rule__TypeParameterCS__OwnedExtendsAssignment_1_0_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22452:1: ( ( rule__TypeParameterCS__OwnedExtendsAssignment_1_0_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23469:1: ( ( ( rule__TypeParameterCS__OwnedExtendsAssignment_1_0_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23470:1: ( ( rule__TypeParameterCS__OwnedExtendsAssignment_1_0_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22452:1: ( ( rule__TypeParameterCS__OwnedExtendsAssignment_1_0_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22453:1: ( rule__TypeParameterCS__OwnedExtendsAssignment_1_0_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23470:1: ( ( rule__TypeParameterCS__OwnedExtendsAssignment_1_0_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23471:1: ( rule__TypeParameterCS__OwnedExtendsAssignment_1_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTypeParameterCSAccess().getOwnedExtendsAssignment_1_0_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22454:1: ( rule__TypeParameterCS__OwnedExtendsAssignment_1_0_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22454:2: rule__TypeParameterCS__OwnedExtendsAssignment_1_0_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23472:1: ( rule__TypeParameterCS__OwnedExtendsAssignment_1_0_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23472:2: rule__TypeParameterCS__OwnedExtendsAssignment_1_0_1
             {
-            pushFollow(FollowSets002.FOLLOW_rule__TypeParameterCS__OwnedExtendsAssignment_1_0_1_in_rule__TypeParameterCS__Group_1_0__1__Impl45841);
+            pushFollow(FollowSets002.FOLLOW_rule__TypeParameterCS__OwnedExtendsAssignment_1_0_1_in_rule__TypeParameterCS__Group_1_0__1__Impl47711);
             rule__TypeParameterCS__OwnedExtendsAssignment_1_0_1();
 
             state._fsp--;
@@ -66512,16 +68980,16 @@
 
 
     // $ANTLR start "rule__TypeParameterCS__Group_1_0__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22464:1: rule__TypeParameterCS__Group_1_0__2 : rule__TypeParameterCS__Group_1_0__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23482:1: rule__TypeParameterCS__Group_1_0__2 : rule__TypeParameterCS__Group_1_0__2__Impl ;
     public final void rule__TypeParameterCS__Group_1_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22468:1: ( rule__TypeParameterCS__Group_1_0__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22469:2: rule__TypeParameterCS__Group_1_0__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23486:1: ( rule__TypeParameterCS__Group_1_0__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23487:2: rule__TypeParameterCS__Group_1_0__2__Impl
             {
-            pushFollow(FollowSets002.FOLLOW_rule__TypeParameterCS__Group_1_0__2__Impl_in_rule__TypeParameterCS__Group_1_0__245871);
+            pushFollow(FollowSets002.FOLLOW_rule__TypeParameterCS__Group_1_0__2__Impl_in_rule__TypeParameterCS__Group_1_0__247741);
             rule__TypeParameterCS__Group_1_0__2__Impl();
 
             state._fsp--;
@@ -66545,37 +69013,37 @@
 
 
     // $ANTLR start "rule__TypeParameterCS__Group_1_0__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22475:1: rule__TypeParameterCS__Group_1_0__2__Impl : ( ( rule__TypeParameterCS__Group_1_0_2__0 )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23493:1: rule__TypeParameterCS__Group_1_0__2__Impl : ( ( rule__TypeParameterCS__Group_1_0_2__0 )* ) ;
     public final void rule__TypeParameterCS__Group_1_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22479:1: ( ( ( rule__TypeParameterCS__Group_1_0_2__0 )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22480:1: ( ( rule__TypeParameterCS__Group_1_0_2__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23497:1: ( ( ( rule__TypeParameterCS__Group_1_0_2__0 )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23498:1: ( ( rule__TypeParameterCS__Group_1_0_2__0 )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22480:1: ( ( rule__TypeParameterCS__Group_1_0_2__0 )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22481:1: ( rule__TypeParameterCS__Group_1_0_2__0 )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23498:1: ( ( rule__TypeParameterCS__Group_1_0_2__0 )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23499:1: ( rule__TypeParameterCS__Group_1_0_2__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTypeParameterCSAccess().getGroup_1_0_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22482:1: ( rule__TypeParameterCS__Group_1_0_2__0 )*
-            loop225:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23500:1: ( rule__TypeParameterCS__Group_1_0_2__0 )*
+            loop253:
             do {
-                int alt225=2;
-                int LA225_0 = input.LA(1);
+                int alt253=2;
+                int LA253_0 = input.LA(1);
 
-                if ( (LA225_0==119) ) {
-                    alt225=1;
+                if ( (LA253_0==128) ) {
+                    alt253=1;
                 }
 
 
-                switch (alt225) {
+                switch (alt253) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22482:2: rule__TypeParameterCS__Group_1_0_2__0
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23500:2: rule__TypeParameterCS__Group_1_0_2__0
             	    {
-            	    pushFollow(FollowSets002.FOLLOW_rule__TypeParameterCS__Group_1_0_2__0_in_rule__TypeParameterCS__Group_1_0__2__Impl45898);
+            	    pushFollow(FollowSets002.FOLLOW_rule__TypeParameterCS__Group_1_0_2__0_in_rule__TypeParameterCS__Group_1_0__2__Impl47768);
             	    rule__TypeParameterCS__Group_1_0_2__0();
 
             	    state._fsp--;
@@ -66585,7 +69053,7 @@
             	    break;
 
             	default :
-            	    break loop225;
+            	    break loop253;
                 }
             } while (true);
 
@@ -66614,21 +69082,21 @@
 
 
     // $ANTLR start "rule__TypeParameterCS__Group_1_0_2__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22498:1: rule__TypeParameterCS__Group_1_0_2__0 : rule__TypeParameterCS__Group_1_0_2__0__Impl rule__TypeParameterCS__Group_1_0_2__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23516:1: rule__TypeParameterCS__Group_1_0_2__0 : rule__TypeParameterCS__Group_1_0_2__0__Impl rule__TypeParameterCS__Group_1_0_2__1 ;
     public final void rule__TypeParameterCS__Group_1_0_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22502:1: ( rule__TypeParameterCS__Group_1_0_2__0__Impl rule__TypeParameterCS__Group_1_0_2__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22503:2: rule__TypeParameterCS__Group_1_0_2__0__Impl rule__TypeParameterCS__Group_1_0_2__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23520:1: ( rule__TypeParameterCS__Group_1_0_2__0__Impl rule__TypeParameterCS__Group_1_0_2__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23521:2: rule__TypeParameterCS__Group_1_0_2__0__Impl rule__TypeParameterCS__Group_1_0_2__1
             {
-            pushFollow(FollowSets002.FOLLOW_rule__TypeParameterCS__Group_1_0_2__0__Impl_in_rule__TypeParameterCS__Group_1_0_2__045935);
+            pushFollow(FollowSets002.FOLLOW_rule__TypeParameterCS__Group_1_0_2__0__Impl_in_rule__TypeParameterCS__Group_1_0_2__047805);
             rule__TypeParameterCS__Group_1_0_2__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets002.FOLLOW_rule__TypeParameterCS__Group_1_0_2__1_in_rule__TypeParameterCS__Group_1_0_2__045938);
+            pushFollow(FollowSets002.FOLLOW_rule__TypeParameterCS__Group_1_0_2__1_in_rule__TypeParameterCS__Group_1_0_2__047808);
             rule__TypeParameterCS__Group_1_0_2__1();
 
             state._fsp--;
@@ -66652,22 +69120,22 @@
 
 
     // $ANTLR start "rule__TypeParameterCS__Group_1_0_2__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22510:1: rule__TypeParameterCS__Group_1_0_2__0__Impl : ( '&&' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23528:1: rule__TypeParameterCS__Group_1_0_2__0__Impl : ( '&&' ) ;
     public final void rule__TypeParameterCS__Group_1_0_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22514:1: ( ( '&&' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22515:1: ( '&&' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23532:1: ( ( '&&' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23533:1: ( '&&' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22515:1: ( '&&' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22516:1: '&&'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23533:1: ( '&&' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23534:1: '&&'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTypeParameterCSAccess().getAmpersandAmpersandKeyword_1_0_2_0()); 
             }
-            match(input,119,FollowSets002.FOLLOW_119_in_rule__TypeParameterCS__Group_1_0_2__0__Impl45966); if (state.failed) return ;
+            match(input,128,FollowSets002.FOLLOW_128_in_rule__TypeParameterCS__Group_1_0_2__0__Impl47836); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTypeParameterCSAccess().getAmpersandAmpersandKeyword_1_0_2_0()); 
             }
@@ -66693,16 +69161,16 @@
 
 
     // $ANTLR start "rule__TypeParameterCS__Group_1_0_2__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22529:1: rule__TypeParameterCS__Group_1_0_2__1 : rule__TypeParameterCS__Group_1_0_2__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23547:1: rule__TypeParameterCS__Group_1_0_2__1 : rule__TypeParameterCS__Group_1_0_2__1__Impl ;
     public final void rule__TypeParameterCS__Group_1_0_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22533:1: ( rule__TypeParameterCS__Group_1_0_2__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22534:2: rule__TypeParameterCS__Group_1_0_2__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23551:1: ( rule__TypeParameterCS__Group_1_0_2__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23552:2: rule__TypeParameterCS__Group_1_0_2__1__Impl
             {
-            pushFollow(FollowSets002.FOLLOW_rule__TypeParameterCS__Group_1_0_2__1__Impl_in_rule__TypeParameterCS__Group_1_0_2__145997);
+            pushFollow(FollowSets002.FOLLOW_rule__TypeParameterCS__Group_1_0_2__1__Impl_in_rule__TypeParameterCS__Group_1_0_2__147867);
             rule__TypeParameterCS__Group_1_0_2__1__Impl();
 
             state._fsp--;
@@ -66726,25 +69194,25 @@
 
 
     // $ANTLR start "rule__TypeParameterCS__Group_1_0_2__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22540:1: rule__TypeParameterCS__Group_1_0_2__1__Impl : ( ( rule__TypeParameterCS__OwnedExtendsAssignment_1_0_2_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23558:1: rule__TypeParameterCS__Group_1_0_2__1__Impl : ( ( rule__TypeParameterCS__OwnedExtendsAssignment_1_0_2_1 ) ) ;
     public final void rule__TypeParameterCS__Group_1_0_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22544:1: ( ( ( rule__TypeParameterCS__OwnedExtendsAssignment_1_0_2_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22545:1: ( ( rule__TypeParameterCS__OwnedExtendsAssignment_1_0_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23562:1: ( ( ( rule__TypeParameterCS__OwnedExtendsAssignment_1_0_2_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23563:1: ( ( rule__TypeParameterCS__OwnedExtendsAssignment_1_0_2_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22545:1: ( ( rule__TypeParameterCS__OwnedExtendsAssignment_1_0_2_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22546:1: ( rule__TypeParameterCS__OwnedExtendsAssignment_1_0_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23563:1: ( ( rule__TypeParameterCS__OwnedExtendsAssignment_1_0_2_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23564:1: ( rule__TypeParameterCS__OwnedExtendsAssignment_1_0_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTypeParameterCSAccess().getOwnedExtendsAssignment_1_0_2_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22547:1: ( rule__TypeParameterCS__OwnedExtendsAssignment_1_0_2_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22547:2: rule__TypeParameterCS__OwnedExtendsAssignment_1_0_2_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23565:1: ( rule__TypeParameterCS__OwnedExtendsAssignment_1_0_2_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23565:2: rule__TypeParameterCS__OwnedExtendsAssignment_1_0_2_1
             {
-            pushFollow(FollowSets002.FOLLOW_rule__TypeParameterCS__OwnedExtendsAssignment_1_0_2_1_in_rule__TypeParameterCS__Group_1_0_2__1__Impl46024);
+            pushFollow(FollowSets002.FOLLOW_rule__TypeParameterCS__OwnedExtendsAssignment_1_0_2_1_in_rule__TypeParameterCS__Group_1_0_2__1__Impl47894);
             rule__TypeParameterCS__OwnedExtendsAssignment_1_0_2_1();
 
             state._fsp--;
@@ -66777,21 +69245,21 @@
 
 
     // $ANTLR start "rule__TypeParameterCS__Group_1_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22561:1: rule__TypeParameterCS__Group_1_1__0 : rule__TypeParameterCS__Group_1_1__0__Impl rule__TypeParameterCS__Group_1_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23579:1: rule__TypeParameterCS__Group_1_1__0 : rule__TypeParameterCS__Group_1_1__0__Impl rule__TypeParameterCS__Group_1_1__1 ;
     public final void rule__TypeParameterCS__Group_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22565:1: ( rule__TypeParameterCS__Group_1_1__0__Impl rule__TypeParameterCS__Group_1_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22566:2: rule__TypeParameterCS__Group_1_1__0__Impl rule__TypeParameterCS__Group_1_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23583:1: ( rule__TypeParameterCS__Group_1_1__0__Impl rule__TypeParameterCS__Group_1_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23584:2: rule__TypeParameterCS__Group_1_1__0__Impl rule__TypeParameterCS__Group_1_1__1
             {
-            pushFollow(FollowSets002.FOLLOW_rule__TypeParameterCS__Group_1_1__0__Impl_in_rule__TypeParameterCS__Group_1_1__046058);
+            pushFollow(FollowSets002.FOLLOW_rule__TypeParameterCS__Group_1_1__0__Impl_in_rule__TypeParameterCS__Group_1_1__047928);
             rule__TypeParameterCS__Group_1_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets002.FOLLOW_rule__TypeParameterCS__Group_1_1__1_in_rule__TypeParameterCS__Group_1_1__046061);
+            pushFollow(FollowSets002.FOLLOW_rule__TypeParameterCS__Group_1_1__1_in_rule__TypeParameterCS__Group_1_1__047931);
             rule__TypeParameterCS__Group_1_1__1();
 
             state._fsp--;
@@ -66815,22 +69283,22 @@
 
 
     // $ANTLR start "rule__TypeParameterCS__Group_1_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22573:1: rule__TypeParameterCS__Group_1_1__0__Impl : ( 'super' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23591:1: rule__TypeParameterCS__Group_1_1__0__Impl : ( 'super' ) ;
     public final void rule__TypeParameterCS__Group_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22577:1: ( ( 'super' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22578:1: ( 'super' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23595:1: ( ( 'super' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23596:1: ( 'super' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22578:1: ( 'super' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22579:1: 'super'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23596:1: ( 'super' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23597:1: 'super'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTypeParameterCSAccess().getSuperKeyword_1_1_0()); 
             }
-            match(input,47,FollowSets002.FOLLOW_47_in_rule__TypeParameterCS__Group_1_1__0__Impl46089); if (state.failed) return ;
+            match(input,47,FollowSets002.FOLLOW_47_in_rule__TypeParameterCS__Group_1_1__0__Impl47959); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTypeParameterCSAccess().getSuperKeyword_1_1_0()); 
             }
@@ -66856,16 +69324,16 @@
 
 
     // $ANTLR start "rule__TypeParameterCS__Group_1_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22592:1: rule__TypeParameterCS__Group_1_1__1 : rule__TypeParameterCS__Group_1_1__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23610:1: rule__TypeParameterCS__Group_1_1__1 : rule__TypeParameterCS__Group_1_1__1__Impl ;
     public final void rule__TypeParameterCS__Group_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22596:1: ( rule__TypeParameterCS__Group_1_1__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22597:2: rule__TypeParameterCS__Group_1_1__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23614:1: ( rule__TypeParameterCS__Group_1_1__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23615:2: rule__TypeParameterCS__Group_1_1__1__Impl
             {
-            pushFollow(FollowSets002.FOLLOW_rule__TypeParameterCS__Group_1_1__1__Impl_in_rule__TypeParameterCS__Group_1_1__146120);
+            pushFollow(FollowSets002.FOLLOW_rule__TypeParameterCS__Group_1_1__1__Impl_in_rule__TypeParameterCS__Group_1_1__147990);
             rule__TypeParameterCS__Group_1_1__1__Impl();
 
             state._fsp--;
@@ -66889,25 +69357,25 @@
 
 
     // $ANTLR start "rule__TypeParameterCS__Group_1_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22603:1: rule__TypeParameterCS__Group_1_1__1__Impl : ( ( rule__TypeParameterCS__OwnedSuperAssignment_1_1_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23621:1: rule__TypeParameterCS__Group_1_1__1__Impl : ( ( rule__TypeParameterCS__OwnedSuperAssignment_1_1_1 ) ) ;
     public final void rule__TypeParameterCS__Group_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22607:1: ( ( ( rule__TypeParameterCS__OwnedSuperAssignment_1_1_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22608:1: ( ( rule__TypeParameterCS__OwnedSuperAssignment_1_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23625:1: ( ( ( rule__TypeParameterCS__OwnedSuperAssignment_1_1_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23626:1: ( ( rule__TypeParameterCS__OwnedSuperAssignment_1_1_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22608:1: ( ( rule__TypeParameterCS__OwnedSuperAssignment_1_1_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22609:1: ( rule__TypeParameterCS__OwnedSuperAssignment_1_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23626:1: ( ( rule__TypeParameterCS__OwnedSuperAssignment_1_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23627:1: ( rule__TypeParameterCS__OwnedSuperAssignment_1_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTypeParameterCSAccess().getOwnedSuperAssignment_1_1_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22610:1: ( rule__TypeParameterCS__OwnedSuperAssignment_1_1_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22610:2: rule__TypeParameterCS__OwnedSuperAssignment_1_1_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23628:1: ( rule__TypeParameterCS__OwnedSuperAssignment_1_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23628:2: rule__TypeParameterCS__OwnedSuperAssignment_1_1_1
             {
-            pushFollow(FollowSets002.FOLLOW_rule__TypeParameterCS__OwnedSuperAssignment_1_1_1_in_rule__TypeParameterCS__Group_1_1__1__Impl46147);
+            pushFollow(FollowSets002.FOLLOW_rule__TypeParameterCS__OwnedSuperAssignment_1_1_1_in_rule__TypeParameterCS__Group_1_1__1__Impl48017);
             rule__TypeParameterCS__OwnedSuperAssignment_1_1_1();
 
             state._fsp--;
@@ -66940,21 +69408,21 @@
 
 
     // $ANTLR start "rule__TypedTypeRefCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22624:1: rule__TypedTypeRefCS__Group__0 : rule__TypedTypeRefCS__Group__0__Impl rule__TypedTypeRefCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23642:1: rule__TypedTypeRefCS__Group__0 : rule__TypedTypeRefCS__Group__0__Impl rule__TypedTypeRefCS__Group__1 ;
     public final void rule__TypedTypeRefCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22628:1: ( rule__TypedTypeRefCS__Group__0__Impl rule__TypedTypeRefCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22629:2: rule__TypedTypeRefCS__Group__0__Impl rule__TypedTypeRefCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23646:1: ( rule__TypedTypeRefCS__Group__0__Impl rule__TypedTypeRefCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23647:2: rule__TypedTypeRefCS__Group__0__Impl rule__TypedTypeRefCS__Group__1
             {
-            pushFollow(FollowSets002.FOLLOW_rule__TypedTypeRefCS__Group__0__Impl_in_rule__TypedTypeRefCS__Group__046181);
+            pushFollow(FollowSets002.FOLLOW_rule__TypedTypeRefCS__Group__0__Impl_in_rule__TypedTypeRefCS__Group__048051);
             rule__TypedTypeRefCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets002.FOLLOW_rule__TypedTypeRefCS__Group__1_in_rule__TypedTypeRefCS__Group__046184);
+            pushFollow(FollowSets002.FOLLOW_rule__TypedTypeRefCS__Group__1_in_rule__TypedTypeRefCS__Group__048054);
             rule__TypedTypeRefCS__Group__1();
 
             state._fsp--;
@@ -66978,25 +69446,25 @@
 
 
     // $ANTLR start "rule__TypedTypeRefCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22636:1: rule__TypedTypeRefCS__Group__0__Impl : ( ( rule__TypedTypeRefCS__OwnedPathNameAssignment_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23654:1: rule__TypedTypeRefCS__Group__0__Impl : ( ( rule__TypedTypeRefCS__OwnedPathNameAssignment_0 ) ) ;
     public final void rule__TypedTypeRefCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22640:1: ( ( ( rule__TypedTypeRefCS__OwnedPathNameAssignment_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22641:1: ( ( rule__TypedTypeRefCS__OwnedPathNameAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23658:1: ( ( ( rule__TypedTypeRefCS__OwnedPathNameAssignment_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23659:1: ( ( rule__TypedTypeRefCS__OwnedPathNameAssignment_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22641:1: ( ( rule__TypedTypeRefCS__OwnedPathNameAssignment_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22642:1: ( rule__TypedTypeRefCS__OwnedPathNameAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23659:1: ( ( rule__TypedTypeRefCS__OwnedPathNameAssignment_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23660:1: ( rule__TypedTypeRefCS__OwnedPathNameAssignment_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTypedTypeRefCSAccess().getOwnedPathNameAssignment_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22643:1: ( rule__TypedTypeRefCS__OwnedPathNameAssignment_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22643:2: rule__TypedTypeRefCS__OwnedPathNameAssignment_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23661:1: ( rule__TypedTypeRefCS__OwnedPathNameAssignment_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23661:2: rule__TypedTypeRefCS__OwnedPathNameAssignment_0
             {
-            pushFollow(FollowSets002.FOLLOW_rule__TypedTypeRefCS__OwnedPathNameAssignment_0_in_rule__TypedTypeRefCS__Group__0__Impl46211);
+            pushFollow(FollowSets002.FOLLOW_rule__TypedTypeRefCS__OwnedPathNameAssignment_0_in_rule__TypedTypeRefCS__Group__0__Impl48081);
             rule__TypedTypeRefCS__OwnedPathNameAssignment_0();
 
             state._fsp--;
@@ -67029,16 +69497,16 @@
 
 
     // $ANTLR start "rule__TypedTypeRefCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22653:1: rule__TypedTypeRefCS__Group__1 : rule__TypedTypeRefCS__Group__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23671:1: rule__TypedTypeRefCS__Group__1 : rule__TypedTypeRefCS__Group__1__Impl ;
     public final void rule__TypedTypeRefCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22657:1: ( rule__TypedTypeRefCS__Group__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22658:2: rule__TypedTypeRefCS__Group__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23675:1: ( rule__TypedTypeRefCS__Group__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23676:2: rule__TypedTypeRefCS__Group__1__Impl
             {
-            pushFollow(FollowSets002.FOLLOW_rule__TypedTypeRefCS__Group__1__Impl_in_rule__TypedTypeRefCS__Group__146241);
+            pushFollow(FollowSets002.FOLLOW_rule__TypedTypeRefCS__Group__1__Impl_in_rule__TypedTypeRefCS__Group__148111);
             rule__TypedTypeRefCS__Group__1__Impl();
 
             state._fsp--;
@@ -67062,33 +69530,33 @@
 
 
     // $ANTLR start "rule__TypedTypeRefCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22664:1: rule__TypedTypeRefCS__Group__1__Impl : ( ( rule__TypedTypeRefCS__OwnedBindingAssignment_1 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23682:1: rule__TypedTypeRefCS__Group__1__Impl : ( ( rule__TypedTypeRefCS__OwnedBindingAssignment_1 )? ) ;
     public final void rule__TypedTypeRefCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22668:1: ( ( ( rule__TypedTypeRefCS__OwnedBindingAssignment_1 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22669:1: ( ( rule__TypedTypeRefCS__OwnedBindingAssignment_1 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23686:1: ( ( ( rule__TypedTypeRefCS__OwnedBindingAssignment_1 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23687:1: ( ( rule__TypedTypeRefCS__OwnedBindingAssignment_1 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22669:1: ( ( rule__TypedTypeRefCS__OwnedBindingAssignment_1 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22670:1: ( rule__TypedTypeRefCS__OwnedBindingAssignment_1 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23687:1: ( ( rule__TypedTypeRefCS__OwnedBindingAssignment_1 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23688:1: ( rule__TypedTypeRefCS__OwnedBindingAssignment_1 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTypedTypeRefCSAccess().getOwnedBindingAssignment_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22671:1: ( rule__TypedTypeRefCS__OwnedBindingAssignment_1 )?
-            int alt226=2;
-            int LA226_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23689:1: ( rule__TypedTypeRefCS__OwnedBindingAssignment_1 )?
+            int alt254=2;
+            int LA254_0 = input.LA(1);
 
-            if ( (LA226_0==67||LA226_0==95) ) {
-                alt226=1;
+            if ( (LA254_0==76||LA254_0==104) ) {
+                alt254=1;
             }
-            switch (alt226) {
+            switch (alt254) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22671:2: rule__TypedTypeRefCS__OwnedBindingAssignment_1
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23689:2: rule__TypedTypeRefCS__OwnedBindingAssignment_1
                     {
-                    pushFollow(FollowSets002.FOLLOW_rule__TypedTypeRefCS__OwnedBindingAssignment_1_in_rule__TypedTypeRefCS__Group__1__Impl46268);
+                    pushFollow(FollowSets002.FOLLOW_rule__TypedTypeRefCS__OwnedBindingAssignment_1_in_rule__TypedTypeRefCS__Group__1__Impl48138);
                     rule__TypedTypeRefCS__OwnedBindingAssignment_1();
 
                     state._fsp--;
@@ -67124,21 +69592,21 @@
 
 
     // $ANTLR start "rule__WildcardTypeRefCS__Group__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22685:1: rule__WildcardTypeRefCS__Group__0 : rule__WildcardTypeRefCS__Group__0__Impl rule__WildcardTypeRefCS__Group__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23703:1: rule__WildcardTypeRefCS__Group__0 : rule__WildcardTypeRefCS__Group__0__Impl rule__WildcardTypeRefCS__Group__1 ;
     public final void rule__WildcardTypeRefCS__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22689:1: ( rule__WildcardTypeRefCS__Group__0__Impl rule__WildcardTypeRefCS__Group__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22690:2: rule__WildcardTypeRefCS__Group__0__Impl rule__WildcardTypeRefCS__Group__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23707:1: ( rule__WildcardTypeRefCS__Group__0__Impl rule__WildcardTypeRefCS__Group__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23708:2: rule__WildcardTypeRefCS__Group__0__Impl rule__WildcardTypeRefCS__Group__1
             {
-            pushFollow(FollowSets002.FOLLOW_rule__WildcardTypeRefCS__Group__0__Impl_in_rule__WildcardTypeRefCS__Group__046303);
+            pushFollow(FollowSets002.FOLLOW_rule__WildcardTypeRefCS__Group__0__Impl_in_rule__WildcardTypeRefCS__Group__048173);
             rule__WildcardTypeRefCS__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets002.FOLLOW_rule__WildcardTypeRefCS__Group__1_in_rule__WildcardTypeRefCS__Group__046306);
+            pushFollow(FollowSets002.FOLLOW_rule__WildcardTypeRefCS__Group__1_in_rule__WildcardTypeRefCS__Group__048176);
             rule__WildcardTypeRefCS__Group__1();
 
             state._fsp--;
@@ -67162,23 +69630,23 @@
 
 
     // $ANTLR start "rule__WildcardTypeRefCS__Group__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22697:1: rule__WildcardTypeRefCS__Group__0__Impl : ( () ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23715:1: rule__WildcardTypeRefCS__Group__0__Impl : ( () ) ;
     public final void rule__WildcardTypeRefCS__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22701:1: ( ( () ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22702:1: ( () )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23719:1: ( ( () ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23720:1: ( () )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22702:1: ( () )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22703:1: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23720:1: ( () )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23721:1: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getWildcardTypeRefCSAccess().getWildcardTypeRefCSAction_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22704:1: ()
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22706:1: 
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23722:1: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23724:1: 
             {
             }
 
@@ -67203,21 +69671,21 @@
 
 
     // $ANTLR start "rule__WildcardTypeRefCS__Group__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22716:1: rule__WildcardTypeRefCS__Group__1 : rule__WildcardTypeRefCS__Group__1__Impl rule__WildcardTypeRefCS__Group__2 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23734:1: rule__WildcardTypeRefCS__Group__1 : rule__WildcardTypeRefCS__Group__1__Impl rule__WildcardTypeRefCS__Group__2 ;
     public final void rule__WildcardTypeRefCS__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22720:1: ( rule__WildcardTypeRefCS__Group__1__Impl rule__WildcardTypeRefCS__Group__2 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22721:2: rule__WildcardTypeRefCS__Group__1__Impl rule__WildcardTypeRefCS__Group__2
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23738:1: ( rule__WildcardTypeRefCS__Group__1__Impl rule__WildcardTypeRefCS__Group__2 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23739:2: rule__WildcardTypeRefCS__Group__1__Impl rule__WildcardTypeRefCS__Group__2
             {
-            pushFollow(FollowSets002.FOLLOW_rule__WildcardTypeRefCS__Group__1__Impl_in_rule__WildcardTypeRefCS__Group__146364);
+            pushFollow(FollowSets002.FOLLOW_rule__WildcardTypeRefCS__Group__1__Impl_in_rule__WildcardTypeRefCS__Group__148234);
             rule__WildcardTypeRefCS__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets002.FOLLOW_rule__WildcardTypeRefCS__Group__2_in_rule__WildcardTypeRefCS__Group__146367);
+            pushFollow(FollowSets002.FOLLOW_rule__WildcardTypeRefCS__Group__2_in_rule__WildcardTypeRefCS__Group__148237);
             rule__WildcardTypeRefCS__Group__2();
 
             state._fsp--;
@@ -67241,22 +69709,22 @@
 
 
     // $ANTLR start "rule__WildcardTypeRefCS__Group__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22728:1: rule__WildcardTypeRefCS__Group__1__Impl : ( '?' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23746:1: rule__WildcardTypeRefCS__Group__1__Impl : ( '?' ) ;
     public final void rule__WildcardTypeRefCS__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22732:1: ( ( '?' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22733:1: ( '?' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23750:1: ( ( '?' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23751:1: ( '?' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22733:1: ( '?' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22734:1: '?'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23751:1: ( '?' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23752:1: '?'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getWildcardTypeRefCSAccess().getQuestionMarkKeyword_1()); 
             }
-            match(input,94,FollowSets002.FOLLOW_94_in_rule__WildcardTypeRefCS__Group__1__Impl46395); if (state.failed) return ;
+            match(input,103,FollowSets002.FOLLOW_103_in_rule__WildcardTypeRefCS__Group__1__Impl48265); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getWildcardTypeRefCSAccess().getQuestionMarkKeyword_1()); 
             }
@@ -67282,16 +69750,16 @@
 
 
     // $ANTLR start "rule__WildcardTypeRefCS__Group__2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22747:1: rule__WildcardTypeRefCS__Group__2 : rule__WildcardTypeRefCS__Group__2__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23765:1: rule__WildcardTypeRefCS__Group__2 : rule__WildcardTypeRefCS__Group__2__Impl ;
     public final void rule__WildcardTypeRefCS__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22751:1: ( rule__WildcardTypeRefCS__Group__2__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22752:2: rule__WildcardTypeRefCS__Group__2__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23769:1: ( rule__WildcardTypeRefCS__Group__2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23770:2: rule__WildcardTypeRefCS__Group__2__Impl
             {
-            pushFollow(FollowSets002.FOLLOW_rule__WildcardTypeRefCS__Group__2__Impl_in_rule__WildcardTypeRefCS__Group__246426);
+            pushFollow(FollowSets002.FOLLOW_rule__WildcardTypeRefCS__Group__2__Impl_in_rule__WildcardTypeRefCS__Group__248296);
             rule__WildcardTypeRefCS__Group__2__Impl();
 
             state._fsp--;
@@ -67315,33 +69783,33 @@
 
 
     // $ANTLR start "rule__WildcardTypeRefCS__Group__2__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22758:1: rule__WildcardTypeRefCS__Group__2__Impl : ( ( rule__WildcardTypeRefCS__Alternatives_2 )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23776:1: rule__WildcardTypeRefCS__Group__2__Impl : ( ( rule__WildcardTypeRefCS__Alternatives_2 )? ) ;
     public final void rule__WildcardTypeRefCS__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22762:1: ( ( ( rule__WildcardTypeRefCS__Alternatives_2 )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22763:1: ( ( rule__WildcardTypeRefCS__Alternatives_2 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23780:1: ( ( ( rule__WildcardTypeRefCS__Alternatives_2 )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23781:1: ( ( rule__WildcardTypeRefCS__Alternatives_2 )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22763:1: ( ( rule__WildcardTypeRefCS__Alternatives_2 )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22764:1: ( rule__WildcardTypeRefCS__Alternatives_2 )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23781:1: ( ( rule__WildcardTypeRefCS__Alternatives_2 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23782:1: ( rule__WildcardTypeRefCS__Alternatives_2 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getWildcardTypeRefCSAccess().getAlternatives_2()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22765:1: ( rule__WildcardTypeRefCS__Alternatives_2 )?
-            int alt227=2;
-            int LA227_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23783:1: ( rule__WildcardTypeRefCS__Alternatives_2 )?
+            int alt255=2;
+            int LA255_0 = input.LA(1);
 
-            if ( (LA227_0==28||LA227_0==47) ) {
-                alt227=1;
+            if ( (LA255_0==28||LA255_0==47) ) {
+                alt255=1;
             }
-            switch (alt227) {
+            switch (alt255) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22765:2: rule__WildcardTypeRefCS__Alternatives_2
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23783:2: rule__WildcardTypeRefCS__Alternatives_2
                     {
-                    pushFollow(FollowSets002.FOLLOW_rule__WildcardTypeRefCS__Alternatives_2_in_rule__WildcardTypeRefCS__Group__2__Impl46453);
+                    pushFollow(FollowSets002.FOLLOW_rule__WildcardTypeRefCS__Alternatives_2_in_rule__WildcardTypeRefCS__Group__2__Impl48323);
                     rule__WildcardTypeRefCS__Alternatives_2();
 
                     state._fsp--;
@@ -67377,21 +69845,21 @@
 
 
     // $ANTLR start "rule__WildcardTypeRefCS__Group_2_0__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22781:1: rule__WildcardTypeRefCS__Group_2_0__0 : rule__WildcardTypeRefCS__Group_2_0__0__Impl rule__WildcardTypeRefCS__Group_2_0__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23799:1: rule__WildcardTypeRefCS__Group_2_0__0 : rule__WildcardTypeRefCS__Group_2_0__0__Impl rule__WildcardTypeRefCS__Group_2_0__1 ;
     public final void rule__WildcardTypeRefCS__Group_2_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22785:1: ( rule__WildcardTypeRefCS__Group_2_0__0__Impl rule__WildcardTypeRefCS__Group_2_0__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22786:2: rule__WildcardTypeRefCS__Group_2_0__0__Impl rule__WildcardTypeRefCS__Group_2_0__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23803:1: ( rule__WildcardTypeRefCS__Group_2_0__0__Impl rule__WildcardTypeRefCS__Group_2_0__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23804:2: rule__WildcardTypeRefCS__Group_2_0__0__Impl rule__WildcardTypeRefCS__Group_2_0__1
             {
-            pushFollow(FollowSets002.FOLLOW_rule__WildcardTypeRefCS__Group_2_0__0__Impl_in_rule__WildcardTypeRefCS__Group_2_0__046490);
+            pushFollow(FollowSets002.FOLLOW_rule__WildcardTypeRefCS__Group_2_0__0__Impl_in_rule__WildcardTypeRefCS__Group_2_0__048360);
             rule__WildcardTypeRefCS__Group_2_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets002.FOLLOW_rule__WildcardTypeRefCS__Group_2_0__1_in_rule__WildcardTypeRefCS__Group_2_0__046493);
+            pushFollow(FollowSets002.FOLLOW_rule__WildcardTypeRefCS__Group_2_0__1_in_rule__WildcardTypeRefCS__Group_2_0__048363);
             rule__WildcardTypeRefCS__Group_2_0__1();
 
             state._fsp--;
@@ -67415,22 +69883,22 @@
 
 
     // $ANTLR start "rule__WildcardTypeRefCS__Group_2_0__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22793:1: rule__WildcardTypeRefCS__Group_2_0__0__Impl : ( 'extends' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23811:1: rule__WildcardTypeRefCS__Group_2_0__0__Impl : ( 'extends' ) ;
     public final void rule__WildcardTypeRefCS__Group_2_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22797:1: ( ( 'extends' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22798:1: ( 'extends' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23815:1: ( ( 'extends' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23816:1: ( 'extends' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22798:1: ( 'extends' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22799:1: 'extends'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23816:1: ( 'extends' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23817:1: 'extends'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getWildcardTypeRefCSAccess().getExtendsKeyword_2_0_0()); 
             }
-            match(input,28,FollowSets002.FOLLOW_28_in_rule__WildcardTypeRefCS__Group_2_0__0__Impl46521); if (state.failed) return ;
+            match(input,28,FollowSets002.FOLLOW_28_in_rule__WildcardTypeRefCS__Group_2_0__0__Impl48391); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getWildcardTypeRefCSAccess().getExtendsKeyword_2_0_0()); 
             }
@@ -67456,16 +69924,16 @@
 
 
     // $ANTLR start "rule__WildcardTypeRefCS__Group_2_0__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22812:1: rule__WildcardTypeRefCS__Group_2_0__1 : rule__WildcardTypeRefCS__Group_2_0__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23830:1: rule__WildcardTypeRefCS__Group_2_0__1 : rule__WildcardTypeRefCS__Group_2_0__1__Impl ;
     public final void rule__WildcardTypeRefCS__Group_2_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22816:1: ( rule__WildcardTypeRefCS__Group_2_0__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22817:2: rule__WildcardTypeRefCS__Group_2_0__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23834:1: ( rule__WildcardTypeRefCS__Group_2_0__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23835:2: rule__WildcardTypeRefCS__Group_2_0__1__Impl
             {
-            pushFollow(FollowSets002.FOLLOW_rule__WildcardTypeRefCS__Group_2_0__1__Impl_in_rule__WildcardTypeRefCS__Group_2_0__146552);
+            pushFollow(FollowSets002.FOLLOW_rule__WildcardTypeRefCS__Group_2_0__1__Impl_in_rule__WildcardTypeRefCS__Group_2_0__148422);
             rule__WildcardTypeRefCS__Group_2_0__1__Impl();
 
             state._fsp--;
@@ -67489,25 +69957,25 @@
 
 
     // $ANTLR start "rule__WildcardTypeRefCS__Group_2_0__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22823:1: rule__WildcardTypeRefCS__Group_2_0__1__Impl : ( ( rule__WildcardTypeRefCS__OwnedExtendsAssignment_2_0_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23841:1: rule__WildcardTypeRefCS__Group_2_0__1__Impl : ( ( rule__WildcardTypeRefCS__OwnedExtendsAssignment_2_0_1 ) ) ;
     public final void rule__WildcardTypeRefCS__Group_2_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22827:1: ( ( ( rule__WildcardTypeRefCS__OwnedExtendsAssignment_2_0_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22828:1: ( ( rule__WildcardTypeRefCS__OwnedExtendsAssignment_2_0_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23845:1: ( ( ( rule__WildcardTypeRefCS__OwnedExtendsAssignment_2_0_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23846:1: ( ( rule__WildcardTypeRefCS__OwnedExtendsAssignment_2_0_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22828:1: ( ( rule__WildcardTypeRefCS__OwnedExtendsAssignment_2_0_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22829:1: ( rule__WildcardTypeRefCS__OwnedExtendsAssignment_2_0_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23846:1: ( ( rule__WildcardTypeRefCS__OwnedExtendsAssignment_2_0_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23847:1: ( rule__WildcardTypeRefCS__OwnedExtendsAssignment_2_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getWildcardTypeRefCSAccess().getOwnedExtendsAssignment_2_0_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22830:1: ( rule__WildcardTypeRefCS__OwnedExtendsAssignment_2_0_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22830:2: rule__WildcardTypeRefCS__OwnedExtendsAssignment_2_0_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23848:1: ( rule__WildcardTypeRefCS__OwnedExtendsAssignment_2_0_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23848:2: rule__WildcardTypeRefCS__OwnedExtendsAssignment_2_0_1
             {
-            pushFollow(FollowSets002.FOLLOW_rule__WildcardTypeRefCS__OwnedExtendsAssignment_2_0_1_in_rule__WildcardTypeRefCS__Group_2_0__1__Impl46579);
+            pushFollow(FollowSets002.FOLLOW_rule__WildcardTypeRefCS__OwnedExtendsAssignment_2_0_1_in_rule__WildcardTypeRefCS__Group_2_0__1__Impl48449);
             rule__WildcardTypeRefCS__OwnedExtendsAssignment_2_0_1();
 
             state._fsp--;
@@ -67540,21 +70008,21 @@
 
 
     // $ANTLR start "rule__WildcardTypeRefCS__Group_2_1__0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22844:1: rule__WildcardTypeRefCS__Group_2_1__0 : rule__WildcardTypeRefCS__Group_2_1__0__Impl rule__WildcardTypeRefCS__Group_2_1__1 ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23862:1: rule__WildcardTypeRefCS__Group_2_1__0 : rule__WildcardTypeRefCS__Group_2_1__0__Impl rule__WildcardTypeRefCS__Group_2_1__1 ;
     public final void rule__WildcardTypeRefCS__Group_2_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22848:1: ( rule__WildcardTypeRefCS__Group_2_1__0__Impl rule__WildcardTypeRefCS__Group_2_1__1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22849:2: rule__WildcardTypeRefCS__Group_2_1__0__Impl rule__WildcardTypeRefCS__Group_2_1__1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23866:1: ( rule__WildcardTypeRefCS__Group_2_1__0__Impl rule__WildcardTypeRefCS__Group_2_1__1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23867:2: rule__WildcardTypeRefCS__Group_2_1__0__Impl rule__WildcardTypeRefCS__Group_2_1__1
             {
-            pushFollow(FollowSets002.FOLLOW_rule__WildcardTypeRefCS__Group_2_1__0__Impl_in_rule__WildcardTypeRefCS__Group_2_1__046613);
+            pushFollow(FollowSets002.FOLLOW_rule__WildcardTypeRefCS__Group_2_1__0__Impl_in_rule__WildcardTypeRefCS__Group_2_1__048483);
             rule__WildcardTypeRefCS__Group_2_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FollowSets002.FOLLOW_rule__WildcardTypeRefCS__Group_2_1__1_in_rule__WildcardTypeRefCS__Group_2_1__046616);
+            pushFollow(FollowSets002.FOLLOW_rule__WildcardTypeRefCS__Group_2_1__1_in_rule__WildcardTypeRefCS__Group_2_1__048486);
             rule__WildcardTypeRefCS__Group_2_1__1();
 
             state._fsp--;
@@ -67578,22 +70046,22 @@
 
 
     // $ANTLR start "rule__WildcardTypeRefCS__Group_2_1__0__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22856:1: rule__WildcardTypeRefCS__Group_2_1__0__Impl : ( 'super' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23874:1: rule__WildcardTypeRefCS__Group_2_1__0__Impl : ( 'super' ) ;
     public final void rule__WildcardTypeRefCS__Group_2_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22860:1: ( ( 'super' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22861:1: ( 'super' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23878:1: ( ( 'super' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23879:1: ( 'super' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22861:1: ( 'super' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22862:1: 'super'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23879:1: ( 'super' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23880:1: 'super'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getWildcardTypeRefCSAccess().getSuperKeyword_2_1_0()); 
             }
-            match(input,47,FollowSets002.FOLLOW_47_in_rule__WildcardTypeRefCS__Group_2_1__0__Impl46644); if (state.failed) return ;
+            match(input,47,FollowSets002.FOLLOW_47_in_rule__WildcardTypeRefCS__Group_2_1__0__Impl48514); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getWildcardTypeRefCSAccess().getSuperKeyword_2_1_0()); 
             }
@@ -67619,16 +70087,16 @@
 
 
     // $ANTLR start "rule__WildcardTypeRefCS__Group_2_1__1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22875:1: rule__WildcardTypeRefCS__Group_2_1__1 : rule__WildcardTypeRefCS__Group_2_1__1__Impl ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23893:1: rule__WildcardTypeRefCS__Group_2_1__1 : rule__WildcardTypeRefCS__Group_2_1__1__Impl ;
     public final void rule__WildcardTypeRefCS__Group_2_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22879:1: ( rule__WildcardTypeRefCS__Group_2_1__1__Impl )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22880:2: rule__WildcardTypeRefCS__Group_2_1__1__Impl
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23897:1: ( rule__WildcardTypeRefCS__Group_2_1__1__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23898:2: rule__WildcardTypeRefCS__Group_2_1__1__Impl
             {
-            pushFollow(FollowSets002.FOLLOW_rule__WildcardTypeRefCS__Group_2_1__1__Impl_in_rule__WildcardTypeRefCS__Group_2_1__146675);
+            pushFollow(FollowSets002.FOLLOW_rule__WildcardTypeRefCS__Group_2_1__1__Impl_in_rule__WildcardTypeRefCS__Group_2_1__148545);
             rule__WildcardTypeRefCS__Group_2_1__1__Impl();
 
             state._fsp--;
@@ -67652,25 +70120,25 @@
 
 
     // $ANTLR start "rule__WildcardTypeRefCS__Group_2_1__1__Impl"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22886:1: rule__WildcardTypeRefCS__Group_2_1__1__Impl : ( ( rule__WildcardTypeRefCS__OwnedSuperAssignment_2_1_1 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23904:1: rule__WildcardTypeRefCS__Group_2_1__1__Impl : ( ( rule__WildcardTypeRefCS__OwnedSuperAssignment_2_1_1 ) ) ;
     public final void rule__WildcardTypeRefCS__Group_2_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22890:1: ( ( ( rule__WildcardTypeRefCS__OwnedSuperAssignment_2_1_1 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22891:1: ( ( rule__WildcardTypeRefCS__OwnedSuperAssignment_2_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23908:1: ( ( ( rule__WildcardTypeRefCS__OwnedSuperAssignment_2_1_1 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23909:1: ( ( rule__WildcardTypeRefCS__OwnedSuperAssignment_2_1_1 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22891:1: ( ( rule__WildcardTypeRefCS__OwnedSuperAssignment_2_1_1 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22892:1: ( rule__WildcardTypeRefCS__OwnedSuperAssignment_2_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23909:1: ( ( rule__WildcardTypeRefCS__OwnedSuperAssignment_2_1_1 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23910:1: ( rule__WildcardTypeRefCS__OwnedSuperAssignment_2_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getWildcardTypeRefCSAccess().getOwnedSuperAssignment_2_1_1()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22893:1: ( rule__WildcardTypeRefCS__OwnedSuperAssignment_2_1_1 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22893:2: rule__WildcardTypeRefCS__OwnedSuperAssignment_2_1_1
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23911:1: ( rule__WildcardTypeRefCS__OwnedSuperAssignment_2_1_1 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23911:2: rule__WildcardTypeRefCS__OwnedSuperAssignment_2_1_1
             {
-            pushFollow(FollowSets002.FOLLOW_rule__WildcardTypeRefCS__OwnedSuperAssignment_2_1_1_in_rule__WildcardTypeRefCS__Group_2_1__1__Impl46702);
+            pushFollow(FollowSets002.FOLLOW_rule__WildcardTypeRefCS__OwnedSuperAssignment_2_1_1_in_rule__WildcardTypeRefCS__Group_2_1__1__Impl48572);
             rule__WildcardTypeRefCS__OwnedSuperAssignment_2_1_1();
 
             state._fsp--;
@@ -67702,23 +70170,3325 @@
     // $ANTLR end "rule__WildcardTypeRefCS__Group_2_1__1__Impl"
 
 
+    // $ANTLR start "rule__AttributeCS__UnorderedGroup_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23926:1: rule__AttributeCS__UnorderedGroup_0 : ( rule__AttributeCS__UnorderedGroup_0__0 )? ;
+    public final void rule__AttributeCS__UnorderedGroup_0() throws RecognitionException {
+
+            	int stackSize = keepStackSize();
+        		getUnorderedGroupHelper().enter(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0());
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23931:1: ( ( rule__AttributeCS__UnorderedGroup_0__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23932:2: ( rule__AttributeCS__UnorderedGroup_0__0 )?
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23932:2: ( rule__AttributeCS__UnorderedGroup_0__0 )?
+            int alt256=2;
+            int LA256_0 = input.LA(1);
+
+            if ( LA256_0 ==46 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 0) ) {
+                alt256=1;
+            }
+            else if ( LA256_0 ==24 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 1) ) {
+                alt256=1;
+            }
+            switch (alt256) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:0:0: rule__AttributeCS__UnorderedGroup_0__0
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__UnorderedGroup_0__0_in_rule__AttributeCS__UnorderedGroup_048607);
+                    rule__AttributeCS__UnorderedGroup_0__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	getUnorderedGroupHelper().leave(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0());
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__UnorderedGroup_0"
+
+
+    // $ANTLR start "rule__AttributeCS__UnorderedGroup_0__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23942:1: rule__AttributeCS__UnorderedGroup_0__Impl : ( ({...}? => ( ( ( rule__AttributeCS__IsStaticAssignment_0_0 ) ) ) ) | ({...}? => ( ( ( rule__AttributeCS__IsDefinitionAssignment_0_1 ) ) ) ) ) ;
+    public final void rule__AttributeCS__UnorderedGroup_0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        		boolean selected = false;
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23947:1: ( ( ({...}? => ( ( ( rule__AttributeCS__IsStaticAssignment_0_0 ) ) ) ) | ({...}? => ( ( ( rule__AttributeCS__IsDefinitionAssignment_0_1 ) ) ) ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23948:3: ( ({...}? => ( ( ( rule__AttributeCS__IsStaticAssignment_0_0 ) ) ) ) | ({...}? => ( ( ( rule__AttributeCS__IsDefinitionAssignment_0_1 ) ) ) ) )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23948:3: ( ({...}? => ( ( ( rule__AttributeCS__IsStaticAssignment_0_0 ) ) ) ) | ({...}? => ( ( ( rule__AttributeCS__IsDefinitionAssignment_0_1 ) ) ) ) )
+            int alt257=2;
+            int LA257_0 = input.LA(1);
+
+            if ( LA257_0 ==46 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 0) ) {
+                alt257=1;
+            }
+            else if ( LA257_0 ==24 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 1) ) {
+                alt257=2;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 257, 0, input);
+
+                throw nvae;
+            }
+            switch (alt257) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23950:4: ({...}? => ( ( ( rule__AttributeCS__IsStaticAssignment_0_0 ) ) ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23950:4: ({...}? => ( ( ( rule__AttributeCS__IsStaticAssignment_0_0 ) ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23951:5: {...}? => ( ( ( rule__AttributeCS__IsStaticAssignment_0_0 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 0) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__AttributeCS__UnorderedGroup_0__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 0)");
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23951:108: ( ( ( rule__AttributeCS__IsStaticAssignment_0_0 ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23952:6: ( ( rule__AttributeCS__IsStaticAssignment_0_0 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 0);
+                    selected = true;
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23958:6: ( ( rule__AttributeCS__IsStaticAssignment_0_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23960:7: ( rule__AttributeCS__IsStaticAssignment_0_0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getAttributeCSAccess().getIsStaticAssignment_0_0()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23961:7: ( rule__AttributeCS__IsStaticAssignment_0_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23961:8: rule__AttributeCS__IsStaticAssignment_0_0
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__IsStaticAssignment_0_0_in_rule__AttributeCS__UnorderedGroup_0__Impl48694);
+                    rule__AttributeCS__IsStaticAssignment_0_0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getAttributeCSAccess().getIsStaticAssignment_0_0()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23967:4: ({...}? => ( ( ( rule__AttributeCS__IsDefinitionAssignment_0_1 ) ) ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23967:4: ({...}? => ( ( ( rule__AttributeCS__IsDefinitionAssignment_0_1 ) ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23968:5: {...}? => ( ( ( rule__AttributeCS__IsDefinitionAssignment_0_1 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 1) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__AttributeCS__UnorderedGroup_0__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 1)");
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23968:108: ( ( ( rule__AttributeCS__IsDefinitionAssignment_0_1 ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23969:6: ( ( rule__AttributeCS__IsDefinitionAssignment_0_1 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 1);
+                    selected = true;
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23975:6: ( ( rule__AttributeCS__IsDefinitionAssignment_0_1 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23977:7: ( rule__AttributeCS__IsDefinitionAssignment_0_1 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getAttributeCSAccess().getIsDefinitionAssignment_0_1()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23978:7: ( rule__AttributeCS__IsDefinitionAssignment_0_1 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23978:8: rule__AttributeCS__IsDefinitionAssignment_0_1
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__IsDefinitionAssignment_0_1_in_rule__AttributeCS__UnorderedGroup_0__Impl48785);
+                    rule__AttributeCS__IsDefinitionAssignment_0_1();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getAttributeCSAccess().getIsDefinitionAssignment_0_1()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	if (selected)
+            		getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0());
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__UnorderedGroup_0__Impl"
+
+
+    // $ANTLR start "rule__AttributeCS__UnorderedGroup_0__0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23993:1: rule__AttributeCS__UnorderedGroup_0__0 : rule__AttributeCS__UnorderedGroup_0__Impl ( rule__AttributeCS__UnorderedGroup_0__1 )? ;
+    public final void rule__AttributeCS__UnorderedGroup_0__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23997:1: ( rule__AttributeCS__UnorderedGroup_0__Impl ( rule__AttributeCS__UnorderedGroup_0__1 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23998:2: rule__AttributeCS__UnorderedGroup_0__Impl ( rule__AttributeCS__UnorderedGroup_0__1 )?
+            {
+            pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__UnorderedGroup_0__Impl_in_rule__AttributeCS__UnorderedGroup_0__048844);
+            rule__AttributeCS__UnorderedGroup_0__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23999:2: ( rule__AttributeCS__UnorderedGroup_0__1 )?
+            int alt258=2;
+            int LA258_0 = input.LA(1);
+
+            if ( LA258_0 ==46 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 0) ) {
+                alt258=1;
+            }
+            else if ( LA258_0 ==24 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 1) ) {
+                alt258=1;
+            }
+            switch (alt258) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:0:0: rule__AttributeCS__UnorderedGroup_0__1
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__UnorderedGroup_0__1_in_rule__AttributeCS__UnorderedGroup_0__048847);
+                    rule__AttributeCS__UnorderedGroup_0__1();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__UnorderedGroup_0__0"
+
+
+    // $ANTLR start "rule__AttributeCS__UnorderedGroup_0__1"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24006:1: rule__AttributeCS__UnorderedGroup_0__1 : rule__AttributeCS__UnorderedGroup_0__Impl ;
+    public final void rule__AttributeCS__UnorderedGroup_0__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24010:1: ( rule__AttributeCS__UnorderedGroup_0__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24011:2: rule__AttributeCS__UnorderedGroup_0__Impl
+            {
+            pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__UnorderedGroup_0__Impl_in_rule__AttributeCS__UnorderedGroup_0__148872);
+            rule__AttributeCS__UnorderedGroup_0__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__UnorderedGroup_0__1"
+
+
+    // $ANTLR start "rule__AttributeCS__UnorderedGroup_5"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24022:1: rule__AttributeCS__UnorderedGroup_5 : rule__AttributeCS__UnorderedGroup_5__0 {...}?;
+    public final void rule__AttributeCS__UnorderedGroup_5() throws RecognitionException {
+
+            	int stackSize = keepStackSize();
+        		getUnorderedGroupHelper().enter(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5());
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24027:1: ( rule__AttributeCS__UnorderedGroup_5__0 {...}?)
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24028:2: rule__AttributeCS__UnorderedGroup_5__0 {...}?
+            {
+            pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__UnorderedGroup_5__0_in_rule__AttributeCS__UnorderedGroup_548900);
+            rule__AttributeCS__UnorderedGroup_5__0();
+
+            state._fsp--;
+            if (state.failed) return ;
+            if ( ! getUnorderedGroupHelper().canLeave(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5()) ) {
+                if (state.backtracking>0) {state.failed=true; return ;}
+                throw new FailedPredicateException(input, "rule__AttributeCS__UnorderedGroup_5", "getUnorderedGroupHelper().canLeave(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5())");
+            }
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	getUnorderedGroupHelper().leave(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5());
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__UnorderedGroup_5"
+
+
+    // $ANTLR start "rule__AttributeCS__UnorderedGroup_5__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24039:1: rule__AttributeCS__UnorderedGroup_5__Impl : ( ({...}? => ( ( ( rule__AttributeCS__Group_5_0__0 ) ) ) ) | ({...}? => ( ( ( rule__AttributeCS__Group_5_1__0 ) ) ) ) | ({...}? => ( ( ( rule__AttributeCS__Group_5_2__0 ) ) ) ) | ({...}? => ( ( ( rule__AttributeCS__Group_5_3__0 ) ) ) ) | ({...}? => ( ( ( rule__AttributeCS__Group_5_4__0 ) ) ) ) | ({...}? => ( ( ( rule__AttributeCS__Group_5_5__0 ) ) ) ) | ({...}? => ( ( ( rule__AttributeCS__Group_5_6__0 ) ) ) ) | ({...}? => ( ( ( rule__AttributeCS__Group_5_7__0 ) ) ) ) ) ;
+    public final void rule__AttributeCS__UnorderedGroup_5__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        		boolean selected = false;
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24044:1: ( ( ({...}? => ( ( ( rule__AttributeCS__Group_5_0__0 ) ) ) ) | ({...}? => ( ( ( rule__AttributeCS__Group_5_1__0 ) ) ) ) | ({...}? => ( ( ( rule__AttributeCS__Group_5_2__0 ) ) ) ) | ({...}? => ( ( ( rule__AttributeCS__Group_5_3__0 ) ) ) ) | ({...}? => ( ( ( rule__AttributeCS__Group_5_4__0 ) ) ) ) | ({...}? => ( ( ( rule__AttributeCS__Group_5_5__0 ) ) ) ) | ({...}? => ( ( ( rule__AttributeCS__Group_5_6__0 ) ) ) ) | ({...}? => ( ( ( rule__AttributeCS__Group_5_7__0 ) ) ) ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24045:3: ( ({...}? => ( ( ( rule__AttributeCS__Group_5_0__0 ) ) ) ) | ({...}? => ( ( ( rule__AttributeCS__Group_5_1__0 ) ) ) ) | ({...}? => ( ( ( rule__AttributeCS__Group_5_2__0 ) ) ) ) | ({...}? => ( ( ( rule__AttributeCS__Group_5_3__0 ) ) ) ) | ({...}? => ( ( ( rule__AttributeCS__Group_5_4__0 ) ) ) ) | ({...}? => ( ( ( rule__AttributeCS__Group_5_5__0 ) ) ) ) | ({...}? => ( ( ( rule__AttributeCS__Group_5_6__0 ) ) ) ) | ({...}? => ( ( ( rule__AttributeCS__Group_5_7__0 ) ) ) ) )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24045:3: ( ({...}? => ( ( ( rule__AttributeCS__Group_5_0__0 ) ) ) ) | ({...}? => ( ( ( rule__AttributeCS__Group_5_1__0 ) ) ) ) | ({...}? => ( ( ( rule__AttributeCS__Group_5_2__0 ) ) ) ) | ({...}? => ( ( ( rule__AttributeCS__Group_5_3__0 ) ) ) ) | ({...}? => ( ( ( rule__AttributeCS__Group_5_4__0 ) ) ) ) | ({...}? => ( ( ( rule__AttributeCS__Group_5_5__0 ) ) ) ) | ({...}? => ( ( ( rule__AttributeCS__Group_5_6__0 ) ) ) ) | ({...}? => ( ( ( rule__AttributeCS__Group_5_7__0 ) ) ) ) )
+            int alt259=8;
+            alt259 = dfa259.predict(input);
+            switch (alt259) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24047:4: ({...}? => ( ( ( rule__AttributeCS__Group_5_0__0 ) ) ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24047:4: ({...}? => ( ( ( rule__AttributeCS__Group_5_0__0 ) ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24048:5: {...}? => ( ( ( rule__AttributeCS__Group_5_0__0 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__AttributeCS__UnorderedGroup_5__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0)");
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24048:108: ( ( ( rule__AttributeCS__Group_5_0__0 ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24049:6: ( ( rule__AttributeCS__Group_5_0__0 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0);
+                    selected = true;
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24055:6: ( ( rule__AttributeCS__Group_5_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24057:7: ( rule__AttributeCS__Group_5_0__0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getAttributeCSAccess().getGroup_5_0()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24058:7: ( rule__AttributeCS__Group_5_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24058:8: rule__AttributeCS__Group_5_0__0
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__Group_5_0__0_in_rule__AttributeCS__UnorderedGroup_5__Impl48989);
+                    rule__AttributeCS__Group_5_0__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getAttributeCSAccess().getGroup_5_0()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24064:4: ({...}? => ( ( ( rule__AttributeCS__Group_5_1__0 ) ) ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24064:4: ({...}? => ( ( ( rule__AttributeCS__Group_5_1__0 ) ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24065:5: {...}? => ( ( ( rule__AttributeCS__Group_5_1__0 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__AttributeCS__UnorderedGroup_5__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1)");
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24065:108: ( ( ( rule__AttributeCS__Group_5_1__0 ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24066:6: ( ( rule__AttributeCS__Group_5_1__0 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1);
+                    selected = true;
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24072:6: ( ( rule__AttributeCS__Group_5_1__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24074:7: ( rule__AttributeCS__Group_5_1__0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getAttributeCSAccess().getGroup_5_1()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24075:7: ( rule__AttributeCS__Group_5_1__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24075:8: rule__AttributeCS__Group_5_1__0
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__Group_5_1__0_in_rule__AttributeCS__UnorderedGroup_5__Impl49080);
+                    rule__AttributeCS__Group_5_1__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getAttributeCSAccess().getGroup_5_1()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+                case 3 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24081:4: ({...}? => ( ( ( rule__AttributeCS__Group_5_2__0 ) ) ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24081:4: ({...}? => ( ( ( rule__AttributeCS__Group_5_2__0 ) ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24082:5: {...}? => ( ( ( rule__AttributeCS__Group_5_2__0 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__AttributeCS__UnorderedGroup_5__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2)");
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24082:108: ( ( ( rule__AttributeCS__Group_5_2__0 ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24083:6: ( ( rule__AttributeCS__Group_5_2__0 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2);
+                    selected = true;
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24089:6: ( ( rule__AttributeCS__Group_5_2__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24091:7: ( rule__AttributeCS__Group_5_2__0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getAttributeCSAccess().getGroup_5_2()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24092:7: ( rule__AttributeCS__Group_5_2__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24092:8: rule__AttributeCS__Group_5_2__0
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__Group_5_2__0_in_rule__AttributeCS__UnorderedGroup_5__Impl49171);
+                    rule__AttributeCS__Group_5_2__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getAttributeCSAccess().getGroup_5_2()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+                case 4 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24098:4: ({...}? => ( ( ( rule__AttributeCS__Group_5_3__0 ) ) ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24098:4: ({...}? => ( ( ( rule__AttributeCS__Group_5_3__0 ) ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24099:5: {...}? => ( ( ( rule__AttributeCS__Group_5_3__0 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__AttributeCS__UnorderedGroup_5__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3)");
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24099:108: ( ( ( rule__AttributeCS__Group_5_3__0 ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24100:6: ( ( rule__AttributeCS__Group_5_3__0 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3);
+                    selected = true;
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24106:6: ( ( rule__AttributeCS__Group_5_3__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24108:7: ( rule__AttributeCS__Group_5_3__0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getAttributeCSAccess().getGroup_5_3()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24109:7: ( rule__AttributeCS__Group_5_3__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24109:8: rule__AttributeCS__Group_5_3__0
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__Group_5_3__0_in_rule__AttributeCS__UnorderedGroup_5__Impl49262);
+                    rule__AttributeCS__Group_5_3__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getAttributeCSAccess().getGroup_5_3()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+                case 5 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24115:4: ({...}? => ( ( ( rule__AttributeCS__Group_5_4__0 ) ) ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24115:4: ({...}? => ( ( ( rule__AttributeCS__Group_5_4__0 ) ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24116:5: {...}? => ( ( ( rule__AttributeCS__Group_5_4__0 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__AttributeCS__UnorderedGroup_5__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4)");
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24116:108: ( ( ( rule__AttributeCS__Group_5_4__0 ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24117:6: ( ( rule__AttributeCS__Group_5_4__0 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4);
+                    selected = true;
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24123:6: ( ( rule__AttributeCS__Group_5_4__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24125:7: ( rule__AttributeCS__Group_5_4__0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getAttributeCSAccess().getGroup_5_4()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24126:7: ( rule__AttributeCS__Group_5_4__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24126:8: rule__AttributeCS__Group_5_4__0
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__Group_5_4__0_in_rule__AttributeCS__UnorderedGroup_5__Impl49353);
+                    rule__AttributeCS__Group_5_4__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getAttributeCSAccess().getGroup_5_4()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+                case 6 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24132:4: ({...}? => ( ( ( rule__AttributeCS__Group_5_5__0 ) ) ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24132:4: ({...}? => ( ( ( rule__AttributeCS__Group_5_5__0 ) ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24133:5: {...}? => ( ( ( rule__AttributeCS__Group_5_5__0 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__AttributeCS__UnorderedGroup_5__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5)");
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24133:108: ( ( ( rule__AttributeCS__Group_5_5__0 ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24134:6: ( ( rule__AttributeCS__Group_5_5__0 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5);
+                    selected = true;
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24140:6: ( ( rule__AttributeCS__Group_5_5__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24142:7: ( rule__AttributeCS__Group_5_5__0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getAttributeCSAccess().getGroup_5_5()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24143:7: ( rule__AttributeCS__Group_5_5__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24143:8: rule__AttributeCS__Group_5_5__0
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__Group_5_5__0_in_rule__AttributeCS__UnorderedGroup_5__Impl49444);
+                    rule__AttributeCS__Group_5_5__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getAttributeCSAccess().getGroup_5_5()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+                case 7 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24149:4: ({...}? => ( ( ( rule__AttributeCS__Group_5_6__0 ) ) ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24149:4: ({...}? => ( ( ( rule__AttributeCS__Group_5_6__0 ) ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24150:5: {...}? => ( ( ( rule__AttributeCS__Group_5_6__0 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__AttributeCS__UnorderedGroup_5__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6)");
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24150:108: ( ( ( rule__AttributeCS__Group_5_6__0 ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24151:6: ( ( rule__AttributeCS__Group_5_6__0 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6);
+                    selected = true;
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24157:6: ( ( rule__AttributeCS__Group_5_6__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24159:7: ( rule__AttributeCS__Group_5_6__0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getAttributeCSAccess().getGroup_5_6()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24160:7: ( rule__AttributeCS__Group_5_6__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24160:8: rule__AttributeCS__Group_5_6__0
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__Group_5_6__0_in_rule__AttributeCS__UnorderedGroup_5__Impl49535);
+                    rule__AttributeCS__Group_5_6__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getAttributeCSAccess().getGroup_5_6()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+                case 8 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24166:4: ({...}? => ( ( ( rule__AttributeCS__Group_5_7__0 ) ) ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24166:4: ({...}? => ( ( ( rule__AttributeCS__Group_5_7__0 ) ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24167:5: {...}? => ( ( ( rule__AttributeCS__Group_5_7__0 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__AttributeCS__UnorderedGroup_5__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7)");
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24167:108: ( ( ( rule__AttributeCS__Group_5_7__0 ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24168:6: ( ( rule__AttributeCS__Group_5_7__0 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7);
+                    selected = true;
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24174:6: ( ( rule__AttributeCS__Group_5_7__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24176:7: ( rule__AttributeCS__Group_5_7__0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getAttributeCSAccess().getGroup_5_7()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24177:7: ( rule__AttributeCS__Group_5_7__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24177:8: rule__AttributeCS__Group_5_7__0
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__Group_5_7__0_in_rule__AttributeCS__UnorderedGroup_5__Impl49626);
+                    rule__AttributeCS__Group_5_7__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getAttributeCSAccess().getGroup_5_7()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	if (selected)
+            		getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5());
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__UnorderedGroup_5__Impl"
+
+
+    // $ANTLR start "rule__AttributeCS__UnorderedGroup_5__0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24192:1: rule__AttributeCS__UnorderedGroup_5__0 : rule__AttributeCS__UnorderedGroup_5__Impl ( rule__AttributeCS__UnorderedGroup_5__1 )? ;
+    public final void rule__AttributeCS__UnorderedGroup_5__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24196:1: ( rule__AttributeCS__UnorderedGroup_5__Impl ( rule__AttributeCS__UnorderedGroup_5__1 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24197:2: rule__AttributeCS__UnorderedGroup_5__Impl ( rule__AttributeCS__UnorderedGroup_5__1 )?
+            {
+            pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__UnorderedGroup_5__Impl_in_rule__AttributeCS__UnorderedGroup_5__049685);
+            rule__AttributeCS__UnorderedGroup_5__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24198:2: ( rule__AttributeCS__UnorderedGroup_5__1 )?
+            int alt260=2;
+            alt260 = dfa260.predict(input);
+            switch (alt260) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:0:0: rule__AttributeCS__UnorderedGroup_5__1
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__UnorderedGroup_5__1_in_rule__AttributeCS__UnorderedGroup_5__049688);
+                    rule__AttributeCS__UnorderedGroup_5__1();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__UnorderedGroup_5__0"
+
+
+    // $ANTLR start "rule__AttributeCS__UnorderedGroup_5__1"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24205:1: rule__AttributeCS__UnorderedGroup_5__1 : rule__AttributeCS__UnorderedGroup_5__Impl ( rule__AttributeCS__UnorderedGroup_5__2 )? ;
+    public final void rule__AttributeCS__UnorderedGroup_5__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24209:1: ( rule__AttributeCS__UnorderedGroup_5__Impl ( rule__AttributeCS__UnorderedGroup_5__2 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24210:2: rule__AttributeCS__UnorderedGroup_5__Impl ( rule__AttributeCS__UnorderedGroup_5__2 )?
+            {
+            pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__UnorderedGroup_5__Impl_in_rule__AttributeCS__UnorderedGroup_5__149713);
+            rule__AttributeCS__UnorderedGroup_5__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24211:2: ( rule__AttributeCS__UnorderedGroup_5__2 )?
+            int alt261=2;
+            alt261 = dfa261.predict(input);
+            switch (alt261) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:0:0: rule__AttributeCS__UnorderedGroup_5__2
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__UnorderedGroup_5__2_in_rule__AttributeCS__UnorderedGroup_5__149716);
+                    rule__AttributeCS__UnorderedGroup_5__2();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__UnorderedGroup_5__1"
+
+
+    // $ANTLR start "rule__AttributeCS__UnorderedGroup_5__2"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24218:1: rule__AttributeCS__UnorderedGroup_5__2 : rule__AttributeCS__UnorderedGroup_5__Impl ( rule__AttributeCS__UnorderedGroup_5__3 )? ;
+    public final void rule__AttributeCS__UnorderedGroup_5__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24222:1: ( rule__AttributeCS__UnorderedGroup_5__Impl ( rule__AttributeCS__UnorderedGroup_5__3 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24223:2: rule__AttributeCS__UnorderedGroup_5__Impl ( rule__AttributeCS__UnorderedGroup_5__3 )?
+            {
+            pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__UnorderedGroup_5__Impl_in_rule__AttributeCS__UnorderedGroup_5__249741);
+            rule__AttributeCS__UnorderedGroup_5__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24224:2: ( rule__AttributeCS__UnorderedGroup_5__3 )?
+            int alt262=2;
+            alt262 = dfa262.predict(input);
+            switch (alt262) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:0:0: rule__AttributeCS__UnorderedGroup_5__3
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__UnorderedGroup_5__3_in_rule__AttributeCS__UnorderedGroup_5__249744);
+                    rule__AttributeCS__UnorderedGroup_5__3();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__UnorderedGroup_5__2"
+
+
+    // $ANTLR start "rule__AttributeCS__UnorderedGroup_5__3"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24231:1: rule__AttributeCS__UnorderedGroup_5__3 : rule__AttributeCS__UnorderedGroup_5__Impl ( rule__AttributeCS__UnorderedGroup_5__4 )? ;
+    public final void rule__AttributeCS__UnorderedGroup_5__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24235:1: ( rule__AttributeCS__UnorderedGroup_5__Impl ( rule__AttributeCS__UnorderedGroup_5__4 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24236:2: rule__AttributeCS__UnorderedGroup_5__Impl ( rule__AttributeCS__UnorderedGroup_5__4 )?
+            {
+            pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__UnorderedGroup_5__Impl_in_rule__AttributeCS__UnorderedGroup_5__349769);
+            rule__AttributeCS__UnorderedGroup_5__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24237:2: ( rule__AttributeCS__UnorderedGroup_5__4 )?
+            int alt263=2;
+            alt263 = dfa263.predict(input);
+            switch (alt263) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:0:0: rule__AttributeCS__UnorderedGroup_5__4
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__UnorderedGroup_5__4_in_rule__AttributeCS__UnorderedGroup_5__349772);
+                    rule__AttributeCS__UnorderedGroup_5__4();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__UnorderedGroup_5__3"
+
+
+    // $ANTLR start "rule__AttributeCS__UnorderedGroup_5__4"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24244:1: rule__AttributeCS__UnorderedGroup_5__4 : rule__AttributeCS__UnorderedGroup_5__Impl ( rule__AttributeCS__UnorderedGroup_5__5 )? ;
+    public final void rule__AttributeCS__UnorderedGroup_5__4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24248:1: ( rule__AttributeCS__UnorderedGroup_5__Impl ( rule__AttributeCS__UnorderedGroup_5__5 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24249:2: rule__AttributeCS__UnorderedGroup_5__Impl ( rule__AttributeCS__UnorderedGroup_5__5 )?
+            {
+            pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__UnorderedGroup_5__Impl_in_rule__AttributeCS__UnorderedGroup_5__449797);
+            rule__AttributeCS__UnorderedGroup_5__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24250:2: ( rule__AttributeCS__UnorderedGroup_5__5 )?
+            int alt264=2;
+            alt264 = dfa264.predict(input);
+            switch (alt264) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:0:0: rule__AttributeCS__UnorderedGroup_5__5
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__UnorderedGroup_5__5_in_rule__AttributeCS__UnorderedGroup_5__449800);
+                    rule__AttributeCS__UnorderedGroup_5__5();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__UnorderedGroup_5__4"
+
+
+    // $ANTLR start "rule__AttributeCS__UnorderedGroup_5__5"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24257:1: rule__AttributeCS__UnorderedGroup_5__5 : rule__AttributeCS__UnorderedGroup_5__Impl ( rule__AttributeCS__UnorderedGroup_5__6 )? ;
+    public final void rule__AttributeCS__UnorderedGroup_5__5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24261:1: ( rule__AttributeCS__UnorderedGroup_5__Impl ( rule__AttributeCS__UnorderedGroup_5__6 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24262:2: rule__AttributeCS__UnorderedGroup_5__Impl ( rule__AttributeCS__UnorderedGroup_5__6 )?
+            {
+            pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__UnorderedGroup_5__Impl_in_rule__AttributeCS__UnorderedGroup_5__549825);
+            rule__AttributeCS__UnorderedGroup_5__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24263:2: ( rule__AttributeCS__UnorderedGroup_5__6 )?
+            int alt265=2;
+            alt265 = dfa265.predict(input);
+            switch (alt265) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:0:0: rule__AttributeCS__UnorderedGroup_5__6
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__UnorderedGroup_5__6_in_rule__AttributeCS__UnorderedGroup_5__549828);
+                    rule__AttributeCS__UnorderedGroup_5__6();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__UnorderedGroup_5__5"
+
+
+    // $ANTLR start "rule__AttributeCS__UnorderedGroup_5__6"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24270:1: rule__AttributeCS__UnorderedGroup_5__6 : rule__AttributeCS__UnorderedGroup_5__Impl ( rule__AttributeCS__UnorderedGroup_5__7 )? ;
+    public final void rule__AttributeCS__UnorderedGroup_5__6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24274:1: ( rule__AttributeCS__UnorderedGroup_5__Impl ( rule__AttributeCS__UnorderedGroup_5__7 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24275:2: rule__AttributeCS__UnorderedGroup_5__Impl ( rule__AttributeCS__UnorderedGroup_5__7 )?
+            {
+            pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__UnorderedGroup_5__Impl_in_rule__AttributeCS__UnorderedGroup_5__649853);
+            rule__AttributeCS__UnorderedGroup_5__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24276:2: ( rule__AttributeCS__UnorderedGroup_5__7 )?
+            int alt266=2;
+            alt266 = dfa266.predict(input);
+            switch (alt266) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:0:0: rule__AttributeCS__UnorderedGroup_5__7
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__UnorderedGroup_5__7_in_rule__AttributeCS__UnorderedGroup_5__649856);
+                    rule__AttributeCS__UnorderedGroup_5__7();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__UnorderedGroup_5__6"
+
+
+    // $ANTLR start "rule__AttributeCS__UnorderedGroup_5__7"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24283:1: rule__AttributeCS__UnorderedGroup_5__7 : rule__AttributeCS__UnorderedGroup_5__Impl ;
+    public final void rule__AttributeCS__UnorderedGroup_5__7() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24287:1: ( rule__AttributeCS__UnorderedGroup_5__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24288:2: rule__AttributeCS__UnorderedGroup_5__Impl
+            {
+            pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__UnorderedGroup_5__Impl_in_rule__AttributeCS__UnorderedGroup_5__749881);
+            rule__AttributeCS__UnorderedGroup_5__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__AttributeCS__UnorderedGroup_5__7"
+
+
+    // $ANTLR start "rule__OperationCS__UnorderedGroup_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24311:1: rule__OperationCS__UnorderedGroup_0 : ( rule__OperationCS__UnorderedGroup_0__0 )? ;
+    public final void rule__OperationCS__UnorderedGroup_0() throws RecognitionException {
+
+            	int stackSize = keepStackSize();
+        		getUnorderedGroupHelper().enter(grammarAccess.getOperationCSAccess().getUnorderedGroup_0());
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24316:1: ( ( rule__OperationCS__UnorderedGroup_0__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24317:2: ( rule__OperationCS__UnorderedGroup_0__0 )?
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24317:2: ( rule__OperationCS__UnorderedGroup_0__0 )?
+            int alt267=2;
+            int LA267_0 = input.LA(1);
+
+            if ( LA267_0 ==46 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 0) ) {
+                alt267=1;
+            }
+            else if ( LA267_0 ==24 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 1) ) {
+                alt267=1;
+            }
+            switch (alt267) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:0:0: rule__OperationCS__UnorderedGroup_0__0
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__OperationCS__UnorderedGroup_0__0_in_rule__OperationCS__UnorderedGroup_049921);
+                    rule__OperationCS__UnorderedGroup_0__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	getUnorderedGroupHelper().leave(grammarAccess.getOperationCSAccess().getUnorderedGroup_0());
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OperationCS__UnorderedGroup_0"
+
+
+    // $ANTLR start "rule__OperationCS__UnorderedGroup_0__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24327:1: rule__OperationCS__UnorderedGroup_0__Impl : ( ({...}? => ( ( ( rule__OperationCS__IsStaticAssignment_0_0 ) ) ) ) | ({...}? => ( ( ( rule__OperationCS__IsDefinitionAssignment_0_1 ) ) ) ) ) ;
+    public final void rule__OperationCS__UnorderedGroup_0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        		boolean selected = false;
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24332:1: ( ( ({...}? => ( ( ( rule__OperationCS__IsStaticAssignment_0_0 ) ) ) ) | ({...}? => ( ( ( rule__OperationCS__IsDefinitionAssignment_0_1 ) ) ) ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24333:3: ( ({...}? => ( ( ( rule__OperationCS__IsStaticAssignment_0_0 ) ) ) ) | ({...}? => ( ( ( rule__OperationCS__IsDefinitionAssignment_0_1 ) ) ) ) )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24333:3: ( ({...}? => ( ( ( rule__OperationCS__IsStaticAssignment_0_0 ) ) ) ) | ({...}? => ( ( ( rule__OperationCS__IsDefinitionAssignment_0_1 ) ) ) ) )
+            int alt268=2;
+            int LA268_0 = input.LA(1);
+
+            if ( LA268_0 ==46 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 0) ) {
+                alt268=1;
+            }
+            else if ( LA268_0 ==24 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 1) ) {
+                alt268=2;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 268, 0, input);
+
+                throw nvae;
+            }
+            switch (alt268) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24335:4: ({...}? => ( ( ( rule__OperationCS__IsStaticAssignment_0_0 ) ) ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24335:4: ({...}? => ( ( ( rule__OperationCS__IsStaticAssignment_0_0 ) ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24336:5: {...}? => ( ( ( rule__OperationCS__IsStaticAssignment_0_0 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 0) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__OperationCS__UnorderedGroup_0__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 0)");
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24336:108: ( ( ( rule__OperationCS__IsStaticAssignment_0_0 ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24337:6: ( ( rule__OperationCS__IsStaticAssignment_0_0 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 0);
+                    selected = true;
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24343:6: ( ( rule__OperationCS__IsStaticAssignment_0_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24345:7: ( rule__OperationCS__IsStaticAssignment_0_0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getOperationCSAccess().getIsStaticAssignment_0_0()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24346:7: ( rule__OperationCS__IsStaticAssignment_0_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24346:8: rule__OperationCS__IsStaticAssignment_0_0
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__OperationCS__IsStaticAssignment_0_0_in_rule__OperationCS__UnorderedGroup_0__Impl50008);
+                    rule__OperationCS__IsStaticAssignment_0_0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getOperationCSAccess().getIsStaticAssignment_0_0()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24352:4: ({...}? => ( ( ( rule__OperationCS__IsDefinitionAssignment_0_1 ) ) ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24352:4: ({...}? => ( ( ( rule__OperationCS__IsDefinitionAssignment_0_1 ) ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24353:5: {...}? => ( ( ( rule__OperationCS__IsDefinitionAssignment_0_1 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 1) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__OperationCS__UnorderedGroup_0__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 1)");
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24353:108: ( ( ( rule__OperationCS__IsDefinitionAssignment_0_1 ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24354:6: ( ( rule__OperationCS__IsDefinitionAssignment_0_1 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 1);
+                    selected = true;
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24360:6: ( ( rule__OperationCS__IsDefinitionAssignment_0_1 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24362:7: ( rule__OperationCS__IsDefinitionAssignment_0_1 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getOperationCSAccess().getIsDefinitionAssignment_0_1()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24363:7: ( rule__OperationCS__IsDefinitionAssignment_0_1 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24363:8: rule__OperationCS__IsDefinitionAssignment_0_1
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__OperationCS__IsDefinitionAssignment_0_1_in_rule__OperationCS__UnorderedGroup_0__Impl50099);
+                    rule__OperationCS__IsDefinitionAssignment_0_1();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getOperationCSAccess().getIsDefinitionAssignment_0_1()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	if (selected)
+            		getUnorderedGroupHelper().returnFromSelection(grammarAccess.getOperationCSAccess().getUnorderedGroup_0());
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OperationCS__UnorderedGroup_0__Impl"
+
+
+    // $ANTLR start "rule__OperationCS__UnorderedGroup_0__0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24378:1: rule__OperationCS__UnorderedGroup_0__0 : rule__OperationCS__UnorderedGroup_0__Impl ( rule__OperationCS__UnorderedGroup_0__1 )? ;
+    public final void rule__OperationCS__UnorderedGroup_0__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24382:1: ( rule__OperationCS__UnorderedGroup_0__Impl ( rule__OperationCS__UnorderedGroup_0__1 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24383:2: rule__OperationCS__UnorderedGroup_0__Impl ( rule__OperationCS__UnorderedGroup_0__1 )?
+            {
+            pushFollow(FollowSets002.FOLLOW_rule__OperationCS__UnorderedGroup_0__Impl_in_rule__OperationCS__UnorderedGroup_0__050158);
+            rule__OperationCS__UnorderedGroup_0__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24384:2: ( rule__OperationCS__UnorderedGroup_0__1 )?
+            int alt269=2;
+            int LA269_0 = input.LA(1);
+
+            if ( LA269_0 ==46 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 0) ) {
+                alt269=1;
+            }
+            else if ( LA269_0 ==24 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 1) ) {
+                alt269=1;
+            }
+            switch (alt269) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:0:0: rule__OperationCS__UnorderedGroup_0__1
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__OperationCS__UnorderedGroup_0__1_in_rule__OperationCS__UnorderedGroup_0__050161);
+                    rule__OperationCS__UnorderedGroup_0__1();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OperationCS__UnorderedGroup_0__0"
+
+
+    // $ANTLR start "rule__OperationCS__UnorderedGroup_0__1"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24391:1: rule__OperationCS__UnorderedGroup_0__1 : rule__OperationCS__UnorderedGroup_0__Impl ;
+    public final void rule__OperationCS__UnorderedGroup_0__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24395:1: ( rule__OperationCS__UnorderedGroup_0__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24396:2: rule__OperationCS__UnorderedGroup_0__Impl
+            {
+            pushFollow(FollowSets002.FOLLOW_rule__OperationCS__UnorderedGroup_0__Impl_in_rule__OperationCS__UnorderedGroup_0__150186);
+            rule__OperationCS__UnorderedGroup_0__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OperationCS__UnorderedGroup_0__1"
+
+
+    // $ANTLR start "rule__OperationCS__UnorderedGroup_9"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24407:1: rule__OperationCS__UnorderedGroup_9 : rule__OperationCS__UnorderedGroup_9__0 {...}?;
+    public final void rule__OperationCS__UnorderedGroup_9() throws RecognitionException {
+
+            	int stackSize = keepStackSize();
+        		getUnorderedGroupHelper().enter(grammarAccess.getOperationCSAccess().getUnorderedGroup_9());
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24412:1: ( rule__OperationCS__UnorderedGroup_9__0 {...}?)
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24413:2: rule__OperationCS__UnorderedGroup_9__0 {...}?
+            {
+            pushFollow(FollowSets002.FOLLOW_rule__OperationCS__UnorderedGroup_9__0_in_rule__OperationCS__UnorderedGroup_950214);
+            rule__OperationCS__UnorderedGroup_9__0();
+
+            state._fsp--;
+            if (state.failed) return ;
+            if ( ! getUnorderedGroupHelper().canLeave(grammarAccess.getOperationCSAccess().getUnorderedGroup_9()) ) {
+                if (state.backtracking>0) {state.failed=true; return ;}
+                throw new FailedPredicateException(input, "rule__OperationCS__UnorderedGroup_9", "getUnorderedGroupHelper().canLeave(grammarAccess.getOperationCSAccess().getUnorderedGroup_9())");
+            }
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	getUnorderedGroupHelper().leave(grammarAccess.getOperationCSAccess().getUnorderedGroup_9());
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OperationCS__UnorderedGroup_9"
+
+
+    // $ANTLR start "rule__OperationCS__UnorderedGroup_9__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24424:1: rule__OperationCS__UnorderedGroup_9__Impl : ( ({...}? => ( ( ( rule__OperationCS__Group_9_0__0 ) ) ) ) | ({...}? => ( ( ( rule__OperationCS__Group_9_1__0 ) ) ) ) | ({...}? => ( ( ( rule__OperationCS__Group_9_2__0 ) ) ) ) ) ;
+    public final void rule__OperationCS__UnorderedGroup_9__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        		boolean selected = false;
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24429:1: ( ( ({...}? => ( ( ( rule__OperationCS__Group_9_0__0 ) ) ) ) | ({...}? => ( ( ( rule__OperationCS__Group_9_1__0 ) ) ) ) | ({...}? => ( ( ( rule__OperationCS__Group_9_2__0 ) ) ) ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24430:3: ( ({...}? => ( ( ( rule__OperationCS__Group_9_0__0 ) ) ) ) | ({...}? => ( ( ( rule__OperationCS__Group_9_1__0 ) ) ) ) | ({...}? => ( ( ( rule__OperationCS__Group_9_2__0 ) ) ) ) )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24430:3: ( ({...}? => ( ( ( rule__OperationCS__Group_9_0__0 ) ) ) ) | ({...}? => ( ( ( rule__OperationCS__Group_9_1__0 ) ) ) ) | ({...}? => ( ( ( rule__OperationCS__Group_9_2__0 ) ) ) ) )
+            int alt270=3;
+            int LA270_0 = input.LA(1);
+
+            if ( LA270_0 ==108 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 0) ) {
+                alt270=1;
+            }
+            else if ( LA270_0 ==37 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 1) ) {
+                alt270=2;
+            }
+            else if ( LA270_0 ==56 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 1) ) {
+                alt270=2;
+            }
+            else if ( (LA270_0==50||LA270_0==109||LA270_0==129) && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 2) ) {
+                alt270=3;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 270, 0, input);
+
+                throw nvae;
+            }
+            switch (alt270) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24432:4: ({...}? => ( ( ( rule__OperationCS__Group_9_0__0 ) ) ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24432:4: ({...}? => ( ( ( rule__OperationCS__Group_9_0__0 ) ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24433:5: {...}? => ( ( ( rule__OperationCS__Group_9_0__0 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 0) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__OperationCS__UnorderedGroup_9__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 0)");
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24433:108: ( ( ( rule__OperationCS__Group_9_0__0 ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24434:6: ( ( rule__OperationCS__Group_9_0__0 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 0);
+                    selected = true;
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24440:6: ( ( rule__OperationCS__Group_9_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24442:7: ( rule__OperationCS__Group_9_0__0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getOperationCSAccess().getGroup_9_0()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24443:7: ( rule__OperationCS__Group_9_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24443:8: rule__OperationCS__Group_9_0__0
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__OperationCS__Group_9_0__0_in_rule__OperationCS__UnorderedGroup_9__Impl50303);
+                    rule__OperationCS__Group_9_0__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getOperationCSAccess().getGroup_9_0()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24449:4: ({...}? => ( ( ( rule__OperationCS__Group_9_1__0 ) ) ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24449:4: ({...}? => ( ( ( rule__OperationCS__Group_9_1__0 ) ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24450:5: {...}? => ( ( ( rule__OperationCS__Group_9_1__0 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 1) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__OperationCS__UnorderedGroup_9__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 1)");
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24450:108: ( ( ( rule__OperationCS__Group_9_1__0 ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24451:6: ( ( rule__OperationCS__Group_9_1__0 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 1);
+                    selected = true;
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24457:6: ( ( rule__OperationCS__Group_9_1__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24459:7: ( rule__OperationCS__Group_9_1__0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getOperationCSAccess().getGroup_9_1()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24460:7: ( rule__OperationCS__Group_9_1__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24460:8: rule__OperationCS__Group_9_1__0
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__OperationCS__Group_9_1__0_in_rule__OperationCS__UnorderedGroup_9__Impl50394);
+                    rule__OperationCS__Group_9_1__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getOperationCSAccess().getGroup_9_1()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+                case 3 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24466:4: ({...}? => ( ( ( rule__OperationCS__Group_9_2__0 ) ) ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24466:4: ({...}? => ( ( ( rule__OperationCS__Group_9_2__0 ) ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24467:5: {...}? => ( ( ( rule__OperationCS__Group_9_2__0 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 2) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__OperationCS__UnorderedGroup_9__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 2)");
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24467:108: ( ( ( rule__OperationCS__Group_9_2__0 ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24468:6: ( ( rule__OperationCS__Group_9_2__0 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 2);
+                    selected = true;
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24474:6: ( ( rule__OperationCS__Group_9_2__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24476:7: ( rule__OperationCS__Group_9_2__0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getOperationCSAccess().getGroup_9_2()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24477:7: ( rule__OperationCS__Group_9_2__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24477:8: rule__OperationCS__Group_9_2__0
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__OperationCS__Group_9_2__0_in_rule__OperationCS__UnorderedGroup_9__Impl50485);
+                    rule__OperationCS__Group_9_2__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getOperationCSAccess().getGroup_9_2()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	if (selected)
+            		getUnorderedGroupHelper().returnFromSelection(grammarAccess.getOperationCSAccess().getUnorderedGroup_9());
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OperationCS__UnorderedGroup_9__Impl"
+
+
+    // $ANTLR start "rule__OperationCS__UnorderedGroup_9__0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24492:1: rule__OperationCS__UnorderedGroup_9__0 : rule__OperationCS__UnorderedGroup_9__Impl ( rule__OperationCS__UnorderedGroup_9__1 )? ;
+    public final void rule__OperationCS__UnorderedGroup_9__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24496:1: ( rule__OperationCS__UnorderedGroup_9__Impl ( rule__OperationCS__UnorderedGroup_9__1 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24497:2: rule__OperationCS__UnorderedGroup_9__Impl ( rule__OperationCS__UnorderedGroup_9__1 )?
+            {
+            pushFollow(FollowSets002.FOLLOW_rule__OperationCS__UnorderedGroup_9__Impl_in_rule__OperationCS__UnorderedGroup_9__050544);
+            rule__OperationCS__UnorderedGroup_9__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24498:2: ( rule__OperationCS__UnorderedGroup_9__1 )?
+            int alt271=2;
+            alt271 = dfa271.predict(input);
+            switch (alt271) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:0:0: rule__OperationCS__UnorderedGroup_9__1
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__OperationCS__UnorderedGroup_9__1_in_rule__OperationCS__UnorderedGroup_9__050547);
+                    rule__OperationCS__UnorderedGroup_9__1();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OperationCS__UnorderedGroup_9__0"
+
+
+    // $ANTLR start "rule__OperationCS__UnorderedGroup_9__1"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24505:1: rule__OperationCS__UnorderedGroup_9__1 : rule__OperationCS__UnorderedGroup_9__Impl ( rule__OperationCS__UnorderedGroup_9__2 )? ;
+    public final void rule__OperationCS__UnorderedGroup_9__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24509:1: ( rule__OperationCS__UnorderedGroup_9__Impl ( rule__OperationCS__UnorderedGroup_9__2 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24510:2: rule__OperationCS__UnorderedGroup_9__Impl ( rule__OperationCS__UnorderedGroup_9__2 )?
+            {
+            pushFollow(FollowSets002.FOLLOW_rule__OperationCS__UnorderedGroup_9__Impl_in_rule__OperationCS__UnorderedGroup_9__150572);
+            rule__OperationCS__UnorderedGroup_9__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24511:2: ( rule__OperationCS__UnorderedGroup_9__2 )?
+            int alt272=2;
+            alt272 = dfa272.predict(input);
+            switch (alt272) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:0:0: rule__OperationCS__UnorderedGroup_9__2
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__OperationCS__UnorderedGroup_9__2_in_rule__OperationCS__UnorderedGroup_9__150575);
+                    rule__OperationCS__UnorderedGroup_9__2();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OperationCS__UnorderedGroup_9__1"
+
+
+    // $ANTLR start "rule__OperationCS__UnorderedGroup_9__2"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24518:1: rule__OperationCS__UnorderedGroup_9__2 : rule__OperationCS__UnorderedGroup_9__Impl ;
+    public final void rule__OperationCS__UnorderedGroup_9__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24522:1: ( rule__OperationCS__UnorderedGroup_9__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24523:2: rule__OperationCS__UnorderedGroup_9__Impl
+            {
+            pushFollow(FollowSets002.FOLLOW_rule__OperationCS__UnorderedGroup_9__Impl_in_rule__OperationCS__UnorderedGroup_9__250600);
+            rule__OperationCS__UnorderedGroup_9__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__OperationCS__UnorderedGroup_9__2"
+
+
+    // $ANTLR start "rule__ParameterCS__UnorderedGroup_2"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24536:1: rule__ParameterCS__UnorderedGroup_2 : rule__ParameterCS__UnorderedGroup_2__0 {...}?;
+    public final void rule__ParameterCS__UnorderedGroup_2() throws RecognitionException {
+
+            	int stackSize = keepStackSize();
+        		getUnorderedGroupHelper().enter(grammarAccess.getParameterCSAccess().getUnorderedGroup_2());
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24541:1: ( rule__ParameterCS__UnorderedGroup_2__0 {...}?)
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24542:2: rule__ParameterCS__UnorderedGroup_2__0 {...}?
+            {
+            pushFollow(FollowSets002.FOLLOW_rule__ParameterCS__UnorderedGroup_2__0_in_rule__ParameterCS__UnorderedGroup_250630);
+            rule__ParameterCS__UnorderedGroup_2__0();
+
+            state._fsp--;
+            if (state.failed) return ;
+            if ( ! getUnorderedGroupHelper().canLeave(grammarAccess.getParameterCSAccess().getUnorderedGroup_2()) ) {
+                if (state.backtracking>0) {state.failed=true; return ;}
+                throw new FailedPredicateException(input, "rule__ParameterCS__UnorderedGroup_2", "getUnorderedGroupHelper().canLeave(grammarAccess.getParameterCSAccess().getUnorderedGroup_2())");
+            }
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	getUnorderedGroupHelper().leave(grammarAccess.getParameterCSAccess().getUnorderedGroup_2());
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ParameterCS__UnorderedGroup_2"
+
+
+    // $ANTLR start "rule__ParameterCS__UnorderedGroup_2__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24553:1: rule__ParameterCS__UnorderedGroup_2__Impl : ( ({...}? => ( ( ( rule__ParameterCS__Group_2_0__0 ) ) ) ) | ({...}? => ( ( ( rule__ParameterCS__Group_2_1__0 ) ) ) ) ) ;
+    public final void rule__ParameterCS__UnorderedGroup_2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        		boolean selected = false;
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24558:1: ( ( ({...}? => ( ( ( rule__ParameterCS__Group_2_0__0 ) ) ) ) | ({...}? => ( ( ( rule__ParameterCS__Group_2_1__0 ) ) ) ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24559:3: ( ({...}? => ( ( ( rule__ParameterCS__Group_2_0__0 ) ) ) ) | ({...}? => ( ( ( rule__ParameterCS__Group_2_1__0 ) ) ) ) )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24559:3: ( ({...}? => ( ( ( rule__ParameterCS__Group_2_0__0 ) ) ) ) | ({...}? => ( ( ( rule__ParameterCS__Group_2_1__0 ) ) ) ) )
+            int alt273=2;
+            int LA273_0 = input.LA(1);
+
+            if ( LA273_0 ==108 && getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0) ) {
+                alt273=1;
+            }
+            else if ( (LA273_0==50||LA273_0==109||LA273_0==129) && getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 1) ) {
+                alt273=2;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 273, 0, input);
+
+                throw nvae;
+            }
+            switch (alt273) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24561:4: ({...}? => ( ( ( rule__ParameterCS__Group_2_0__0 ) ) ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24561:4: ({...}? => ( ( ( rule__ParameterCS__Group_2_0__0 ) ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24562:5: {...}? => ( ( ( rule__ParameterCS__Group_2_0__0 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__ParameterCS__UnorderedGroup_2__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0)");
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24562:108: ( ( ( rule__ParameterCS__Group_2_0__0 ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24563:6: ( ( rule__ParameterCS__Group_2_0__0 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0);
+                    selected = true;
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24569:6: ( ( rule__ParameterCS__Group_2_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24571:7: ( rule__ParameterCS__Group_2_0__0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getParameterCSAccess().getGroup_2_0()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24572:7: ( rule__ParameterCS__Group_2_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24572:8: rule__ParameterCS__Group_2_0__0
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__ParameterCS__Group_2_0__0_in_rule__ParameterCS__UnorderedGroup_2__Impl50719);
+                    rule__ParameterCS__Group_2_0__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getParameterCSAccess().getGroup_2_0()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24578:4: ({...}? => ( ( ( rule__ParameterCS__Group_2_1__0 ) ) ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24578:4: ({...}? => ( ( ( rule__ParameterCS__Group_2_1__0 ) ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24579:5: {...}? => ( ( ( rule__ParameterCS__Group_2_1__0 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 1) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__ParameterCS__UnorderedGroup_2__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 1)");
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24579:108: ( ( ( rule__ParameterCS__Group_2_1__0 ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24580:6: ( ( rule__ParameterCS__Group_2_1__0 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 1);
+                    selected = true;
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24586:6: ( ( rule__ParameterCS__Group_2_1__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24588:7: ( rule__ParameterCS__Group_2_1__0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getParameterCSAccess().getGroup_2_1()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24589:7: ( rule__ParameterCS__Group_2_1__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24589:8: rule__ParameterCS__Group_2_1__0
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__ParameterCS__Group_2_1__0_in_rule__ParameterCS__UnorderedGroup_2__Impl50810);
+                    rule__ParameterCS__Group_2_1__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getParameterCSAccess().getGroup_2_1()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	if (selected)
+            		getUnorderedGroupHelper().returnFromSelection(grammarAccess.getParameterCSAccess().getUnorderedGroup_2());
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ParameterCS__UnorderedGroup_2__Impl"
+
+
+    // $ANTLR start "rule__ParameterCS__UnorderedGroup_2__0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24604:1: rule__ParameterCS__UnorderedGroup_2__0 : rule__ParameterCS__UnorderedGroup_2__Impl ( rule__ParameterCS__UnorderedGroup_2__1 )? ;
+    public final void rule__ParameterCS__UnorderedGroup_2__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24608:1: ( rule__ParameterCS__UnorderedGroup_2__Impl ( rule__ParameterCS__UnorderedGroup_2__1 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24609:2: rule__ParameterCS__UnorderedGroup_2__Impl ( rule__ParameterCS__UnorderedGroup_2__1 )?
+            {
+            pushFollow(FollowSets002.FOLLOW_rule__ParameterCS__UnorderedGroup_2__Impl_in_rule__ParameterCS__UnorderedGroup_2__050869);
+            rule__ParameterCS__UnorderedGroup_2__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24610:2: ( rule__ParameterCS__UnorderedGroup_2__1 )?
+            int alt274=2;
+            alt274 = dfa274.predict(input);
+            switch (alt274) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:0:0: rule__ParameterCS__UnorderedGroup_2__1
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__ParameterCS__UnorderedGroup_2__1_in_rule__ParameterCS__UnorderedGroup_2__050872);
+                    rule__ParameterCS__UnorderedGroup_2__1();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ParameterCS__UnorderedGroup_2__0"
+
+
+    // $ANTLR start "rule__ParameterCS__UnorderedGroup_2__1"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24617:1: rule__ParameterCS__UnorderedGroup_2__1 : rule__ParameterCS__UnorderedGroup_2__Impl ;
+    public final void rule__ParameterCS__UnorderedGroup_2__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24621:1: ( rule__ParameterCS__UnorderedGroup_2__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24622:2: rule__ParameterCS__UnorderedGroup_2__Impl
+            {
+            pushFollow(FollowSets002.FOLLOW_rule__ParameterCS__UnorderedGroup_2__Impl_in_rule__ParameterCS__UnorderedGroup_2__150897);
+            rule__ParameterCS__UnorderedGroup_2__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ParameterCS__UnorderedGroup_2__1"
+
+
+    // $ANTLR start "rule__ReferenceCS__UnorderedGroup_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24633:1: rule__ReferenceCS__UnorderedGroup_0 : ( rule__ReferenceCS__UnorderedGroup_0__0 )? ;
+    public final void rule__ReferenceCS__UnorderedGroup_0() throws RecognitionException {
+
+            	int stackSize = keepStackSize();
+        		getUnorderedGroupHelper().enter(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0());
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24638:1: ( ( rule__ReferenceCS__UnorderedGroup_0__0 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24639:2: ( rule__ReferenceCS__UnorderedGroup_0__0 )?
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24639:2: ( rule__ReferenceCS__UnorderedGroup_0__0 )?
+            int alt275=2;
+            int LA275_0 = input.LA(1);
+
+            if ( LA275_0 ==46 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 0) ) {
+                alt275=1;
+            }
+            else if ( LA275_0 ==24 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 1) ) {
+                alt275=1;
+            }
+            switch (alt275) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:0:0: rule__ReferenceCS__UnorderedGroup_0__0
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__UnorderedGroup_0__0_in_rule__ReferenceCS__UnorderedGroup_050925);
+                    rule__ReferenceCS__UnorderedGroup_0__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	getUnorderedGroupHelper().leave(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0());
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__UnorderedGroup_0"
+
+
+    // $ANTLR start "rule__ReferenceCS__UnorderedGroup_0__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24649:1: rule__ReferenceCS__UnorderedGroup_0__Impl : ( ({...}? => ( ( ( rule__ReferenceCS__IsStaticAssignment_0_0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__IsDefinitionAssignment_0_1 ) ) ) ) ) ;
+    public final void rule__ReferenceCS__UnorderedGroup_0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        		boolean selected = false;
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24654:1: ( ( ({...}? => ( ( ( rule__ReferenceCS__IsStaticAssignment_0_0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__IsDefinitionAssignment_0_1 ) ) ) ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24655:3: ( ({...}? => ( ( ( rule__ReferenceCS__IsStaticAssignment_0_0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__IsDefinitionAssignment_0_1 ) ) ) ) )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24655:3: ( ({...}? => ( ( ( rule__ReferenceCS__IsStaticAssignment_0_0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__IsDefinitionAssignment_0_1 ) ) ) ) )
+            int alt276=2;
+            int LA276_0 = input.LA(1);
+
+            if ( LA276_0 ==46 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 0) ) {
+                alt276=1;
+            }
+            else if ( LA276_0 ==24 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 1) ) {
+                alt276=2;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 276, 0, input);
+
+                throw nvae;
+            }
+            switch (alt276) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24657:4: ({...}? => ( ( ( rule__ReferenceCS__IsStaticAssignment_0_0 ) ) ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24657:4: ({...}? => ( ( ( rule__ReferenceCS__IsStaticAssignment_0_0 ) ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24658:5: {...}? => ( ( ( rule__ReferenceCS__IsStaticAssignment_0_0 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 0) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__ReferenceCS__UnorderedGroup_0__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 0)");
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24658:108: ( ( ( rule__ReferenceCS__IsStaticAssignment_0_0 ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24659:6: ( ( rule__ReferenceCS__IsStaticAssignment_0_0 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 0);
+                    selected = true;
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24665:6: ( ( rule__ReferenceCS__IsStaticAssignment_0_0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24667:7: ( rule__ReferenceCS__IsStaticAssignment_0_0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getReferenceCSAccess().getIsStaticAssignment_0_0()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24668:7: ( rule__ReferenceCS__IsStaticAssignment_0_0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24668:8: rule__ReferenceCS__IsStaticAssignment_0_0
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__IsStaticAssignment_0_0_in_rule__ReferenceCS__UnorderedGroup_0__Impl51012);
+                    rule__ReferenceCS__IsStaticAssignment_0_0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getReferenceCSAccess().getIsStaticAssignment_0_0()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24674:4: ({...}? => ( ( ( rule__ReferenceCS__IsDefinitionAssignment_0_1 ) ) ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24674:4: ({...}? => ( ( ( rule__ReferenceCS__IsDefinitionAssignment_0_1 ) ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24675:5: {...}? => ( ( ( rule__ReferenceCS__IsDefinitionAssignment_0_1 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 1) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__ReferenceCS__UnorderedGroup_0__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 1)");
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24675:108: ( ( ( rule__ReferenceCS__IsDefinitionAssignment_0_1 ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24676:6: ( ( rule__ReferenceCS__IsDefinitionAssignment_0_1 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 1);
+                    selected = true;
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24682:6: ( ( rule__ReferenceCS__IsDefinitionAssignment_0_1 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24684:7: ( rule__ReferenceCS__IsDefinitionAssignment_0_1 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getReferenceCSAccess().getIsDefinitionAssignment_0_1()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24685:7: ( rule__ReferenceCS__IsDefinitionAssignment_0_1 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24685:8: rule__ReferenceCS__IsDefinitionAssignment_0_1
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__IsDefinitionAssignment_0_1_in_rule__ReferenceCS__UnorderedGroup_0__Impl51103);
+                    rule__ReferenceCS__IsDefinitionAssignment_0_1();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getReferenceCSAccess().getIsDefinitionAssignment_0_1()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	if (selected)
+            		getUnorderedGroupHelper().returnFromSelection(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0());
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__UnorderedGroup_0__Impl"
+
+
+    // $ANTLR start "rule__ReferenceCS__UnorderedGroup_0__0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24700:1: rule__ReferenceCS__UnorderedGroup_0__0 : rule__ReferenceCS__UnorderedGroup_0__Impl ( rule__ReferenceCS__UnorderedGroup_0__1 )? ;
+    public final void rule__ReferenceCS__UnorderedGroup_0__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24704:1: ( rule__ReferenceCS__UnorderedGroup_0__Impl ( rule__ReferenceCS__UnorderedGroup_0__1 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24705:2: rule__ReferenceCS__UnorderedGroup_0__Impl ( rule__ReferenceCS__UnorderedGroup_0__1 )?
+            {
+            pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__UnorderedGroup_0__Impl_in_rule__ReferenceCS__UnorderedGroup_0__051162);
+            rule__ReferenceCS__UnorderedGroup_0__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24706:2: ( rule__ReferenceCS__UnorderedGroup_0__1 )?
+            int alt277=2;
+            int LA277_0 = input.LA(1);
+
+            if ( LA277_0 ==46 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 0) ) {
+                alt277=1;
+            }
+            else if ( LA277_0 ==24 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 1) ) {
+                alt277=1;
+            }
+            switch (alt277) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:0:0: rule__ReferenceCS__UnorderedGroup_0__1
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__UnorderedGroup_0__1_in_rule__ReferenceCS__UnorderedGroup_0__051165);
+                    rule__ReferenceCS__UnorderedGroup_0__1();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__UnorderedGroup_0__0"
+
+
+    // $ANTLR start "rule__ReferenceCS__UnorderedGroup_0__1"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24713:1: rule__ReferenceCS__UnorderedGroup_0__1 : rule__ReferenceCS__UnorderedGroup_0__Impl ;
+    public final void rule__ReferenceCS__UnorderedGroup_0__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24717:1: ( rule__ReferenceCS__UnorderedGroup_0__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24718:2: rule__ReferenceCS__UnorderedGroup_0__Impl
+            {
+            pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__UnorderedGroup_0__Impl_in_rule__ReferenceCS__UnorderedGroup_0__151190);
+            rule__ReferenceCS__UnorderedGroup_0__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__UnorderedGroup_0__1"
+
+
+    // $ANTLR start "rule__ReferenceCS__UnorderedGroup_6"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24729:1: rule__ReferenceCS__UnorderedGroup_6 : rule__ReferenceCS__UnorderedGroup_6__0 {...}?;
+    public final void rule__ReferenceCS__UnorderedGroup_6() throws RecognitionException {
+
+            	int stackSize = keepStackSize();
+        		getUnorderedGroupHelper().enter(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6());
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24734:1: ( rule__ReferenceCS__UnorderedGroup_6__0 {...}?)
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24735:2: rule__ReferenceCS__UnorderedGroup_6__0 {...}?
+            {
+            pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__UnorderedGroup_6__0_in_rule__ReferenceCS__UnorderedGroup_651218);
+            rule__ReferenceCS__UnorderedGroup_6__0();
+
+            state._fsp--;
+            if (state.failed) return ;
+            if ( ! getUnorderedGroupHelper().canLeave(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6()) ) {
+                if (state.backtracking>0) {state.failed=true; return ;}
+                throw new FailedPredicateException(input, "rule__ReferenceCS__UnorderedGroup_6", "getUnorderedGroupHelper().canLeave(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6())");
+            }
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	getUnorderedGroupHelper().leave(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6());
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__UnorderedGroup_6"
+
+
+    // $ANTLR start "rule__ReferenceCS__UnorderedGroup_6__Impl"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24746:1: rule__ReferenceCS__UnorderedGroup_6__Impl : ( ({...}? => ( ( ( rule__ReferenceCS__Group_6_0__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_1__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_2__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_3__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_4__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_5__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_6__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_7__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_8__0 ) ) ) ) ) ;
+    public final void rule__ReferenceCS__UnorderedGroup_6__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+        		boolean selected = false;
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24751:1: ( ( ({...}? => ( ( ( rule__ReferenceCS__Group_6_0__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_1__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_2__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_3__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_4__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_5__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_6__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_7__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_8__0 ) ) ) ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24752:3: ( ({...}? => ( ( ( rule__ReferenceCS__Group_6_0__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_1__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_2__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_3__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_4__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_5__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_6__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_7__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_8__0 ) ) ) ) )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24752:3: ( ({...}? => ( ( ( rule__ReferenceCS__Group_6_0__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_1__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_2__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_3__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_4__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_5__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_6__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_7__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_8__0 ) ) ) ) )
+            int alt278=9;
+            alt278 = dfa278.predict(input);
+            switch (alt278) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24754:4: ({...}? => ( ( ( rule__ReferenceCS__Group_6_0__0 ) ) ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24754:4: ({...}? => ( ( ( rule__ReferenceCS__Group_6_0__0 ) ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24755:5: {...}? => ( ( ( rule__ReferenceCS__Group_6_0__0 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__ReferenceCS__UnorderedGroup_6__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0)");
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24755:108: ( ( ( rule__ReferenceCS__Group_6_0__0 ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24756:6: ( ( rule__ReferenceCS__Group_6_0__0 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0);
+                    selected = true;
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24762:6: ( ( rule__ReferenceCS__Group_6_0__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24764:7: ( rule__ReferenceCS__Group_6_0__0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getReferenceCSAccess().getGroup_6_0()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24765:7: ( rule__ReferenceCS__Group_6_0__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24765:8: rule__ReferenceCS__Group_6_0__0
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__Group_6_0__0_in_rule__ReferenceCS__UnorderedGroup_6__Impl51307);
+                    rule__ReferenceCS__Group_6_0__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getReferenceCSAccess().getGroup_6_0()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24771:4: ({...}? => ( ( ( rule__ReferenceCS__Group_6_1__0 ) ) ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24771:4: ({...}? => ( ( ( rule__ReferenceCS__Group_6_1__0 ) ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24772:5: {...}? => ( ( ( rule__ReferenceCS__Group_6_1__0 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__ReferenceCS__UnorderedGroup_6__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1)");
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24772:108: ( ( ( rule__ReferenceCS__Group_6_1__0 ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24773:6: ( ( rule__ReferenceCS__Group_6_1__0 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1);
+                    selected = true;
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24779:6: ( ( rule__ReferenceCS__Group_6_1__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24781:7: ( rule__ReferenceCS__Group_6_1__0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getReferenceCSAccess().getGroup_6_1()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24782:7: ( rule__ReferenceCS__Group_6_1__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24782:8: rule__ReferenceCS__Group_6_1__0
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__Group_6_1__0_in_rule__ReferenceCS__UnorderedGroup_6__Impl51398);
+                    rule__ReferenceCS__Group_6_1__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getReferenceCSAccess().getGroup_6_1()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+                case 3 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24788:4: ({...}? => ( ( ( rule__ReferenceCS__Group_6_2__0 ) ) ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24788:4: ({...}? => ( ( ( rule__ReferenceCS__Group_6_2__0 ) ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24789:5: {...}? => ( ( ( rule__ReferenceCS__Group_6_2__0 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__ReferenceCS__UnorderedGroup_6__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2)");
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24789:108: ( ( ( rule__ReferenceCS__Group_6_2__0 ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24790:6: ( ( rule__ReferenceCS__Group_6_2__0 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2);
+                    selected = true;
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24796:6: ( ( rule__ReferenceCS__Group_6_2__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24798:7: ( rule__ReferenceCS__Group_6_2__0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getReferenceCSAccess().getGroup_6_2()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24799:7: ( rule__ReferenceCS__Group_6_2__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24799:8: rule__ReferenceCS__Group_6_2__0
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__Group_6_2__0_in_rule__ReferenceCS__UnorderedGroup_6__Impl51489);
+                    rule__ReferenceCS__Group_6_2__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getReferenceCSAccess().getGroup_6_2()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+                case 4 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24805:4: ({...}? => ( ( ( rule__ReferenceCS__Group_6_3__0 ) ) ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24805:4: ({...}? => ( ( ( rule__ReferenceCS__Group_6_3__0 ) ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24806:5: {...}? => ( ( ( rule__ReferenceCS__Group_6_3__0 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__ReferenceCS__UnorderedGroup_6__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3)");
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24806:108: ( ( ( rule__ReferenceCS__Group_6_3__0 ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24807:6: ( ( rule__ReferenceCS__Group_6_3__0 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3);
+                    selected = true;
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24813:6: ( ( rule__ReferenceCS__Group_6_3__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24815:7: ( rule__ReferenceCS__Group_6_3__0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getReferenceCSAccess().getGroup_6_3()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24816:7: ( rule__ReferenceCS__Group_6_3__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24816:8: rule__ReferenceCS__Group_6_3__0
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__Group_6_3__0_in_rule__ReferenceCS__UnorderedGroup_6__Impl51580);
+                    rule__ReferenceCS__Group_6_3__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getReferenceCSAccess().getGroup_6_3()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+                case 5 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24822:4: ({...}? => ( ( ( rule__ReferenceCS__Group_6_4__0 ) ) ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24822:4: ({...}? => ( ( ( rule__ReferenceCS__Group_6_4__0 ) ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24823:5: {...}? => ( ( ( rule__ReferenceCS__Group_6_4__0 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__ReferenceCS__UnorderedGroup_6__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4)");
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24823:108: ( ( ( rule__ReferenceCS__Group_6_4__0 ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24824:6: ( ( rule__ReferenceCS__Group_6_4__0 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4);
+                    selected = true;
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24830:6: ( ( rule__ReferenceCS__Group_6_4__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24832:7: ( rule__ReferenceCS__Group_6_4__0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getReferenceCSAccess().getGroup_6_4()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24833:7: ( rule__ReferenceCS__Group_6_4__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24833:8: rule__ReferenceCS__Group_6_4__0
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__Group_6_4__0_in_rule__ReferenceCS__UnorderedGroup_6__Impl51671);
+                    rule__ReferenceCS__Group_6_4__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getReferenceCSAccess().getGroup_6_4()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+                case 6 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24839:4: ({...}? => ( ( ( rule__ReferenceCS__Group_6_5__0 ) ) ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24839:4: ({...}? => ( ( ( rule__ReferenceCS__Group_6_5__0 ) ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24840:5: {...}? => ( ( ( rule__ReferenceCS__Group_6_5__0 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__ReferenceCS__UnorderedGroup_6__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5)");
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24840:108: ( ( ( rule__ReferenceCS__Group_6_5__0 ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24841:6: ( ( rule__ReferenceCS__Group_6_5__0 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5);
+                    selected = true;
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24847:6: ( ( rule__ReferenceCS__Group_6_5__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24849:7: ( rule__ReferenceCS__Group_6_5__0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getReferenceCSAccess().getGroup_6_5()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24850:7: ( rule__ReferenceCS__Group_6_5__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24850:8: rule__ReferenceCS__Group_6_5__0
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__Group_6_5__0_in_rule__ReferenceCS__UnorderedGroup_6__Impl51762);
+                    rule__ReferenceCS__Group_6_5__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getReferenceCSAccess().getGroup_6_5()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+                case 7 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24856:4: ({...}? => ( ( ( rule__ReferenceCS__Group_6_6__0 ) ) ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24856:4: ({...}? => ( ( ( rule__ReferenceCS__Group_6_6__0 ) ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24857:5: {...}? => ( ( ( rule__ReferenceCS__Group_6_6__0 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__ReferenceCS__UnorderedGroup_6__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6)");
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24857:108: ( ( ( rule__ReferenceCS__Group_6_6__0 ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24858:6: ( ( rule__ReferenceCS__Group_6_6__0 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6);
+                    selected = true;
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24864:6: ( ( rule__ReferenceCS__Group_6_6__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24866:7: ( rule__ReferenceCS__Group_6_6__0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getReferenceCSAccess().getGroup_6_6()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24867:7: ( rule__ReferenceCS__Group_6_6__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24867:8: rule__ReferenceCS__Group_6_6__0
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__Group_6_6__0_in_rule__ReferenceCS__UnorderedGroup_6__Impl51853);
+                    rule__ReferenceCS__Group_6_6__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getReferenceCSAccess().getGroup_6_6()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+                case 8 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24873:4: ({...}? => ( ( ( rule__ReferenceCS__Group_6_7__0 ) ) ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24873:4: ({...}? => ( ( ( rule__ReferenceCS__Group_6_7__0 ) ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24874:5: {...}? => ( ( ( rule__ReferenceCS__Group_6_7__0 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__ReferenceCS__UnorderedGroup_6__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7)");
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24874:108: ( ( ( rule__ReferenceCS__Group_6_7__0 ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24875:6: ( ( rule__ReferenceCS__Group_6_7__0 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7);
+                    selected = true;
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24881:6: ( ( rule__ReferenceCS__Group_6_7__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24883:7: ( rule__ReferenceCS__Group_6_7__0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getReferenceCSAccess().getGroup_6_7()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24884:7: ( rule__ReferenceCS__Group_6_7__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24884:8: rule__ReferenceCS__Group_6_7__0
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__Group_6_7__0_in_rule__ReferenceCS__UnorderedGroup_6__Impl51944);
+                    rule__ReferenceCS__Group_6_7__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getReferenceCSAccess().getGroup_6_7()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+                case 9 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24890:4: ({...}? => ( ( ( rule__ReferenceCS__Group_6_8__0 ) ) ) )
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24890:4: ({...}? => ( ( ( rule__ReferenceCS__Group_6_8__0 ) ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24891:5: {...}? => ( ( ( rule__ReferenceCS__Group_6_8__0 ) ) )
+                    {
+                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        throw new FailedPredicateException(input, "rule__ReferenceCS__UnorderedGroup_6__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8)");
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24891:108: ( ( ( rule__ReferenceCS__Group_6_8__0 ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24892:6: ( ( rule__ReferenceCS__Group_6_8__0 ) )
+                    {
+                    getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8);
+                    selected = true;
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24898:6: ( ( rule__ReferenceCS__Group_6_8__0 ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24900:7: ( rule__ReferenceCS__Group_6_8__0 )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getReferenceCSAccess().getGroup_6_8()); 
+                    }
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24901:7: ( rule__ReferenceCS__Group_6_8__0 )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24901:8: rule__ReferenceCS__Group_6_8__0
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__Group_6_8__0_in_rule__ReferenceCS__UnorderedGroup_6__Impl52035);
+                    rule__ReferenceCS__Group_6_8__0();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getReferenceCSAccess().getGroup_6_8()); 
+                    }
+
+                    }
+
+
+                    }
+
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	if (selected)
+            		getUnorderedGroupHelper().returnFromSelection(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6());
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__UnorderedGroup_6__Impl"
+
+
+    // $ANTLR start "rule__ReferenceCS__UnorderedGroup_6__0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24916:1: rule__ReferenceCS__UnorderedGroup_6__0 : rule__ReferenceCS__UnorderedGroup_6__Impl ( rule__ReferenceCS__UnorderedGroup_6__1 )? ;
+    public final void rule__ReferenceCS__UnorderedGroup_6__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24920:1: ( rule__ReferenceCS__UnorderedGroup_6__Impl ( rule__ReferenceCS__UnorderedGroup_6__1 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24921:2: rule__ReferenceCS__UnorderedGroup_6__Impl ( rule__ReferenceCS__UnorderedGroup_6__1 )?
+            {
+            pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__UnorderedGroup_6__Impl_in_rule__ReferenceCS__UnorderedGroup_6__052094);
+            rule__ReferenceCS__UnorderedGroup_6__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24922:2: ( rule__ReferenceCS__UnorderedGroup_6__1 )?
+            int alt279=2;
+            alt279 = dfa279.predict(input);
+            switch (alt279) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:0:0: rule__ReferenceCS__UnorderedGroup_6__1
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__UnorderedGroup_6__1_in_rule__ReferenceCS__UnorderedGroup_6__052097);
+                    rule__ReferenceCS__UnorderedGroup_6__1();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__UnorderedGroup_6__0"
+
+
+    // $ANTLR start "rule__ReferenceCS__UnorderedGroup_6__1"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24929:1: rule__ReferenceCS__UnorderedGroup_6__1 : rule__ReferenceCS__UnorderedGroup_6__Impl ( rule__ReferenceCS__UnorderedGroup_6__2 )? ;
+    public final void rule__ReferenceCS__UnorderedGroup_6__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24933:1: ( rule__ReferenceCS__UnorderedGroup_6__Impl ( rule__ReferenceCS__UnorderedGroup_6__2 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24934:2: rule__ReferenceCS__UnorderedGroup_6__Impl ( rule__ReferenceCS__UnorderedGroup_6__2 )?
+            {
+            pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__UnorderedGroup_6__Impl_in_rule__ReferenceCS__UnorderedGroup_6__152122);
+            rule__ReferenceCS__UnorderedGroup_6__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24935:2: ( rule__ReferenceCS__UnorderedGroup_6__2 )?
+            int alt280=2;
+            alt280 = dfa280.predict(input);
+            switch (alt280) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:0:0: rule__ReferenceCS__UnorderedGroup_6__2
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__UnorderedGroup_6__2_in_rule__ReferenceCS__UnorderedGroup_6__152125);
+                    rule__ReferenceCS__UnorderedGroup_6__2();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__UnorderedGroup_6__1"
+
+
+    // $ANTLR start "rule__ReferenceCS__UnorderedGroup_6__2"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24942:1: rule__ReferenceCS__UnorderedGroup_6__2 : rule__ReferenceCS__UnorderedGroup_6__Impl ( rule__ReferenceCS__UnorderedGroup_6__3 )? ;
+    public final void rule__ReferenceCS__UnorderedGroup_6__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24946:1: ( rule__ReferenceCS__UnorderedGroup_6__Impl ( rule__ReferenceCS__UnorderedGroup_6__3 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24947:2: rule__ReferenceCS__UnorderedGroup_6__Impl ( rule__ReferenceCS__UnorderedGroup_6__3 )?
+            {
+            pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__UnorderedGroup_6__Impl_in_rule__ReferenceCS__UnorderedGroup_6__252150);
+            rule__ReferenceCS__UnorderedGroup_6__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24948:2: ( rule__ReferenceCS__UnorderedGroup_6__3 )?
+            int alt281=2;
+            alt281 = dfa281.predict(input);
+            switch (alt281) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:0:0: rule__ReferenceCS__UnorderedGroup_6__3
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__UnorderedGroup_6__3_in_rule__ReferenceCS__UnorderedGroup_6__252153);
+                    rule__ReferenceCS__UnorderedGroup_6__3();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__UnorderedGroup_6__2"
+
+
+    // $ANTLR start "rule__ReferenceCS__UnorderedGroup_6__3"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24955:1: rule__ReferenceCS__UnorderedGroup_6__3 : rule__ReferenceCS__UnorderedGroup_6__Impl ( rule__ReferenceCS__UnorderedGroup_6__4 )? ;
+    public final void rule__ReferenceCS__UnorderedGroup_6__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24959:1: ( rule__ReferenceCS__UnorderedGroup_6__Impl ( rule__ReferenceCS__UnorderedGroup_6__4 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24960:2: rule__ReferenceCS__UnorderedGroup_6__Impl ( rule__ReferenceCS__UnorderedGroup_6__4 )?
+            {
+            pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__UnorderedGroup_6__Impl_in_rule__ReferenceCS__UnorderedGroup_6__352178);
+            rule__ReferenceCS__UnorderedGroup_6__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24961:2: ( rule__ReferenceCS__UnorderedGroup_6__4 )?
+            int alt282=2;
+            alt282 = dfa282.predict(input);
+            switch (alt282) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:0:0: rule__ReferenceCS__UnorderedGroup_6__4
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__UnorderedGroup_6__4_in_rule__ReferenceCS__UnorderedGroup_6__352181);
+                    rule__ReferenceCS__UnorderedGroup_6__4();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__UnorderedGroup_6__3"
+
+
+    // $ANTLR start "rule__ReferenceCS__UnorderedGroup_6__4"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24968:1: rule__ReferenceCS__UnorderedGroup_6__4 : rule__ReferenceCS__UnorderedGroup_6__Impl ( rule__ReferenceCS__UnorderedGroup_6__5 )? ;
+    public final void rule__ReferenceCS__UnorderedGroup_6__4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24972:1: ( rule__ReferenceCS__UnorderedGroup_6__Impl ( rule__ReferenceCS__UnorderedGroup_6__5 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24973:2: rule__ReferenceCS__UnorderedGroup_6__Impl ( rule__ReferenceCS__UnorderedGroup_6__5 )?
+            {
+            pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__UnorderedGroup_6__Impl_in_rule__ReferenceCS__UnorderedGroup_6__452206);
+            rule__ReferenceCS__UnorderedGroup_6__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24974:2: ( rule__ReferenceCS__UnorderedGroup_6__5 )?
+            int alt283=2;
+            alt283 = dfa283.predict(input);
+            switch (alt283) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:0:0: rule__ReferenceCS__UnorderedGroup_6__5
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__UnorderedGroup_6__5_in_rule__ReferenceCS__UnorderedGroup_6__452209);
+                    rule__ReferenceCS__UnorderedGroup_6__5();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__UnorderedGroup_6__4"
+
+
+    // $ANTLR start "rule__ReferenceCS__UnorderedGroup_6__5"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24981:1: rule__ReferenceCS__UnorderedGroup_6__5 : rule__ReferenceCS__UnorderedGroup_6__Impl ( rule__ReferenceCS__UnorderedGroup_6__6 )? ;
+    public final void rule__ReferenceCS__UnorderedGroup_6__5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24985:1: ( rule__ReferenceCS__UnorderedGroup_6__Impl ( rule__ReferenceCS__UnorderedGroup_6__6 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24986:2: rule__ReferenceCS__UnorderedGroup_6__Impl ( rule__ReferenceCS__UnorderedGroup_6__6 )?
+            {
+            pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__UnorderedGroup_6__Impl_in_rule__ReferenceCS__UnorderedGroup_6__552234);
+            rule__ReferenceCS__UnorderedGroup_6__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24987:2: ( rule__ReferenceCS__UnorderedGroup_6__6 )?
+            int alt284=2;
+            alt284 = dfa284.predict(input);
+            switch (alt284) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:0:0: rule__ReferenceCS__UnorderedGroup_6__6
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__UnorderedGroup_6__6_in_rule__ReferenceCS__UnorderedGroup_6__552237);
+                    rule__ReferenceCS__UnorderedGroup_6__6();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__UnorderedGroup_6__5"
+
+
+    // $ANTLR start "rule__ReferenceCS__UnorderedGroup_6__6"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24994:1: rule__ReferenceCS__UnorderedGroup_6__6 : rule__ReferenceCS__UnorderedGroup_6__Impl ( rule__ReferenceCS__UnorderedGroup_6__7 )? ;
+    public final void rule__ReferenceCS__UnorderedGroup_6__6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24998:1: ( rule__ReferenceCS__UnorderedGroup_6__Impl ( rule__ReferenceCS__UnorderedGroup_6__7 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24999:2: rule__ReferenceCS__UnorderedGroup_6__Impl ( rule__ReferenceCS__UnorderedGroup_6__7 )?
+            {
+            pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__UnorderedGroup_6__Impl_in_rule__ReferenceCS__UnorderedGroup_6__652262);
+            rule__ReferenceCS__UnorderedGroup_6__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25000:2: ( rule__ReferenceCS__UnorderedGroup_6__7 )?
+            int alt285=2;
+            alt285 = dfa285.predict(input);
+            switch (alt285) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:0:0: rule__ReferenceCS__UnorderedGroup_6__7
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__UnorderedGroup_6__7_in_rule__ReferenceCS__UnorderedGroup_6__652265);
+                    rule__ReferenceCS__UnorderedGroup_6__7();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__UnorderedGroup_6__6"
+
+
+    // $ANTLR start "rule__ReferenceCS__UnorderedGroup_6__7"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25007:1: rule__ReferenceCS__UnorderedGroup_6__7 : rule__ReferenceCS__UnorderedGroup_6__Impl ( rule__ReferenceCS__UnorderedGroup_6__8 )? ;
+    public final void rule__ReferenceCS__UnorderedGroup_6__7() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25011:1: ( rule__ReferenceCS__UnorderedGroup_6__Impl ( rule__ReferenceCS__UnorderedGroup_6__8 )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25012:2: rule__ReferenceCS__UnorderedGroup_6__Impl ( rule__ReferenceCS__UnorderedGroup_6__8 )?
+            {
+            pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__UnorderedGroup_6__Impl_in_rule__ReferenceCS__UnorderedGroup_6__752290);
+            rule__ReferenceCS__UnorderedGroup_6__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25013:2: ( rule__ReferenceCS__UnorderedGroup_6__8 )?
+            int alt286=2;
+            alt286 = dfa286.predict(input);
+            switch (alt286) {
+                case 1 :
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:0:0: rule__ReferenceCS__UnorderedGroup_6__8
+                    {
+                    pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__UnorderedGroup_6__8_in_rule__ReferenceCS__UnorderedGroup_6__752293);
+                    rule__ReferenceCS__UnorderedGroup_6__8();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__UnorderedGroup_6__7"
+
+
+    // $ANTLR start "rule__ReferenceCS__UnorderedGroup_6__8"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25020:1: rule__ReferenceCS__UnorderedGroup_6__8 : rule__ReferenceCS__UnorderedGroup_6__Impl ;
+    public final void rule__ReferenceCS__UnorderedGroup_6__8() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25024:1: ( rule__ReferenceCS__UnorderedGroup_6__Impl )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25025:2: rule__ReferenceCS__UnorderedGroup_6__Impl
+            {
+            pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__UnorderedGroup_6__Impl_in_rule__ReferenceCS__UnorderedGroup_6__852318);
+            rule__ReferenceCS__UnorderedGroup_6__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__ReferenceCS__UnorderedGroup_6__8"
+
+
     // $ANTLR start "rule__TopLevelCS__OwnedLibrariesAssignment_2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22908:1: rule__TopLevelCS__OwnedLibrariesAssignment_2 : ( ruleLibraryCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25050:1: rule__TopLevelCS__OwnedLibrariesAssignment_2 : ( ruleLibraryCS ) ;
     public final void rule__TopLevelCS__OwnedLibrariesAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22912:1: ( ( ruleLibraryCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22913:1: ( ruleLibraryCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25054:1: ( ( ruleLibraryCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25055:1: ( ruleLibraryCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22913:1: ( ruleLibraryCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22914:1: ruleLibraryCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25055:1: ( ruleLibraryCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25056:1: ruleLibraryCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTopLevelCSAccess().getOwnedLibrariesLibraryCSParserRuleCall_2_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleLibraryCS_in_rule__TopLevelCS__OwnedLibrariesAssignment_246741);
+            pushFollow(FollowSets002.FOLLOW_ruleLibraryCS_in_rule__TopLevelCS__OwnedLibrariesAssignment_252364);
             ruleLibraryCS();
 
             state._fsp--;
@@ -67748,22 +73518,22 @@
 
 
     // $ANTLR start "rule__TopLevelCS__OwnedImportsAssignment_3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22923:1: rule__TopLevelCS__OwnedImportsAssignment_3 : ( ruleImportCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25065:1: rule__TopLevelCS__OwnedImportsAssignment_3 : ( ruleImportCS ) ;
     public final void rule__TopLevelCS__OwnedImportsAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22927:1: ( ( ruleImportCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22928:1: ( ruleImportCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25069:1: ( ( ruleImportCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25070:1: ( ruleImportCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22928:1: ( ruleImportCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22929:1: ruleImportCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25070:1: ( ruleImportCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25071:1: ruleImportCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTopLevelCSAccess().getOwnedImportsImportCSParserRuleCall_3_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleImportCS_in_rule__TopLevelCS__OwnedImportsAssignment_346772);
+            pushFollow(FollowSets002.FOLLOW_ruleImportCS_in_rule__TopLevelCS__OwnedImportsAssignment_352395);
             ruleImportCS();
 
             state._fsp--;
@@ -67793,22 +73563,22 @@
 
 
     // $ANTLR start "rule__TopLevelCS__OwnedPackagesAssignment_4"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22938:1: rule__TopLevelCS__OwnedPackagesAssignment_4 : ( rulePackageCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25080:1: rule__TopLevelCS__OwnedPackagesAssignment_4 : ( rulePackageCS ) ;
     public final void rule__TopLevelCS__OwnedPackagesAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22942:1: ( ( rulePackageCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22943:1: ( rulePackageCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25084:1: ( ( rulePackageCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25085:1: ( rulePackageCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22943:1: ( rulePackageCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22944:1: rulePackageCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25085:1: ( rulePackageCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25086:1: rulePackageCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTopLevelCSAccess().getOwnedPackagesPackageCSParserRuleCall_4_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_rulePackageCS_in_rule__TopLevelCS__OwnedPackagesAssignment_446803);
+            pushFollow(FollowSets002.FOLLOW_rulePackageCS_in_rule__TopLevelCS__OwnedPackagesAssignment_452426);
             rulePackageCS();
 
             state._fsp--;
@@ -67838,28 +73608,28 @@
 
 
     // $ANTLR start "rule__InvariantConstraintCS__IsCallableAssignment_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22953:1: rule__InvariantConstraintCS__IsCallableAssignment_0 : ( ( 'callable' ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25095:1: rule__InvariantConstraintCS__IsCallableAssignment_0 : ( ( 'callable' ) ) ;
     public final void rule__InvariantConstraintCS__IsCallableAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22957:1: ( ( ( 'callable' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22958:1: ( ( 'callable' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25099:1: ( ( ( 'callable' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25100:1: ( ( 'callable' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22958:1: ( ( 'callable' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22959:1: ( 'callable' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25100:1: ( ( 'callable' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25101:1: ( 'callable' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getInvariantConstraintCSAccess().getIsCallableCallableKeyword_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22960:1: ( 'callable' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22961:1: 'callable'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25102:1: ( 'callable' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25103:1: 'callable'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getInvariantConstraintCSAccess().getIsCallableCallableKeyword_0_0()); 
             }
-            match(input,20,FollowSets002.FOLLOW_20_in_rule__InvariantConstraintCS__IsCallableAssignment_046839); if (state.failed) return ;
+            match(input,20,FollowSets002.FOLLOW_20_in_rule__InvariantConstraintCS__IsCallableAssignment_052462); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getInvariantConstraintCSAccess().getIsCallableCallableKeyword_0_0()); 
             }
@@ -67891,28 +73661,28 @@
 
 
     // $ANTLR start "rule__InvariantConstraintCS__StereotypeAssignment_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22976:1: rule__InvariantConstraintCS__StereotypeAssignment_1 : ( ( 'invariant' ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25118:1: rule__InvariantConstraintCS__StereotypeAssignment_1 : ( ( 'invariant' ) ) ;
     public final void rule__InvariantConstraintCS__StereotypeAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22980:1: ( ( ( 'invariant' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22981:1: ( ( 'invariant' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25122:1: ( ( ( 'invariant' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25123:1: ( ( 'invariant' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22981:1: ( ( 'invariant' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22982:1: ( 'invariant' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25123:1: ( ( 'invariant' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25124:1: ( 'invariant' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getInvariantConstraintCSAccess().getStereotypeInvariantKeyword_1_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22983:1: ( 'invariant' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22984:1: 'invariant'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25125:1: ( 'invariant' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25126:1: 'invariant'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getInvariantConstraintCSAccess().getStereotypeInvariantKeyword_1_0()); 
             }
-            match(input,57,FollowSets002.FOLLOW_57_in_rule__InvariantConstraintCS__StereotypeAssignment_146883); if (state.failed) return ;
+            match(input,66,FollowSets002.FOLLOW_66_in_rule__InvariantConstraintCS__StereotypeAssignment_152506); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getInvariantConstraintCSAccess().getStereotypeInvariantKeyword_1_0()); 
             }
@@ -67944,22 +73714,22 @@
 
 
     // $ANTLR start "rule__InvariantConstraintCS__NameAssignment_2_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:22999:1: rule__InvariantConstraintCS__NameAssignment_2_0 : ( ruleUnrestrictedName ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25141:1: rule__InvariantConstraintCS__NameAssignment_2_0 : ( ruleUnrestrictedName ) ;
     public final void rule__InvariantConstraintCS__NameAssignment_2_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23003:1: ( ( ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23004:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25145:1: ( ( ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25146:1: ( ruleUnrestrictedName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23004:1: ( ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23005:1: ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25146:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25147:1: ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getInvariantConstraintCSAccess().getNameUnrestrictedNameParserRuleCall_2_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__InvariantConstraintCS__NameAssignment_2_046922);
+            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__InvariantConstraintCS__NameAssignment_2_052545);
             ruleUnrestrictedName();
 
             state._fsp--;
@@ -67989,22 +73759,22 @@
 
 
     // $ANTLR start "rule__InvariantConstraintCS__OwnedMessageSpecificationAssignment_2_1_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23014:1: rule__InvariantConstraintCS__OwnedMessageSpecificationAssignment_2_1_1 : ( ruleSpecificationCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25156:1: rule__InvariantConstraintCS__OwnedMessageSpecificationAssignment_2_1_1 : ( ruleSpecificationCS ) ;
     public final void rule__InvariantConstraintCS__OwnedMessageSpecificationAssignment_2_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23018:1: ( ( ruleSpecificationCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23019:1: ( ruleSpecificationCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25160:1: ( ( ruleSpecificationCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25161:1: ( ruleSpecificationCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23019:1: ( ruleSpecificationCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23020:1: ruleSpecificationCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25161:1: ( ruleSpecificationCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25162:1: ruleSpecificationCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getInvariantConstraintCSAccess().getOwnedMessageSpecificationSpecificationCSParserRuleCall_2_1_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleSpecificationCS_in_rule__InvariantConstraintCS__OwnedMessageSpecificationAssignment_2_1_146953);
+            pushFollow(FollowSets002.FOLLOW_ruleSpecificationCS_in_rule__InvariantConstraintCS__OwnedMessageSpecificationAssignment_2_1_152576);
             ruleSpecificationCS();
 
             state._fsp--;
@@ -68034,22 +73804,22 @@
 
 
     // $ANTLR start "rule__InvariantConstraintCS__OwnedSpecificationAssignment_3_0_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23029:1: rule__InvariantConstraintCS__OwnedSpecificationAssignment_3_0_1 : ( ruleSpecificationCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25171:1: rule__InvariantConstraintCS__OwnedSpecificationAssignment_3_0_1 : ( ruleSpecificationCS ) ;
     public final void rule__InvariantConstraintCS__OwnedSpecificationAssignment_3_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23033:1: ( ( ruleSpecificationCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23034:1: ( ruleSpecificationCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25175:1: ( ( ruleSpecificationCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25176:1: ( ruleSpecificationCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23034:1: ( ruleSpecificationCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23035:1: ruleSpecificationCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25176:1: ( ruleSpecificationCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25177:1: ruleSpecificationCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getInvariantConstraintCSAccess().getOwnedSpecificationSpecificationCSParserRuleCall_3_0_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleSpecificationCS_in_rule__InvariantConstraintCS__OwnedSpecificationAssignment_3_0_146984);
+            pushFollow(FollowSets002.FOLLOW_ruleSpecificationCS_in_rule__InvariantConstraintCS__OwnedSpecificationAssignment_3_0_152607);
             ruleSpecificationCS();
 
             state._fsp--;
@@ -68079,28 +73849,28 @@
 
 
     // $ANTLR start "rule__PostconditionConstraintCS__StereotypeAssignment_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23044:1: rule__PostconditionConstraintCS__StereotypeAssignment_0 : ( ( 'postcondition' ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25186:1: rule__PostconditionConstraintCS__StereotypeAssignment_0 : ( ( 'postcondition' ) ) ;
     public final void rule__PostconditionConstraintCS__StereotypeAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23048:1: ( ( ( 'postcondition' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23049:1: ( ( 'postcondition' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25190:1: ( ( ( 'postcondition' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25191:1: ( ( 'postcondition' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23049:1: ( ( 'postcondition' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23050:1: ( 'postcondition' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25191:1: ( ( 'postcondition' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25192:1: ( 'postcondition' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPostconditionConstraintCSAccess().getStereotypePostconditionKeyword_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23051:1: ( 'postcondition' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23052:1: 'postcondition'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25193:1: ( 'postcondition' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25194:1: 'postcondition'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPostconditionConstraintCSAccess().getStereotypePostconditionKeyword_0_0()); 
             }
-            match(input,39,FollowSets002.FOLLOW_39_in_rule__PostconditionConstraintCS__StereotypeAssignment_047020); if (state.failed) return ;
+            match(input,39,FollowSets002.FOLLOW_39_in_rule__PostconditionConstraintCS__StereotypeAssignment_052643); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPostconditionConstraintCSAccess().getStereotypePostconditionKeyword_0_0()); 
             }
@@ -68132,22 +73902,22 @@
 
 
     // $ANTLR start "rule__PostconditionConstraintCS__NameAssignment_1_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23067:1: rule__PostconditionConstraintCS__NameAssignment_1_0 : ( ruleUnrestrictedName ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25209:1: rule__PostconditionConstraintCS__NameAssignment_1_0 : ( ruleUnrestrictedName ) ;
     public final void rule__PostconditionConstraintCS__NameAssignment_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23071:1: ( ( ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23072:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25213:1: ( ( ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25214:1: ( ruleUnrestrictedName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23072:1: ( ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23073:1: ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25214:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25215:1: ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPostconditionConstraintCSAccess().getNameUnrestrictedNameParserRuleCall_1_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__PostconditionConstraintCS__NameAssignment_1_047059);
+            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__PostconditionConstraintCS__NameAssignment_1_052682);
             ruleUnrestrictedName();
 
             state._fsp--;
@@ -68177,22 +73947,22 @@
 
 
     // $ANTLR start "rule__PostconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23082:1: rule__PostconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1 : ( ruleSpecificationCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25224:1: rule__PostconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1 : ( ruleSpecificationCS ) ;
     public final void rule__PostconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23086:1: ( ( ruleSpecificationCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23087:1: ( ruleSpecificationCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25228:1: ( ( ruleSpecificationCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25229:1: ( ruleSpecificationCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23087:1: ( ruleSpecificationCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23088:1: ruleSpecificationCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25229:1: ( ruleSpecificationCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25230:1: ruleSpecificationCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPostconditionConstraintCSAccess().getOwnedMessageSpecificationSpecificationCSParserRuleCall_1_1_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleSpecificationCS_in_rule__PostconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_147090);
+            pushFollow(FollowSets002.FOLLOW_ruleSpecificationCS_in_rule__PostconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_152713);
             ruleSpecificationCS();
 
             state._fsp--;
@@ -68222,22 +73992,22 @@
 
 
     // $ANTLR start "rule__PostconditionConstraintCS__OwnedSpecificationAssignment_3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23097:1: rule__PostconditionConstraintCS__OwnedSpecificationAssignment_3 : ( ruleSpecificationCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25239:1: rule__PostconditionConstraintCS__OwnedSpecificationAssignment_3 : ( ruleSpecificationCS ) ;
     public final void rule__PostconditionConstraintCS__OwnedSpecificationAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23101:1: ( ( ruleSpecificationCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23102:1: ( ruleSpecificationCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25243:1: ( ( ruleSpecificationCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25244:1: ( ruleSpecificationCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23102:1: ( ruleSpecificationCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23103:1: ruleSpecificationCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25244:1: ( ruleSpecificationCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25245:1: ruleSpecificationCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPostconditionConstraintCSAccess().getOwnedSpecificationSpecificationCSParserRuleCall_3_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleSpecificationCS_in_rule__PostconditionConstraintCS__OwnedSpecificationAssignment_347121);
+            pushFollow(FollowSets002.FOLLOW_ruleSpecificationCS_in_rule__PostconditionConstraintCS__OwnedSpecificationAssignment_352744);
             ruleSpecificationCS();
 
             state._fsp--;
@@ -68267,28 +74037,28 @@
 
 
     // $ANTLR start "rule__PreconditionConstraintCS__StereotypeAssignment_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23112:1: rule__PreconditionConstraintCS__StereotypeAssignment_0 : ( ( 'precondition' ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25254:1: rule__PreconditionConstraintCS__StereotypeAssignment_0 : ( ( 'precondition' ) ) ;
     public final void rule__PreconditionConstraintCS__StereotypeAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23116:1: ( ( ( 'precondition' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23117:1: ( ( 'precondition' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25258:1: ( ( ( 'precondition' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25259:1: ( ( 'precondition' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23117:1: ( ( 'precondition' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23118:1: ( 'precondition' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25259:1: ( ( 'precondition' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25260:1: ( 'precondition' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPreconditionConstraintCSAccess().getStereotypePreconditionKeyword_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23119:1: ( 'precondition' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23120:1: 'precondition'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25261:1: ( 'precondition' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25262:1: 'precondition'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPreconditionConstraintCSAccess().getStereotypePreconditionKeyword_0_0()); 
             }
-            match(input,40,FollowSets002.FOLLOW_40_in_rule__PreconditionConstraintCS__StereotypeAssignment_047157); if (state.failed) return ;
+            match(input,40,FollowSets002.FOLLOW_40_in_rule__PreconditionConstraintCS__StereotypeAssignment_052780); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPreconditionConstraintCSAccess().getStereotypePreconditionKeyword_0_0()); 
             }
@@ -68320,22 +74090,22 @@
 
 
     // $ANTLR start "rule__PreconditionConstraintCS__NameAssignment_1_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23135:1: rule__PreconditionConstraintCS__NameAssignment_1_0 : ( ruleUnrestrictedName ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25277:1: rule__PreconditionConstraintCS__NameAssignment_1_0 : ( ruleUnrestrictedName ) ;
     public final void rule__PreconditionConstraintCS__NameAssignment_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23139:1: ( ( ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23140:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25281:1: ( ( ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25282:1: ( ruleUnrestrictedName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23140:1: ( ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23141:1: ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25282:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25283:1: ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPreconditionConstraintCSAccess().getNameUnrestrictedNameParserRuleCall_1_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__PreconditionConstraintCS__NameAssignment_1_047196);
+            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__PreconditionConstraintCS__NameAssignment_1_052819);
             ruleUnrestrictedName();
 
             state._fsp--;
@@ -68365,22 +74135,22 @@
 
 
     // $ANTLR start "rule__PreconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23150:1: rule__PreconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1 : ( ruleSpecificationCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25292:1: rule__PreconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1 : ( ruleSpecificationCS ) ;
     public final void rule__PreconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23154:1: ( ( ruleSpecificationCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23155:1: ( ruleSpecificationCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25296:1: ( ( ruleSpecificationCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25297:1: ( ruleSpecificationCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23155:1: ( ruleSpecificationCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23156:1: ruleSpecificationCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25297:1: ( ruleSpecificationCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25298:1: ruleSpecificationCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPreconditionConstraintCSAccess().getOwnedMessageSpecificationSpecificationCSParserRuleCall_1_1_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleSpecificationCS_in_rule__PreconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_147227);
+            pushFollow(FollowSets002.FOLLOW_ruleSpecificationCS_in_rule__PreconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_152850);
             ruleSpecificationCS();
 
             state._fsp--;
@@ -68410,22 +74180,22 @@
 
 
     // $ANTLR start "rule__PreconditionConstraintCS__OwnedSpecificationAssignment_3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23165:1: rule__PreconditionConstraintCS__OwnedSpecificationAssignment_3 : ( ruleSpecificationCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25307:1: rule__PreconditionConstraintCS__OwnedSpecificationAssignment_3 : ( ruleSpecificationCS ) ;
     public final void rule__PreconditionConstraintCS__OwnedSpecificationAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23169:1: ( ( ruleSpecificationCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23170:1: ( ruleSpecificationCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25311:1: ( ( ruleSpecificationCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25312:1: ( ruleSpecificationCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23170:1: ( ruleSpecificationCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23171:1: ruleSpecificationCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25312:1: ( ruleSpecificationCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25313:1: ruleSpecificationCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPreconditionConstraintCSAccess().getOwnedSpecificationSpecificationCSParserRuleCall_3_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleSpecificationCS_in_rule__PreconditionConstraintCS__OwnedSpecificationAssignment_347258);
+            pushFollow(FollowSets002.FOLLOW_ruleSpecificationCS_in_rule__PreconditionConstraintCS__OwnedSpecificationAssignment_352881);
             ruleSpecificationCS();
 
             state._fsp--;
@@ -68455,25 +74225,25 @@
 
 
     // $ANTLR start "rule__AnnotationCS__NameAssignment_2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23180:1: rule__AnnotationCS__NameAssignment_2 : ( ( rule__AnnotationCS__NameAlternatives_2_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25322:1: rule__AnnotationCS__NameAssignment_2 : ( ( rule__AnnotationCS__NameAlternatives_2_0 ) ) ;
     public final void rule__AnnotationCS__NameAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23184:1: ( ( ( rule__AnnotationCS__NameAlternatives_2_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23185:1: ( ( rule__AnnotationCS__NameAlternatives_2_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25326:1: ( ( ( rule__AnnotationCS__NameAlternatives_2_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25327:1: ( ( rule__AnnotationCS__NameAlternatives_2_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23185:1: ( ( rule__AnnotationCS__NameAlternatives_2_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23186:1: ( rule__AnnotationCS__NameAlternatives_2_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25327:1: ( ( rule__AnnotationCS__NameAlternatives_2_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25328:1: ( rule__AnnotationCS__NameAlternatives_2_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAnnotationCSAccess().getNameAlternatives_2_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23187:1: ( rule__AnnotationCS__NameAlternatives_2_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23187:2: rule__AnnotationCS__NameAlternatives_2_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25329:1: ( rule__AnnotationCS__NameAlternatives_2_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25329:2: rule__AnnotationCS__NameAlternatives_2_0
             {
-            pushFollow(FollowSets002.FOLLOW_rule__AnnotationCS__NameAlternatives_2_0_in_rule__AnnotationCS__NameAssignment_247289);
+            pushFollow(FollowSets002.FOLLOW_rule__AnnotationCS__NameAlternatives_2_0_in_rule__AnnotationCS__NameAssignment_252912);
             rule__AnnotationCS__NameAlternatives_2_0();
 
             state._fsp--;
@@ -68506,22 +74276,22 @@
 
 
     // $ANTLR start "rule__AnnotationCS__OwnedDetailsAssignment_3_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23196:1: rule__AnnotationCS__OwnedDetailsAssignment_3_1 : ( ruleDetailCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25338:1: rule__AnnotationCS__OwnedDetailsAssignment_3_1 : ( ruleDetailCS ) ;
     public final void rule__AnnotationCS__OwnedDetailsAssignment_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23200:1: ( ( ruleDetailCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23201:1: ( ruleDetailCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25342:1: ( ( ruleDetailCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25343:1: ( ruleDetailCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23201:1: ( ruleDetailCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23202:1: ruleDetailCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25343:1: ( ruleDetailCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25344:1: ruleDetailCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAnnotationCSAccess().getOwnedDetailsDetailCSParserRuleCall_3_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleDetailCS_in_rule__AnnotationCS__OwnedDetailsAssignment_3_147322);
+            pushFollow(FollowSets002.FOLLOW_ruleDetailCS_in_rule__AnnotationCS__OwnedDetailsAssignment_3_152945);
             ruleDetailCS();
 
             state._fsp--;
@@ -68551,22 +74321,22 @@
 
 
     // $ANTLR start "rule__AnnotationCS__OwnedDetailsAssignment_3_2_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23211:1: rule__AnnotationCS__OwnedDetailsAssignment_3_2_1 : ( ruleDetailCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25353:1: rule__AnnotationCS__OwnedDetailsAssignment_3_2_1 : ( ruleDetailCS ) ;
     public final void rule__AnnotationCS__OwnedDetailsAssignment_3_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23215:1: ( ( ruleDetailCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23216:1: ( ruleDetailCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25357:1: ( ( ruleDetailCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25358:1: ( ruleDetailCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23216:1: ( ruleDetailCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23217:1: ruleDetailCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25358:1: ( ruleDetailCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25359:1: ruleDetailCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAnnotationCSAccess().getOwnedDetailsDetailCSParserRuleCall_3_2_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleDetailCS_in_rule__AnnotationCS__OwnedDetailsAssignment_3_2_147353);
+            pushFollow(FollowSets002.FOLLOW_ruleDetailCS_in_rule__AnnotationCS__OwnedDetailsAssignment_3_2_152976);
             ruleDetailCS();
 
             state._fsp--;
@@ -68596,22 +74366,22 @@
 
 
     // $ANTLR start "rule__AnnotationCS__OwnedAnnotationsAssignment_4_0_1_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23226:1: rule__AnnotationCS__OwnedAnnotationsAssignment_4_0_1_0 : ( ruleAnnotationElementCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25368:1: rule__AnnotationCS__OwnedAnnotationsAssignment_4_0_1_0 : ( ruleAnnotationElementCS ) ;
     public final void rule__AnnotationCS__OwnedAnnotationsAssignment_4_0_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23230:1: ( ( ruleAnnotationElementCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23231:1: ( ruleAnnotationElementCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25372:1: ( ( ruleAnnotationElementCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25373:1: ( ruleAnnotationElementCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23231:1: ( ruleAnnotationElementCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23232:1: ruleAnnotationElementCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25373:1: ( ruleAnnotationElementCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25374:1: ruleAnnotationElementCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAnnotationCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_4_0_1_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleAnnotationElementCS_in_rule__AnnotationCS__OwnedAnnotationsAssignment_4_0_1_047384);
+            pushFollow(FollowSets002.FOLLOW_ruleAnnotationElementCS_in_rule__AnnotationCS__OwnedAnnotationsAssignment_4_0_1_053007);
             ruleAnnotationElementCS();
 
             state._fsp--;
@@ -68641,22 +74411,22 @@
 
 
     // $ANTLR start "rule__AnnotationCS__OwnedContentsAssignment_4_0_1_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23241:1: rule__AnnotationCS__OwnedContentsAssignment_4_0_1_1 : ( ruleModelElementCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25383:1: rule__AnnotationCS__OwnedContentsAssignment_4_0_1_1 : ( ruleModelElementCS ) ;
     public final void rule__AnnotationCS__OwnedContentsAssignment_4_0_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23245:1: ( ( ruleModelElementCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23246:1: ( ruleModelElementCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25387:1: ( ( ruleModelElementCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25388:1: ( ruleModelElementCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23246:1: ( ruleModelElementCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23247:1: ruleModelElementCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25388:1: ( ruleModelElementCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25389:1: ruleModelElementCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAnnotationCSAccess().getOwnedContentsModelElementCSParserRuleCall_4_0_1_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleModelElementCS_in_rule__AnnotationCS__OwnedContentsAssignment_4_0_1_147415);
+            pushFollow(FollowSets002.FOLLOW_ruleModelElementCS_in_rule__AnnotationCS__OwnedContentsAssignment_4_0_1_153038);
             ruleModelElementCS();
 
             state._fsp--;
@@ -68686,22 +74456,22 @@
 
 
     // $ANTLR start "rule__AnnotationCS__OwnedReferencesAssignment_4_0_1_2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23256:1: rule__AnnotationCS__OwnedReferencesAssignment_4_0_1_2 : ( ruleModelElementRefCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25398:1: rule__AnnotationCS__OwnedReferencesAssignment_4_0_1_2 : ( ruleModelElementRefCS ) ;
     public final void rule__AnnotationCS__OwnedReferencesAssignment_4_0_1_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23260:1: ( ( ruleModelElementRefCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23261:1: ( ruleModelElementRefCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25402:1: ( ( ruleModelElementRefCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25403:1: ( ruleModelElementRefCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23261:1: ( ruleModelElementRefCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23262:1: ruleModelElementRefCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25403:1: ( ruleModelElementRefCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25404:1: ruleModelElementRefCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAnnotationCSAccess().getOwnedReferencesModelElementRefCSParserRuleCall_4_0_1_2_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleModelElementRefCS_in_rule__AnnotationCS__OwnedReferencesAssignment_4_0_1_247446);
+            pushFollow(FollowSets002.FOLLOW_ruleModelElementRefCS_in_rule__AnnotationCS__OwnedReferencesAssignment_4_0_1_253069);
             ruleModelElementRefCS();
 
             state._fsp--;
@@ -68730,37 +74500,37 @@
     // $ANTLR end "rule__AnnotationCS__OwnedReferencesAssignment_4_0_1_2"
 
 
-    // $ANTLR start "rule__AttributeCS__QualifiersAssignment_0_0_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23271:1: rule__AttributeCS__QualifiersAssignment_0_0_0 : ( ( 'static' ) ) ;
-    public final void rule__AttributeCS__QualifiersAssignment_0_0_0() throws RecognitionException {
+    // $ANTLR start "rule__AttributeCS__IsStaticAssignment_0_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25413:1: rule__AttributeCS__IsStaticAssignment_0_0 : ( ( 'static' ) ) ;
+    public final void rule__AttributeCS__IsStaticAssignment_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23275:1: ( ( ( 'static' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23276:1: ( ( 'static' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25417:1: ( ( ( 'static' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25418:1: ( ( 'static' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23276:1: ( ( 'static' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23277:1: ( 'static' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25418:1: ( ( 'static' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25419:1: ( 'static' )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersStaticKeyword_0_0_0_0()); 
+               before(grammarAccess.getAttributeCSAccess().getIsStaticStaticKeyword_0_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23278:1: ( 'static' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23279:1: 'static'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25420:1: ( 'static' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25421:1: 'static'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersStaticKeyword_0_0_0_0()); 
+               before(grammarAccess.getAttributeCSAccess().getIsStaticStaticKeyword_0_0_0()); 
             }
-            match(input,46,FollowSets002.FOLLOW_46_in_rule__AttributeCS__QualifiersAssignment_0_0_047482); if (state.failed) return ;
+            match(input,46,FollowSets002.FOLLOW_46_in_rule__AttributeCS__IsStaticAssignment_0_053105); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersStaticKeyword_0_0_0_0()); 
+               after(grammarAccess.getAttributeCSAccess().getIsStaticStaticKeyword_0_0_0()); 
             }
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersStaticKeyword_0_0_0_0()); 
+               after(grammarAccess.getAttributeCSAccess().getIsStaticStaticKeyword_0_0_0()); 
             }
 
             }
@@ -68780,40 +74550,40 @@
         }
         return ;
     }
-    // $ANTLR end "rule__AttributeCS__QualifiersAssignment_0_0_0"
+    // $ANTLR end "rule__AttributeCS__IsStaticAssignment_0_0"
 
 
-    // $ANTLR start "rule__AttributeCS__QualifiersAssignment_0_0_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23294:1: rule__AttributeCS__QualifiersAssignment_0_0_1 : ( ( 'definition' ) ) ;
-    public final void rule__AttributeCS__QualifiersAssignment_0_0_1() throws RecognitionException {
+    // $ANTLR start "rule__AttributeCS__IsDefinitionAssignment_0_1"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25436:1: rule__AttributeCS__IsDefinitionAssignment_0_1 : ( ( 'definition' ) ) ;
+    public final void rule__AttributeCS__IsDefinitionAssignment_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23298:1: ( ( ( 'definition' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23299:1: ( ( 'definition' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25440:1: ( ( ( 'definition' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25441:1: ( ( 'definition' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23299:1: ( ( 'definition' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23300:1: ( 'definition' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25441:1: ( ( 'definition' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25442:1: ( 'definition' )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersDefinitionKeyword_0_0_1_0()); 
+               before(grammarAccess.getAttributeCSAccess().getIsDefinitionDefinitionKeyword_0_1_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23301:1: ( 'definition' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23302:1: 'definition'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25443:1: ( 'definition' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25444:1: 'definition'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersDefinitionKeyword_0_0_1_0()); 
+               before(grammarAccess.getAttributeCSAccess().getIsDefinitionDefinitionKeyword_0_1_0()); 
             }
-            match(input,24,FollowSets002.FOLLOW_24_in_rule__AttributeCS__QualifiersAssignment_0_0_147526); if (state.failed) return ;
+            match(input,24,FollowSets002.FOLLOW_24_in_rule__AttributeCS__IsDefinitionAssignment_0_153149); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersDefinitionKeyword_0_0_1_0()); 
+               after(grammarAccess.getAttributeCSAccess().getIsDefinitionDefinitionKeyword_0_1_0()); 
             }
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersDefinitionKeyword_0_0_1_0()); 
+               after(grammarAccess.getAttributeCSAccess().getIsDefinitionDefinitionKeyword_0_1_0()); 
             }
 
             }
@@ -68833,132 +74603,26 @@
         }
         return ;
     }
-    // $ANTLR end "rule__AttributeCS__QualifiersAssignment_0_0_1"
-
-
-    // $ANTLR start "rule__AttributeCS__QualifiersAssignment_0_1_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23317:1: rule__AttributeCS__QualifiersAssignment_0_1_0 : ( ( 'definition' ) ) ;
-    public final void rule__AttributeCS__QualifiersAssignment_0_1_0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23321:1: ( ( ( 'definition' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23322:1: ( ( 'definition' ) )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23322:1: ( ( 'definition' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23323:1: ( 'definition' )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersDefinitionKeyword_0_1_0_0()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23324:1: ( 'definition' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23325:1: 'definition'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersDefinitionKeyword_0_1_0_0()); 
-            }
-            match(input,24,FollowSets002.FOLLOW_24_in_rule__AttributeCS__QualifiersAssignment_0_1_047570); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersDefinitionKeyword_0_1_0_0()); 
-            }
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersDefinitionKeyword_0_1_0_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__AttributeCS__QualifiersAssignment_0_1_0"
-
-
-    // $ANTLR start "rule__AttributeCS__QualifiersAssignment_0_1_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23340:1: rule__AttributeCS__QualifiersAssignment_0_1_1 : ( ( 'static' ) ) ;
-    public final void rule__AttributeCS__QualifiersAssignment_0_1_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23344:1: ( ( ( 'static' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23345:1: ( ( 'static' ) )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23345:1: ( ( 'static' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23346:1: ( 'static' )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersStaticKeyword_0_1_1_0()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23347:1: ( 'static' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23348:1: 'static'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersStaticKeyword_0_1_1_0()); 
-            }
-            match(input,46,FollowSets002.FOLLOW_46_in_rule__AttributeCS__QualifiersAssignment_0_1_147614); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersStaticKeyword_0_1_1_0()); 
-            }
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersStaticKeyword_0_1_1_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__AttributeCS__QualifiersAssignment_0_1_1"
+    // $ANTLR end "rule__AttributeCS__IsDefinitionAssignment_0_1"
 
 
     // $ANTLR start "rule__AttributeCS__NameAssignment_2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23363:1: rule__AttributeCS__NameAssignment_2 : ( ruleUnrestrictedName ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25459:1: rule__AttributeCS__NameAssignment_2 : ( ruleUnrestrictedName ) ;
     public final void rule__AttributeCS__NameAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23367:1: ( ( ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23368:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25463:1: ( ( ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25464:1: ( ruleUnrestrictedName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23368:1: ( ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23369:1: ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25464:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25465:1: ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttributeCSAccess().getNameUnrestrictedNameParserRuleCall_2_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__AttributeCS__NameAssignment_247653);
+            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__AttributeCS__NameAssignment_253188);
             ruleUnrestrictedName();
 
             state._fsp--;
@@ -68988,22 +74652,22 @@
 
 
     // $ANTLR start "rule__AttributeCS__OwnedTypeAssignment_3_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23378:1: rule__AttributeCS__OwnedTypeAssignment_3_1 : ( ruleTypedMultiplicityRefCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25474:1: rule__AttributeCS__OwnedTypeAssignment_3_1 : ( ruleTypedMultiplicityRefCS ) ;
     public final void rule__AttributeCS__OwnedTypeAssignment_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23382:1: ( ( ruleTypedMultiplicityRefCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23383:1: ( ruleTypedMultiplicityRefCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25478:1: ( ( ruleTypedMultiplicityRefCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25479:1: ( ruleTypedMultiplicityRefCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23383:1: ( ruleTypedMultiplicityRefCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23384:1: ruleTypedMultiplicityRefCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25479:1: ( ruleTypedMultiplicityRefCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25480:1: ruleTypedMultiplicityRefCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttributeCSAccess().getOwnedTypeTypedMultiplicityRefCSParserRuleCall_3_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTypedMultiplicityRefCS_in_rule__AttributeCS__OwnedTypeAssignment_3_147684);
+            pushFollow(FollowSets002.FOLLOW_ruleTypedMultiplicityRefCS_in_rule__AttributeCS__OwnedTypeAssignment_3_153219);
             ruleTypedMultiplicityRefCS();
 
             state._fsp--;
@@ -69033,22 +74697,22 @@
 
 
     // $ANTLR start "rule__AttributeCS__DefaultAssignment_4_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23393:1: rule__AttributeCS__DefaultAssignment_4_1 : ( RULE_SINGLE_QUOTED_STRING ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25489:1: rule__AttributeCS__DefaultAssignment_4_1 : ( RULE_SINGLE_QUOTED_STRING ) ;
     public final void rule__AttributeCS__DefaultAssignment_4_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23397:1: ( ( RULE_SINGLE_QUOTED_STRING ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23398:1: ( RULE_SINGLE_QUOTED_STRING )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25493:1: ( ( RULE_SINGLE_QUOTED_STRING ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25494:1: ( RULE_SINGLE_QUOTED_STRING )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23398:1: ( RULE_SINGLE_QUOTED_STRING )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23399:1: RULE_SINGLE_QUOTED_STRING
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25494:1: ( RULE_SINGLE_QUOTED_STRING )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25495:1: RULE_SINGLE_QUOTED_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttributeCSAccess().getDefaultSINGLE_QUOTED_STRINGTerminalRuleCall_4_1_0()); 
             }
-            match(input,RULE_SINGLE_QUOTED_STRING,FollowSets002.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_rule__AttributeCS__DefaultAssignment_4_147715); if (state.failed) return ;
+            match(input,RULE_SINGLE_QUOTED_STRING,FollowSets002.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_rule__AttributeCS__DefaultAssignment_4_153250); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAttributeCSAccess().getDefaultSINGLE_QUOTED_STRINGTerminalRuleCall_4_1_0()); 
             }
@@ -69073,37 +74737,37 @@
     // $ANTLR end "rule__AttributeCS__DefaultAssignment_4_1"
 
 
-    // $ANTLR start "rule__AttributeCS__QualifiersAssignment_5_1_0_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23408:1: rule__AttributeCS__QualifiersAssignment_5_1_0_0 : ( ( 'derived' ) ) ;
-    public final void rule__AttributeCS__QualifiersAssignment_5_1_0_0() throws RecognitionException {
+    // $ANTLR start "rule__AttributeCS__IsDerivedAssignment_5_0_1_0_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25504:1: rule__AttributeCS__IsDerivedAssignment_5_0_1_0_0 : ( ( 'derived' ) ) ;
+    public final void rule__AttributeCS__IsDerivedAssignment_5_0_1_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23412:1: ( ( ( 'derived' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23413:1: ( ( 'derived' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25508:1: ( ( ( 'derived' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25509:1: ( ( 'derived' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23413:1: ( ( 'derived' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23414:1: ( 'derived' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25509:1: ( ( 'derived' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25510:1: ( 'derived' )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersDerivedKeyword_5_1_0_0_0()); 
+               before(grammarAccess.getAttributeCSAccess().getIsDerivedDerivedKeyword_5_0_1_0_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23415:1: ( 'derived' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23416:1: 'derived'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25511:1: ( 'derived' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25512:1: 'derived'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersDerivedKeyword_5_1_0_0_0()); 
+               before(grammarAccess.getAttributeCSAccess().getIsDerivedDerivedKeyword_5_0_1_0_0_0()); 
             }
-            match(input,26,FollowSets002.FOLLOW_26_in_rule__AttributeCS__QualifiersAssignment_5_1_0_047751); if (state.failed) return ;
+            match(input,26,FollowSets002.FOLLOW_26_in_rule__AttributeCS__IsDerivedAssignment_5_0_1_0_053286); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersDerivedKeyword_5_1_0_0_0()); 
+               after(grammarAccess.getAttributeCSAccess().getIsDerivedDerivedKeyword_5_0_1_0_0_0()); 
             }
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersDerivedKeyword_5_1_0_0_0()); 
+               after(grammarAccess.getAttributeCSAccess().getIsDerivedDerivedKeyword_5_0_1_0_0_0()); 
             }
 
             }
@@ -69123,40 +74787,40 @@
         }
         return ;
     }
-    // $ANTLR end "rule__AttributeCS__QualifiersAssignment_5_1_0_0"
+    // $ANTLR end "rule__AttributeCS__IsDerivedAssignment_5_0_1_0_0"
 
 
-    // $ANTLR start "rule__AttributeCS__QualifiersAssignment_5_1_0_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23431:1: rule__AttributeCS__QualifiersAssignment_5_1_0_1 : ( ( '!derived' ) ) ;
-    public final void rule__AttributeCS__QualifiersAssignment_5_1_0_1() throws RecognitionException {
+    // $ANTLR start "rule__AttributeCS__IsIdAssignment_5_1_0_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25527:1: rule__AttributeCS__IsIdAssignment_5_1_0_0 : ( ( 'id' ) ) ;
+    public final void rule__AttributeCS__IsIdAssignment_5_1_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23435:1: ( ( ( '!derived' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23436:1: ( ( '!derived' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25531:1: ( ( ( 'id' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25532:1: ( ( 'id' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23436:1: ( ( '!derived' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23437:1: ( '!derived' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25532:1: ( ( 'id' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25533:1: ( 'id' )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersDerivedKeyword_5_1_0_1_0()); 
+               before(grammarAccess.getAttributeCSAccess().getIsIdIdKeyword_5_1_0_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23438:1: ( '!derived' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23439:1: '!derived'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25534:1: ( 'id' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25535:1: 'id'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersDerivedKeyword_5_1_0_1_0()); 
+               before(grammarAccess.getAttributeCSAccess().getIsIdIdKeyword_5_1_0_0_0()); 
             }
-            match(input,120,FollowSets002.FOLLOW_120_in_rule__AttributeCS__QualifiersAssignment_5_1_0_147795); if (state.failed) return ;
+            match(input,29,FollowSets002.FOLLOW_29_in_rule__AttributeCS__IsIdAssignment_5_1_0_053330); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersDerivedKeyword_5_1_0_1_0()); 
+               after(grammarAccess.getAttributeCSAccess().getIsIdIdKeyword_5_1_0_0_0()); 
             }
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersDerivedKeyword_5_1_0_1_0()); 
+               after(grammarAccess.getAttributeCSAccess().getIsIdIdKeyword_5_1_0_0_0()); 
             }
 
             }
@@ -69176,40 +74840,40 @@
         }
         return ;
     }
-    // $ANTLR end "rule__AttributeCS__QualifiersAssignment_5_1_0_1"
+    // $ANTLR end "rule__AttributeCS__IsIdAssignment_5_1_0_0"
 
 
-    // $ANTLR start "rule__AttributeCS__QualifiersAssignment_5_1_0_2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23454:1: rule__AttributeCS__QualifiersAssignment_5_1_0_2 : ( ( 'id' ) ) ;
-    public final void rule__AttributeCS__QualifiersAssignment_5_1_0_2() throws RecognitionException {
+    // $ANTLR start "rule__AttributeCS__IsOrderedAssignment_5_2_0_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25550:1: rule__AttributeCS__IsOrderedAssignment_5_2_0_0 : ( ( 'ordered' ) ) ;
+    public final void rule__AttributeCS__IsOrderedAssignment_5_2_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23458:1: ( ( ( 'id' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23459:1: ( ( 'id' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25554:1: ( ( ( 'ordered' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25555:1: ( ( 'ordered' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23459:1: ( ( 'id' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23460:1: ( 'id' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25555:1: ( ( 'ordered' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25556:1: ( 'ordered' )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersIdKeyword_5_1_0_2_0()); 
+               before(grammarAccess.getAttributeCSAccess().getIsOrderedOrderedKeyword_5_2_0_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23461:1: ( 'id' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23462:1: 'id'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25557:1: ( 'ordered' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25558:1: 'ordered'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersIdKeyword_5_1_0_2_0()); 
+               before(grammarAccess.getAttributeCSAccess().getIsOrderedOrderedKeyword_5_2_0_0_0()); 
             }
-            match(input,29,FollowSets002.FOLLOW_29_in_rule__AttributeCS__QualifiersAssignment_5_1_0_247839); if (state.failed) return ;
+            match(input,37,FollowSets002.FOLLOW_37_in_rule__AttributeCS__IsOrderedAssignment_5_2_0_053374); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersIdKeyword_5_1_0_2_0()); 
+               after(grammarAccess.getAttributeCSAccess().getIsOrderedOrderedKeyword_5_2_0_0_0()); 
             }
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersIdKeyword_5_1_0_2_0()); 
+               after(grammarAccess.getAttributeCSAccess().getIsOrderedOrderedKeyword_5_2_0_0_0()); 
             }
 
             }
@@ -69229,40 +74893,40 @@
         }
         return ;
     }
-    // $ANTLR end "rule__AttributeCS__QualifiersAssignment_5_1_0_2"
+    // $ANTLR end "rule__AttributeCS__IsOrderedAssignment_5_2_0_0"
 
 
-    // $ANTLR start "rule__AttributeCS__QualifiersAssignment_5_1_0_3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23477:1: rule__AttributeCS__QualifiersAssignment_5_1_0_3 : ( ( '!id' ) ) ;
-    public final void rule__AttributeCS__QualifiersAssignment_5_1_0_3() throws RecognitionException {
+    // $ANTLR start "rule__AttributeCS__IsReadonlyAssignment_5_3_0_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25573:1: rule__AttributeCS__IsReadonlyAssignment_5_3_0_0 : ( ( 'readonly' ) ) ;
+    public final void rule__AttributeCS__IsReadonlyAssignment_5_3_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23481:1: ( ( ( '!id' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23482:1: ( ( '!id' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25577:1: ( ( ( 'readonly' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25578:1: ( ( 'readonly' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23482:1: ( ( '!id' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23483:1: ( '!id' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25578:1: ( ( 'readonly' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25579:1: ( 'readonly' )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersIdKeyword_5_1_0_3_0()); 
+               before(grammarAccess.getAttributeCSAccess().getIsReadonlyReadonlyKeyword_5_3_0_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23484:1: ( '!id' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23485:1: '!id'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25580:1: ( 'readonly' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25581:1: 'readonly'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersIdKeyword_5_1_0_3_0()); 
+               before(grammarAccess.getAttributeCSAccess().getIsReadonlyReadonlyKeyword_5_3_0_0_0()); 
             }
-            match(input,121,FollowSets002.FOLLOW_121_in_rule__AttributeCS__QualifiersAssignment_5_1_0_347883); if (state.failed) return ;
+            match(input,43,FollowSets002.FOLLOW_43_in_rule__AttributeCS__IsReadonlyAssignment_5_3_0_053418); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersIdKeyword_5_1_0_3_0()); 
+               after(grammarAccess.getAttributeCSAccess().getIsReadonlyReadonlyKeyword_5_3_0_0_0()); 
             }
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersIdKeyword_5_1_0_3_0()); 
+               after(grammarAccess.getAttributeCSAccess().getIsReadonlyReadonlyKeyword_5_3_0_0_0()); 
             }
 
             }
@@ -69282,40 +74946,40 @@
         }
         return ;
     }
-    // $ANTLR end "rule__AttributeCS__QualifiersAssignment_5_1_0_3"
+    // $ANTLR end "rule__AttributeCS__IsReadonlyAssignment_5_3_0_0"
 
 
-    // $ANTLR start "rule__AttributeCS__QualifiersAssignment_5_1_0_4"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23500:1: rule__AttributeCS__QualifiersAssignment_5_1_0_4 : ( ( 'ordered' ) ) ;
-    public final void rule__AttributeCS__QualifiersAssignment_5_1_0_4() throws RecognitionException {
+    // $ANTLR start "rule__AttributeCS__IsTransientAssignment_5_4_0_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25596:1: rule__AttributeCS__IsTransientAssignment_5_4_0_0 : ( ( 'transient' ) ) ;
+    public final void rule__AttributeCS__IsTransientAssignment_5_4_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23504:1: ( ( ( 'ordered' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23505:1: ( ( 'ordered' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25600:1: ( ( ( 'transient' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25601:1: ( ( 'transient' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23505:1: ( ( 'ordered' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23506:1: ( 'ordered' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25601:1: ( ( 'transient' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25602:1: ( 'transient' )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersOrderedKeyword_5_1_0_4_0()); 
+               before(grammarAccess.getAttributeCSAccess().getIsTransientTransientKeyword_5_4_0_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23507:1: ( 'ordered' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23508:1: 'ordered'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25603:1: ( 'transient' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25604:1: 'transient'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersOrderedKeyword_5_1_0_4_0()); 
+               before(grammarAccess.getAttributeCSAccess().getIsTransientTransientKeyword_5_4_0_0_0()); 
             }
-            match(input,37,FollowSets002.FOLLOW_37_in_rule__AttributeCS__QualifiersAssignment_5_1_0_447927); if (state.failed) return ;
+            match(input,49,FollowSets002.FOLLOW_49_in_rule__AttributeCS__IsTransientAssignment_5_4_0_053462); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersOrderedKeyword_5_1_0_4_0()); 
+               after(grammarAccess.getAttributeCSAccess().getIsTransientTransientKeyword_5_4_0_0_0()); 
             }
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersOrderedKeyword_5_1_0_4_0()); 
+               after(grammarAccess.getAttributeCSAccess().getIsTransientTransientKeyword_5_4_0_0_0()); 
             }
 
             }
@@ -69335,40 +74999,40 @@
         }
         return ;
     }
-    // $ANTLR end "rule__AttributeCS__QualifiersAssignment_5_1_0_4"
+    // $ANTLR end "rule__AttributeCS__IsTransientAssignment_5_4_0_0"
 
 
-    // $ANTLR start "rule__AttributeCS__QualifiersAssignment_5_1_0_5"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23523:1: rule__AttributeCS__QualifiersAssignment_5_1_0_5 : ( ( '!ordered' ) ) ;
-    public final void rule__AttributeCS__QualifiersAssignment_5_1_0_5() throws RecognitionException {
+    // $ANTLR start "rule__AttributeCS__IsNotUniqueAssignment_5_5_0_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25619:1: rule__AttributeCS__IsNotUniqueAssignment_5_5_0_0 : ( ( '!unique' ) ) ;
+    public final void rule__AttributeCS__IsNotUniqueAssignment_5_5_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23527:1: ( ( ( '!ordered' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23528:1: ( ( '!ordered' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25623:1: ( ( ( '!unique' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25624:1: ( ( '!unique' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23528:1: ( ( '!ordered' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23529:1: ( '!ordered' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25624:1: ( ( '!unique' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25625:1: ( '!unique' )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersOrderedKeyword_5_1_0_5_0()); 
+               before(grammarAccess.getAttributeCSAccess().getIsNotUniqueUniqueKeyword_5_5_0_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23530:1: ( '!ordered' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23531:1: '!ordered'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25626:1: ( '!unique' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25627:1: '!unique'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersOrderedKeyword_5_1_0_5_0()); 
+               before(grammarAccess.getAttributeCSAccess().getIsNotUniqueUniqueKeyword_5_5_0_0_0()); 
             }
-            match(input,122,FollowSets002.FOLLOW_122_in_rule__AttributeCS__QualifiersAssignment_5_1_0_547971); if (state.failed) return ;
+            match(input,129,FollowSets002.FOLLOW_129_in_rule__AttributeCS__IsNotUniqueAssignment_5_5_0_053506); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersOrderedKeyword_5_1_0_5_0()); 
+               after(grammarAccess.getAttributeCSAccess().getIsNotUniqueUniqueKeyword_5_5_0_0_0()); 
             }
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersOrderedKeyword_5_1_0_5_0()); 
+               after(grammarAccess.getAttributeCSAccess().getIsNotUniqueUniqueKeyword_5_5_0_0_0()); 
             }
 
             }
@@ -69388,40 +75052,40 @@
         }
         return ;
     }
-    // $ANTLR end "rule__AttributeCS__QualifiersAssignment_5_1_0_5"
+    // $ANTLR end "rule__AttributeCS__IsNotUniqueAssignment_5_5_0_0"
 
 
-    // $ANTLR start "rule__AttributeCS__QualifiersAssignment_5_1_0_6"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23546:1: rule__AttributeCS__QualifiersAssignment_5_1_0_6 : ( ( 'readonly' ) ) ;
-    public final void rule__AttributeCS__QualifiersAssignment_5_1_0_6() throws RecognitionException {
+    // $ANTLR start "rule__AttributeCS__IsUnsettableAssignment_5_6_0_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25642:1: rule__AttributeCS__IsUnsettableAssignment_5_6_0_0 : ( ( 'unsettable' ) ) ;
+    public final void rule__AttributeCS__IsUnsettableAssignment_5_6_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23550:1: ( ( ( 'readonly' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23551:1: ( ( 'readonly' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25646:1: ( ( ( 'unsettable' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25647:1: ( ( 'unsettable' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23551:1: ( ( 'readonly' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23552:1: ( 'readonly' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25647:1: ( ( 'unsettable' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25648:1: ( 'unsettable' )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersReadonlyKeyword_5_1_0_6_0()); 
+               before(grammarAccess.getAttributeCSAccess().getIsUnsettableUnsettableKeyword_5_6_0_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23553:1: ( 'readonly' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23554:1: 'readonly'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25649:1: ( 'unsettable' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25650:1: 'unsettable'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersReadonlyKeyword_5_1_0_6_0()); 
+               before(grammarAccess.getAttributeCSAccess().getIsUnsettableUnsettableKeyword_5_6_0_0_0()); 
             }
-            match(input,43,FollowSets002.FOLLOW_43_in_rule__AttributeCS__QualifiersAssignment_5_1_0_648015); if (state.failed) return ;
+            match(input,51,FollowSets002.FOLLOW_51_in_rule__AttributeCS__IsUnsettableAssignment_5_6_0_053550); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersReadonlyKeyword_5_1_0_6_0()); 
+               after(grammarAccess.getAttributeCSAccess().getIsUnsettableUnsettableKeyword_5_6_0_0_0()); 
             }
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersReadonlyKeyword_5_1_0_6_0()); 
+               after(grammarAccess.getAttributeCSAccess().getIsUnsettableUnsettableKeyword_5_6_0_0_0()); 
             }
 
             }
@@ -69441,40 +75105,40 @@
         }
         return ;
     }
-    // $ANTLR end "rule__AttributeCS__QualifiersAssignment_5_1_0_6"
+    // $ANTLR end "rule__AttributeCS__IsUnsettableAssignment_5_6_0_0"
 
 
-    // $ANTLR start "rule__AttributeCS__QualifiersAssignment_5_1_0_7"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23569:1: rule__AttributeCS__QualifiersAssignment_5_1_0_7 : ( ( '!readonly' ) ) ;
-    public final void rule__AttributeCS__QualifiersAssignment_5_1_0_7() throws RecognitionException {
+    // $ANTLR start "rule__AttributeCS__IsVolatileAssignment_5_7_0_0_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25665:1: rule__AttributeCS__IsVolatileAssignment_5_7_0_0_0 : ( ( 'volatile' ) ) ;
+    public final void rule__AttributeCS__IsVolatileAssignment_5_7_0_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23573:1: ( ( ( '!readonly' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23574:1: ( ( '!readonly' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25669:1: ( ( ( 'volatile' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25670:1: ( ( 'volatile' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23574:1: ( ( '!readonly' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23575:1: ( '!readonly' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25670:1: ( ( 'volatile' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25671:1: ( 'volatile' )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersReadonlyKeyword_5_1_0_7_0()); 
+               before(grammarAccess.getAttributeCSAccess().getIsVolatileVolatileKeyword_5_7_0_0_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23576:1: ( '!readonly' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23577:1: '!readonly'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25672:1: ( 'volatile' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25673:1: 'volatile'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersReadonlyKeyword_5_1_0_7_0()); 
+               before(grammarAccess.getAttributeCSAccess().getIsVolatileVolatileKeyword_5_7_0_0_0_0()); 
             }
-            match(input,123,FollowSets002.FOLLOW_123_in_rule__AttributeCS__QualifiersAssignment_5_1_0_748059); if (state.failed) return ;
+            match(input,52,FollowSets002.FOLLOW_52_in_rule__AttributeCS__IsVolatileAssignment_5_7_0_0_053594); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersReadonlyKeyword_5_1_0_7_0()); 
+               after(grammarAccess.getAttributeCSAccess().getIsVolatileVolatileKeyword_5_7_0_0_0_0()); 
             }
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersReadonlyKeyword_5_1_0_7_0()); 
+               after(grammarAccess.getAttributeCSAccess().getIsVolatileVolatileKeyword_5_7_0_0_0_0()); 
             }
 
             }
@@ -69494,450 +75158,26 @@
         }
         return ;
     }
-    // $ANTLR end "rule__AttributeCS__QualifiersAssignment_5_1_0_7"
-
-
-    // $ANTLR start "rule__AttributeCS__QualifiersAssignment_5_1_0_8"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23592:1: rule__AttributeCS__QualifiersAssignment_5_1_0_8 : ( ( 'transient' ) ) ;
-    public final void rule__AttributeCS__QualifiersAssignment_5_1_0_8() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23596:1: ( ( ( 'transient' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23597:1: ( ( 'transient' ) )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23597:1: ( ( 'transient' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23598:1: ( 'transient' )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersTransientKeyword_5_1_0_8_0()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23599:1: ( 'transient' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23600:1: 'transient'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersTransientKeyword_5_1_0_8_0()); 
-            }
-            match(input,49,FollowSets002.FOLLOW_49_in_rule__AttributeCS__QualifiersAssignment_5_1_0_848103); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersTransientKeyword_5_1_0_8_0()); 
-            }
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersTransientKeyword_5_1_0_8_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__AttributeCS__QualifiersAssignment_5_1_0_8"
-
-
-    // $ANTLR start "rule__AttributeCS__QualifiersAssignment_5_1_0_9"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23615:1: rule__AttributeCS__QualifiersAssignment_5_1_0_9 : ( ( '!transient' ) ) ;
-    public final void rule__AttributeCS__QualifiersAssignment_5_1_0_9() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23619:1: ( ( ( '!transient' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23620:1: ( ( '!transient' ) )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23620:1: ( ( '!transient' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23621:1: ( '!transient' )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersTransientKeyword_5_1_0_9_0()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23622:1: ( '!transient' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23623:1: '!transient'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersTransientKeyword_5_1_0_9_0()); 
-            }
-            match(input,124,FollowSets002.FOLLOW_124_in_rule__AttributeCS__QualifiersAssignment_5_1_0_948147); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersTransientKeyword_5_1_0_9_0()); 
-            }
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersTransientKeyword_5_1_0_9_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__AttributeCS__QualifiersAssignment_5_1_0_9"
-
-
-    // $ANTLR start "rule__AttributeCS__QualifiersAssignment_5_1_0_10"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23638:1: rule__AttributeCS__QualifiersAssignment_5_1_0_10 : ( ( 'unique' ) ) ;
-    public final void rule__AttributeCS__QualifiersAssignment_5_1_0_10() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23642:1: ( ( ( 'unique' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23643:1: ( ( 'unique' ) )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23643:1: ( ( 'unique' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23644:1: ( 'unique' )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersUniqueKeyword_5_1_0_10_0()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23645:1: ( 'unique' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23646:1: 'unique'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersUniqueKeyword_5_1_0_10_0()); 
-            }
-            match(input,50,FollowSets002.FOLLOW_50_in_rule__AttributeCS__QualifiersAssignment_5_1_0_1048191); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersUniqueKeyword_5_1_0_10_0()); 
-            }
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersUniqueKeyword_5_1_0_10_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__AttributeCS__QualifiersAssignment_5_1_0_10"
-
-
-    // $ANTLR start "rule__AttributeCS__QualifiersAssignment_5_1_0_11"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23661:1: rule__AttributeCS__QualifiersAssignment_5_1_0_11 : ( ( '!unique' ) ) ;
-    public final void rule__AttributeCS__QualifiersAssignment_5_1_0_11() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23665:1: ( ( ( '!unique' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23666:1: ( ( '!unique' ) )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23666:1: ( ( '!unique' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23667:1: ( '!unique' )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersUniqueKeyword_5_1_0_11_0()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23668:1: ( '!unique' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23669:1: '!unique'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersUniqueKeyword_5_1_0_11_0()); 
-            }
-            match(input,125,FollowSets002.FOLLOW_125_in_rule__AttributeCS__QualifiersAssignment_5_1_0_1148235); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersUniqueKeyword_5_1_0_11_0()); 
-            }
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersUniqueKeyword_5_1_0_11_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__AttributeCS__QualifiersAssignment_5_1_0_11"
-
-
-    // $ANTLR start "rule__AttributeCS__QualifiersAssignment_5_1_0_12"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23684:1: rule__AttributeCS__QualifiersAssignment_5_1_0_12 : ( ( 'unsettable' ) ) ;
-    public final void rule__AttributeCS__QualifiersAssignment_5_1_0_12() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23688:1: ( ( ( 'unsettable' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23689:1: ( ( 'unsettable' ) )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23689:1: ( ( 'unsettable' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23690:1: ( 'unsettable' )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersUnsettableKeyword_5_1_0_12_0()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23691:1: ( 'unsettable' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23692:1: 'unsettable'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersUnsettableKeyword_5_1_0_12_0()); 
-            }
-            match(input,51,FollowSets002.FOLLOW_51_in_rule__AttributeCS__QualifiersAssignment_5_1_0_1248279); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersUnsettableKeyword_5_1_0_12_0()); 
-            }
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersUnsettableKeyword_5_1_0_12_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__AttributeCS__QualifiersAssignment_5_1_0_12"
-
-
-    // $ANTLR start "rule__AttributeCS__QualifiersAssignment_5_1_0_13"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23707:1: rule__AttributeCS__QualifiersAssignment_5_1_0_13 : ( ( '!unsettable' ) ) ;
-    public final void rule__AttributeCS__QualifiersAssignment_5_1_0_13() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23711:1: ( ( ( '!unsettable' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23712:1: ( ( '!unsettable' ) )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23712:1: ( ( '!unsettable' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23713:1: ( '!unsettable' )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersUnsettableKeyword_5_1_0_13_0()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23714:1: ( '!unsettable' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23715:1: '!unsettable'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersUnsettableKeyword_5_1_0_13_0()); 
-            }
-            match(input,126,FollowSets002.FOLLOW_126_in_rule__AttributeCS__QualifiersAssignment_5_1_0_1348323); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersUnsettableKeyword_5_1_0_13_0()); 
-            }
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersUnsettableKeyword_5_1_0_13_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__AttributeCS__QualifiersAssignment_5_1_0_13"
-
-
-    // $ANTLR start "rule__AttributeCS__QualifiersAssignment_5_1_0_14"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23730:1: rule__AttributeCS__QualifiersAssignment_5_1_0_14 : ( ( 'volatile' ) ) ;
-    public final void rule__AttributeCS__QualifiersAssignment_5_1_0_14() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23734:1: ( ( ( 'volatile' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23735:1: ( ( 'volatile' ) )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23735:1: ( ( 'volatile' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23736:1: ( 'volatile' )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersVolatileKeyword_5_1_0_14_0()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23737:1: ( 'volatile' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23738:1: 'volatile'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersVolatileKeyword_5_1_0_14_0()); 
-            }
-            match(input,52,FollowSets002.FOLLOW_52_in_rule__AttributeCS__QualifiersAssignment_5_1_0_1448367); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersVolatileKeyword_5_1_0_14_0()); 
-            }
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersVolatileKeyword_5_1_0_14_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__AttributeCS__QualifiersAssignment_5_1_0_14"
-
-
-    // $ANTLR start "rule__AttributeCS__QualifiersAssignment_5_1_0_15"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23753:1: rule__AttributeCS__QualifiersAssignment_5_1_0_15 : ( ( '!volatile' ) ) ;
-    public final void rule__AttributeCS__QualifiersAssignment_5_1_0_15() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23757:1: ( ( ( '!volatile' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23758:1: ( ( '!volatile' ) )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23758:1: ( ( '!volatile' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23759:1: ( '!volatile' )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersVolatileKeyword_5_1_0_15_0()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23760:1: ( '!volatile' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23761:1: '!volatile'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getAttributeCSAccess().getQualifiersVolatileKeyword_5_1_0_15_0()); 
-            }
-            match(input,127,FollowSets002.FOLLOW_127_in_rule__AttributeCS__QualifiersAssignment_5_1_0_1548411); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersVolatileKeyword_5_1_0_15_0()); 
-            }
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getAttributeCSAccess().getQualifiersVolatileKeyword_5_1_0_15_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__AttributeCS__QualifiersAssignment_5_1_0_15"
+    // $ANTLR end "rule__AttributeCS__IsVolatileAssignment_5_7_0_0_0"
 
 
     // $ANTLR start "rule__AttributeCS__OwnedAnnotationsAssignment_6_0_1_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23776:1: rule__AttributeCS__OwnedAnnotationsAssignment_6_0_1_0 : ( ruleAnnotationElementCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25688:1: rule__AttributeCS__OwnedAnnotationsAssignment_6_0_1_0 : ( ruleAnnotationElementCS ) ;
     public final void rule__AttributeCS__OwnedAnnotationsAssignment_6_0_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23780:1: ( ( ruleAnnotationElementCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23781:1: ( ruleAnnotationElementCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25692:1: ( ( ruleAnnotationElementCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25693:1: ( ruleAnnotationElementCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23781:1: ( ruleAnnotationElementCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23782:1: ruleAnnotationElementCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25693:1: ( ruleAnnotationElementCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25694:1: ruleAnnotationElementCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttributeCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_6_0_1_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleAnnotationElementCS_in_rule__AttributeCS__OwnedAnnotationsAssignment_6_0_1_048450);
+            pushFollow(FollowSets002.FOLLOW_ruleAnnotationElementCS_in_rule__AttributeCS__OwnedAnnotationsAssignment_6_0_1_053633);
             ruleAnnotationElementCS();
 
             state._fsp--;
@@ -69967,22 +75207,22 @@
 
 
     // $ANTLR start "rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_1_3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23791:1: rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_1_3 : ( ruleSpecificationCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25703:1: rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_1_3 : ( ruleSpecificationCS ) ;
     public final void rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_1_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23795:1: ( ( ruleSpecificationCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23796:1: ( ruleSpecificationCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25707:1: ( ( ruleSpecificationCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25708:1: ( ruleSpecificationCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23796:1: ( ruleSpecificationCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23797:1: ruleSpecificationCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25708:1: ( ruleSpecificationCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25709:1: ruleSpecificationCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttributeCSAccess().getOwnedDefaultExpressionsSpecificationCSParserRuleCall_6_0_1_1_3_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleSpecificationCS_in_rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_1_348481);
+            pushFollow(FollowSets002.FOLLOW_ruleSpecificationCS_in_rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_1_353664);
             ruleSpecificationCS();
 
             state._fsp--;
@@ -70012,22 +75252,22 @@
 
 
     // $ANTLR start "rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_2_3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23806:1: rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_2_3 : ( ruleSpecificationCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25718:1: rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_2_3 : ( ruleSpecificationCS ) ;
     public final void rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_2_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23810:1: ( ( ruleSpecificationCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23811:1: ( ruleSpecificationCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25722:1: ( ( ruleSpecificationCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25723:1: ( ruleSpecificationCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23811:1: ( ruleSpecificationCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23812:1: ruleSpecificationCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25723:1: ( ruleSpecificationCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25724:1: ruleSpecificationCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttributeCSAccess().getOwnedDefaultExpressionsSpecificationCSParserRuleCall_6_0_1_2_3_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleSpecificationCS_in_rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_2_348512);
+            pushFollow(FollowSets002.FOLLOW_ruleSpecificationCS_in_rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_2_353695);
             ruleSpecificationCS();
 
             state._fsp--;
@@ -70057,28 +75297,28 @@
 
 
     // $ANTLR start "rule__DataTypeCS__IsPrimitiveAssignment_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23821:1: rule__DataTypeCS__IsPrimitiveAssignment_0 : ( ( 'primitive' ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25733:1: rule__DataTypeCS__IsPrimitiveAssignment_0 : ( ( 'primitive' ) ) ;
     public final void rule__DataTypeCS__IsPrimitiveAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23825:1: ( ( ( 'primitive' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23826:1: ( ( 'primitive' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25737:1: ( ( ( 'primitive' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25738:1: ( ( 'primitive' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23826:1: ( ( 'primitive' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23827:1: ( 'primitive' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25738:1: ( ( 'primitive' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25739:1: ( 'primitive' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDataTypeCSAccess().getIsPrimitivePrimitiveKeyword_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23828:1: ( 'primitive' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23829:1: 'primitive'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25740:1: ( 'primitive' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25741:1: 'primitive'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDataTypeCSAccess().getIsPrimitivePrimitiveKeyword_0_0()); 
             }
-            match(input,41,FollowSets002.FOLLOW_41_in_rule__DataTypeCS__IsPrimitiveAssignment_048548); if (state.failed) return ;
+            match(input,41,FollowSets002.FOLLOW_41_in_rule__DataTypeCS__IsPrimitiveAssignment_053731); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDataTypeCSAccess().getIsPrimitivePrimitiveKeyword_0_0()); 
             }
@@ -70110,22 +75350,22 @@
 
 
     // $ANTLR start "rule__DataTypeCS__NameAssignment_2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23844:1: rule__DataTypeCS__NameAssignment_2 : ( ruleUnrestrictedName ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25756:1: rule__DataTypeCS__NameAssignment_2 : ( ruleUnrestrictedName ) ;
     public final void rule__DataTypeCS__NameAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23848:1: ( ( ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23849:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25760:1: ( ( ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25761:1: ( ruleUnrestrictedName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23849:1: ( ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23850:1: ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25761:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25762:1: ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDataTypeCSAccess().getNameUnrestrictedNameParserRuleCall_2_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__DataTypeCS__NameAssignment_248587);
+            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__DataTypeCS__NameAssignment_253770);
             ruleUnrestrictedName();
 
             state._fsp--;
@@ -70155,22 +75395,22 @@
 
 
     // $ANTLR start "rule__DataTypeCS__OwnedSignatureAssignment_3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23859:1: rule__DataTypeCS__OwnedSignatureAssignment_3 : ( ruleTemplateSignatureCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25771:1: rule__DataTypeCS__OwnedSignatureAssignment_3 : ( ruleTemplateSignatureCS ) ;
     public final void rule__DataTypeCS__OwnedSignatureAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23863:1: ( ( ruleTemplateSignatureCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23864:1: ( ruleTemplateSignatureCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25775:1: ( ( ruleTemplateSignatureCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25776:1: ( ruleTemplateSignatureCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23864:1: ( ruleTemplateSignatureCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23865:1: ruleTemplateSignatureCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25776:1: ( ruleTemplateSignatureCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25777:1: ruleTemplateSignatureCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDataTypeCSAccess().getOwnedSignatureTemplateSignatureCSParserRuleCall_3_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTemplateSignatureCS_in_rule__DataTypeCS__OwnedSignatureAssignment_348618);
+            pushFollow(FollowSets002.FOLLOW_ruleTemplateSignatureCS_in_rule__DataTypeCS__OwnedSignatureAssignment_353801);
             ruleTemplateSignatureCS();
 
             state._fsp--;
@@ -70200,22 +75440,22 @@
 
 
     // $ANTLR start "rule__DataTypeCS__InstanceClassNameAssignment_4_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23874:1: rule__DataTypeCS__InstanceClassNameAssignment_4_1 : ( RULE_SINGLE_QUOTED_STRING ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25786:1: rule__DataTypeCS__InstanceClassNameAssignment_4_1 : ( RULE_SINGLE_QUOTED_STRING ) ;
     public final void rule__DataTypeCS__InstanceClassNameAssignment_4_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23878:1: ( ( RULE_SINGLE_QUOTED_STRING ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23879:1: ( RULE_SINGLE_QUOTED_STRING )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25790:1: ( ( RULE_SINGLE_QUOTED_STRING ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25791:1: ( RULE_SINGLE_QUOTED_STRING )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23879:1: ( RULE_SINGLE_QUOTED_STRING )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23880:1: RULE_SINGLE_QUOTED_STRING
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25791:1: ( RULE_SINGLE_QUOTED_STRING )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25792:1: RULE_SINGLE_QUOTED_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDataTypeCSAccess().getInstanceClassNameSINGLE_QUOTED_STRINGTerminalRuleCall_4_1_0()); 
             }
-            match(input,RULE_SINGLE_QUOTED_STRING,FollowSets002.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_rule__DataTypeCS__InstanceClassNameAssignment_4_148649); if (state.failed) return ;
+            match(input,RULE_SINGLE_QUOTED_STRING,FollowSets002.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_rule__DataTypeCS__InstanceClassNameAssignment_4_153832); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDataTypeCSAccess().getInstanceClassNameSINGLE_QUOTED_STRINGTerminalRuleCall_4_1_0()); 
             }
@@ -70241,28 +75481,28 @@
 
 
     // $ANTLR start "rule__DataTypeCS__IsSerializableAssignment_5_1_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23889:1: rule__DataTypeCS__IsSerializableAssignment_5_1_0 : ( ( 'serializable' ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25801:1: rule__DataTypeCS__IsSerializableAssignment_5_1_0 : ( ( 'serializable' ) ) ;
     public final void rule__DataTypeCS__IsSerializableAssignment_5_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23893:1: ( ( ( 'serializable' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23894:1: ( ( 'serializable' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25805:1: ( ( ( 'serializable' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25806:1: ( ( 'serializable' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23894:1: ( ( 'serializable' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23895:1: ( 'serializable' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25806:1: ( ( 'serializable' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25807:1: ( 'serializable' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDataTypeCSAccess().getIsSerializableSerializableKeyword_5_1_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23896:1: ( 'serializable' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23897:1: 'serializable'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25808:1: ( 'serializable' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25809:1: 'serializable'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDataTypeCSAccess().getIsSerializableSerializableKeyword_5_1_0_0()); 
             }
-            match(input,59,FollowSets002.FOLLOW_59_in_rule__DataTypeCS__IsSerializableAssignment_5_1_048685); if (state.failed) return ;
+            match(input,68,FollowSets002.FOLLOW_68_in_rule__DataTypeCS__IsSerializableAssignment_5_1_053868); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDataTypeCSAccess().getIsSerializableSerializableKeyword_5_1_0_0()); 
             }
@@ -70294,22 +75534,22 @@
 
 
     // $ANTLR start "rule__DataTypeCS__OwnedAnnotationsAssignment_6_0_1_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23912:1: rule__DataTypeCS__OwnedAnnotationsAssignment_6_0_1_0 : ( ruleAnnotationElementCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25824:1: rule__DataTypeCS__OwnedAnnotationsAssignment_6_0_1_0 : ( ruleAnnotationElementCS ) ;
     public final void rule__DataTypeCS__OwnedAnnotationsAssignment_6_0_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23916:1: ( ( ruleAnnotationElementCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23917:1: ( ruleAnnotationElementCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25828:1: ( ( ruleAnnotationElementCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25829:1: ( ruleAnnotationElementCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23917:1: ( ruleAnnotationElementCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23918:1: ruleAnnotationElementCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25829:1: ( ruleAnnotationElementCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25830:1: ruleAnnotationElementCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDataTypeCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_6_0_1_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleAnnotationElementCS_in_rule__DataTypeCS__OwnedAnnotationsAssignment_6_0_1_048724);
+            pushFollow(FollowSets002.FOLLOW_ruleAnnotationElementCS_in_rule__DataTypeCS__OwnedAnnotationsAssignment_6_0_1_053907);
             ruleAnnotationElementCS();
 
             state._fsp--;
@@ -70339,22 +75579,22 @@
 
 
     // $ANTLR start "rule__DataTypeCS__OwnedConstraintsAssignment_6_0_1_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23927:1: rule__DataTypeCS__OwnedConstraintsAssignment_6_0_1_1 : ( ruleInvariantConstraintCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25839:1: rule__DataTypeCS__OwnedConstraintsAssignment_6_0_1_1 : ( ruleInvariantConstraintCS ) ;
     public final void rule__DataTypeCS__OwnedConstraintsAssignment_6_0_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23931:1: ( ( ruleInvariantConstraintCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23932:1: ( ruleInvariantConstraintCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25843:1: ( ( ruleInvariantConstraintCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25844:1: ( ruleInvariantConstraintCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23932:1: ( ruleInvariantConstraintCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23933:1: ruleInvariantConstraintCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25844:1: ( ruleInvariantConstraintCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25845:1: ruleInvariantConstraintCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDataTypeCSAccess().getOwnedConstraintsInvariantConstraintCSParserRuleCall_6_0_1_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleInvariantConstraintCS_in_rule__DataTypeCS__OwnedConstraintsAssignment_6_0_1_148755);
+            pushFollow(FollowSets002.FOLLOW_ruleInvariantConstraintCS_in_rule__DataTypeCS__OwnedConstraintsAssignment_6_0_1_153938);
             ruleInvariantConstraintCS();
 
             state._fsp--;
@@ -70384,25 +75624,25 @@
 
 
     // $ANTLR start "rule__DetailCS__NameAssignment_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23942:1: rule__DetailCS__NameAssignment_0 : ( ( rule__DetailCS__NameAlternatives_0_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25854:1: rule__DetailCS__NameAssignment_0 : ( ( rule__DetailCS__NameAlternatives_0_0 ) ) ;
     public final void rule__DetailCS__NameAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23946:1: ( ( ( rule__DetailCS__NameAlternatives_0_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23947:1: ( ( rule__DetailCS__NameAlternatives_0_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25858:1: ( ( ( rule__DetailCS__NameAlternatives_0_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25859:1: ( ( rule__DetailCS__NameAlternatives_0_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23947:1: ( ( rule__DetailCS__NameAlternatives_0_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23948:1: ( rule__DetailCS__NameAlternatives_0_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25859:1: ( ( rule__DetailCS__NameAlternatives_0_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25860:1: ( rule__DetailCS__NameAlternatives_0_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDetailCSAccess().getNameAlternatives_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23949:1: ( rule__DetailCS__NameAlternatives_0_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23949:2: rule__DetailCS__NameAlternatives_0_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25861:1: ( rule__DetailCS__NameAlternatives_0_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25861:2: rule__DetailCS__NameAlternatives_0_0
             {
-            pushFollow(FollowSets002.FOLLOW_rule__DetailCS__NameAlternatives_0_0_in_rule__DetailCS__NameAssignment_048786);
+            pushFollow(FollowSets002.FOLLOW_rule__DetailCS__NameAlternatives_0_0_in_rule__DetailCS__NameAssignment_053969);
             rule__DetailCS__NameAlternatives_0_0();
 
             state._fsp--;
@@ -70435,25 +75675,25 @@
 
 
     // $ANTLR start "rule__DetailCS__ValuesAssignment_2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23958:1: rule__DetailCS__ValuesAssignment_2 : ( ( rule__DetailCS__ValuesAlternatives_2_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25870:1: rule__DetailCS__ValuesAssignment_2 : ( ( rule__DetailCS__ValuesAlternatives_2_0 ) ) ;
     public final void rule__DetailCS__ValuesAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23962:1: ( ( ( rule__DetailCS__ValuesAlternatives_2_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23963:1: ( ( rule__DetailCS__ValuesAlternatives_2_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25874:1: ( ( ( rule__DetailCS__ValuesAlternatives_2_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25875:1: ( ( rule__DetailCS__ValuesAlternatives_2_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23963:1: ( ( rule__DetailCS__ValuesAlternatives_2_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23964:1: ( rule__DetailCS__ValuesAlternatives_2_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25875:1: ( ( rule__DetailCS__ValuesAlternatives_2_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25876:1: ( rule__DetailCS__ValuesAlternatives_2_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDetailCSAccess().getValuesAlternatives_2_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23965:1: ( rule__DetailCS__ValuesAlternatives_2_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23965:2: rule__DetailCS__ValuesAlternatives_2_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25877:1: ( rule__DetailCS__ValuesAlternatives_2_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25877:2: rule__DetailCS__ValuesAlternatives_2_0
             {
-            pushFollow(FollowSets002.FOLLOW_rule__DetailCS__ValuesAlternatives_2_0_in_rule__DetailCS__ValuesAssignment_248819);
+            pushFollow(FollowSets002.FOLLOW_rule__DetailCS__ValuesAlternatives_2_0_in_rule__DetailCS__ValuesAssignment_254002);
             rule__DetailCS__ValuesAlternatives_2_0();
 
             state._fsp--;
@@ -70486,22 +75726,22 @@
 
 
     // $ANTLR start "rule__DocumentationCS__ValueAssignment_2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23974:1: rule__DocumentationCS__ValueAssignment_2 : ( RULE_SINGLE_QUOTED_STRING ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25886:1: rule__DocumentationCS__ValueAssignment_2 : ( RULE_SINGLE_QUOTED_STRING ) ;
     public final void rule__DocumentationCS__ValueAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23978:1: ( ( RULE_SINGLE_QUOTED_STRING ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23979:1: ( RULE_SINGLE_QUOTED_STRING )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25890:1: ( ( RULE_SINGLE_QUOTED_STRING ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25891:1: ( RULE_SINGLE_QUOTED_STRING )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23979:1: ( RULE_SINGLE_QUOTED_STRING )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23980:1: RULE_SINGLE_QUOTED_STRING
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25891:1: ( RULE_SINGLE_QUOTED_STRING )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25892:1: RULE_SINGLE_QUOTED_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDocumentationCSAccess().getValueSINGLE_QUOTED_STRINGTerminalRuleCall_2_0()); 
             }
-            match(input,RULE_SINGLE_QUOTED_STRING,FollowSets002.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_rule__DocumentationCS__ValueAssignment_248852); if (state.failed) return ;
+            match(input,RULE_SINGLE_QUOTED_STRING,FollowSets002.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_rule__DocumentationCS__ValueAssignment_254035); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDocumentationCSAccess().getValueSINGLE_QUOTED_STRINGTerminalRuleCall_2_0()); 
             }
@@ -70527,22 +75767,22 @@
 
 
     // $ANTLR start "rule__DocumentationCS__OwnedDetailsAssignment_3_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23989:1: rule__DocumentationCS__OwnedDetailsAssignment_3_1 : ( ruleDetailCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25901:1: rule__DocumentationCS__OwnedDetailsAssignment_3_1 : ( ruleDetailCS ) ;
     public final void rule__DocumentationCS__OwnedDetailsAssignment_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23993:1: ( ( ruleDetailCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23994:1: ( ruleDetailCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25905:1: ( ( ruleDetailCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25906:1: ( ruleDetailCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23994:1: ( ruleDetailCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23995:1: ruleDetailCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25906:1: ( ruleDetailCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25907:1: ruleDetailCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDocumentationCSAccess().getOwnedDetailsDetailCSParserRuleCall_3_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleDetailCS_in_rule__DocumentationCS__OwnedDetailsAssignment_3_148883);
+            pushFollow(FollowSets002.FOLLOW_ruleDetailCS_in_rule__DocumentationCS__OwnedDetailsAssignment_3_154066);
             ruleDetailCS();
 
             state._fsp--;
@@ -70572,22 +75812,22 @@
 
 
     // $ANTLR start "rule__DocumentationCS__OwnedDetailsAssignment_3_2_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24004:1: rule__DocumentationCS__OwnedDetailsAssignment_3_2_1 : ( ruleDetailCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25916:1: rule__DocumentationCS__OwnedDetailsAssignment_3_2_1 : ( ruleDetailCS ) ;
     public final void rule__DocumentationCS__OwnedDetailsAssignment_3_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24008:1: ( ( ruleDetailCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24009:1: ( ruleDetailCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25920:1: ( ( ruleDetailCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25921:1: ( ruleDetailCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24009:1: ( ruleDetailCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24010:1: ruleDetailCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25921:1: ( ruleDetailCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25922:1: ruleDetailCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDocumentationCSAccess().getOwnedDetailsDetailCSParserRuleCall_3_2_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleDetailCS_in_rule__DocumentationCS__OwnedDetailsAssignment_3_2_148914);
+            pushFollow(FollowSets002.FOLLOW_ruleDetailCS_in_rule__DocumentationCS__OwnedDetailsAssignment_3_2_154097);
             ruleDetailCS();
 
             state._fsp--;
@@ -70617,22 +75857,22 @@
 
 
     // $ANTLR start "rule__EnumerationCS__NameAssignment_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24019:1: rule__EnumerationCS__NameAssignment_1 : ( ruleUnrestrictedName ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25931:1: rule__EnumerationCS__NameAssignment_1 : ( ruleUnrestrictedName ) ;
     public final void rule__EnumerationCS__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24023:1: ( ( ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24024:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25935:1: ( ( ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25936:1: ( ruleUnrestrictedName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24024:1: ( ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24025:1: ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25936:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25937:1: ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumerationCSAccess().getNameUnrestrictedNameParserRuleCall_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__EnumerationCS__NameAssignment_148945);
+            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__EnumerationCS__NameAssignment_154128);
             ruleUnrestrictedName();
 
             state._fsp--;
@@ -70662,22 +75902,22 @@
 
 
     // $ANTLR start "rule__EnumerationCS__OwnedSignatureAssignment_2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24034:1: rule__EnumerationCS__OwnedSignatureAssignment_2 : ( ruleTemplateSignatureCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25946:1: rule__EnumerationCS__OwnedSignatureAssignment_2 : ( ruleTemplateSignatureCS ) ;
     public final void rule__EnumerationCS__OwnedSignatureAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24038:1: ( ( ruleTemplateSignatureCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24039:1: ( ruleTemplateSignatureCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25950:1: ( ( ruleTemplateSignatureCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25951:1: ( ruleTemplateSignatureCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24039:1: ( ruleTemplateSignatureCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24040:1: ruleTemplateSignatureCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25951:1: ( ruleTemplateSignatureCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25952:1: ruleTemplateSignatureCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumerationCSAccess().getOwnedSignatureTemplateSignatureCSParserRuleCall_2_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTemplateSignatureCS_in_rule__EnumerationCS__OwnedSignatureAssignment_248976);
+            pushFollow(FollowSets002.FOLLOW_ruleTemplateSignatureCS_in_rule__EnumerationCS__OwnedSignatureAssignment_254159);
             ruleTemplateSignatureCS();
 
             state._fsp--;
@@ -70707,22 +75947,22 @@
 
 
     // $ANTLR start "rule__EnumerationCS__InstanceClassNameAssignment_3_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24049:1: rule__EnumerationCS__InstanceClassNameAssignment_3_1 : ( RULE_SINGLE_QUOTED_STRING ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25961:1: rule__EnumerationCS__InstanceClassNameAssignment_3_1 : ( RULE_SINGLE_QUOTED_STRING ) ;
     public final void rule__EnumerationCS__InstanceClassNameAssignment_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24053:1: ( ( RULE_SINGLE_QUOTED_STRING ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24054:1: ( RULE_SINGLE_QUOTED_STRING )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25965:1: ( ( RULE_SINGLE_QUOTED_STRING ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25966:1: ( RULE_SINGLE_QUOTED_STRING )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24054:1: ( RULE_SINGLE_QUOTED_STRING )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24055:1: RULE_SINGLE_QUOTED_STRING
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25966:1: ( RULE_SINGLE_QUOTED_STRING )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25967:1: RULE_SINGLE_QUOTED_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumerationCSAccess().getInstanceClassNameSINGLE_QUOTED_STRINGTerminalRuleCall_3_1_0()); 
             }
-            match(input,RULE_SINGLE_QUOTED_STRING,FollowSets002.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_rule__EnumerationCS__InstanceClassNameAssignment_3_149007); if (state.failed) return ;
+            match(input,RULE_SINGLE_QUOTED_STRING,FollowSets002.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_rule__EnumerationCS__InstanceClassNameAssignment_3_154190); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getEnumerationCSAccess().getInstanceClassNameSINGLE_QUOTED_STRINGTerminalRuleCall_3_1_0()); 
             }
@@ -70748,28 +75988,28 @@
 
 
     // $ANTLR start "rule__EnumerationCS__IsSerializableAssignment_4_1_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24064:1: rule__EnumerationCS__IsSerializableAssignment_4_1_0 : ( ( 'serializable' ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25976:1: rule__EnumerationCS__IsSerializableAssignment_4_1_0 : ( ( 'serializable' ) ) ;
     public final void rule__EnumerationCS__IsSerializableAssignment_4_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24068:1: ( ( ( 'serializable' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24069:1: ( ( 'serializable' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25980:1: ( ( ( 'serializable' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25981:1: ( ( 'serializable' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24069:1: ( ( 'serializable' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24070:1: ( 'serializable' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25981:1: ( ( 'serializable' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25982:1: ( 'serializable' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumerationCSAccess().getIsSerializableSerializableKeyword_4_1_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24071:1: ( 'serializable' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24072:1: 'serializable'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25983:1: ( 'serializable' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25984:1: 'serializable'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumerationCSAccess().getIsSerializableSerializableKeyword_4_1_0_0()); 
             }
-            match(input,59,FollowSets002.FOLLOW_59_in_rule__EnumerationCS__IsSerializableAssignment_4_1_049043); if (state.failed) return ;
+            match(input,68,FollowSets002.FOLLOW_68_in_rule__EnumerationCS__IsSerializableAssignment_4_1_054226); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getEnumerationCSAccess().getIsSerializableSerializableKeyword_4_1_0_0()); 
             }
@@ -70801,22 +76041,22 @@
 
 
     // $ANTLR start "rule__EnumerationCS__OwnedAnnotationsAssignment_5_0_1_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24087:1: rule__EnumerationCS__OwnedAnnotationsAssignment_5_0_1_0 : ( ruleAnnotationElementCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25999:1: rule__EnumerationCS__OwnedAnnotationsAssignment_5_0_1_0 : ( ruleAnnotationElementCS ) ;
     public final void rule__EnumerationCS__OwnedAnnotationsAssignment_5_0_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24091:1: ( ( ruleAnnotationElementCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24092:1: ( ruleAnnotationElementCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26003:1: ( ( ruleAnnotationElementCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26004:1: ( ruleAnnotationElementCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24092:1: ( ruleAnnotationElementCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24093:1: ruleAnnotationElementCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26004:1: ( ruleAnnotationElementCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26005:1: ruleAnnotationElementCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumerationCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_5_0_1_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleAnnotationElementCS_in_rule__EnumerationCS__OwnedAnnotationsAssignment_5_0_1_049082);
+            pushFollow(FollowSets002.FOLLOW_ruleAnnotationElementCS_in_rule__EnumerationCS__OwnedAnnotationsAssignment_5_0_1_054265);
             ruleAnnotationElementCS();
 
             state._fsp--;
@@ -70846,22 +76086,22 @@
 
 
     // $ANTLR start "rule__EnumerationCS__OwnedLiteralsAssignment_5_0_1_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24102:1: rule__EnumerationCS__OwnedLiteralsAssignment_5_0_1_1 : ( ruleEnumerationLiteralCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26014:1: rule__EnumerationCS__OwnedLiteralsAssignment_5_0_1_1 : ( ruleEnumerationLiteralCS ) ;
     public final void rule__EnumerationCS__OwnedLiteralsAssignment_5_0_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24106:1: ( ( ruleEnumerationLiteralCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24107:1: ( ruleEnumerationLiteralCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26018:1: ( ( ruleEnumerationLiteralCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26019:1: ( ruleEnumerationLiteralCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24107:1: ( ruleEnumerationLiteralCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24108:1: ruleEnumerationLiteralCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26019:1: ( ruleEnumerationLiteralCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26020:1: ruleEnumerationLiteralCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumerationCSAccess().getOwnedLiteralsEnumerationLiteralCSParserRuleCall_5_0_1_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleEnumerationLiteralCS_in_rule__EnumerationCS__OwnedLiteralsAssignment_5_0_1_149113);
+            pushFollow(FollowSets002.FOLLOW_ruleEnumerationLiteralCS_in_rule__EnumerationCS__OwnedLiteralsAssignment_5_0_1_154296);
             ruleEnumerationLiteralCS();
 
             state._fsp--;
@@ -70891,22 +76131,22 @@
 
 
     // $ANTLR start "rule__EnumerationCS__OwnedConstraintsAssignment_5_0_1_2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24117:1: rule__EnumerationCS__OwnedConstraintsAssignment_5_0_1_2 : ( ruleInvariantConstraintCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26029:1: rule__EnumerationCS__OwnedConstraintsAssignment_5_0_1_2 : ( ruleInvariantConstraintCS ) ;
     public final void rule__EnumerationCS__OwnedConstraintsAssignment_5_0_1_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24121:1: ( ( ruleInvariantConstraintCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24122:1: ( ruleInvariantConstraintCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26033:1: ( ( ruleInvariantConstraintCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26034:1: ( ruleInvariantConstraintCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24122:1: ( ruleInvariantConstraintCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24123:1: ruleInvariantConstraintCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26034:1: ( ruleInvariantConstraintCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26035:1: ruleInvariantConstraintCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumerationCSAccess().getOwnedConstraintsInvariantConstraintCSParserRuleCall_5_0_1_2_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleInvariantConstraintCS_in_rule__EnumerationCS__OwnedConstraintsAssignment_5_0_1_249144);
+            pushFollow(FollowSets002.FOLLOW_ruleInvariantConstraintCS_in_rule__EnumerationCS__OwnedConstraintsAssignment_5_0_1_254327);
             ruleInvariantConstraintCS();
 
             state._fsp--;
@@ -70936,22 +76176,22 @@
 
 
     // $ANTLR start "rule__EnumerationLiteralCS__NameAssignment_0_0_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24132:1: rule__EnumerationLiteralCS__NameAssignment_0_0_1 : ( ruleUnrestrictedName ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26044:1: rule__EnumerationLiteralCS__NameAssignment_0_0_1 : ( ruleUnrestrictedName ) ;
     public final void rule__EnumerationLiteralCS__NameAssignment_0_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24136:1: ( ( ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24137:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26048:1: ( ( ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26049:1: ( ruleUnrestrictedName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24137:1: ( ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24138:1: ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26049:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26050:1: ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumerationLiteralCSAccess().getNameUnrestrictedNameParserRuleCall_0_0_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__EnumerationLiteralCS__NameAssignment_0_0_149175);
+            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__EnumerationLiteralCS__NameAssignment_0_0_154358);
             ruleUnrestrictedName();
 
             state._fsp--;
@@ -70981,22 +76221,22 @@
 
 
     // $ANTLR start "rule__EnumerationLiteralCS__NameAssignment_0_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24147:1: rule__EnumerationLiteralCS__NameAssignment_0_1 : ( ruleEnumerationLiteralName ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26059:1: rule__EnumerationLiteralCS__NameAssignment_0_1 : ( ruleEnumerationLiteralName ) ;
     public final void rule__EnumerationLiteralCS__NameAssignment_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24151:1: ( ( ruleEnumerationLiteralName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24152:1: ( ruleEnumerationLiteralName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26063:1: ( ( ruleEnumerationLiteralName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26064:1: ( ruleEnumerationLiteralName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24152:1: ( ruleEnumerationLiteralName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24153:1: ruleEnumerationLiteralName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26064:1: ( ruleEnumerationLiteralName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26065:1: ruleEnumerationLiteralName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumerationLiteralCSAccess().getNameEnumerationLiteralNameParserRuleCall_0_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleEnumerationLiteralName_in_rule__EnumerationLiteralCS__NameAssignment_0_149206);
+            pushFollow(FollowSets002.FOLLOW_ruleEnumerationLiteralName_in_rule__EnumerationLiteralCS__NameAssignment_0_154389);
             ruleEnumerationLiteralName();
 
             state._fsp--;
@@ -71026,22 +76266,22 @@
 
 
     // $ANTLR start "rule__EnumerationLiteralCS__ValueAssignment_1_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24162:1: rule__EnumerationLiteralCS__ValueAssignment_1_1 : ( ruleSIGNED ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26074:1: rule__EnumerationLiteralCS__ValueAssignment_1_1 : ( ruleSIGNED ) ;
     public final void rule__EnumerationLiteralCS__ValueAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24166:1: ( ( ruleSIGNED ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24167:1: ( ruleSIGNED )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26078:1: ( ( ruleSIGNED ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26079:1: ( ruleSIGNED )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24167:1: ( ruleSIGNED )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24168:1: ruleSIGNED
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26079:1: ( ruleSIGNED )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26080:1: ruleSIGNED
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumerationLiteralCSAccess().getValueSIGNEDParserRuleCall_1_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleSIGNED_in_rule__EnumerationLiteralCS__ValueAssignment_1_149237);
+            pushFollow(FollowSets002.FOLLOW_ruleSIGNED_in_rule__EnumerationLiteralCS__ValueAssignment_1_154420);
             ruleSIGNED();
 
             state._fsp--;
@@ -71071,22 +76311,22 @@
 
 
     // $ANTLR start "rule__EnumerationLiteralCS__OwnedAnnotationsAssignment_2_0_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24177:1: rule__EnumerationLiteralCS__OwnedAnnotationsAssignment_2_0_1 : ( ruleAnnotationElementCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26089:1: rule__EnumerationLiteralCS__OwnedAnnotationsAssignment_2_0_1 : ( ruleAnnotationElementCS ) ;
     public final void rule__EnumerationLiteralCS__OwnedAnnotationsAssignment_2_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24181:1: ( ( ruleAnnotationElementCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24182:1: ( ruleAnnotationElementCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26093:1: ( ( ruleAnnotationElementCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26094:1: ( ruleAnnotationElementCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24182:1: ( ruleAnnotationElementCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24183:1: ruleAnnotationElementCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26094:1: ( ruleAnnotationElementCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26095:1: ruleAnnotationElementCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumerationLiteralCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_2_0_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleAnnotationElementCS_in_rule__EnumerationLiteralCS__OwnedAnnotationsAssignment_2_0_149268);
+            pushFollow(FollowSets002.FOLLOW_ruleAnnotationElementCS_in_rule__EnumerationLiteralCS__OwnedAnnotationsAssignment_2_0_154451);
             ruleAnnotationElementCS();
 
             state._fsp--;
@@ -71116,22 +76356,22 @@
 
 
     // $ANTLR start "rule__ImportCS__NameAssignment_1_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24192:1: rule__ImportCS__NameAssignment_1_0 : ( ruleUnrestrictedName ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26104:1: rule__ImportCS__NameAssignment_1_0 : ( ruleUnrestrictedName ) ;
     public final void rule__ImportCS__NameAssignment_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24196:1: ( ( ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24197:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26108:1: ( ( ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26109:1: ( ruleUnrestrictedName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24197:1: ( ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24198:1: ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26109:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26110:1: ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImportCSAccess().getNameUnrestrictedNameParserRuleCall_1_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__ImportCS__NameAssignment_1_049299);
+            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__ImportCS__NameAssignment_1_054482);
             ruleUnrestrictedName();
 
             state._fsp--;
@@ -71161,22 +76401,22 @@
 
 
     // $ANTLR start "rule__ImportCS__OwnedPathNameAssignment_2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24207:1: rule__ImportCS__OwnedPathNameAssignment_2 : ( ruleURIPathNameCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26119:1: rule__ImportCS__OwnedPathNameAssignment_2 : ( ruleURIPathNameCS ) ;
     public final void rule__ImportCS__OwnedPathNameAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24211:1: ( ( ruleURIPathNameCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24212:1: ( ruleURIPathNameCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26123:1: ( ( ruleURIPathNameCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26124:1: ( ruleURIPathNameCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24212:1: ( ruleURIPathNameCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24213:1: ruleURIPathNameCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26124:1: ( ruleURIPathNameCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26125:1: ruleURIPathNameCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImportCSAccess().getOwnedPathNameURIPathNameCSParserRuleCall_2_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleURIPathNameCS_in_rule__ImportCS__OwnedPathNameAssignment_249330);
+            pushFollow(FollowSets002.FOLLOW_ruleURIPathNameCS_in_rule__ImportCS__OwnedPathNameAssignment_254513);
             ruleURIPathNameCS();
 
             state._fsp--;
@@ -71206,28 +76446,28 @@
 
 
     // $ANTLR start "rule__ImportCS__IsAllAssignment_3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24222:1: rule__ImportCS__IsAllAssignment_3 : ( ( '::*' ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26134:1: rule__ImportCS__IsAllAssignment_3 : ( ( '::*' ) ) ;
     public final void rule__ImportCS__IsAllAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24226:1: ( ( ( '::*' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24227:1: ( ( '::*' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26138:1: ( ( ( '::*' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26139:1: ( ( '::*' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24227:1: ( ( '::*' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24228:1: ( '::*' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26139:1: ( ( '::*' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26140:1: ( '::*' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImportCSAccess().getIsAllColonColonAsteriskKeyword_3_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24229:1: ( '::*' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24230:1: '::*'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26141:1: ( '::*' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26142:1: '::*'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImportCSAccess().getIsAllColonColonAsteriskKeyword_3_0()); 
             }
-            match(input,128,FollowSets002.FOLLOW_128_in_rule__ImportCS__IsAllAssignment_349366); if (state.failed) return ;
+            match(input,130,FollowSets002.FOLLOW_130_in_rule__ImportCS__IsAllAssignment_354549); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getImportCSAccess().getIsAllColonColonAsteriskKeyword_3_0()); 
             }
@@ -71259,22 +76499,22 @@
 
 
     // $ANTLR start "rule__LibraryCS__NameAssignment_1_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24245:1: rule__LibraryCS__NameAssignment_1_0 : ( ruleUnrestrictedName ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26157:1: rule__LibraryCS__NameAssignment_1_0 : ( ruleUnrestrictedName ) ;
     public final void rule__LibraryCS__NameAssignment_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24249:1: ( ( ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24250:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26161:1: ( ( ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26162:1: ( ruleUnrestrictedName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24250:1: ( ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24251:1: ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26162:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26163:1: ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLibraryCSAccess().getNameUnrestrictedNameParserRuleCall_1_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__LibraryCS__NameAssignment_1_049405);
+            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__LibraryCS__NameAssignment_1_054588);
             ruleUnrestrictedName();
 
             state._fsp--;
@@ -71304,28 +76544,28 @@
 
 
     // $ANTLR start "rule__LibraryCS__ReferredPackageAssignment_2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24260:1: rule__LibraryCS__ReferredPackageAssignment_2 : ( ( ruleURI ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26172:1: rule__LibraryCS__ReferredPackageAssignment_2 : ( ( ruleURI ) ) ;
     public final void rule__LibraryCS__ReferredPackageAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24264:1: ( ( ( ruleURI ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24265:1: ( ( ruleURI ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26176:1: ( ( ( ruleURI ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26177:1: ( ( ruleURI ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24265:1: ( ( ruleURI ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24266:1: ( ruleURI )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26177:1: ( ( ruleURI ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26178:1: ( ruleURI )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLibraryCSAccess().getReferredPackagePackageCrossReference_2_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24267:1: ( ruleURI )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24268:1: ruleURI
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26179:1: ( ruleURI )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26180:1: ruleURI
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLibraryCSAccess().getReferredPackagePackageURIParserRuleCall_2_0_1()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleURI_in_rule__LibraryCS__ReferredPackageAssignment_249440);
+            pushFollow(FollowSets002.FOLLOW_ruleURI_in_rule__LibraryCS__ReferredPackageAssignment_254623);
             ruleURI();
 
             state._fsp--;
@@ -71361,22 +76601,22 @@
 
 
     // $ANTLR start "rule__ModelElementRefCS__OwnedPathNameAssignment_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24279:1: rule__ModelElementRefCS__OwnedPathNameAssignment_1 : ( rulePathNameCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26191:1: rule__ModelElementRefCS__OwnedPathNameAssignment_1 : ( rulePathNameCS ) ;
     public final void rule__ModelElementRefCS__OwnedPathNameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24283:1: ( ( rulePathNameCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24284:1: ( rulePathNameCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26195:1: ( ( rulePathNameCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26196:1: ( rulePathNameCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24284:1: ( rulePathNameCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24285:1: rulePathNameCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26196:1: ( rulePathNameCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26197:1: rulePathNameCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getModelElementRefCSAccess().getOwnedPathNamePathNameCSParserRuleCall_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_rulePathNameCS_in_rule__ModelElementRefCS__OwnedPathNameAssignment_149475);
+            pushFollow(FollowSets002.FOLLOW_rulePathNameCS_in_rule__ModelElementRefCS__OwnedPathNameAssignment_154658);
             rulePathNameCS();
 
             state._fsp--;
@@ -71405,37 +76645,37 @@
     // $ANTLR end "rule__ModelElementRefCS__OwnedPathNameAssignment_1"
 
 
-    // $ANTLR start "rule__OperationCS__QualifiersAssignment_0_0_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24294:1: rule__OperationCS__QualifiersAssignment_0_0_0 : ( ( 'static' ) ) ;
-    public final void rule__OperationCS__QualifiersAssignment_0_0_0() throws RecognitionException {
+    // $ANTLR start "rule__OperationCS__IsStaticAssignment_0_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26206:1: rule__OperationCS__IsStaticAssignment_0_0 : ( ( 'static' ) ) ;
+    public final void rule__OperationCS__IsStaticAssignment_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24298:1: ( ( ( 'static' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24299:1: ( ( 'static' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26210:1: ( ( ( 'static' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26211:1: ( ( 'static' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24299:1: ( ( 'static' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24300:1: ( 'static' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26211:1: ( ( 'static' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26212:1: ( 'static' )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getOperationCSAccess().getQualifiersStaticKeyword_0_0_0_0()); 
+               before(grammarAccess.getOperationCSAccess().getIsStaticStaticKeyword_0_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24301:1: ( 'static' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24302:1: 'static'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26213:1: ( 'static' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26214:1: 'static'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getOperationCSAccess().getQualifiersStaticKeyword_0_0_0_0()); 
+               before(grammarAccess.getOperationCSAccess().getIsStaticStaticKeyword_0_0_0()); 
             }
-            match(input,46,FollowSets002.FOLLOW_46_in_rule__OperationCS__QualifiersAssignment_0_0_049511); if (state.failed) return ;
+            match(input,46,FollowSets002.FOLLOW_46_in_rule__OperationCS__IsStaticAssignment_0_054694); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getOperationCSAccess().getQualifiersStaticKeyword_0_0_0_0()); 
+               after(grammarAccess.getOperationCSAccess().getIsStaticStaticKeyword_0_0_0()); 
             }
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getOperationCSAccess().getQualifiersStaticKeyword_0_0_0_0()); 
+               after(grammarAccess.getOperationCSAccess().getIsStaticStaticKeyword_0_0_0()); 
             }
 
             }
@@ -71455,40 +76695,40 @@
         }
         return ;
     }
-    // $ANTLR end "rule__OperationCS__QualifiersAssignment_0_0_0"
+    // $ANTLR end "rule__OperationCS__IsStaticAssignment_0_0"
 
 
-    // $ANTLR start "rule__OperationCS__QualifiersAssignment_0_0_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24317:1: rule__OperationCS__QualifiersAssignment_0_0_1 : ( ( 'definition' ) ) ;
-    public final void rule__OperationCS__QualifiersAssignment_0_0_1() throws RecognitionException {
+    // $ANTLR start "rule__OperationCS__IsDefinitionAssignment_0_1"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26229:1: rule__OperationCS__IsDefinitionAssignment_0_1 : ( ( 'definition' ) ) ;
+    public final void rule__OperationCS__IsDefinitionAssignment_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24321:1: ( ( ( 'definition' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24322:1: ( ( 'definition' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26233:1: ( ( ( 'definition' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26234:1: ( ( 'definition' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24322:1: ( ( 'definition' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24323:1: ( 'definition' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26234:1: ( ( 'definition' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26235:1: ( 'definition' )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getOperationCSAccess().getQualifiersDefinitionKeyword_0_0_1_0()); 
+               before(grammarAccess.getOperationCSAccess().getIsDefinitionDefinitionKeyword_0_1_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24324:1: ( 'definition' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24325:1: 'definition'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26236:1: ( 'definition' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26237:1: 'definition'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getOperationCSAccess().getQualifiersDefinitionKeyword_0_0_1_0()); 
+               before(grammarAccess.getOperationCSAccess().getIsDefinitionDefinitionKeyword_0_1_0()); 
             }
-            match(input,24,FollowSets002.FOLLOW_24_in_rule__OperationCS__QualifiersAssignment_0_0_149555); if (state.failed) return ;
+            match(input,24,FollowSets002.FOLLOW_24_in_rule__OperationCS__IsDefinitionAssignment_0_154738); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getOperationCSAccess().getQualifiersDefinitionKeyword_0_0_1_0()); 
+               after(grammarAccess.getOperationCSAccess().getIsDefinitionDefinitionKeyword_0_1_0()); 
             }
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getOperationCSAccess().getQualifiersDefinitionKeyword_0_0_1_0()); 
+               after(grammarAccess.getOperationCSAccess().getIsDefinitionDefinitionKeyword_0_1_0()); 
             }
 
             }
@@ -71508,132 +76748,26 @@
         }
         return ;
     }
-    // $ANTLR end "rule__OperationCS__QualifiersAssignment_0_0_1"
-
-
-    // $ANTLR start "rule__OperationCS__QualifiersAssignment_0_1_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24340:1: rule__OperationCS__QualifiersAssignment_0_1_0 : ( ( 'definition' ) ) ;
-    public final void rule__OperationCS__QualifiersAssignment_0_1_0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24344:1: ( ( ( 'definition' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24345:1: ( ( 'definition' ) )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24345:1: ( ( 'definition' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24346:1: ( 'definition' )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getOperationCSAccess().getQualifiersDefinitionKeyword_0_1_0_0()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24347:1: ( 'definition' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24348:1: 'definition'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getOperationCSAccess().getQualifiersDefinitionKeyword_0_1_0_0()); 
-            }
-            match(input,24,FollowSets002.FOLLOW_24_in_rule__OperationCS__QualifiersAssignment_0_1_049599); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getOperationCSAccess().getQualifiersDefinitionKeyword_0_1_0_0()); 
-            }
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getOperationCSAccess().getQualifiersDefinitionKeyword_0_1_0_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__OperationCS__QualifiersAssignment_0_1_0"
-
-
-    // $ANTLR start "rule__OperationCS__QualifiersAssignment_0_1_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24363:1: rule__OperationCS__QualifiersAssignment_0_1_1 : ( ( 'static' ) ) ;
-    public final void rule__OperationCS__QualifiersAssignment_0_1_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24367:1: ( ( ( 'static' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24368:1: ( ( 'static' ) )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24368:1: ( ( 'static' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24369:1: ( 'static' )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getOperationCSAccess().getQualifiersStaticKeyword_0_1_1_0()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24370:1: ( 'static' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24371:1: 'static'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getOperationCSAccess().getQualifiersStaticKeyword_0_1_1_0()); 
-            }
-            match(input,46,FollowSets002.FOLLOW_46_in_rule__OperationCS__QualifiersAssignment_0_1_149643); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getOperationCSAccess().getQualifiersStaticKeyword_0_1_1_0()); 
-            }
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getOperationCSAccess().getQualifiersStaticKeyword_0_1_1_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__OperationCS__QualifiersAssignment_0_1_1"
+    // $ANTLR end "rule__OperationCS__IsDefinitionAssignment_0_1"
 
 
     // $ANTLR start "rule__OperationCS__OwnedSignatureAssignment_2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24386:1: rule__OperationCS__OwnedSignatureAssignment_2 : ( ruleTemplateSignatureCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26252:1: rule__OperationCS__OwnedSignatureAssignment_2 : ( ruleTemplateSignatureCS ) ;
     public final void rule__OperationCS__OwnedSignatureAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24390:1: ( ( ruleTemplateSignatureCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24391:1: ( ruleTemplateSignatureCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26256:1: ( ( ruleTemplateSignatureCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26257:1: ( ruleTemplateSignatureCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24391:1: ( ruleTemplateSignatureCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24392:1: ruleTemplateSignatureCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26257:1: ( ruleTemplateSignatureCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26258:1: ruleTemplateSignatureCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getOwnedSignatureTemplateSignatureCSParserRuleCall_2_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTemplateSignatureCS_in_rule__OperationCS__OwnedSignatureAssignment_249682);
+            pushFollow(FollowSets002.FOLLOW_ruleTemplateSignatureCS_in_rule__OperationCS__OwnedSignatureAssignment_254777);
             ruleTemplateSignatureCS();
 
             state._fsp--;
@@ -71663,22 +76797,22 @@
 
 
     // $ANTLR start "rule__OperationCS__NameAssignment_3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24401:1: rule__OperationCS__NameAssignment_3 : ( ruleUnrestrictedName ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26267:1: rule__OperationCS__NameAssignment_3 : ( ruleUnrestrictedName ) ;
     public final void rule__OperationCS__NameAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24405:1: ( ( ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24406:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26271:1: ( ( ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26272:1: ( ruleUnrestrictedName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24406:1: ( ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24407:1: ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26272:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26273:1: ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getNameUnrestrictedNameParserRuleCall_3_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__OperationCS__NameAssignment_349713);
+            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__OperationCS__NameAssignment_354808);
             ruleUnrestrictedName();
 
             state._fsp--;
@@ -71708,22 +76842,22 @@
 
 
     // $ANTLR start "rule__OperationCS__OwnedParametersAssignment_5_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24416:1: rule__OperationCS__OwnedParametersAssignment_5_0 : ( ruleParameterCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26282:1: rule__OperationCS__OwnedParametersAssignment_5_0 : ( ruleParameterCS ) ;
     public final void rule__OperationCS__OwnedParametersAssignment_5_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24420:1: ( ( ruleParameterCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24421:1: ( ruleParameterCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26286:1: ( ( ruleParameterCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26287:1: ( ruleParameterCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24421:1: ( ruleParameterCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24422:1: ruleParameterCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26287:1: ( ruleParameterCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26288:1: ruleParameterCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getOwnedParametersParameterCSParserRuleCall_5_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleParameterCS_in_rule__OperationCS__OwnedParametersAssignment_5_049744);
+            pushFollow(FollowSets002.FOLLOW_ruleParameterCS_in_rule__OperationCS__OwnedParametersAssignment_5_054839);
             ruleParameterCS();
 
             state._fsp--;
@@ -71753,22 +76887,22 @@
 
 
     // $ANTLR start "rule__OperationCS__OwnedParametersAssignment_5_1_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24431:1: rule__OperationCS__OwnedParametersAssignment_5_1_1 : ( ruleParameterCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26297:1: rule__OperationCS__OwnedParametersAssignment_5_1_1 : ( ruleParameterCS ) ;
     public final void rule__OperationCS__OwnedParametersAssignment_5_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24435:1: ( ( ruleParameterCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24436:1: ( ruleParameterCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26301:1: ( ( ruleParameterCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26302:1: ( ruleParameterCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24436:1: ( ruleParameterCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24437:1: ruleParameterCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26302:1: ( ruleParameterCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26303:1: ruleParameterCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getOwnedParametersParameterCSParserRuleCall_5_1_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleParameterCS_in_rule__OperationCS__OwnedParametersAssignment_5_1_149775);
+            pushFollow(FollowSets002.FOLLOW_ruleParameterCS_in_rule__OperationCS__OwnedParametersAssignment_5_1_154870);
             ruleParameterCS();
 
             state._fsp--;
@@ -71798,22 +76932,22 @@
 
 
     // $ANTLR start "rule__OperationCS__OwnedTypeAssignment_7_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24446:1: rule__OperationCS__OwnedTypeAssignment_7_1 : ( ruleTypedMultiplicityRefCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26312:1: rule__OperationCS__OwnedTypeAssignment_7_1 : ( ruleTypedMultiplicityRefCS ) ;
     public final void rule__OperationCS__OwnedTypeAssignment_7_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24450:1: ( ( ruleTypedMultiplicityRefCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24451:1: ( ruleTypedMultiplicityRefCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26316:1: ( ( ruleTypedMultiplicityRefCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26317:1: ( ruleTypedMultiplicityRefCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24451:1: ( ruleTypedMultiplicityRefCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24452:1: ruleTypedMultiplicityRefCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26317:1: ( ruleTypedMultiplicityRefCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26318:1: ruleTypedMultiplicityRefCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getOwnedTypeTypedMultiplicityRefCSParserRuleCall_7_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTypedMultiplicityRefCS_in_rule__OperationCS__OwnedTypeAssignment_7_149806);
+            pushFollow(FollowSets002.FOLLOW_ruleTypedMultiplicityRefCS_in_rule__OperationCS__OwnedTypeAssignment_7_154901);
             ruleTypedMultiplicityRefCS();
 
             state._fsp--;
@@ -71843,22 +76977,22 @@
 
 
     // $ANTLR start "rule__OperationCS__OwnedExceptionsAssignment_8_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24461:1: rule__OperationCS__OwnedExceptionsAssignment_8_1 : ( ruleTypedRefCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26327:1: rule__OperationCS__OwnedExceptionsAssignment_8_1 : ( ruleTypedRefCS ) ;
     public final void rule__OperationCS__OwnedExceptionsAssignment_8_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24465:1: ( ( ruleTypedRefCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24466:1: ( ruleTypedRefCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26331:1: ( ( ruleTypedRefCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26332:1: ( ruleTypedRefCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24466:1: ( ruleTypedRefCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24467:1: ruleTypedRefCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26332:1: ( ruleTypedRefCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26333:1: ruleTypedRefCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getOwnedExceptionsTypedRefCSParserRuleCall_8_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTypedRefCS_in_rule__OperationCS__OwnedExceptionsAssignment_8_149837);
+            pushFollow(FollowSets002.FOLLOW_ruleTypedRefCS_in_rule__OperationCS__OwnedExceptionsAssignment_8_154932);
             ruleTypedRefCS();
 
             state._fsp--;
@@ -71888,22 +77022,22 @@
 
 
     // $ANTLR start "rule__OperationCS__OwnedExceptionsAssignment_8_2_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24476:1: rule__OperationCS__OwnedExceptionsAssignment_8_2_1 : ( ruleTypedRefCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26342:1: rule__OperationCS__OwnedExceptionsAssignment_8_2_1 : ( ruleTypedRefCS ) ;
     public final void rule__OperationCS__OwnedExceptionsAssignment_8_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24480:1: ( ( ruleTypedRefCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24481:1: ( ruleTypedRefCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26346:1: ( ( ruleTypedRefCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26347:1: ( ruleTypedRefCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24481:1: ( ruleTypedRefCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24482:1: ruleTypedRefCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26347:1: ( ruleTypedRefCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26348:1: ruleTypedRefCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getOwnedExceptionsTypedRefCSParserRuleCall_8_2_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTypedRefCS_in_rule__OperationCS__OwnedExceptionsAssignment_8_2_149868);
+            pushFollow(FollowSets002.FOLLOW_ruleTypedRefCS_in_rule__OperationCS__OwnedExceptionsAssignment_8_2_154963);
             ruleTypedRefCS();
 
             state._fsp--;
@@ -71932,37 +77066,37 @@
     // $ANTLR end "rule__OperationCS__OwnedExceptionsAssignment_8_2_1"
 
 
-    // $ANTLR start "rule__OperationCS__QualifiersAssignment_9_1_0_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24491:1: rule__OperationCS__QualifiersAssignment_9_1_0_0 : ( ( 'derived' ) ) ;
-    public final void rule__OperationCS__QualifiersAssignment_9_1_0_0() throws RecognitionException {
+    // $ANTLR start "rule__OperationCS__IsDerivedAssignment_9_0_1_0_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26357:1: rule__OperationCS__IsDerivedAssignment_9_0_1_0_0 : ( ( 'derived' ) ) ;
+    public final void rule__OperationCS__IsDerivedAssignment_9_0_1_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24495:1: ( ( ( 'derived' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24496:1: ( ( 'derived' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26361:1: ( ( ( 'derived' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26362:1: ( ( 'derived' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24496:1: ( ( 'derived' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24497:1: ( 'derived' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26362:1: ( ( 'derived' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26363:1: ( 'derived' )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getOperationCSAccess().getQualifiersDerivedKeyword_9_1_0_0_0()); 
+               before(grammarAccess.getOperationCSAccess().getIsDerivedDerivedKeyword_9_0_1_0_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24498:1: ( 'derived' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24499:1: 'derived'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26364:1: ( 'derived' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26365:1: 'derived'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getOperationCSAccess().getQualifiersDerivedKeyword_9_1_0_0_0()); 
+               before(grammarAccess.getOperationCSAccess().getIsDerivedDerivedKeyword_9_0_1_0_0_0()); 
             }
-            match(input,26,FollowSets002.FOLLOW_26_in_rule__OperationCS__QualifiersAssignment_9_1_0_049904); if (state.failed) return ;
+            match(input,26,FollowSets002.FOLLOW_26_in_rule__OperationCS__IsDerivedAssignment_9_0_1_0_054999); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getOperationCSAccess().getQualifiersDerivedKeyword_9_1_0_0_0()); 
+               after(grammarAccess.getOperationCSAccess().getIsDerivedDerivedKeyword_9_0_1_0_0_0()); 
             }
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getOperationCSAccess().getQualifiersDerivedKeyword_9_1_0_0_0()); 
+               after(grammarAccess.getOperationCSAccess().getIsDerivedDerivedKeyword_9_0_1_0_0_0()); 
             }
 
             }
@@ -71982,40 +77116,40 @@
         }
         return ;
     }
-    // $ANTLR end "rule__OperationCS__QualifiersAssignment_9_1_0_0"
+    // $ANTLR end "rule__OperationCS__IsDerivedAssignment_9_0_1_0_0"
 
 
-    // $ANTLR start "rule__OperationCS__QualifiersAssignment_9_1_0_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24514:1: rule__OperationCS__QualifiersAssignment_9_1_0_1 : ( ( '!derived' ) ) ;
-    public final void rule__OperationCS__QualifiersAssignment_9_1_0_1() throws RecognitionException {
+    // $ANTLR start "rule__OperationCS__IsOrderedAssignment_9_1_0_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26380:1: rule__OperationCS__IsOrderedAssignment_9_1_0_0 : ( ( 'ordered' ) ) ;
+    public final void rule__OperationCS__IsOrderedAssignment_9_1_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24518:1: ( ( ( '!derived' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24519:1: ( ( '!derived' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26384:1: ( ( ( 'ordered' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26385:1: ( ( 'ordered' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24519:1: ( ( '!derived' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24520:1: ( '!derived' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26385:1: ( ( 'ordered' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26386:1: ( 'ordered' )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getOperationCSAccess().getQualifiersDerivedKeyword_9_1_0_1_0()); 
+               before(grammarAccess.getOperationCSAccess().getIsOrderedOrderedKeyword_9_1_0_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24521:1: ( '!derived' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24522:1: '!derived'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26387:1: ( 'ordered' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26388:1: 'ordered'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getOperationCSAccess().getQualifiersDerivedKeyword_9_1_0_1_0()); 
+               before(grammarAccess.getOperationCSAccess().getIsOrderedOrderedKeyword_9_1_0_0_0()); 
             }
-            match(input,120,FollowSets002.FOLLOW_120_in_rule__OperationCS__QualifiersAssignment_9_1_0_149948); if (state.failed) return ;
+            match(input,37,FollowSets002.FOLLOW_37_in_rule__OperationCS__IsOrderedAssignment_9_1_0_055043); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getOperationCSAccess().getQualifiersDerivedKeyword_9_1_0_1_0()); 
+               after(grammarAccess.getOperationCSAccess().getIsOrderedOrderedKeyword_9_1_0_0_0()); 
             }
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getOperationCSAccess().getQualifiersDerivedKeyword_9_1_0_1_0()); 
+               after(grammarAccess.getOperationCSAccess().getIsOrderedOrderedKeyword_9_1_0_0_0()); 
             }
 
             }
@@ -72035,40 +77169,40 @@
         }
         return ;
     }
-    // $ANTLR end "rule__OperationCS__QualifiersAssignment_9_1_0_1"
+    // $ANTLR end "rule__OperationCS__IsOrderedAssignment_9_1_0_0"
 
 
-    // $ANTLR start "rule__OperationCS__QualifiersAssignment_9_1_0_2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24537:1: rule__OperationCS__QualifiersAssignment_9_1_0_2 : ( ( 'ordered' ) ) ;
-    public final void rule__OperationCS__QualifiersAssignment_9_1_0_2() throws RecognitionException {
+    // $ANTLR start "rule__OperationCS__IsNotUniqueAssignment_9_2_0_0_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26403:1: rule__OperationCS__IsNotUniqueAssignment_9_2_0_0_0 : ( ( '!unique' ) ) ;
+    public final void rule__OperationCS__IsNotUniqueAssignment_9_2_0_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24541:1: ( ( ( 'ordered' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24542:1: ( ( 'ordered' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26407:1: ( ( ( '!unique' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26408:1: ( ( '!unique' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24542:1: ( ( 'ordered' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24543:1: ( 'ordered' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26408:1: ( ( '!unique' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26409:1: ( '!unique' )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getOperationCSAccess().getQualifiersOrderedKeyword_9_1_0_2_0()); 
+               before(grammarAccess.getOperationCSAccess().getIsNotUniqueUniqueKeyword_9_2_0_0_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24544:1: ( 'ordered' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24545:1: 'ordered'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26410:1: ( '!unique' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26411:1: '!unique'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getOperationCSAccess().getQualifiersOrderedKeyword_9_1_0_2_0()); 
+               before(grammarAccess.getOperationCSAccess().getIsNotUniqueUniqueKeyword_9_2_0_0_0_0()); 
             }
-            match(input,37,FollowSets002.FOLLOW_37_in_rule__OperationCS__QualifiersAssignment_9_1_0_249992); if (state.failed) return ;
+            match(input,129,FollowSets002.FOLLOW_129_in_rule__OperationCS__IsNotUniqueAssignment_9_2_0_0_055087); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getOperationCSAccess().getQualifiersOrderedKeyword_9_1_0_2_0()); 
+               after(grammarAccess.getOperationCSAccess().getIsNotUniqueUniqueKeyword_9_2_0_0_0_0()); 
             }
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getOperationCSAccess().getQualifiersOrderedKeyword_9_1_0_2_0()); 
+               after(grammarAccess.getOperationCSAccess().getIsNotUniqueUniqueKeyword_9_2_0_0_0_0()); 
             }
 
             }
@@ -72088,185 +77222,26 @@
         }
         return ;
     }
-    // $ANTLR end "rule__OperationCS__QualifiersAssignment_9_1_0_2"
-
-
-    // $ANTLR start "rule__OperationCS__QualifiersAssignment_9_1_0_3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24560:1: rule__OperationCS__QualifiersAssignment_9_1_0_3 : ( ( '!ordered' ) ) ;
-    public final void rule__OperationCS__QualifiersAssignment_9_1_0_3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24564:1: ( ( ( '!ordered' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24565:1: ( ( '!ordered' ) )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24565:1: ( ( '!ordered' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24566:1: ( '!ordered' )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getOperationCSAccess().getQualifiersOrderedKeyword_9_1_0_3_0()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24567:1: ( '!ordered' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24568:1: '!ordered'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getOperationCSAccess().getQualifiersOrderedKeyword_9_1_0_3_0()); 
-            }
-            match(input,122,FollowSets002.FOLLOW_122_in_rule__OperationCS__QualifiersAssignment_9_1_0_350036); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getOperationCSAccess().getQualifiersOrderedKeyword_9_1_0_3_0()); 
-            }
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getOperationCSAccess().getQualifiersOrderedKeyword_9_1_0_3_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__OperationCS__QualifiersAssignment_9_1_0_3"
-
-
-    // $ANTLR start "rule__OperationCS__QualifiersAssignment_9_1_0_4"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24583:1: rule__OperationCS__QualifiersAssignment_9_1_0_4 : ( ( 'unique' ) ) ;
-    public final void rule__OperationCS__QualifiersAssignment_9_1_0_4() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24587:1: ( ( ( 'unique' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24588:1: ( ( 'unique' ) )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24588:1: ( ( 'unique' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24589:1: ( 'unique' )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getOperationCSAccess().getQualifiersUniqueKeyword_9_1_0_4_0()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24590:1: ( 'unique' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24591:1: 'unique'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getOperationCSAccess().getQualifiersUniqueKeyword_9_1_0_4_0()); 
-            }
-            match(input,50,FollowSets002.FOLLOW_50_in_rule__OperationCS__QualifiersAssignment_9_1_0_450080); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getOperationCSAccess().getQualifiersUniqueKeyword_9_1_0_4_0()); 
-            }
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getOperationCSAccess().getQualifiersUniqueKeyword_9_1_0_4_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__OperationCS__QualifiersAssignment_9_1_0_4"
-
-
-    // $ANTLR start "rule__OperationCS__QualifiersAssignment_9_1_0_5"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24606:1: rule__OperationCS__QualifiersAssignment_9_1_0_5 : ( ( '!unique' ) ) ;
-    public final void rule__OperationCS__QualifiersAssignment_9_1_0_5() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24610:1: ( ( ( '!unique' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24611:1: ( ( '!unique' ) )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24611:1: ( ( '!unique' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24612:1: ( '!unique' )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getOperationCSAccess().getQualifiersUniqueKeyword_9_1_0_5_0()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24613:1: ( '!unique' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24614:1: '!unique'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getOperationCSAccess().getQualifiersUniqueKeyword_9_1_0_5_0()); 
-            }
-            match(input,125,FollowSets002.FOLLOW_125_in_rule__OperationCS__QualifiersAssignment_9_1_0_550124); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getOperationCSAccess().getQualifiersUniqueKeyword_9_1_0_5_0()); 
-            }
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getOperationCSAccess().getQualifiersUniqueKeyword_9_1_0_5_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__OperationCS__QualifiersAssignment_9_1_0_5"
+    // $ANTLR end "rule__OperationCS__IsNotUniqueAssignment_9_2_0_0_0"
 
 
     // $ANTLR start "rule__OperationCS__OwnedAnnotationsAssignment_10_0_1_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24629:1: rule__OperationCS__OwnedAnnotationsAssignment_10_0_1_0 : ( ruleAnnotationElementCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26426:1: rule__OperationCS__OwnedAnnotationsAssignment_10_0_1_0 : ( ruleAnnotationElementCS ) ;
     public final void rule__OperationCS__OwnedAnnotationsAssignment_10_0_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24633:1: ( ( ruleAnnotationElementCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24634:1: ( ruleAnnotationElementCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26430:1: ( ( ruleAnnotationElementCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26431:1: ( ruleAnnotationElementCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24634:1: ( ruleAnnotationElementCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24635:1: ruleAnnotationElementCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26431:1: ( ruleAnnotationElementCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26432:1: ruleAnnotationElementCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_10_0_1_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleAnnotationElementCS_in_rule__OperationCS__OwnedAnnotationsAssignment_10_0_1_050163);
+            pushFollow(FollowSets002.FOLLOW_ruleAnnotationElementCS_in_rule__OperationCS__OwnedAnnotationsAssignment_10_0_1_055126);
             ruleAnnotationElementCS();
 
             state._fsp--;
@@ -72296,22 +77271,22 @@
 
 
     // $ANTLR start "rule__OperationCS__OwnedPreconditionsAssignment_10_0_1_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24644:1: rule__OperationCS__OwnedPreconditionsAssignment_10_0_1_1 : ( rulePreconditionConstraintCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26441:1: rule__OperationCS__OwnedPreconditionsAssignment_10_0_1_1 : ( rulePreconditionConstraintCS ) ;
     public final void rule__OperationCS__OwnedPreconditionsAssignment_10_0_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24648:1: ( ( rulePreconditionConstraintCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24649:1: ( rulePreconditionConstraintCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26445:1: ( ( rulePreconditionConstraintCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26446:1: ( rulePreconditionConstraintCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24649:1: ( rulePreconditionConstraintCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24650:1: rulePreconditionConstraintCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26446:1: ( rulePreconditionConstraintCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26447:1: rulePreconditionConstraintCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getOwnedPreconditionsPreconditionConstraintCSParserRuleCall_10_0_1_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_rulePreconditionConstraintCS_in_rule__OperationCS__OwnedPreconditionsAssignment_10_0_1_150194);
+            pushFollow(FollowSets002.FOLLOW_rulePreconditionConstraintCS_in_rule__OperationCS__OwnedPreconditionsAssignment_10_0_1_155157);
             rulePreconditionConstraintCS();
 
             state._fsp--;
@@ -72341,22 +77316,22 @@
 
 
     // $ANTLR start "rule__OperationCS__OwnedBodyExpressionsAssignment_10_0_1_2_3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24659:1: rule__OperationCS__OwnedBodyExpressionsAssignment_10_0_1_2_3 : ( ruleSpecificationCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26456:1: rule__OperationCS__OwnedBodyExpressionsAssignment_10_0_1_2_3 : ( ruleSpecificationCS ) ;
     public final void rule__OperationCS__OwnedBodyExpressionsAssignment_10_0_1_2_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24663:1: ( ( ruleSpecificationCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24664:1: ( ruleSpecificationCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26460:1: ( ( ruleSpecificationCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26461:1: ( ruleSpecificationCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24664:1: ( ruleSpecificationCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24665:1: ruleSpecificationCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26461:1: ( ruleSpecificationCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26462:1: ruleSpecificationCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getOwnedBodyExpressionsSpecificationCSParserRuleCall_10_0_1_2_3_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleSpecificationCS_in_rule__OperationCS__OwnedBodyExpressionsAssignment_10_0_1_2_350225);
+            pushFollow(FollowSets002.FOLLOW_ruleSpecificationCS_in_rule__OperationCS__OwnedBodyExpressionsAssignment_10_0_1_2_355188);
             ruleSpecificationCS();
 
             state._fsp--;
@@ -72386,22 +77361,22 @@
 
 
     // $ANTLR start "rule__OperationCS__OwnedPostconditionsAssignment_10_0_1_3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24674:1: rule__OperationCS__OwnedPostconditionsAssignment_10_0_1_3 : ( rulePostconditionConstraintCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26471:1: rule__OperationCS__OwnedPostconditionsAssignment_10_0_1_3 : ( rulePostconditionConstraintCS ) ;
     public final void rule__OperationCS__OwnedPostconditionsAssignment_10_0_1_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24678:1: ( ( rulePostconditionConstraintCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24679:1: ( rulePostconditionConstraintCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26475:1: ( ( rulePostconditionConstraintCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26476:1: ( rulePostconditionConstraintCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24679:1: ( rulePostconditionConstraintCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24680:1: rulePostconditionConstraintCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26476:1: ( rulePostconditionConstraintCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26477:1: rulePostconditionConstraintCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getOperationCSAccess().getOwnedPostconditionsPostconditionConstraintCSParserRuleCall_10_0_1_3_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_rulePostconditionConstraintCS_in_rule__OperationCS__OwnedPostconditionsAssignment_10_0_1_350256);
+            pushFollow(FollowSets002.FOLLOW_rulePostconditionConstraintCS_in_rule__OperationCS__OwnedPostconditionsAssignment_10_0_1_355219);
             rulePostconditionConstraintCS();
 
             state._fsp--;
@@ -72431,22 +77406,22 @@
 
 
     // $ANTLR start "rule__PackageCS__NameAssignment_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24689:1: rule__PackageCS__NameAssignment_1 : ( ruleUnrestrictedName ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26486:1: rule__PackageCS__NameAssignment_1 : ( ruleUnrestrictedName ) ;
     public final void rule__PackageCS__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24693:1: ( ( ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24694:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26490:1: ( ( ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26491:1: ( ruleUnrestrictedName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24694:1: ( ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24695:1: ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26491:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26492:1: ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPackageCSAccess().getNameUnrestrictedNameParserRuleCall_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__PackageCS__NameAssignment_150287);
+            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__PackageCS__NameAssignment_155250);
             ruleUnrestrictedName();
 
             state._fsp--;
@@ -72476,22 +77451,22 @@
 
 
     // $ANTLR start "rule__PackageCS__NsPrefixAssignment_2_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24704:1: rule__PackageCS__NsPrefixAssignment_2_1 : ( ruleUnrestrictedName ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26501:1: rule__PackageCS__NsPrefixAssignment_2_1 : ( ruleUnrestrictedName ) ;
     public final void rule__PackageCS__NsPrefixAssignment_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24708:1: ( ( ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24709:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26505:1: ( ( ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26506:1: ( ruleUnrestrictedName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24709:1: ( ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24710:1: ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26506:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26507:1: ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPackageCSAccess().getNsPrefixUnrestrictedNameParserRuleCall_2_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__PackageCS__NsPrefixAssignment_2_150318);
+            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__PackageCS__NsPrefixAssignment_2_155281);
             ruleUnrestrictedName();
 
             state._fsp--;
@@ -72521,22 +77496,22 @@
 
 
     // $ANTLR start "rule__PackageCS__NsURIAssignment_3_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24719:1: rule__PackageCS__NsURIAssignment_3_1 : ( ruleURI ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26516:1: rule__PackageCS__NsURIAssignment_3_1 : ( ruleURI ) ;
     public final void rule__PackageCS__NsURIAssignment_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24723:1: ( ( ruleURI ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24724:1: ( ruleURI )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26520:1: ( ( ruleURI ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26521:1: ( ruleURI )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24724:1: ( ruleURI )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24725:1: ruleURI
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26521:1: ( ruleURI )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26522:1: ruleURI
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPackageCSAccess().getNsURIURIParserRuleCall_3_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleURI_in_rule__PackageCS__NsURIAssignment_3_150349);
+            pushFollow(FollowSets002.FOLLOW_ruleURI_in_rule__PackageCS__NsURIAssignment_3_155312);
             ruleURI();
 
             state._fsp--;
@@ -72566,22 +77541,22 @@
 
 
     // $ANTLR start "rule__PackageCS__OwnedAnnotationsAssignment_4_0_1_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24734:1: rule__PackageCS__OwnedAnnotationsAssignment_4_0_1_0 : ( ruleAnnotationElementCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26531:1: rule__PackageCS__OwnedAnnotationsAssignment_4_0_1_0 : ( ruleAnnotationElementCS ) ;
     public final void rule__PackageCS__OwnedAnnotationsAssignment_4_0_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24738:1: ( ( ruleAnnotationElementCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24739:1: ( ruleAnnotationElementCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26535:1: ( ( ruleAnnotationElementCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26536:1: ( ruleAnnotationElementCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24739:1: ( ruleAnnotationElementCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24740:1: ruleAnnotationElementCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26536:1: ( ruleAnnotationElementCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26537:1: ruleAnnotationElementCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPackageCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_4_0_1_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleAnnotationElementCS_in_rule__PackageCS__OwnedAnnotationsAssignment_4_0_1_050380);
+            pushFollow(FollowSets002.FOLLOW_ruleAnnotationElementCS_in_rule__PackageCS__OwnedAnnotationsAssignment_4_0_1_055343);
             ruleAnnotationElementCS();
 
             state._fsp--;
@@ -72611,22 +77586,22 @@
 
 
     // $ANTLR start "rule__PackageCS__OwnedPackagesAssignment_4_0_1_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24749:1: rule__PackageCS__OwnedPackagesAssignment_4_0_1_1 : ( rulePackageCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26546:1: rule__PackageCS__OwnedPackagesAssignment_4_0_1_1 : ( rulePackageCS ) ;
     public final void rule__PackageCS__OwnedPackagesAssignment_4_0_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24753:1: ( ( rulePackageCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24754:1: ( rulePackageCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26550:1: ( ( rulePackageCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26551:1: ( rulePackageCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24754:1: ( rulePackageCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24755:1: rulePackageCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26551:1: ( rulePackageCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26552:1: rulePackageCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPackageCSAccess().getOwnedPackagesPackageCSParserRuleCall_4_0_1_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_rulePackageCS_in_rule__PackageCS__OwnedPackagesAssignment_4_0_1_150411);
+            pushFollow(FollowSets002.FOLLOW_rulePackageCS_in_rule__PackageCS__OwnedPackagesAssignment_4_0_1_155374);
             rulePackageCS();
 
             state._fsp--;
@@ -72656,22 +77631,22 @@
 
 
     // $ANTLR start "rule__PackageCS__OwnedClassesAssignment_4_0_1_2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24764:1: rule__PackageCS__OwnedClassesAssignment_4_0_1_2 : ( ruleClassCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26561:1: rule__PackageCS__OwnedClassesAssignment_4_0_1_2 : ( ruleClassCS ) ;
     public final void rule__PackageCS__OwnedClassesAssignment_4_0_1_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24768:1: ( ( ruleClassCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24769:1: ( ruleClassCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26565:1: ( ( ruleClassCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26566:1: ( ruleClassCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24769:1: ( ruleClassCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24770:1: ruleClassCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26566:1: ( ruleClassCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26567:1: ruleClassCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPackageCSAccess().getOwnedClassesClassCSParserRuleCall_4_0_1_2_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleClassCS_in_rule__PackageCS__OwnedClassesAssignment_4_0_1_250442);
+            pushFollow(FollowSets002.FOLLOW_ruleClassCS_in_rule__PackageCS__OwnedClassesAssignment_4_0_1_255405);
             ruleClassCS();
 
             state._fsp--;
@@ -72701,22 +77676,22 @@
 
 
     // $ANTLR start "rule__ParameterCS__NameAssignment_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24779:1: rule__ParameterCS__NameAssignment_0 : ( ruleUnrestrictedName ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26576:1: rule__ParameterCS__NameAssignment_0 : ( ruleUnrestrictedName ) ;
     public final void rule__ParameterCS__NameAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24783:1: ( ( ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24784:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26580:1: ( ( ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26581:1: ( ruleUnrestrictedName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24784:1: ( ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24785:1: ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26581:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26582:1: ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getParameterCSAccess().getNameUnrestrictedNameParserRuleCall_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__ParameterCS__NameAssignment_050473);
+            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__ParameterCS__NameAssignment_055436);
             ruleUnrestrictedName();
 
             state._fsp--;
@@ -72746,22 +77721,22 @@
 
 
     // $ANTLR start "rule__ParameterCS__OwnedTypeAssignment_1_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24794:1: rule__ParameterCS__OwnedTypeAssignment_1_1 : ( ruleTypedMultiplicityRefCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26591:1: rule__ParameterCS__OwnedTypeAssignment_1_1 : ( ruleTypedMultiplicityRefCS ) ;
     public final void rule__ParameterCS__OwnedTypeAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24798:1: ( ( ruleTypedMultiplicityRefCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24799:1: ( ruleTypedMultiplicityRefCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26595:1: ( ( ruleTypedMultiplicityRefCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26596:1: ( ruleTypedMultiplicityRefCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24799:1: ( ruleTypedMultiplicityRefCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24800:1: ruleTypedMultiplicityRefCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26596:1: ( ruleTypedMultiplicityRefCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26597:1: ruleTypedMultiplicityRefCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getParameterCSAccess().getOwnedTypeTypedMultiplicityRefCSParserRuleCall_1_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTypedMultiplicityRefCS_in_rule__ParameterCS__OwnedTypeAssignment_1_150504);
+            pushFollow(FollowSets002.FOLLOW_ruleTypedMultiplicityRefCS_in_rule__ParameterCS__OwnedTypeAssignment_1_155467);
             ruleTypedMultiplicityRefCS();
 
             state._fsp--;
@@ -72790,37 +77765,37 @@
     // $ANTLR end "rule__ParameterCS__OwnedTypeAssignment_1_1"
 
 
-    // $ANTLR start "rule__ParameterCS__QualifiersAssignment_2_1_0_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24809:1: rule__ParameterCS__QualifiersAssignment_2_1_0_0 : ( ( 'ordered' ) ) ;
-    public final void rule__ParameterCS__QualifiersAssignment_2_1_0_0() throws RecognitionException {
+    // $ANTLR start "rule__ParameterCS__IsOrderedAssignment_2_0_1_0_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26606:1: rule__ParameterCS__IsOrderedAssignment_2_0_1_0_0 : ( ( 'ordered' ) ) ;
+    public final void rule__ParameterCS__IsOrderedAssignment_2_0_1_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24813:1: ( ( ( 'ordered' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24814:1: ( ( 'ordered' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26610:1: ( ( ( 'ordered' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26611:1: ( ( 'ordered' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24814:1: ( ( 'ordered' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24815:1: ( 'ordered' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26611:1: ( ( 'ordered' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26612:1: ( 'ordered' )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getParameterCSAccess().getQualifiersOrderedKeyword_2_1_0_0_0()); 
+               before(grammarAccess.getParameterCSAccess().getIsOrderedOrderedKeyword_2_0_1_0_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24816:1: ( 'ordered' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24817:1: 'ordered'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26613:1: ( 'ordered' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26614:1: 'ordered'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getParameterCSAccess().getQualifiersOrderedKeyword_2_1_0_0_0()); 
+               before(grammarAccess.getParameterCSAccess().getIsOrderedOrderedKeyword_2_0_1_0_0_0()); 
             }
-            match(input,37,FollowSets002.FOLLOW_37_in_rule__ParameterCS__QualifiersAssignment_2_1_0_050540); if (state.failed) return ;
+            match(input,37,FollowSets002.FOLLOW_37_in_rule__ParameterCS__IsOrderedAssignment_2_0_1_0_055503); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getParameterCSAccess().getQualifiersOrderedKeyword_2_1_0_0_0()); 
+               after(grammarAccess.getParameterCSAccess().getIsOrderedOrderedKeyword_2_0_1_0_0_0()); 
             }
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getParameterCSAccess().getQualifiersOrderedKeyword_2_1_0_0_0()); 
+               after(grammarAccess.getParameterCSAccess().getIsOrderedOrderedKeyword_2_0_1_0_0_0()); 
             }
 
             }
@@ -72840,40 +77815,40 @@
         }
         return ;
     }
-    // $ANTLR end "rule__ParameterCS__QualifiersAssignment_2_1_0_0"
+    // $ANTLR end "rule__ParameterCS__IsOrderedAssignment_2_0_1_0_0"
 
 
-    // $ANTLR start "rule__ParameterCS__QualifiersAssignment_2_1_0_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24832:1: rule__ParameterCS__QualifiersAssignment_2_1_0_1 : ( ( '!ordered' ) ) ;
-    public final void rule__ParameterCS__QualifiersAssignment_2_1_0_1() throws RecognitionException {
+    // $ANTLR start "rule__ParameterCS__IsNotUniqueAssignment_2_1_0_0_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26629:1: rule__ParameterCS__IsNotUniqueAssignment_2_1_0_0_0 : ( ( '!unique' ) ) ;
+    public final void rule__ParameterCS__IsNotUniqueAssignment_2_1_0_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24836:1: ( ( ( '!ordered' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24837:1: ( ( '!ordered' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26633:1: ( ( ( '!unique' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26634:1: ( ( '!unique' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24837:1: ( ( '!ordered' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24838:1: ( '!ordered' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26634:1: ( ( '!unique' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26635:1: ( '!unique' )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getParameterCSAccess().getQualifiersOrderedKeyword_2_1_0_1_0()); 
+               before(grammarAccess.getParameterCSAccess().getIsNotUniqueUniqueKeyword_2_1_0_0_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24839:1: ( '!ordered' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24840:1: '!ordered'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26636:1: ( '!unique' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26637:1: '!unique'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getParameterCSAccess().getQualifiersOrderedKeyword_2_1_0_1_0()); 
+               before(grammarAccess.getParameterCSAccess().getIsNotUniqueUniqueKeyword_2_1_0_0_0_0()); 
             }
-            match(input,122,FollowSets002.FOLLOW_122_in_rule__ParameterCS__QualifiersAssignment_2_1_0_150584); if (state.failed) return ;
+            match(input,129,FollowSets002.FOLLOW_129_in_rule__ParameterCS__IsNotUniqueAssignment_2_1_0_0_055547); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getParameterCSAccess().getQualifiersOrderedKeyword_2_1_0_1_0()); 
+               after(grammarAccess.getParameterCSAccess().getIsNotUniqueUniqueKeyword_2_1_0_0_0_0()); 
             }
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getParameterCSAccess().getQualifiersOrderedKeyword_2_1_0_1_0()); 
+               after(grammarAccess.getParameterCSAccess().getIsNotUniqueUniqueKeyword_2_1_0_0_0_0()); 
             }
 
             }
@@ -72893,132 +77868,26 @@
         }
         return ;
     }
-    // $ANTLR end "rule__ParameterCS__QualifiersAssignment_2_1_0_1"
-
-
-    // $ANTLR start "rule__ParameterCS__QualifiersAssignment_2_1_0_2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24855:1: rule__ParameterCS__QualifiersAssignment_2_1_0_2 : ( ( 'unique' ) ) ;
-    public final void rule__ParameterCS__QualifiersAssignment_2_1_0_2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24859:1: ( ( ( 'unique' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24860:1: ( ( 'unique' ) )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24860:1: ( ( 'unique' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24861:1: ( 'unique' )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getParameterCSAccess().getQualifiersUniqueKeyword_2_1_0_2_0()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24862:1: ( 'unique' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24863:1: 'unique'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getParameterCSAccess().getQualifiersUniqueKeyword_2_1_0_2_0()); 
-            }
-            match(input,50,FollowSets002.FOLLOW_50_in_rule__ParameterCS__QualifiersAssignment_2_1_0_250628); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getParameterCSAccess().getQualifiersUniqueKeyword_2_1_0_2_0()); 
-            }
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getParameterCSAccess().getQualifiersUniqueKeyword_2_1_0_2_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ParameterCS__QualifiersAssignment_2_1_0_2"
-
-
-    // $ANTLR start "rule__ParameterCS__QualifiersAssignment_2_1_0_3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24878:1: rule__ParameterCS__QualifiersAssignment_2_1_0_3 : ( ( '!unique' ) ) ;
-    public final void rule__ParameterCS__QualifiersAssignment_2_1_0_3() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24882:1: ( ( ( '!unique' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24883:1: ( ( '!unique' ) )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24883:1: ( ( '!unique' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24884:1: ( '!unique' )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getParameterCSAccess().getQualifiersUniqueKeyword_2_1_0_3_0()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24885:1: ( '!unique' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24886:1: '!unique'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getParameterCSAccess().getQualifiersUniqueKeyword_2_1_0_3_0()); 
-            }
-            match(input,125,FollowSets002.FOLLOW_125_in_rule__ParameterCS__QualifiersAssignment_2_1_0_350672); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getParameterCSAccess().getQualifiersUniqueKeyword_2_1_0_3_0()); 
-            }
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getParameterCSAccess().getQualifiersUniqueKeyword_2_1_0_3_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ParameterCS__QualifiersAssignment_2_1_0_3"
+    // $ANTLR end "rule__ParameterCS__IsNotUniqueAssignment_2_1_0_0_0"
 
 
     // $ANTLR start "rule__ParameterCS__OwnedAnnotationsAssignment_3_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24901:1: rule__ParameterCS__OwnedAnnotationsAssignment_3_1 : ( ruleAnnotationElementCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26652:1: rule__ParameterCS__OwnedAnnotationsAssignment_3_1 : ( ruleAnnotationElementCS ) ;
     public final void rule__ParameterCS__OwnedAnnotationsAssignment_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24905:1: ( ( ruleAnnotationElementCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24906:1: ( ruleAnnotationElementCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26656:1: ( ( ruleAnnotationElementCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26657:1: ( ruleAnnotationElementCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24906:1: ( ruleAnnotationElementCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24907:1: ruleAnnotationElementCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26657:1: ( ruleAnnotationElementCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26658:1: ruleAnnotationElementCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getParameterCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_3_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleAnnotationElementCS_in_rule__ParameterCS__OwnedAnnotationsAssignment_3_150711);
+            pushFollow(FollowSets002.FOLLOW_ruleAnnotationElementCS_in_rule__ParameterCS__OwnedAnnotationsAssignment_3_155586);
             ruleAnnotationElementCS();
 
             state._fsp--;
@@ -73047,37 +77916,37 @@
     // $ANTLR end "rule__ParameterCS__OwnedAnnotationsAssignment_3_1"
 
 
-    // $ANTLR start "rule__ReferenceCS__QualifiersAssignment_0_0_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24916:1: rule__ReferenceCS__QualifiersAssignment_0_0_0 : ( ( 'static' ) ) ;
-    public final void rule__ReferenceCS__QualifiersAssignment_0_0_0() throws RecognitionException {
+    // $ANTLR start "rule__ReferenceCS__IsStaticAssignment_0_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26667:1: rule__ReferenceCS__IsStaticAssignment_0_0 : ( ( 'static' ) ) ;
+    public final void rule__ReferenceCS__IsStaticAssignment_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24920:1: ( ( ( 'static' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24921:1: ( ( 'static' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26671:1: ( ( ( 'static' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26672:1: ( ( 'static' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24921:1: ( ( 'static' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24922:1: ( 'static' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26672:1: ( ( 'static' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26673:1: ( 'static' )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersStaticKeyword_0_0_0_0()); 
+               before(grammarAccess.getReferenceCSAccess().getIsStaticStaticKeyword_0_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24923:1: ( 'static' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24924:1: 'static'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26674:1: ( 'static' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26675:1: 'static'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersStaticKeyword_0_0_0_0()); 
+               before(grammarAccess.getReferenceCSAccess().getIsStaticStaticKeyword_0_0_0()); 
             }
-            match(input,46,FollowSets002.FOLLOW_46_in_rule__ReferenceCS__QualifiersAssignment_0_0_050747); if (state.failed) return ;
+            match(input,46,FollowSets002.FOLLOW_46_in_rule__ReferenceCS__IsStaticAssignment_0_055622); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersStaticKeyword_0_0_0_0()); 
+               after(grammarAccess.getReferenceCSAccess().getIsStaticStaticKeyword_0_0_0()); 
             }
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersStaticKeyword_0_0_0_0()); 
+               after(grammarAccess.getReferenceCSAccess().getIsStaticStaticKeyword_0_0_0()); 
             }
 
             }
@@ -73097,40 +77966,40 @@
         }
         return ;
     }
-    // $ANTLR end "rule__ReferenceCS__QualifiersAssignment_0_0_0"
+    // $ANTLR end "rule__ReferenceCS__IsStaticAssignment_0_0"
 
 
-    // $ANTLR start "rule__ReferenceCS__QualifiersAssignment_0_0_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24939:1: rule__ReferenceCS__QualifiersAssignment_0_0_1 : ( ( 'definition' ) ) ;
-    public final void rule__ReferenceCS__QualifiersAssignment_0_0_1() throws RecognitionException {
+    // $ANTLR start "rule__ReferenceCS__IsDefinitionAssignment_0_1"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26690:1: rule__ReferenceCS__IsDefinitionAssignment_0_1 : ( ( 'definition' ) ) ;
+    public final void rule__ReferenceCS__IsDefinitionAssignment_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24943:1: ( ( ( 'definition' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24944:1: ( ( 'definition' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26694:1: ( ( ( 'definition' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26695:1: ( ( 'definition' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24944:1: ( ( 'definition' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24945:1: ( 'definition' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26695:1: ( ( 'definition' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26696:1: ( 'definition' )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersDefinitionKeyword_0_0_1_0()); 
+               before(grammarAccess.getReferenceCSAccess().getIsDefinitionDefinitionKeyword_0_1_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24946:1: ( 'definition' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24947:1: 'definition'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26697:1: ( 'definition' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26698:1: 'definition'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersDefinitionKeyword_0_0_1_0()); 
+               before(grammarAccess.getReferenceCSAccess().getIsDefinitionDefinitionKeyword_0_1_0()); 
             }
-            match(input,24,FollowSets002.FOLLOW_24_in_rule__ReferenceCS__QualifiersAssignment_0_0_150791); if (state.failed) return ;
+            match(input,24,FollowSets002.FOLLOW_24_in_rule__ReferenceCS__IsDefinitionAssignment_0_155666); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersDefinitionKeyword_0_0_1_0()); 
+               after(grammarAccess.getReferenceCSAccess().getIsDefinitionDefinitionKeyword_0_1_0()); 
             }
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersDefinitionKeyword_0_0_1_0()); 
+               after(grammarAccess.getReferenceCSAccess().getIsDefinitionDefinitionKeyword_0_1_0()); 
             }
 
             }
@@ -73150,132 +78019,26 @@
         }
         return ;
     }
-    // $ANTLR end "rule__ReferenceCS__QualifiersAssignment_0_0_1"
-
-
-    // $ANTLR start "rule__ReferenceCS__QualifiersAssignment_0_1_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24962:1: rule__ReferenceCS__QualifiersAssignment_0_1_0 : ( ( 'definition' ) ) ;
-    public final void rule__ReferenceCS__QualifiersAssignment_0_1_0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24966:1: ( ( ( 'definition' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24967:1: ( ( 'definition' ) )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24967:1: ( ( 'definition' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24968:1: ( 'definition' )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersDefinitionKeyword_0_1_0_0()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24969:1: ( 'definition' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24970:1: 'definition'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersDefinitionKeyword_0_1_0_0()); 
-            }
-            match(input,24,FollowSets002.FOLLOW_24_in_rule__ReferenceCS__QualifiersAssignment_0_1_050835); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersDefinitionKeyword_0_1_0_0()); 
-            }
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersDefinitionKeyword_0_1_0_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ReferenceCS__QualifiersAssignment_0_1_0"
-
-
-    // $ANTLR start "rule__ReferenceCS__QualifiersAssignment_0_1_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24985:1: rule__ReferenceCS__QualifiersAssignment_0_1_1 : ( ( 'static' ) ) ;
-    public final void rule__ReferenceCS__QualifiersAssignment_0_1_1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24989:1: ( ( ( 'static' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24990:1: ( ( 'static' ) )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24990:1: ( ( 'static' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24991:1: ( 'static' )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersStaticKeyword_0_1_1_0()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24992:1: ( 'static' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24993:1: 'static'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersStaticKeyword_0_1_1_0()); 
-            }
-            match(input,46,FollowSets002.FOLLOW_46_in_rule__ReferenceCS__QualifiersAssignment_0_1_150879); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersStaticKeyword_0_1_1_0()); 
-            }
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersStaticKeyword_0_1_1_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ReferenceCS__QualifiersAssignment_0_1_1"
+    // $ANTLR end "rule__ReferenceCS__IsDefinitionAssignment_0_1"
 
 
     // $ANTLR start "rule__ReferenceCS__NameAssignment_2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25008:1: rule__ReferenceCS__NameAssignment_2 : ( ruleUnrestrictedName ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26713:1: rule__ReferenceCS__NameAssignment_2 : ( ruleUnrestrictedName ) ;
     public final void rule__ReferenceCS__NameAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25012:1: ( ( ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25013:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26717:1: ( ( ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26718:1: ( ruleUnrestrictedName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25013:1: ( ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25014:1: ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26718:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26719:1: ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getNameUnrestrictedNameParserRuleCall_2_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__ReferenceCS__NameAssignment_250918);
+            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__ReferenceCS__NameAssignment_255705);
             ruleUnrestrictedName();
 
             state._fsp--;
@@ -73305,28 +78068,28 @@
 
 
     // $ANTLR start "rule__ReferenceCS__ReferredOppositeAssignment_3_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25023:1: rule__ReferenceCS__ReferredOppositeAssignment_3_1 : ( ( ruleUnrestrictedName ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26728:1: rule__ReferenceCS__ReferredOppositeAssignment_3_1 : ( ( ruleUnrestrictedName ) ) ;
     public final void rule__ReferenceCS__ReferredOppositeAssignment_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25027:1: ( ( ( ruleUnrestrictedName ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25028:1: ( ( ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26732:1: ( ( ( ruleUnrestrictedName ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26733:1: ( ( ruleUnrestrictedName ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25028:1: ( ( ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25029:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26733:1: ( ( ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26734:1: ( ruleUnrestrictedName )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getReferredOppositePropertyCrossReference_3_1_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25030:1: ( ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25031:1: ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26735:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26736:1: ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getReferredOppositePropertyUnrestrictedNameParserRuleCall_3_1_0_1()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__ReferenceCS__ReferredOppositeAssignment_3_150953);
+            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__ReferenceCS__ReferredOppositeAssignment_3_155740);
             ruleUnrestrictedName();
 
             state._fsp--;
@@ -73362,22 +78125,22 @@
 
 
     // $ANTLR start "rule__ReferenceCS__OwnedTypeAssignment_4_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25042:1: rule__ReferenceCS__OwnedTypeAssignment_4_1 : ( ruleTypedMultiplicityRefCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26747:1: rule__ReferenceCS__OwnedTypeAssignment_4_1 : ( ruleTypedMultiplicityRefCS ) ;
     public final void rule__ReferenceCS__OwnedTypeAssignment_4_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25046:1: ( ( ruleTypedMultiplicityRefCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25047:1: ( ruleTypedMultiplicityRefCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26751:1: ( ( ruleTypedMultiplicityRefCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26752:1: ( ruleTypedMultiplicityRefCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25047:1: ( ruleTypedMultiplicityRefCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25048:1: ruleTypedMultiplicityRefCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26752:1: ( ruleTypedMultiplicityRefCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26753:1: ruleTypedMultiplicityRefCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getOwnedTypeTypedMultiplicityRefCSParserRuleCall_4_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTypedMultiplicityRefCS_in_rule__ReferenceCS__OwnedTypeAssignment_4_150988);
+            pushFollow(FollowSets002.FOLLOW_ruleTypedMultiplicityRefCS_in_rule__ReferenceCS__OwnedTypeAssignment_4_155775);
             ruleTypedMultiplicityRefCS();
 
             state._fsp--;
@@ -73407,22 +78170,22 @@
 
 
     // $ANTLR start "rule__ReferenceCS__DefaultAssignment_5_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25057:1: rule__ReferenceCS__DefaultAssignment_5_1 : ( RULE_SINGLE_QUOTED_STRING ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26762:1: rule__ReferenceCS__DefaultAssignment_5_1 : ( RULE_SINGLE_QUOTED_STRING ) ;
     public final void rule__ReferenceCS__DefaultAssignment_5_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25061:1: ( ( RULE_SINGLE_QUOTED_STRING ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25062:1: ( RULE_SINGLE_QUOTED_STRING )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26766:1: ( ( RULE_SINGLE_QUOTED_STRING ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26767:1: ( RULE_SINGLE_QUOTED_STRING )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25062:1: ( RULE_SINGLE_QUOTED_STRING )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25063:1: RULE_SINGLE_QUOTED_STRING
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26767:1: ( RULE_SINGLE_QUOTED_STRING )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26768:1: RULE_SINGLE_QUOTED_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getDefaultSINGLE_QUOTED_STRINGTerminalRuleCall_5_1_0()); 
             }
-            match(input,RULE_SINGLE_QUOTED_STRING,FollowSets002.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_rule__ReferenceCS__DefaultAssignment_5_151019); if (state.failed) return ;
+            match(input,RULE_SINGLE_QUOTED_STRING,FollowSets002.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_rule__ReferenceCS__DefaultAssignment_5_155806); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getReferenceCSAccess().getDefaultSINGLE_QUOTED_STRINGTerminalRuleCall_5_1_0()); 
             }
@@ -73447,37 +78210,37 @@
     // $ANTLR end "rule__ReferenceCS__DefaultAssignment_5_1"
 
 
-    // $ANTLR start "rule__ReferenceCS__QualifiersAssignment_6_1_0_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25072:1: rule__ReferenceCS__QualifiersAssignment_6_1_0_0 : ( ( 'composes' ) ) ;
-    public final void rule__ReferenceCS__QualifiersAssignment_6_1_0_0() throws RecognitionException {
+    // $ANTLR start "rule__ReferenceCS__IsComposesAssignment_6_0_1_0_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26777:1: rule__ReferenceCS__IsComposesAssignment_6_0_1_0_0 : ( ( 'composes' ) ) ;
+    public final void rule__ReferenceCS__IsComposesAssignment_6_0_1_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25076:1: ( ( ( 'composes' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25077:1: ( ( 'composes' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26781:1: ( ( ( 'composes' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26782:1: ( ( 'composes' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25077:1: ( ( 'composes' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25078:1: ( 'composes' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26782:1: ( ( 'composes' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26783:1: ( 'composes' )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersComposesKeyword_6_1_0_0_0()); 
+               before(grammarAccess.getReferenceCSAccess().getIsComposesComposesKeyword_6_0_1_0_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25079:1: ( 'composes' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25080:1: 'composes'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26784:1: ( 'composes' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26785:1: 'composes'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersComposesKeyword_6_1_0_0_0()); 
+               before(grammarAccess.getReferenceCSAccess().getIsComposesComposesKeyword_6_0_1_0_0_0()); 
             }
-            match(input,22,FollowSets002.FOLLOW_22_in_rule__ReferenceCS__QualifiersAssignment_6_1_0_051055); if (state.failed) return ;
+            match(input,22,FollowSets002.FOLLOW_22_in_rule__ReferenceCS__IsComposesAssignment_6_0_1_0_055842); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersComposesKeyword_6_1_0_0_0()); 
+               after(grammarAccess.getReferenceCSAccess().getIsComposesComposesKeyword_6_0_1_0_0_0()); 
             }
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersComposesKeyword_6_1_0_0_0()); 
+               after(grammarAccess.getReferenceCSAccess().getIsComposesComposesKeyword_6_0_1_0_0_0()); 
             }
 
             }
@@ -73497,40 +78260,40 @@
         }
         return ;
     }
-    // $ANTLR end "rule__ReferenceCS__QualifiersAssignment_6_1_0_0"
+    // $ANTLR end "rule__ReferenceCS__IsComposesAssignment_6_0_1_0_0"
 
 
-    // $ANTLR start "rule__ReferenceCS__QualifiersAssignment_6_1_0_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25095:1: rule__ReferenceCS__QualifiersAssignment_6_1_0_1 : ( ( '!composes' ) ) ;
-    public final void rule__ReferenceCS__QualifiersAssignment_6_1_0_1() throws RecognitionException {
+    // $ANTLR start "rule__ReferenceCS__IsDerivedAssignment_6_1_0_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26800:1: rule__ReferenceCS__IsDerivedAssignment_6_1_0_0 : ( ( 'derived' ) ) ;
+    public final void rule__ReferenceCS__IsDerivedAssignment_6_1_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25099:1: ( ( ( '!composes' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25100:1: ( ( '!composes' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26804:1: ( ( ( 'derived' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26805:1: ( ( 'derived' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25100:1: ( ( '!composes' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25101:1: ( '!composes' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26805:1: ( ( 'derived' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26806:1: ( 'derived' )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersComposesKeyword_6_1_0_1_0()); 
+               before(grammarAccess.getReferenceCSAccess().getIsDerivedDerivedKeyword_6_1_0_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25102:1: ( '!composes' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25103:1: '!composes'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26807:1: ( 'derived' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26808:1: 'derived'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersComposesKeyword_6_1_0_1_0()); 
+               before(grammarAccess.getReferenceCSAccess().getIsDerivedDerivedKeyword_6_1_0_0_0()); 
             }
-            match(input,129,FollowSets002.FOLLOW_129_in_rule__ReferenceCS__QualifiersAssignment_6_1_0_151099); if (state.failed) return ;
+            match(input,26,FollowSets002.FOLLOW_26_in_rule__ReferenceCS__IsDerivedAssignment_6_1_0_055886); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersComposesKeyword_6_1_0_1_0()); 
+               after(grammarAccess.getReferenceCSAccess().getIsDerivedDerivedKeyword_6_1_0_0_0()); 
             }
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersComposesKeyword_6_1_0_1_0()); 
+               after(grammarAccess.getReferenceCSAccess().getIsDerivedDerivedKeyword_6_1_0_0_0()); 
             }
 
             }
@@ -73550,40 +78313,40 @@
         }
         return ;
     }
-    // $ANTLR end "rule__ReferenceCS__QualifiersAssignment_6_1_0_1"
+    // $ANTLR end "rule__ReferenceCS__IsDerivedAssignment_6_1_0_0"
 
 
-    // $ANTLR start "rule__ReferenceCS__QualifiersAssignment_6_1_0_2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25118:1: rule__ReferenceCS__QualifiersAssignment_6_1_0_2 : ( ( 'derived' ) ) ;
-    public final void rule__ReferenceCS__QualifiersAssignment_6_1_0_2() throws RecognitionException {
+    // $ANTLR start "rule__ReferenceCS__IsOrderedAssignment_6_2_0_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26823:1: rule__ReferenceCS__IsOrderedAssignment_6_2_0_0 : ( ( 'ordered' ) ) ;
+    public final void rule__ReferenceCS__IsOrderedAssignment_6_2_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25122:1: ( ( ( 'derived' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25123:1: ( ( 'derived' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26827:1: ( ( ( 'ordered' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26828:1: ( ( 'ordered' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25123:1: ( ( 'derived' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25124:1: ( 'derived' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26828:1: ( ( 'ordered' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26829:1: ( 'ordered' )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersDerivedKeyword_6_1_0_2_0()); 
+               before(grammarAccess.getReferenceCSAccess().getIsOrderedOrderedKeyword_6_2_0_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25125:1: ( 'derived' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25126:1: 'derived'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26830:1: ( 'ordered' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26831:1: 'ordered'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersDerivedKeyword_6_1_0_2_0()); 
+               before(grammarAccess.getReferenceCSAccess().getIsOrderedOrderedKeyword_6_2_0_0_0()); 
             }
-            match(input,26,FollowSets002.FOLLOW_26_in_rule__ReferenceCS__QualifiersAssignment_6_1_0_251143); if (state.failed) return ;
+            match(input,37,FollowSets002.FOLLOW_37_in_rule__ReferenceCS__IsOrderedAssignment_6_2_0_055930); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersDerivedKeyword_6_1_0_2_0()); 
+               after(grammarAccess.getReferenceCSAccess().getIsOrderedOrderedKeyword_6_2_0_0_0()); 
             }
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersDerivedKeyword_6_1_0_2_0()); 
+               after(grammarAccess.getReferenceCSAccess().getIsOrderedOrderedKeyword_6_2_0_0_0()); 
             }
 
             }
@@ -73603,40 +78366,40 @@
         }
         return ;
     }
-    // $ANTLR end "rule__ReferenceCS__QualifiersAssignment_6_1_0_2"
+    // $ANTLR end "rule__ReferenceCS__IsOrderedAssignment_6_2_0_0"
 
 
-    // $ANTLR start "rule__ReferenceCS__QualifiersAssignment_6_1_0_3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25141:1: rule__ReferenceCS__QualifiersAssignment_6_1_0_3 : ( ( '!derived' ) ) ;
-    public final void rule__ReferenceCS__QualifiersAssignment_6_1_0_3() throws RecognitionException {
+    // $ANTLR start "rule__ReferenceCS__IsReadonlyAssignment_6_3_0_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26846:1: rule__ReferenceCS__IsReadonlyAssignment_6_3_0_0 : ( ( 'readonly' ) ) ;
+    public final void rule__ReferenceCS__IsReadonlyAssignment_6_3_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25145:1: ( ( ( '!derived' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25146:1: ( ( '!derived' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26850:1: ( ( ( 'readonly' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26851:1: ( ( 'readonly' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25146:1: ( ( '!derived' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25147:1: ( '!derived' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26851:1: ( ( 'readonly' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26852:1: ( 'readonly' )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersDerivedKeyword_6_1_0_3_0()); 
+               before(grammarAccess.getReferenceCSAccess().getIsReadonlyReadonlyKeyword_6_3_0_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25148:1: ( '!derived' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25149:1: '!derived'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26853:1: ( 'readonly' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26854:1: 'readonly'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersDerivedKeyword_6_1_0_3_0()); 
+               before(grammarAccess.getReferenceCSAccess().getIsReadonlyReadonlyKeyword_6_3_0_0_0()); 
             }
-            match(input,120,FollowSets002.FOLLOW_120_in_rule__ReferenceCS__QualifiersAssignment_6_1_0_351187); if (state.failed) return ;
+            match(input,43,FollowSets002.FOLLOW_43_in_rule__ReferenceCS__IsReadonlyAssignment_6_3_0_055974); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersDerivedKeyword_6_1_0_3_0()); 
+               after(grammarAccess.getReferenceCSAccess().getIsReadonlyReadonlyKeyword_6_3_0_0_0()); 
             }
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersDerivedKeyword_6_1_0_3_0()); 
+               after(grammarAccess.getReferenceCSAccess().getIsReadonlyReadonlyKeyword_6_3_0_0_0()); 
             }
 
             }
@@ -73656,40 +78419,40 @@
         }
         return ;
     }
-    // $ANTLR end "rule__ReferenceCS__QualifiersAssignment_6_1_0_3"
+    // $ANTLR end "rule__ReferenceCS__IsReadonlyAssignment_6_3_0_0"
 
 
-    // $ANTLR start "rule__ReferenceCS__QualifiersAssignment_6_1_0_4"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25164:1: rule__ReferenceCS__QualifiersAssignment_6_1_0_4 : ( ( 'ordered' ) ) ;
-    public final void rule__ReferenceCS__QualifiersAssignment_6_1_0_4() throws RecognitionException {
+    // $ANTLR start "rule__ReferenceCS__IsResolveAssignment_6_4_0_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26869:1: rule__ReferenceCS__IsResolveAssignment_6_4_0_0 : ( ( 'resolve' ) ) ;
+    public final void rule__ReferenceCS__IsResolveAssignment_6_4_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25168:1: ( ( ( 'ordered' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25169:1: ( ( 'ordered' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26873:1: ( ( ( 'resolve' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26874:1: ( ( 'resolve' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25169:1: ( ( 'ordered' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25170:1: ( 'ordered' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26874:1: ( ( 'resolve' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26875:1: ( 'resolve' )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersOrderedKeyword_6_1_0_4_0()); 
+               before(grammarAccess.getReferenceCSAccess().getIsResolveResolveKeyword_6_4_0_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25171:1: ( 'ordered' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25172:1: 'ordered'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26876:1: ( 'resolve' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26877:1: 'resolve'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersOrderedKeyword_6_1_0_4_0()); 
+               before(grammarAccess.getReferenceCSAccess().getIsResolveResolveKeyword_6_4_0_0_0()); 
             }
-            match(input,37,FollowSets002.FOLLOW_37_in_rule__ReferenceCS__QualifiersAssignment_6_1_0_451231); if (state.failed) return ;
+            match(input,45,FollowSets002.FOLLOW_45_in_rule__ReferenceCS__IsResolveAssignment_6_4_0_056018); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersOrderedKeyword_6_1_0_4_0()); 
+               after(grammarAccess.getReferenceCSAccess().getIsResolveResolveKeyword_6_4_0_0_0()); 
             }
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersOrderedKeyword_6_1_0_4_0()); 
+               after(grammarAccess.getReferenceCSAccess().getIsResolveResolveKeyword_6_4_0_0_0()); 
             }
 
             }
@@ -73709,40 +78472,40 @@
         }
         return ;
     }
-    // $ANTLR end "rule__ReferenceCS__QualifiersAssignment_6_1_0_4"
+    // $ANTLR end "rule__ReferenceCS__IsResolveAssignment_6_4_0_0"
 
 
-    // $ANTLR start "rule__ReferenceCS__QualifiersAssignment_6_1_0_5"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25187:1: rule__ReferenceCS__QualifiersAssignment_6_1_0_5 : ( ( '!ordered' ) ) ;
-    public final void rule__ReferenceCS__QualifiersAssignment_6_1_0_5() throws RecognitionException {
+    // $ANTLR start "rule__ReferenceCS__IsTransientAssignment_6_5_0_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26892:1: rule__ReferenceCS__IsTransientAssignment_6_5_0_0 : ( ( 'transient' ) ) ;
+    public final void rule__ReferenceCS__IsTransientAssignment_6_5_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25191:1: ( ( ( '!ordered' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25192:1: ( ( '!ordered' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26896:1: ( ( ( 'transient' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26897:1: ( ( 'transient' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25192:1: ( ( '!ordered' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25193:1: ( '!ordered' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26897:1: ( ( 'transient' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26898:1: ( 'transient' )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersOrderedKeyword_6_1_0_5_0()); 
+               before(grammarAccess.getReferenceCSAccess().getIsTransientTransientKeyword_6_5_0_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25194:1: ( '!ordered' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25195:1: '!ordered'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26899:1: ( 'transient' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26900:1: 'transient'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersOrderedKeyword_6_1_0_5_0()); 
+               before(grammarAccess.getReferenceCSAccess().getIsTransientTransientKeyword_6_5_0_0_0()); 
             }
-            match(input,122,FollowSets002.FOLLOW_122_in_rule__ReferenceCS__QualifiersAssignment_6_1_0_551275); if (state.failed) return ;
+            match(input,49,FollowSets002.FOLLOW_49_in_rule__ReferenceCS__IsTransientAssignment_6_5_0_056062); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersOrderedKeyword_6_1_0_5_0()); 
+               after(grammarAccess.getReferenceCSAccess().getIsTransientTransientKeyword_6_5_0_0_0()); 
             }
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersOrderedKeyword_6_1_0_5_0()); 
+               after(grammarAccess.getReferenceCSAccess().getIsTransientTransientKeyword_6_5_0_0_0()); 
             }
 
             }
@@ -73762,40 +78525,40 @@
         }
         return ;
     }
-    // $ANTLR end "rule__ReferenceCS__QualifiersAssignment_6_1_0_5"
+    // $ANTLR end "rule__ReferenceCS__IsTransientAssignment_6_5_0_0"
 
 
-    // $ANTLR start "rule__ReferenceCS__QualifiersAssignment_6_1_0_6"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25210:1: rule__ReferenceCS__QualifiersAssignment_6_1_0_6 : ( ( 'readonly' ) ) ;
-    public final void rule__ReferenceCS__QualifiersAssignment_6_1_0_6() throws RecognitionException {
+    // $ANTLR start "rule__ReferenceCS__IsNotUniqueAssignment_6_6_0_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26915:1: rule__ReferenceCS__IsNotUniqueAssignment_6_6_0_0 : ( ( '!unique' ) ) ;
+    public final void rule__ReferenceCS__IsNotUniqueAssignment_6_6_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25214:1: ( ( ( 'readonly' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25215:1: ( ( 'readonly' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26919:1: ( ( ( '!unique' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26920:1: ( ( '!unique' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25215:1: ( ( 'readonly' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25216:1: ( 'readonly' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26920:1: ( ( '!unique' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26921:1: ( '!unique' )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersReadonlyKeyword_6_1_0_6_0()); 
+               before(grammarAccess.getReferenceCSAccess().getIsNotUniqueUniqueKeyword_6_6_0_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25217:1: ( 'readonly' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25218:1: 'readonly'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26922:1: ( '!unique' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26923:1: '!unique'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersReadonlyKeyword_6_1_0_6_0()); 
+               before(grammarAccess.getReferenceCSAccess().getIsNotUniqueUniqueKeyword_6_6_0_0_0()); 
             }
-            match(input,43,FollowSets002.FOLLOW_43_in_rule__ReferenceCS__QualifiersAssignment_6_1_0_651319); if (state.failed) return ;
+            match(input,129,FollowSets002.FOLLOW_129_in_rule__ReferenceCS__IsNotUniqueAssignment_6_6_0_056106); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersReadonlyKeyword_6_1_0_6_0()); 
+               after(grammarAccess.getReferenceCSAccess().getIsNotUniqueUniqueKeyword_6_6_0_0_0()); 
             }
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersReadonlyKeyword_6_1_0_6_0()); 
+               after(grammarAccess.getReferenceCSAccess().getIsNotUniqueUniqueKeyword_6_6_0_0_0()); 
             }
 
             }
@@ -73815,40 +78578,40 @@
         }
         return ;
     }
-    // $ANTLR end "rule__ReferenceCS__QualifiersAssignment_6_1_0_6"
+    // $ANTLR end "rule__ReferenceCS__IsNotUniqueAssignment_6_6_0_0"
 
 
-    // $ANTLR start "rule__ReferenceCS__QualifiersAssignment_6_1_0_7"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25233:1: rule__ReferenceCS__QualifiersAssignment_6_1_0_7 : ( ( '!readonly' ) ) ;
-    public final void rule__ReferenceCS__QualifiersAssignment_6_1_0_7() throws RecognitionException {
+    // $ANTLR start "rule__ReferenceCS__IsUnsettableAssignment_6_7_0_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26938:1: rule__ReferenceCS__IsUnsettableAssignment_6_7_0_0 : ( ( 'unsettable' ) ) ;
+    public final void rule__ReferenceCS__IsUnsettableAssignment_6_7_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25237:1: ( ( ( '!readonly' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25238:1: ( ( '!readonly' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26942:1: ( ( ( 'unsettable' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26943:1: ( ( 'unsettable' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25238:1: ( ( '!readonly' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25239:1: ( '!readonly' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26943:1: ( ( 'unsettable' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26944:1: ( 'unsettable' )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersReadonlyKeyword_6_1_0_7_0()); 
+               before(grammarAccess.getReferenceCSAccess().getIsUnsettableUnsettableKeyword_6_7_0_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25240:1: ( '!readonly' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25241:1: '!readonly'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26945:1: ( 'unsettable' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26946:1: 'unsettable'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersReadonlyKeyword_6_1_0_7_0()); 
+               before(grammarAccess.getReferenceCSAccess().getIsUnsettableUnsettableKeyword_6_7_0_0_0()); 
             }
-            match(input,123,FollowSets002.FOLLOW_123_in_rule__ReferenceCS__QualifiersAssignment_6_1_0_751363); if (state.failed) return ;
+            match(input,51,FollowSets002.FOLLOW_51_in_rule__ReferenceCS__IsUnsettableAssignment_6_7_0_056150); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersReadonlyKeyword_6_1_0_7_0()); 
+               after(grammarAccess.getReferenceCSAccess().getIsUnsettableUnsettableKeyword_6_7_0_0_0()); 
             }
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersReadonlyKeyword_6_1_0_7_0()); 
+               after(grammarAccess.getReferenceCSAccess().getIsUnsettableUnsettableKeyword_6_7_0_0_0()); 
             }
 
             }
@@ -73868,40 +78631,40 @@
         }
         return ;
     }
-    // $ANTLR end "rule__ReferenceCS__QualifiersAssignment_6_1_0_7"
+    // $ANTLR end "rule__ReferenceCS__IsUnsettableAssignment_6_7_0_0"
 
 
-    // $ANTLR start "rule__ReferenceCS__QualifiersAssignment_6_1_0_8"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25256:1: rule__ReferenceCS__QualifiersAssignment_6_1_0_8 : ( ( 'resolve' ) ) ;
-    public final void rule__ReferenceCS__QualifiersAssignment_6_1_0_8() throws RecognitionException {
+    // $ANTLR start "rule__ReferenceCS__IsVolatileAssignment_6_8_0_0_0"
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26961:1: rule__ReferenceCS__IsVolatileAssignment_6_8_0_0_0 : ( ( 'volatile' ) ) ;
+    public final void rule__ReferenceCS__IsVolatileAssignment_6_8_0_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25260:1: ( ( ( 'resolve' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25261:1: ( ( 'resolve' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26965:1: ( ( ( 'volatile' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26966:1: ( ( 'volatile' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25261:1: ( ( 'resolve' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25262:1: ( 'resolve' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26966:1: ( ( 'volatile' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26967:1: ( 'volatile' )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersResolveKeyword_6_1_0_8_0()); 
+               before(grammarAccess.getReferenceCSAccess().getIsVolatileVolatileKeyword_6_8_0_0_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25263:1: ( 'resolve' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25264:1: 'resolve'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26968:1: ( 'volatile' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26969:1: 'volatile'
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersResolveKeyword_6_1_0_8_0()); 
+               before(grammarAccess.getReferenceCSAccess().getIsVolatileVolatileKeyword_6_8_0_0_0_0()); 
             }
-            match(input,45,FollowSets002.FOLLOW_45_in_rule__ReferenceCS__QualifiersAssignment_6_1_0_851407); if (state.failed) return ;
+            match(input,52,FollowSets002.FOLLOW_52_in_rule__ReferenceCS__IsVolatileAssignment_6_8_0_0_056194); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersResolveKeyword_6_1_0_8_0()); 
+               after(grammarAccess.getReferenceCSAccess().getIsVolatileVolatileKeyword_6_8_0_0_0_0()); 
             }
 
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersResolveKeyword_6_1_0_8_0()); 
+               after(grammarAccess.getReferenceCSAccess().getIsVolatileVolatileKeyword_6_8_0_0_0_0()); 
             }
 
             }
@@ -73921,503 +78684,26 @@
         }
         return ;
     }
-    // $ANTLR end "rule__ReferenceCS__QualifiersAssignment_6_1_0_8"
-
-
-    // $ANTLR start "rule__ReferenceCS__QualifiersAssignment_6_1_0_9"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25279:1: rule__ReferenceCS__QualifiersAssignment_6_1_0_9 : ( ( '!resolve' ) ) ;
-    public final void rule__ReferenceCS__QualifiersAssignment_6_1_0_9() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25283:1: ( ( ( '!resolve' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25284:1: ( ( '!resolve' ) )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25284:1: ( ( '!resolve' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25285:1: ( '!resolve' )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersResolveKeyword_6_1_0_9_0()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25286:1: ( '!resolve' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25287:1: '!resolve'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersResolveKeyword_6_1_0_9_0()); 
-            }
-            match(input,130,FollowSets002.FOLLOW_130_in_rule__ReferenceCS__QualifiersAssignment_6_1_0_951451); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersResolveKeyword_6_1_0_9_0()); 
-            }
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersResolveKeyword_6_1_0_9_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ReferenceCS__QualifiersAssignment_6_1_0_9"
-
-
-    // $ANTLR start "rule__ReferenceCS__QualifiersAssignment_6_1_0_10"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25302:1: rule__ReferenceCS__QualifiersAssignment_6_1_0_10 : ( ( 'transient' ) ) ;
-    public final void rule__ReferenceCS__QualifiersAssignment_6_1_0_10() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25306:1: ( ( ( 'transient' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25307:1: ( ( 'transient' ) )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25307:1: ( ( 'transient' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25308:1: ( 'transient' )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersTransientKeyword_6_1_0_10_0()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25309:1: ( 'transient' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25310:1: 'transient'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersTransientKeyword_6_1_0_10_0()); 
-            }
-            match(input,49,FollowSets002.FOLLOW_49_in_rule__ReferenceCS__QualifiersAssignment_6_1_0_1051495); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersTransientKeyword_6_1_0_10_0()); 
-            }
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersTransientKeyword_6_1_0_10_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ReferenceCS__QualifiersAssignment_6_1_0_10"
-
-
-    // $ANTLR start "rule__ReferenceCS__QualifiersAssignment_6_1_0_11"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25325:1: rule__ReferenceCS__QualifiersAssignment_6_1_0_11 : ( ( '!transient' ) ) ;
-    public final void rule__ReferenceCS__QualifiersAssignment_6_1_0_11() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25329:1: ( ( ( '!transient' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25330:1: ( ( '!transient' ) )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25330:1: ( ( '!transient' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25331:1: ( '!transient' )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersTransientKeyword_6_1_0_11_0()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25332:1: ( '!transient' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25333:1: '!transient'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersTransientKeyword_6_1_0_11_0()); 
-            }
-            match(input,124,FollowSets002.FOLLOW_124_in_rule__ReferenceCS__QualifiersAssignment_6_1_0_1151539); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersTransientKeyword_6_1_0_11_0()); 
-            }
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersTransientKeyword_6_1_0_11_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ReferenceCS__QualifiersAssignment_6_1_0_11"
-
-
-    // $ANTLR start "rule__ReferenceCS__QualifiersAssignment_6_1_0_12"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25348:1: rule__ReferenceCS__QualifiersAssignment_6_1_0_12 : ( ( 'unique' ) ) ;
-    public final void rule__ReferenceCS__QualifiersAssignment_6_1_0_12() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25352:1: ( ( ( 'unique' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25353:1: ( ( 'unique' ) )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25353:1: ( ( 'unique' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25354:1: ( 'unique' )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersUniqueKeyword_6_1_0_12_0()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25355:1: ( 'unique' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25356:1: 'unique'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersUniqueKeyword_6_1_0_12_0()); 
-            }
-            match(input,50,FollowSets002.FOLLOW_50_in_rule__ReferenceCS__QualifiersAssignment_6_1_0_1251583); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersUniqueKeyword_6_1_0_12_0()); 
-            }
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersUniqueKeyword_6_1_0_12_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ReferenceCS__QualifiersAssignment_6_1_0_12"
-
-
-    // $ANTLR start "rule__ReferenceCS__QualifiersAssignment_6_1_0_13"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25371:1: rule__ReferenceCS__QualifiersAssignment_6_1_0_13 : ( ( '!unique' ) ) ;
-    public final void rule__ReferenceCS__QualifiersAssignment_6_1_0_13() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25375:1: ( ( ( '!unique' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25376:1: ( ( '!unique' ) )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25376:1: ( ( '!unique' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25377:1: ( '!unique' )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersUniqueKeyword_6_1_0_13_0()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25378:1: ( '!unique' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25379:1: '!unique'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersUniqueKeyword_6_1_0_13_0()); 
-            }
-            match(input,125,FollowSets002.FOLLOW_125_in_rule__ReferenceCS__QualifiersAssignment_6_1_0_1351627); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersUniqueKeyword_6_1_0_13_0()); 
-            }
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersUniqueKeyword_6_1_0_13_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ReferenceCS__QualifiersAssignment_6_1_0_13"
-
-
-    // $ANTLR start "rule__ReferenceCS__QualifiersAssignment_6_1_0_14"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25394:1: rule__ReferenceCS__QualifiersAssignment_6_1_0_14 : ( ( 'unsettable' ) ) ;
-    public final void rule__ReferenceCS__QualifiersAssignment_6_1_0_14() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25398:1: ( ( ( 'unsettable' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25399:1: ( ( 'unsettable' ) )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25399:1: ( ( 'unsettable' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25400:1: ( 'unsettable' )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersUnsettableKeyword_6_1_0_14_0()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25401:1: ( 'unsettable' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25402:1: 'unsettable'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersUnsettableKeyword_6_1_0_14_0()); 
-            }
-            match(input,51,FollowSets002.FOLLOW_51_in_rule__ReferenceCS__QualifiersAssignment_6_1_0_1451671); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersUnsettableKeyword_6_1_0_14_0()); 
-            }
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersUnsettableKeyword_6_1_0_14_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ReferenceCS__QualifiersAssignment_6_1_0_14"
-
-
-    // $ANTLR start "rule__ReferenceCS__QualifiersAssignment_6_1_0_15"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25417:1: rule__ReferenceCS__QualifiersAssignment_6_1_0_15 : ( ( '!unsettable' ) ) ;
-    public final void rule__ReferenceCS__QualifiersAssignment_6_1_0_15() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25421:1: ( ( ( '!unsettable' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25422:1: ( ( '!unsettable' ) )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25422:1: ( ( '!unsettable' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25423:1: ( '!unsettable' )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersUnsettableKeyword_6_1_0_15_0()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25424:1: ( '!unsettable' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25425:1: '!unsettable'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersUnsettableKeyword_6_1_0_15_0()); 
-            }
-            match(input,126,FollowSets002.FOLLOW_126_in_rule__ReferenceCS__QualifiersAssignment_6_1_0_1551715); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersUnsettableKeyword_6_1_0_15_0()); 
-            }
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersUnsettableKeyword_6_1_0_15_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ReferenceCS__QualifiersAssignment_6_1_0_15"
-
-
-    // $ANTLR start "rule__ReferenceCS__QualifiersAssignment_6_1_0_16"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25440:1: rule__ReferenceCS__QualifiersAssignment_6_1_0_16 : ( ( 'volatile' ) ) ;
-    public final void rule__ReferenceCS__QualifiersAssignment_6_1_0_16() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25444:1: ( ( ( 'volatile' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25445:1: ( ( 'volatile' ) )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25445:1: ( ( 'volatile' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25446:1: ( 'volatile' )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersVolatileKeyword_6_1_0_16_0()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25447:1: ( 'volatile' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25448:1: 'volatile'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersVolatileKeyword_6_1_0_16_0()); 
-            }
-            match(input,52,FollowSets002.FOLLOW_52_in_rule__ReferenceCS__QualifiersAssignment_6_1_0_1651759); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersVolatileKeyword_6_1_0_16_0()); 
-            }
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersVolatileKeyword_6_1_0_16_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ReferenceCS__QualifiersAssignment_6_1_0_16"
-
-
-    // $ANTLR start "rule__ReferenceCS__QualifiersAssignment_6_1_0_17"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25463:1: rule__ReferenceCS__QualifiersAssignment_6_1_0_17 : ( ( '!volatile' ) ) ;
-    public final void rule__ReferenceCS__QualifiersAssignment_6_1_0_17() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25467:1: ( ( ( '!volatile' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25468:1: ( ( '!volatile' ) )
-            {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25468:1: ( ( '!volatile' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25469:1: ( '!volatile' )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersVolatileKeyword_6_1_0_17_0()); 
-            }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25470:1: ( '!volatile' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25471:1: '!volatile'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getReferenceCSAccess().getQualifiersVolatileKeyword_6_1_0_17_0()); 
-            }
-            match(input,127,FollowSets002.FOLLOW_127_in_rule__ReferenceCS__QualifiersAssignment_6_1_0_1751803); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersVolatileKeyword_6_1_0_17_0()); 
-            }
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getReferenceCSAccess().getQualifiersVolatileKeyword_6_1_0_17_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__ReferenceCS__QualifiersAssignment_6_1_0_17"
+    // $ANTLR end "rule__ReferenceCS__IsVolatileAssignment_6_8_0_0_0"
 
 
     // $ANTLR start "rule__ReferenceCS__OwnedAnnotationsAssignment_7_0_1_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25486:1: rule__ReferenceCS__OwnedAnnotationsAssignment_7_0_1_0 : ( ruleAnnotationElementCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26984:1: rule__ReferenceCS__OwnedAnnotationsAssignment_7_0_1_0 : ( ruleAnnotationElementCS ) ;
     public final void rule__ReferenceCS__OwnedAnnotationsAssignment_7_0_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25490:1: ( ( ruleAnnotationElementCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25491:1: ( ruleAnnotationElementCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26988:1: ( ( ruleAnnotationElementCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26989:1: ( ruleAnnotationElementCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25491:1: ( ruleAnnotationElementCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25492:1: ruleAnnotationElementCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26989:1: ( ruleAnnotationElementCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26990:1: ruleAnnotationElementCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_7_0_1_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleAnnotationElementCS_in_rule__ReferenceCS__OwnedAnnotationsAssignment_7_0_1_051842);
+            pushFollow(FollowSets002.FOLLOW_ruleAnnotationElementCS_in_rule__ReferenceCS__OwnedAnnotationsAssignment_7_0_1_056233);
             ruleAnnotationElementCS();
 
             state._fsp--;
@@ -74447,28 +78733,28 @@
 
 
     // $ANTLR start "rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25501:1: rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_1 : ( ( ruleUnrestrictedName ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26999:1: rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_1 : ( ( ruleUnrestrictedName ) ) ;
     public final void rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25505:1: ( ( ( ruleUnrestrictedName ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25506:1: ( ( ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27003:1: ( ( ( ruleUnrestrictedName ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27004:1: ( ( ruleUnrestrictedName ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25506:1: ( ( ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25507:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27004:1: ( ( ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27005:1: ( ruleUnrestrictedName )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getReferredKeysPropertyCrossReference_7_0_1_1_1_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25508:1: ( ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25509:1: ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27006:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27007:1: ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getReferredKeysPropertyUnrestrictedNameParserRuleCall_7_0_1_1_1_0_1()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_151877);
+            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_156268);
             ruleUnrestrictedName();
 
             state._fsp--;
@@ -74504,28 +78790,28 @@
 
 
     // $ANTLR start "rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_2_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25520:1: rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_2_1 : ( ( ruleUnrestrictedName ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27018:1: rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_2_1 : ( ( ruleUnrestrictedName ) ) ;
     public final void rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25524:1: ( ( ( ruleUnrestrictedName ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25525:1: ( ( ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27022:1: ( ( ( ruleUnrestrictedName ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27023:1: ( ( ruleUnrestrictedName ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25525:1: ( ( ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25526:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27023:1: ( ( ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27024:1: ( ruleUnrestrictedName )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getReferredKeysPropertyCrossReference_7_0_1_1_2_1_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25527:1: ( ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25528:1: ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27025:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27026:1: ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getReferredKeysPropertyUnrestrictedNameParserRuleCall_7_0_1_1_2_1_0_1()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_2_151916);
+            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_2_156307);
             ruleUnrestrictedName();
 
             state._fsp--;
@@ -74561,22 +78847,22 @@
 
 
     // $ANTLR start "rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_2_3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25539:1: rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_2_3 : ( ruleSpecificationCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27037:1: rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_2_3 : ( ruleSpecificationCS ) ;
     public final void rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_2_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25543:1: ( ( ruleSpecificationCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25544:1: ( ruleSpecificationCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27041:1: ( ( ruleSpecificationCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27042:1: ( ruleSpecificationCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25544:1: ( ruleSpecificationCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25545:1: ruleSpecificationCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27042:1: ( ruleSpecificationCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27043:1: ruleSpecificationCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getOwnedDefaultExpressionsSpecificationCSParserRuleCall_7_0_1_2_3_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleSpecificationCS_in_rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_2_351951);
+            pushFollow(FollowSets002.FOLLOW_ruleSpecificationCS_in_rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_2_356342);
             ruleSpecificationCS();
 
             state._fsp--;
@@ -74606,22 +78892,22 @@
 
 
     // $ANTLR start "rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_3_3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25554:1: rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_3_3 : ( ruleSpecificationCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27052:1: rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_3_3 : ( ruleSpecificationCS ) ;
     public final void rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_3_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25558:1: ( ( ruleSpecificationCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25559:1: ( ruleSpecificationCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27056:1: ( ( ruleSpecificationCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27057:1: ( ruleSpecificationCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25559:1: ( ruleSpecificationCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25560:1: ruleSpecificationCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27057:1: ( ruleSpecificationCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27058:1: ruleSpecificationCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getReferenceCSAccess().getOwnedDefaultExpressionsSpecificationCSParserRuleCall_7_0_1_3_3_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleSpecificationCS_in_rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_3_351982);
+            pushFollow(FollowSets002.FOLLOW_ruleSpecificationCS_in_rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_3_356373);
             ruleSpecificationCS();
 
             state._fsp--;
@@ -74651,22 +78937,22 @@
 
 
     // $ANTLR start "rule__SpecificationCS__OwnedExpressionAssignment_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25569:1: rule__SpecificationCS__OwnedExpressionAssignment_0 : ( ruleExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27067:1: rule__SpecificationCS__OwnedExpressionAssignment_0 : ( ruleExpCS ) ;
     public final void rule__SpecificationCS__OwnedExpressionAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25573:1: ( ( ruleExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25574:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27071:1: ( ( ruleExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27072:1: ( ruleExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25574:1: ( ruleExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25575:1: ruleExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27072:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27073:1: ruleExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSpecificationCSAccess().getOwnedExpressionExpCSParserRuleCall_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__SpecificationCS__OwnedExpressionAssignment_052013);
+            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__SpecificationCS__OwnedExpressionAssignment_056404);
             ruleExpCS();
 
             state._fsp--;
@@ -74696,22 +78982,22 @@
 
 
     // $ANTLR start "rule__SpecificationCS__ExprStringAssignment_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25584:1: rule__SpecificationCS__ExprStringAssignment_1 : ( RULE_UNQUOTED_STRING ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27082:1: rule__SpecificationCS__ExprStringAssignment_1 : ( RULE_UNQUOTED_STRING ) ;
     public final void rule__SpecificationCS__ExprStringAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25588:1: ( ( RULE_UNQUOTED_STRING ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25589:1: ( RULE_UNQUOTED_STRING )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27086:1: ( ( RULE_UNQUOTED_STRING ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27087:1: ( RULE_UNQUOTED_STRING )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25589:1: ( RULE_UNQUOTED_STRING )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25590:1: RULE_UNQUOTED_STRING
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27087:1: ( RULE_UNQUOTED_STRING )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27088:1: RULE_UNQUOTED_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSpecificationCSAccess().getExprStringUNQUOTED_STRINGTerminalRuleCall_1_0()); 
             }
-            match(input,RULE_UNQUOTED_STRING,FollowSets002.FOLLOW_RULE_UNQUOTED_STRING_in_rule__SpecificationCS__ExprStringAssignment_152044); if (state.failed) return ;
+            match(input,RULE_UNQUOTED_STRING,FollowSets002.FOLLOW_RULE_UNQUOTED_STRING_in_rule__SpecificationCS__ExprStringAssignment_156435); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getSpecificationCSAccess().getExprStringUNQUOTED_STRINGTerminalRuleCall_1_0()); 
             }
@@ -74737,28 +79023,28 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__IsAbstractAssignment_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25599:1: rule__StructuredClassCS__IsAbstractAssignment_0 : ( ( 'abstract' ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27097:1: rule__StructuredClassCS__IsAbstractAssignment_0 : ( ( 'abstract' ) ) ;
     public final void rule__StructuredClassCS__IsAbstractAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25603:1: ( ( ( 'abstract' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25604:1: ( ( 'abstract' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27101:1: ( ( ( 'abstract' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27102:1: ( ( 'abstract' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25604:1: ( ( 'abstract' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25605:1: ( 'abstract' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27102:1: ( ( 'abstract' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27103:1: ( 'abstract' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStructuredClassCSAccess().getIsAbstractAbstractKeyword_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25606:1: ( 'abstract' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25607:1: 'abstract'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27104:1: ( 'abstract' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27105:1: 'abstract'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStructuredClassCSAccess().getIsAbstractAbstractKeyword_0_0()); 
             }
-            match(input,17,FollowSets002.FOLLOW_17_in_rule__StructuredClassCS__IsAbstractAssignment_052080); if (state.failed) return ;
+            match(input,17,FollowSets002.FOLLOW_17_in_rule__StructuredClassCS__IsAbstractAssignment_056471); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getStructuredClassCSAccess().getIsAbstractAbstractKeyword_0_0()); 
             }
@@ -74790,22 +79076,22 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__NameAssignment_2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25622:1: rule__StructuredClassCS__NameAssignment_2 : ( ruleUnrestrictedName ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27120:1: rule__StructuredClassCS__NameAssignment_2 : ( ruleUnrestrictedName ) ;
     public final void rule__StructuredClassCS__NameAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25626:1: ( ( ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25627:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27124:1: ( ( ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27125:1: ( ruleUnrestrictedName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25627:1: ( ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25628:1: ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27125:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27126:1: ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStructuredClassCSAccess().getNameUnrestrictedNameParserRuleCall_2_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__StructuredClassCS__NameAssignment_252119);
+            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__StructuredClassCS__NameAssignment_256510);
             ruleUnrestrictedName();
 
             state._fsp--;
@@ -74835,22 +79121,22 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__OwnedSignatureAssignment_3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25637:1: rule__StructuredClassCS__OwnedSignatureAssignment_3 : ( ruleTemplateSignatureCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27135:1: rule__StructuredClassCS__OwnedSignatureAssignment_3 : ( ruleTemplateSignatureCS ) ;
     public final void rule__StructuredClassCS__OwnedSignatureAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25641:1: ( ( ruleTemplateSignatureCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25642:1: ( ruleTemplateSignatureCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27139:1: ( ( ruleTemplateSignatureCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27140:1: ( ruleTemplateSignatureCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25642:1: ( ruleTemplateSignatureCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25643:1: ruleTemplateSignatureCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27140:1: ( ruleTemplateSignatureCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27141:1: ruleTemplateSignatureCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStructuredClassCSAccess().getOwnedSignatureTemplateSignatureCSParserRuleCall_3_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTemplateSignatureCS_in_rule__StructuredClassCS__OwnedSignatureAssignment_352150);
+            pushFollow(FollowSets002.FOLLOW_ruleTemplateSignatureCS_in_rule__StructuredClassCS__OwnedSignatureAssignment_356541);
             ruleTemplateSignatureCS();
 
             state._fsp--;
@@ -74880,22 +79166,22 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__OwnedSuperTypesAssignment_4_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25652:1: rule__StructuredClassCS__OwnedSuperTypesAssignment_4_1 : ( ruleTypedRefCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27150:1: rule__StructuredClassCS__OwnedSuperTypesAssignment_4_1 : ( ruleTypedRefCS ) ;
     public final void rule__StructuredClassCS__OwnedSuperTypesAssignment_4_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25656:1: ( ( ruleTypedRefCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25657:1: ( ruleTypedRefCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27154:1: ( ( ruleTypedRefCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27155:1: ( ruleTypedRefCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25657:1: ( ruleTypedRefCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25658:1: ruleTypedRefCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27155:1: ( ruleTypedRefCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27156:1: ruleTypedRefCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStructuredClassCSAccess().getOwnedSuperTypesTypedRefCSParserRuleCall_4_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTypedRefCS_in_rule__StructuredClassCS__OwnedSuperTypesAssignment_4_152181);
+            pushFollow(FollowSets002.FOLLOW_ruleTypedRefCS_in_rule__StructuredClassCS__OwnedSuperTypesAssignment_4_156572);
             ruleTypedRefCS();
 
             state._fsp--;
@@ -74925,22 +79211,22 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__OwnedSuperTypesAssignment_4_2_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25667:1: rule__StructuredClassCS__OwnedSuperTypesAssignment_4_2_1 : ( ruleTypedRefCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27165:1: rule__StructuredClassCS__OwnedSuperTypesAssignment_4_2_1 : ( ruleTypedRefCS ) ;
     public final void rule__StructuredClassCS__OwnedSuperTypesAssignment_4_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25671:1: ( ( ruleTypedRefCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25672:1: ( ruleTypedRefCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27169:1: ( ( ruleTypedRefCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27170:1: ( ruleTypedRefCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25672:1: ( ruleTypedRefCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25673:1: ruleTypedRefCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27170:1: ( ruleTypedRefCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27171:1: ruleTypedRefCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStructuredClassCSAccess().getOwnedSuperTypesTypedRefCSParserRuleCall_4_2_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTypedRefCS_in_rule__StructuredClassCS__OwnedSuperTypesAssignment_4_2_152212);
+            pushFollow(FollowSets002.FOLLOW_ruleTypedRefCS_in_rule__StructuredClassCS__OwnedSuperTypesAssignment_4_2_156603);
             ruleTypedRefCS();
 
             state._fsp--;
@@ -74970,22 +79256,22 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__InstanceClassNameAssignment_5_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25682:1: rule__StructuredClassCS__InstanceClassNameAssignment_5_1 : ( RULE_SINGLE_QUOTED_STRING ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27180:1: rule__StructuredClassCS__InstanceClassNameAssignment_5_1 : ( RULE_SINGLE_QUOTED_STRING ) ;
     public final void rule__StructuredClassCS__InstanceClassNameAssignment_5_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25686:1: ( ( RULE_SINGLE_QUOTED_STRING ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25687:1: ( RULE_SINGLE_QUOTED_STRING )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27184:1: ( ( RULE_SINGLE_QUOTED_STRING ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27185:1: ( RULE_SINGLE_QUOTED_STRING )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25687:1: ( RULE_SINGLE_QUOTED_STRING )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25688:1: RULE_SINGLE_QUOTED_STRING
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27185:1: ( RULE_SINGLE_QUOTED_STRING )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27186:1: RULE_SINGLE_QUOTED_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStructuredClassCSAccess().getInstanceClassNameSINGLE_QUOTED_STRINGTerminalRuleCall_5_1_0()); 
             }
-            match(input,RULE_SINGLE_QUOTED_STRING,FollowSets002.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_rule__StructuredClassCS__InstanceClassNameAssignment_5_152243); if (state.failed) return ;
+            match(input,RULE_SINGLE_QUOTED_STRING,FollowSets002.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_rule__StructuredClassCS__InstanceClassNameAssignment_5_156634); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getStructuredClassCSAccess().getInstanceClassNameSINGLE_QUOTED_STRINGTerminalRuleCall_5_1_0()); 
             }
@@ -75011,28 +79297,28 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__IsInterfaceAssignment_6_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25697:1: rule__StructuredClassCS__IsInterfaceAssignment_6_1 : ( ( 'interface' ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27195:1: rule__StructuredClassCS__IsInterfaceAssignment_6_1 : ( ( 'interface' ) ) ;
     public final void rule__StructuredClassCS__IsInterfaceAssignment_6_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25701:1: ( ( ( 'interface' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25702:1: ( ( 'interface' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27199:1: ( ( ( 'interface' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27200:1: ( ( 'interface' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25702:1: ( ( 'interface' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25703:1: ( 'interface' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27200:1: ( ( 'interface' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27201:1: ( 'interface' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStructuredClassCSAccess().getIsInterfaceInterfaceKeyword_6_1_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25704:1: ( 'interface' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25705:1: 'interface'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27202:1: ( 'interface' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27203:1: 'interface'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStructuredClassCSAccess().getIsInterfaceInterfaceKeyword_6_1_0()); 
             }
-            match(input,32,FollowSets002.FOLLOW_32_in_rule__StructuredClassCS__IsInterfaceAssignment_6_152279); if (state.failed) return ;
+            match(input,32,FollowSets002.FOLLOW_32_in_rule__StructuredClassCS__IsInterfaceAssignment_6_156670); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getStructuredClassCSAccess().getIsInterfaceInterfaceKeyword_6_1_0()); 
             }
@@ -75064,22 +79350,22 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__OwnedAnnotationsAssignment_7_0_1_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25720:1: rule__StructuredClassCS__OwnedAnnotationsAssignment_7_0_1_0 : ( ruleAnnotationElementCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27218:1: rule__StructuredClassCS__OwnedAnnotationsAssignment_7_0_1_0 : ( ruleAnnotationElementCS ) ;
     public final void rule__StructuredClassCS__OwnedAnnotationsAssignment_7_0_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25724:1: ( ( ruleAnnotationElementCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25725:1: ( ruleAnnotationElementCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27222:1: ( ( ruleAnnotationElementCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27223:1: ( ruleAnnotationElementCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25725:1: ( ruleAnnotationElementCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25726:1: ruleAnnotationElementCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27223:1: ( ruleAnnotationElementCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27224:1: ruleAnnotationElementCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStructuredClassCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_7_0_1_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleAnnotationElementCS_in_rule__StructuredClassCS__OwnedAnnotationsAssignment_7_0_1_052318);
+            pushFollow(FollowSets002.FOLLOW_ruleAnnotationElementCS_in_rule__StructuredClassCS__OwnedAnnotationsAssignment_7_0_1_056709);
             ruleAnnotationElementCS();
 
             state._fsp--;
@@ -75109,22 +79395,22 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__OwnedOperationsAssignment_7_0_1_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25735:1: rule__StructuredClassCS__OwnedOperationsAssignment_7_0_1_1 : ( ruleOperationCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27233:1: rule__StructuredClassCS__OwnedOperationsAssignment_7_0_1_1 : ( ruleOperationCS ) ;
     public final void rule__StructuredClassCS__OwnedOperationsAssignment_7_0_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25739:1: ( ( ruleOperationCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25740:1: ( ruleOperationCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27237:1: ( ( ruleOperationCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27238:1: ( ruleOperationCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25740:1: ( ruleOperationCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25741:1: ruleOperationCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27238:1: ( ruleOperationCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27239:1: ruleOperationCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStructuredClassCSAccess().getOwnedOperationsOperationCSParserRuleCall_7_0_1_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleOperationCS_in_rule__StructuredClassCS__OwnedOperationsAssignment_7_0_1_152349);
+            pushFollow(FollowSets002.FOLLOW_ruleOperationCS_in_rule__StructuredClassCS__OwnedOperationsAssignment_7_0_1_156740);
             ruleOperationCS();
 
             state._fsp--;
@@ -75154,22 +79440,22 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__OwnedPropertiesAssignment_7_0_1_2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25750:1: rule__StructuredClassCS__OwnedPropertiesAssignment_7_0_1_2 : ( ruleStructuralFeatureCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27248:1: rule__StructuredClassCS__OwnedPropertiesAssignment_7_0_1_2 : ( ruleStructuralFeatureCS ) ;
     public final void rule__StructuredClassCS__OwnedPropertiesAssignment_7_0_1_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25754:1: ( ( ruleStructuralFeatureCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25755:1: ( ruleStructuralFeatureCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27252:1: ( ( ruleStructuralFeatureCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27253:1: ( ruleStructuralFeatureCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25755:1: ( ruleStructuralFeatureCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25756:1: ruleStructuralFeatureCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27253:1: ( ruleStructuralFeatureCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27254:1: ruleStructuralFeatureCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStructuredClassCSAccess().getOwnedPropertiesStructuralFeatureCSParserRuleCall_7_0_1_2_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleStructuralFeatureCS_in_rule__StructuredClassCS__OwnedPropertiesAssignment_7_0_1_252380);
+            pushFollow(FollowSets002.FOLLOW_ruleStructuralFeatureCS_in_rule__StructuredClassCS__OwnedPropertiesAssignment_7_0_1_256771);
             ruleStructuralFeatureCS();
 
             state._fsp--;
@@ -75199,22 +79485,22 @@
 
 
     // $ANTLR start "rule__StructuredClassCS__OwnedConstraintsAssignment_7_0_1_3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25765:1: rule__StructuredClassCS__OwnedConstraintsAssignment_7_0_1_3 : ( ruleInvariantConstraintCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27263:1: rule__StructuredClassCS__OwnedConstraintsAssignment_7_0_1_3 : ( ruleInvariantConstraintCS ) ;
     public final void rule__StructuredClassCS__OwnedConstraintsAssignment_7_0_1_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25769:1: ( ( ruleInvariantConstraintCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25770:1: ( ruleInvariantConstraintCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27267:1: ( ( ruleInvariantConstraintCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27268:1: ( ruleInvariantConstraintCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25770:1: ( ruleInvariantConstraintCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25771:1: ruleInvariantConstraintCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27268:1: ( ruleInvariantConstraintCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27269:1: ruleInvariantConstraintCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStructuredClassCSAccess().getOwnedConstraintsInvariantConstraintCSParserRuleCall_7_0_1_3_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleInvariantConstraintCS_in_rule__StructuredClassCS__OwnedConstraintsAssignment_7_0_1_352411);
+            pushFollow(FollowSets002.FOLLOW_ruleInvariantConstraintCS_in_rule__StructuredClassCS__OwnedConstraintsAssignment_7_0_1_356802);
             ruleInvariantConstraintCS();
 
             state._fsp--;
@@ -75244,22 +79530,22 @@
 
 
     // $ANTLR start "rule__SysMLCS__OwnedDetailsAssignment_2_0_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25780:1: rule__SysMLCS__OwnedDetailsAssignment_2_0_0 : ( ruleDetailCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27278:1: rule__SysMLCS__OwnedDetailsAssignment_2_0_0 : ( ruleDetailCS ) ;
     public final void rule__SysMLCS__OwnedDetailsAssignment_2_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25784:1: ( ( ruleDetailCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25785:1: ( ruleDetailCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27282:1: ( ( ruleDetailCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27283:1: ( ruleDetailCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25785:1: ( ruleDetailCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25786:1: ruleDetailCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27283:1: ( ruleDetailCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27284:1: ruleDetailCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSysMLCSAccess().getOwnedDetailsDetailCSParserRuleCall_2_0_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleDetailCS_in_rule__SysMLCS__OwnedDetailsAssignment_2_0_052442);
+            pushFollow(FollowSets002.FOLLOW_ruleDetailCS_in_rule__SysMLCS__OwnedDetailsAssignment_2_0_056833);
             ruleDetailCS();
 
             state._fsp--;
@@ -75289,22 +79575,22 @@
 
 
     // $ANTLR start "rule__SysMLCS__OwnedDetailsAssignment_2_1_1_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25795:1: rule__SysMLCS__OwnedDetailsAssignment_2_1_1_0 : ( ruleDetailCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27293:1: rule__SysMLCS__OwnedDetailsAssignment_2_1_1_0 : ( ruleDetailCS ) ;
     public final void rule__SysMLCS__OwnedDetailsAssignment_2_1_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25799:1: ( ( ruleDetailCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25800:1: ( ruleDetailCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27297:1: ( ( ruleDetailCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27298:1: ( ruleDetailCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25800:1: ( ruleDetailCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25801:1: ruleDetailCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27298:1: ( ruleDetailCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27299:1: ruleDetailCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSysMLCSAccess().getOwnedDetailsDetailCSParserRuleCall_2_1_1_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleDetailCS_in_rule__SysMLCS__OwnedDetailsAssignment_2_1_1_052473);
+            pushFollow(FollowSets002.FOLLOW_ruleDetailCS_in_rule__SysMLCS__OwnedDetailsAssignment_2_1_1_056864);
             ruleDetailCS();
 
             state._fsp--;
@@ -75334,22 +79620,22 @@
 
 
     // $ANTLR start "rule__TypedMultiplicityRefCS__OwnedMultiplicityAssignment_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25810:1: rule__TypedMultiplicityRefCS__OwnedMultiplicityAssignment_1 : ( ruleMultiplicityCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27308:1: rule__TypedMultiplicityRefCS__OwnedMultiplicityAssignment_1 : ( ruleMultiplicityCS ) ;
     public final void rule__TypedMultiplicityRefCS__OwnedMultiplicityAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25814:1: ( ( ruleMultiplicityCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25815:1: ( ruleMultiplicityCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27312:1: ( ( ruleMultiplicityCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27313:1: ( ruleMultiplicityCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25815:1: ( ruleMultiplicityCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25816:1: ruleMultiplicityCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27313:1: ( ruleMultiplicityCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27314:1: ruleMultiplicityCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTypedMultiplicityRefCSAccess().getOwnedMultiplicityMultiplicityCSParserRuleCall_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleMultiplicityCS_in_rule__TypedMultiplicityRefCS__OwnedMultiplicityAssignment_152504);
+            pushFollow(FollowSets002.FOLLOW_ruleMultiplicityCS_in_rule__TypedMultiplicityRefCS__OwnedMultiplicityAssignment_156895);
             ruleMultiplicityCS();
 
             state._fsp--;
@@ -75379,22 +79665,22 @@
 
 
     // $ANTLR start "rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25825:1: rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_1 : ( ruleTemplateParameterSubstitutionCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27323:1: rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_1 : ( ruleTemplateParameterSubstitutionCS ) ;
     public final void rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25829:1: ( ( ruleTemplateParameterSubstitutionCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25830:1: ( ruleTemplateParameterSubstitutionCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27327:1: ( ( ruleTemplateParameterSubstitutionCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27328:1: ( ruleTemplateParameterSubstitutionCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25830:1: ( ruleTemplateParameterSubstitutionCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25831:1: ruleTemplateParameterSubstitutionCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27328:1: ( ruleTemplateParameterSubstitutionCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27329:1: ruleTemplateParameterSubstitutionCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTemplateBindingCSAccess().getOwnedSubstitutionsTemplateParameterSubstitutionCSParserRuleCall_0_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTemplateParameterSubstitutionCS_in_rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_152535);
+            pushFollow(FollowSets002.FOLLOW_ruleTemplateParameterSubstitutionCS_in_rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_156926);
             ruleTemplateParameterSubstitutionCS();
 
             state._fsp--;
@@ -75424,22 +79710,22 @@
 
 
     // $ANTLR start "rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_2_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25840:1: rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_2_1 : ( ruleTemplateParameterSubstitutionCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27338:1: rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_2_1 : ( ruleTemplateParameterSubstitutionCS ) ;
     public final void rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25844:1: ( ( ruleTemplateParameterSubstitutionCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25845:1: ( ruleTemplateParameterSubstitutionCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27342:1: ( ( ruleTemplateParameterSubstitutionCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27343:1: ( ruleTemplateParameterSubstitutionCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25845:1: ( ruleTemplateParameterSubstitutionCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25846:1: ruleTemplateParameterSubstitutionCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27343:1: ( ruleTemplateParameterSubstitutionCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27344:1: ruleTemplateParameterSubstitutionCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTemplateBindingCSAccess().getOwnedSubstitutionsTemplateParameterSubstitutionCSParserRuleCall_0_2_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTemplateParameterSubstitutionCS_in_rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_2_152566);
+            pushFollow(FollowSets002.FOLLOW_ruleTemplateParameterSubstitutionCS_in_rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_2_156957);
             ruleTemplateParameterSubstitutionCS();
 
             state._fsp--;
@@ -75469,22 +79755,22 @@
 
 
     // $ANTLR start "rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25855:1: rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_1 : ( ruleTemplateParameterSubstitutionCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27353:1: rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_1 : ( ruleTemplateParameterSubstitutionCS ) ;
     public final void rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25859:1: ( ( ruleTemplateParameterSubstitutionCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25860:1: ( ruleTemplateParameterSubstitutionCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27357:1: ( ( ruleTemplateParameterSubstitutionCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27358:1: ( ruleTemplateParameterSubstitutionCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25860:1: ( ruleTemplateParameterSubstitutionCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25861:1: ruleTemplateParameterSubstitutionCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27358:1: ( ruleTemplateParameterSubstitutionCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27359:1: ruleTemplateParameterSubstitutionCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTemplateBindingCSAccess().getOwnedSubstitutionsTemplateParameterSubstitutionCSParserRuleCall_1_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTemplateParameterSubstitutionCS_in_rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_152597);
+            pushFollow(FollowSets002.FOLLOW_ruleTemplateParameterSubstitutionCS_in_rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_156988);
             ruleTemplateParameterSubstitutionCS();
 
             state._fsp--;
@@ -75514,22 +79800,22 @@
 
 
     // $ANTLR start "rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_2_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25870:1: rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_2_1 : ( ruleTemplateParameterSubstitutionCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27368:1: rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_2_1 : ( ruleTemplateParameterSubstitutionCS ) ;
     public final void rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25874:1: ( ( ruleTemplateParameterSubstitutionCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25875:1: ( ruleTemplateParameterSubstitutionCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27372:1: ( ( ruleTemplateParameterSubstitutionCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27373:1: ( ruleTemplateParameterSubstitutionCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25875:1: ( ruleTemplateParameterSubstitutionCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25876:1: ruleTemplateParameterSubstitutionCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27373:1: ( ruleTemplateParameterSubstitutionCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27374:1: ruleTemplateParameterSubstitutionCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTemplateBindingCSAccess().getOwnedSubstitutionsTemplateParameterSubstitutionCSParserRuleCall_1_2_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTemplateParameterSubstitutionCS_in_rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_2_152628);
+            pushFollow(FollowSets002.FOLLOW_ruleTemplateParameterSubstitutionCS_in_rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_2_157019);
             ruleTemplateParameterSubstitutionCS();
 
             state._fsp--;
@@ -75559,22 +79845,22 @@
 
 
     // $ANTLR start "rule__TemplateSignatureCS__OwnedParametersAssignment_0_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25885:1: rule__TemplateSignatureCS__OwnedParametersAssignment_0_1 : ( ruleTypeParameterCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27383:1: rule__TemplateSignatureCS__OwnedParametersAssignment_0_1 : ( ruleTypeParameterCS ) ;
     public final void rule__TemplateSignatureCS__OwnedParametersAssignment_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25889:1: ( ( ruleTypeParameterCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25890:1: ( ruleTypeParameterCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27387:1: ( ( ruleTypeParameterCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27388:1: ( ruleTypeParameterCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25890:1: ( ruleTypeParameterCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25891:1: ruleTypeParameterCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27388:1: ( ruleTypeParameterCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27389:1: ruleTypeParameterCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTemplateSignatureCSAccess().getOwnedParametersTypeParameterCSParserRuleCall_0_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTypeParameterCS_in_rule__TemplateSignatureCS__OwnedParametersAssignment_0_152659);
+            pushFollow(FollowSets002.FOLLOW_ruleTypeParameterCS_in_rule__TemplateSignatureCS__OwnedParametersAssignment_0_157050);
             ruleTypeParameterCS();
 
             state._fsp--;
@@ -75604,22 +79890,22 @@
 
 
     // $ANTLR start "rule__TemplateSignatureCS__OwnedParametersAssignment_0_2_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25900:1: rule__TemplateSignatureCS__OwnedParametersAssignment_0_2_1 : ( ruleTypeParameterCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27398:1: rule__TemplateSignatureCS__OwnedParametersAssignment_0_2_1 : ( ruleTypeParameterCS ) ;
     public final void rule__TemplateSignatureCS__OwnedParametersAssignment_0_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25904:1: ( ( ruleTypeParameterCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25905:1: ( ruleTypeParameterCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27402:1: ( ( ruleTypeParameterCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27403:1: ( ruleTypeParameterCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25905:1: ( ruleTypeParameterCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25906:1: ruleTypeParameterCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27403:1: ( ruleTypeParameterCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27404:1: ruleTypeParameterCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTemplateSignatureCSAccess().getOwnedParametersTypeParameterCSParserRuleCall_0_2_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTypeParameterCS_in_rule__TemplateSignatureCS__OwnedParametersAssignment_0_2_152690);
+            pushFollow(FollowSets002.FOLLOW_ruleTypeParameterCS_in_rule__TemplateSignatureCS__OwnedParametersAssignment_0_2_157081);
             ruleTypeParameterCS();
 
             state._fsp--;
@@ -75649,22 +79935,22 @@
 
 
     // $ANTLR start "rule__TemplateSignatureCS__OwnedParametersAssignment_1_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25915:1: rule__TemplateSignatureCS__OwnedParametersAssignment_1_1 : ( ruleTypeParameterCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27413:1: rule__TemplateSignatureCS__OwnedParametersAssignment_1_1 : ( ruleTypeParameterCS ) ;
     public final void rule__TemplateSignatureCS__OwnedParametersAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25919:1: ( ( ruleTypeParameterCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25920:1: ( ruleTypeParameterCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27417:1: ( ( ruleTypeParameterCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27418:1: ( ruleTypeParameterCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25920:1: ( ruleTypeParameterCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25921:1: ruleTypeParameterCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27418:1: ( ruleTypeParameterCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27419:1: ruleTypeParameterCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTemplateSignatureCSAccess().getOwnedParametersTypeParameterCSParserRuleCall_1_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTypeParameterCS_in_rule__TemplateSignatureCS__OwnedParametersAssignment_1_152721);
+            pushFollow(FollowSets002.FOLLOW_ruleTypeParameterCS_in_rule__TemplateSignatureCS__OwnedParametersAssignment_1_157112);
             ruleTypeParameterCS();
 
             state._fsp--;
@@ -75694,22 +79980,22 @@
 
 
     // $ANTLR start "rule__TemplateSignatureCS__OwnedParametersAssignment_1_2_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25930:1: rule__TemplateSignatureCS__OwnedParametersAssignment_1_2_1 : ( ruleTypeParameterCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27428:1: rule__TemplateSignatureCS__OwnedParametersAssignment_1_2_1 : ( ruleTypeParameterCS ) ;
     public final void rule__TemplateSignatureCS__OwnedParametersAssignment_1_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25934:1: ( ( ruleTypeParameterCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25935:1: ( ruleTypeParameterCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27432:1: ( ( ruleTypeParameterCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27433:1: ( ruleTypeParameterCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25935:1: ( ruleTypeParameterCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25936:1: ruleTypeParameterCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27433:1: ( ruleTypeParameterCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27434:1: ruleTypeParameterCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTemplateSignatureCSAccess().getOwnedParametersTypeParameterCSParserRuleCall_1_2_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTypeParameterCS_in_rule__TemplateSignatureCS__OwnedParametersAssignment_1_2_152752);
+            pushFollow(FollowSets002.FOLLOW_ruleTypeParameterCS_in_rule__TemplateSignatureCS__OwnedParametersAssignment_1_2_157143);
             ruleTypeParameterCS();
 
             state._fsp--;
@@ -75739,22 +80025,22 @@
 
 
     // $ANTLR start "rule__URIPathNameCS__OwnedPathElementsAssignment_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25946:1: rule__URIPathNameCS__OwnedPathElementsAssignment_0 : ( ruleURIFirstPathElementCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27444:1: rule__URIPathNameCS__OwnedPathElementsAssignment_0 : ( ruleURIFirstPathElementCS ) ;
     public final void rule__URIPathNameCS__OwnedPathElementsAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25950:1: ( ( ruleURIFirstPathElementCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25951:1: ( ruleURIFirstPathElementCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27448:1: ( ( ruleURIFirstPathElementCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27449:1: ( ruleURIFirstPathElementCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25951:1: ( ruleURIFirstPathElementCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25952:1: ruleURIFirstPathElementCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27449:1: ( ruleURIFirstPathElementCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27450:1: ruleURIFirstPathElementCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getURIPathNameCSAccess().getOwnedPathElementsURIFirstPathElementCSParserRuleCall_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleURIFirstPathElementCS_in_rule__URIPathNameCS__OwnedPathElementsAssignment_052784);
+            pushFollow(FollowSets002.FOLLOW_ruleURIFirstPathElementCS_in_rule__URIPathNameCS__OwnedPathElementsAssignment_057175);
             ruleURIFirstPathElementCS();
 
             state._fsp--;
@@ -75784,22 +80070,22 @@
 
 
     // $ANTLR start "rule__URIPathNameCS__OwnedPathElementsAssignment_1_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25961:1: rule__URIPathNameCS__OwnedPathElementsAssignment_1_1 : ( ruleNextPathElementCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27459:1: rule__URIPathNameCS__OwnedPathElementsAssignment_1_1 : ( ruleNextPathElementCS ) ;
     public final void rule__URIPathNameCS__OwnedPathElementsAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25965:1: ( ( ruleNextPathElementCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25966:1: ( ruleNextPathElementCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27463:1: ( ( ruleNextPathElementCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27464:1: ( ruleNextPathElementCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25966:1: ( ruleNextPathElementCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25967:1: ruleNextPathElementCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27464:1: ( ruleNextPathElementCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27465:1: ruleNextPathElementCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getURIPathNameCSAccess().getOwnedPathElementsNextPathElementCSParserRuleCall_1_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleNextPathElementCS_in_rule__URIPathNameCS__OwnedPathElementsAssignment_1_152815);
+            pushFollow(FollowSets002.FOLLOW_ruleNextPathElementCS_in_rule__URIPathNameCS__OwnedPathElementsAssignment_1_157206);
             ruleNextPathElementCS();
 
             state._fsp--;
@@ -75829,28 +80115,28 @@
 
 
     // $ANTLR start "rule__URIFirstPathElementCS__ReferredElementAssignment_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25976:1: rule__URIFirstPathElementCS__ReferredElementAssignment_0 : ( ( ruleUnrestrictedName ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27474:1: rule__URIFirstPathElementCS__ReferredElementAssignment_0 : ( ( ruleUnrestrictedName ) ) ;
     public final void rule__URIFirstPathElementCS__ReferredElementAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25980:1: ( ( ( ruleUnrestrictedName ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25981:1: ( ( ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27478:1: ( ( ( ruleUnrestrictedName ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27479:1: ( ( ruleUnrestrictedName ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25981:1: ( ( ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25982:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27479:1: ( ( ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27480:1: ( ruleUnrestrictedName )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getURIFirstPathElementCSAccess().getReferredElementNamedElementCrossReference_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25983:1: ( ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25984:1: ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27481:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27482:1: ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getURIFirstPathElementCSAccess().getReferredElementNamedElementUnrestrictedNameParserRuleCall_0_0_1()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__URIFirstPathElementCS__ReferredElementAssignment_052850);
+            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__URIFirstPathElementCS__ReferredElementAssignment_057241);
             ruleUnrestrictedName();
 
             state._fsp--;
@@ -75886,28 +80172,28 @@
 
 
     // $ANTLR start "rule__URIFirstPathElementCS__ReferredElementAssignment_1_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25995:1: rule__URIFirstPathElementCS__ReferredElementAssignment_1_1 : ( ( ruleURI ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27493:1: rule__URIFirstPathElementCS__ReferredElementAssignment_1_1 : ( ( ruleURI ) ) ;
     public final void rule__URIFirstPathElementCS__ReferredElementAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25999:1: ( ( ( ruleURI ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26000:1: ( ( ruleURI ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27497:1: ( ( ( ruleURI ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27498:1: ( ( ruleURI ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26000:1: ( ( ruleURI ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26001:1: ( ruleURI )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27498:1: ( ( ruleURI ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27499:1: ( ruleURI )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getURIFirstPathElementCSAccess().getReferredElementNamespaceCrossReference_1_1_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26002:1: ( ruleURI )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26003:1: ruleURI
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27500:1: ( ruleURI )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27501:1: ruleURI
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getURIFirstPathElementCSAccess().getReferredElementNamespaceURIParserRuleCall_1_1_0_1()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleURI_in_rule__URIFirstPathElementCS__ReferredElementAssignment_1_152889);
+            pushFollow(FollowSets002.FOLLOW_ruleURI_in_rule__URIFirstPathElementCS__ReferredElementAssignment_1_157280);
             ruleURI();
 
             state._fsp--;
@@ -75943,22 +80229,22 @@
 
 
     // $ANTLR start "rule__PrimitiveTypeCS__NameAssignment"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26014:1: rule__PrimitiveTypeCS__NameAssignment : ( rulePrimitiveTypeIdentifier ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27512:1: rule__PrimitiveTypeCS__NameAssignment : ( rulePrimitiveTypeIdentifier ) ;
     public final void rule__PrimitiveTypeCS__NameAssignment() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26018:1: ( ( rulePrimitiveTypeIdentifier ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26019:1: ( rulePrimitiveTypeIdentifier )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27516:1: ( ( rulePrimitiveTypeIdentifier ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27517:1: ( rulePrimitiveTypeIdentifier )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26019:1: ( rulePrimitiveTypeIdentifier )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26020:1: rulePrimitiveTypeIdentifier
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27517:1: ( rulePrimitiveTypeIdentifier )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27518:1: rulePrimitiveTypeIdentifier
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPrimitiveTypeCSAccess().getNamePrimitiveTypeIdentifierParserRuleCall_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_rulePrimitiveTypeIdentifier_in_rule__PrimitiveTypeCS__NameAssignment52924);
+            pushFollow(FollowSets002.FOLLOW_rulePrimitiveTypeIdentifier_in_rule__PrimitiveTypeCS__NameAssignment57315);
             rulePrimitiveTypeIdentifier();
 
             state._fsp--;
@@ -75988,22 +80274,22 @@
 
 
     // $ANTLR start "rule__CollectionTypeCS__NameAssignment_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26029:1: rule__CollectionTypeCS__NameAssignment_0 : ( ruleCollectionTypeIdentifier ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27527:1: rule__CollectionTypeCS__NameAssignment_0 : ( ruleCollectionTypeIdentifier ) ;
     public final void rule__CollectionTypeCS__NameAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26033:1: ( ( ruleCollectionTypeIdentifier ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26034:1: ( ruleCollectionTypeIdentifier )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27531:1: ( ( ruleCollectionTypeIdentifier ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27532:1: ( ruleCollectionTypeIdentifier )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26034:1: ( ruleCollectionTypeIdentifier )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26035:1: ruleCollectionTypeIdentifier
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27532:1: ( ruleCollectionTypeIdentifier )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27533:1: ruleCollectionTypeIdentifier
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionTypeCSAccess().getNameCollectionTypeIdentifierParserRuleCall_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleCollectionTypeIdentifier_in_rule__CollectionTypeCS__NameAssignment_052955);
+            pushFollow(FollowSets002.FOLLOW_ruleCollectionTypeIdentifier_in_rule__CollectionTypeCS__NameAssignment_057346);
             ruleCollectionTypeIdentifier();
 
             state._fsp--;
@@ -76033,22 +80319,22 @@
 
 
     // $ANTLR start "rule__CollectionTypeCS__OwnedTypeAssignment_1_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26044:1: rule__CollectionTypeCS__OwnedTypeAssignment_1_1 : ( ruleTypeExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27542:1: rule__CollectionTypeCS__OwnedTypeAssignment_1_1 : ( ruleTypeExpCS ) ;
     public final void rule__CollectionTypeCS__OwnedTypeAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26048:1: ( ( ruleTypeExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26049:1: ( ruleTypeExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27546:1: ( ( ruleTypeExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27547:1: ( ruleTypeExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26049:1: ( ruleTypeExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26050:1: ruleTypeExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27547:1: ( ruleTypeExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27548:1: ruleTypeExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionTypeCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTypeExpCS_in_rule__CollectionTypeCS__OwnedTypeAssignment_1_152986);
+            pushFollow(FollowSets002.FOLLOW_ruleTypeExpCS_in_rule__CollectionTypeCS__OwnedTypeAssignment_1_157377);
             ruleTypeExpCS();
 
             state._fsp--;
@@ -76078,28 +80364,28 @@
 
 
     // $ANTLR start "rule__TupleTypeCS__NameAssignment_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26059:1: rule__TupleTypeCS__NameAssignment_0 : ( ( 'Tuple' ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27557:1: rule__TupleTypeCS__NameAssignment_0 : ( ( 'Tuple' ) ) ;
     public final void rule__TupleTypeCS__NameAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26063:1: ( ( ( 'Tuple' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26064:1: ( ( 'Tuple' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27561:1: ( ( ( 'Tuple' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27562:1: ( ( 'Tuple' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26064:1: ( ( 'Tuple' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26065:1: ( 'Tuple' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27562:1: ( ( 'Tuple' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27563:1: ( 'Tuple' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTupleTypeCSAccess().getNameTupleKeyword_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26066:1: ( 'Tuple' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26067:1: 'Tuple'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27564:1: ( 'Tuple' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27565:1: 'Tuple'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTupleTypeCSAccess().getNameTupleKeyword_0_0()); 
             }
-            match(input,80,FollowSets002.FOLLOW_80_in_rule__TupleTypeCS__NameAssignment_053022); if (state.failed) return ;
+            match(input,89,FollowSets002.FOLLOW_89_in_rule__TupleTypeCS__NameAssignment_057413); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTupleTypeCSAccess().getNameTupleKeyword_0_0()); 
             }
@@ -76131,22 +80417,22 @@
 
 
     // $ANTLR start "rule__TupleTypeCS__OwnedPartsAssignment_1_1_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26082:1: rule__TupleTypeCS__OwnedPartsAssignment_1_1_0 : ( ruleTuplePartCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27580:1: rule__TupleTypeCS__OwnedPartsAssignment_1_1_0 : ( ruleTuplePartCS ) ;
     public final void rule__TupleTypeCS__OwnedPartsAssignment_1_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26086:1: ( ( ruleTuplePartCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26087:1: ( ruleTuplePartCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27584:1: ( ( ruleTuplePartCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27585:1: ( ruleTuplePartCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26087:1: ( ruleTuplePartCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26088:1: ruleTuplePartCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27585:1: ( ruleTuplePartCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27586:1: ruleTuplePartCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTupleTypeCSAccess().getOwnedPartsTuplePartCSParserRuleCall_1_1_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTuplePartCS_in_rule__TupleTypeCS__OwnedPartsAssignment_1_1_053061);
+            pushFollow(FollowSets002.FOLLOW_ruleTuplePartCS_in_rule__TupleTypeCS__OwnedPartsAssignment_1_1_057452);
             ruleTuplePartCS();
 
             state._fsp--;
@@ -76176,22 +80462,22 @@
 
 
     // $ANTLR start "rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26097:1: rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1 : ( ruleTuplePartCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27595:1: rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1 : ( ruleTuplePartCS ) ;
     public final void rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26101:1: ( ( ruleTuplePartCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26102:1: ( ruleTuplePartCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27599:1: ( ( ruleTuplePartCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27600:1: ( ruleTuplePartCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26102:1: ( ruleTuplePartCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26103:1: ruleTuplePartCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27600:1: ( ruleTuplePartCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27601:1: ruleTuplePartCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTupleTypeCSAccess().getOwnedPartsTuplePartCSParserRuleCall_1_1_1_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTuplePartCS_in_rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_153092);
+            pushFollow(FollowSets002.FOLLOW_ruleTuplePartCS_in_rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_157483);
             ruleTuplePartCS();
 
             state._fsp--;
@@ -76221,22 +80507,22 @@
 
 
     // $ANTLR start "rule__TuplePartCS__NameAssignment_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26112:1: rule__TuplePartCS__NameAssignment_0 : ( ruleUnrestrictedName ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27610:1: rule__TuplePartCS__NameAssignment_0 : ( ruleUnrestrictedName ) ;
     public final void rule__TuplePartCS__NameAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26116:1: ( ( ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26117:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27614:1: ( ( ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27615:1: ( ruleUnrestrictedName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26117:1: ( ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26118:1: ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27615:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27616:1: ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTuplePartCSAccess().getNameUnrestrictedNameParserRuleCall_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__TuplePartCS__NameAssignment_053123);
+            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__TuplePartCS__NameAssignment_057514);
             ruleUnrestrictedName();
 
             state._fsp--;
@@ -76266,22 +80552,22 @@
 
 
     // $ANTLR start "rule__TuplePartCS__OwnedTypeAssignment_2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26127:1: rule__TuplePartCS__OwnedTypeAssignment_2 : ( ruleTypeExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27625:1: rule__TuplePartCS__OwnedTypeAssignment_2 : ( ruleTypeExpCS ) ;
     public final void rule__TuplePartCS__OwnedTypeAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26131:1: ( ( ruleTypeExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26132:1: ( ruleTypeExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27629:1: ( ( ruleTypeExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27630:1: ( ruleTypeExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26132:1: ( ruleTypeExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26133:1: ruleTypeExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27630:1: ( ruleTypeExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27631:1: ruleTypeExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTuplePartCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTypeExpCS_in_rule__TuplePartCS__OwnedTypeAssignment_253154);
+            pushFollow(FollowSets002.FOLLOW_ruleTypeExpCS_in_rule__TuplePartCS__OwnedTypeAssignment_257545);
             ruleTypeExpCS();
 
             state._fsp--;
@@ -76311,22 +80597,22 @@
 
 
     // $ANTLR start "rule__CollectionLiteralExpCS__OwnedTypeAssignment_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26142:1: rule__CollectionLiteralExpCS__OwnedTypeAssignment_0 : ( ruleCollectionTypeCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27640:1: rule__CollectionLiteralExpCS__OwnedTypeAssignment_0 : ( ruleCollectionTypeCS ) ;
     public final void rule__CollectionLiteralExpCS__OwnedTypeAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26146:1: ( ( ruleCollectionTypeCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26147:1: ( ruleCollectionTypeCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27644:1: ( ( ruleCollectionTypeCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27645:1: ( ruleCollectionTypeCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26147:1: ( ruleCollectionTypeCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26148:1: ruleCollectionTypeCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27645:1: ( ruleCollectionTypeCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27646:1: ruleCollectionTypeCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedTypeCollectionTypeCSParserRuleCall_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleCollectionTypeCS_in_rule__CollectionLiteralExpCS__OwnedTypeAssignment_053185);
+            pushFollow(FollowSets002.FOLLOW_ruleCollectionTypeCS_in_rule__CollectionLiteralExpCS__OwnedTypeAssignment_057576);
             ruleCollectionTypeCS();
 
             state._fsp--;
@@ -76356,22 +80642,22 @@
 
 
     // $ANTLR start "rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26157:1: rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0 : ( ruleCollectionLiteralPartCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27655:1: rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0 : ( ruleCollectionLiteralPartCS ) ;
     public final void rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26161:1: ( ( ruleCollectionLiteralPartCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26162:1: ( ruleCollectionLiteralPartCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27659:1: ( ( ruleCollectionLiteralPartCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27660:1: ( ruleCollectionLiteralPartCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26162:1: ( ruleCollectionLiteralPartCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26163:1: ruleCollectionLiteralPartCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27660:1: ( ruleCollectionLiteralPartCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27661:1: ruleCollectionLiteralPartCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedPartsCollectionLiteralPartCSParserRuleCall_2_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleCollectionLiteralPartCS_in_rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_053216);
+            pushFollow(FollowSets002.FOLLOW_ruleCollectionLiteralPartCS_in_rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_057607);
             ruleCollectionLiteralPartCS();
 
             state._fsp--;
@@ -76401,22 +80687,22 @@
 
 
     // $ANTLR start "rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26172:1: rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1 : ( ruleCollectionLiteralPartCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27670:1: rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1 : ( ruleCollectionLiteralPartCS ) ;
     public final void rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26176:1: ( ( ruleCollectionLiteralPartCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26177:1: ( ruleCollectionLiteralPartCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27674:1: ( ( ruleCollectionLiteralPartCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27675:1: ( ruleCollectionLiteralPartCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26177:1: ( ruleCollectionLiteralPartCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26178:1: ruleCollectionLiteralPartCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27675:1: ( ruleCollectionLiteralPartCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27676:1: ruleCollectionLiteralPartCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedPartsCollectionLiteralPartCSParserRuleCall_2_1_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleCollectionLiteralPartCS_in_rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_153247);
+            pushFollow(FollowSets002.FOLLOW_ruleCollectionLiteralPartCS_in_rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_157638);
             ruleCollectionLiteralPartCS();
 
             state._fsp--;
@@ -76446,22 +80732,22 @@
 
 
     // $ANTLR start "rule__CollectionLiteralPartCS__OwnedExpressionAssignment_0_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26187:1: rule__CollectionLiteralPartCS__OwnedExpressionAssignment_0_0 : ( ruleExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27685:1: rule__CollectionLiteralPartCS__OwnedExpressionAssignment_0_0 : ( ruleExpCS ) ;
     public final void rule__CollectionLiteralPartCS__OwnedExpressionAssignment_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26191:1: ( ( ruleExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26192:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27689:1: ( ( ruleExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27690:1: ( ruleExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26192:1: ( ruleExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26193:1: ruleExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27690:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27691:1: ruleExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionLiteralPartCSAccess().getOwnedExpressionExpCSParserRuleCall_0_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__CollectionLiteralPartCS__OwnedExpressionAssignment_0_053278);
+            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__CollectionLiteralPartCS__OwnedExpressionAssignment_0_057669);
             ruleExpCS();
 
             state._fsp--;
@@ -76491,22 +80777,22 @@
 
 
     // $ANTLR start "rule__CollectionLiteralPartCS__OwnedLastExpressionAssignment_0_1_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26202:1: rule__CollectionLiteralPartCS__OwnedLastExpressionAssignment_0_1_1 : ( ruleExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27700:1: rule__CollectionLiteralPartCS__OwnedLastExpressionAssignment_0_1_1 : ( ruleExpCS ) ;
     public final void rule__CollectionLiteralPartCS__OwnedLastExpressionAssignment_0_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26206:1: ( ( ruleExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26207:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27704:1: ( ( ruleExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27705:1: ( ruleExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26207:1: ( ruleExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26208:1: ruleExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27705:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27706:1: ruleExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionLiteralPartCSAccess().getOwnedLastExpressionExpCSParserRuleCall_0_1_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__CollectionLiteralPartCS__OwnedLastExpressionAssignment_0_1_153309);
+            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__CollectionLiteralPartCS__OwnedLastExpressionAssignment_0_1_157700);
             ruleExpCS();
 
             state._fsp--;
@@ -76536,22 +80822,22 @@
 
 
     // $ANTLR start "rule__CollectionLiteralPartCS__OwnedExpressionAssignment_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26217:1: rule__CollectionLiteralPartCS__OwnedExpressionAssignment_1 : ( rulePatternExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27715:1: rule__CollectionLiteralPartCS__OwnedExpressionAssignment_1 : ( rulePatternExpCS ) ;
     public final void rule__CollectionLiteralPartCS__OwnedExpressionAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26221:1: ( ( rulePatternExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26222:1: ( rulePatternExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27719:1: ( ( rulePatternExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27720:1: ( rulePatternExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26222:1: ( rulePatternExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26223:1: rulePatternExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27720:1: ( rulePatternExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27721:1: rulePatternExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionLiteralPartCSAccess().getOwnedExpressionPatternExpCSParserRuleCall_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_rulePatternExpCS_in_rule__CollectionLiteralPartCS__OwnedExpressionAssignment_153340);
+            pushFollow(FollowSets002.FOLLOW_rulePatternExpCS_in_rule__CollectionLiteralPartCS__OwnedExpressionAssignment_157731);
             rulePatternExpCS();
 
             state._fsp--;
@@ -76581,22 +80867,22 @@
 
 
     // $ANTLR start "rule__CollectionPatternCS__OwnedTypeAssignment_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26232:1: rule__CollectionPatternCS__OwnedTypeAssignment_0 : ( ruleCollectionTypeCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27730:1: rule__CollectionPatternCS__OwnedTypeAssignment_0 : ( ruleCollectionTypeCS ) ;
     public final void rule__CollectionPatternCS__OwnedTypeAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26236:1: ( ( ruleCollectionTypeCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26237:1: ( ruleCollectionTypeCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27734:1: ( ( ruleCollectionTypeCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27735:1: ( ruleCollectionTypeCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26237:1: ( ruleCollectionTypeCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26238:1: ruleCollectionTypeCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27735:1: ( ruleCollectionTypeCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27736:1: ruleCollectionTypeCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionPatternCSAccess().getOwnedTypeCollectionTypeCSParserRuleCall_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleCollectionTypeCS_in_rule__CollectionPatternCS__OwnedTypeAssignment_053371);
+            pushFollow(FollowSets002.FOLLOW_ruleCollectionTypeCS_in_rule__CollectionPatternCS__OwnedTypeAssignment_057762);
             ruleCollectionTypeCS();
 
             state._fsp--;
@@ -76626,22 +80912,22 @@
 
 
     // $ANTLR start "rule__CollectionPatternCS__OwnedPartsAssignment_2_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26247:1: rule__CollectionPatternCS__OwnedPartsAssignment_2_0 : ( rulePatternExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27745:1: rule__CollectionPatternCS__OwnedPartsAssignment_2_0 : ( rulePatternExpCS ) ;
     public final void rule__CollectionPatternCS__OwnedPartsAssignment_2_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26251:1: ( ( rulePatternExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26252:1: ( rulePatternExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27749:1: ( ( rulePatternExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27750:1: ( rulePatternExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26252:1: ( rulePatternExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26253:1: rulePatternExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27750:1: ( rulePatternExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27751:1: rulePatternExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionPatternCSAccess().getOwnedPartsPatternExpCSParserRuleCall_2_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_rulePatternExpCS_in_rule__CollectionPatternCS__OwnedPartsAssignment_2_053402);
+            pushFollow(FollowSets002.FOLLOW_rulePatternExpCS_in_rule__CollectionPatternCS__OwnedPartsAssignment_2_057793);
             rulePatternExpCS();
 
             state._fsp--;
@@ -76671,22 +80957,22 @@
 
 
     // $ANTLR start "rule__CollectionPatternCS__OwnedPartsAssignment_2_1_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26262:1: rule__CollectionPatternCS__OwnedPartsAssignment_2_1_1 : ( rulePatternExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27760:1: rule__CollectionPatternCS__OwnedPartsAssignment_2_1_1 : ( rulePatternExpCS ) ;
     public final void rule__CollectionPatternCS__OwnedPartsAssignment_2_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26266:1: ( ( rulePatternExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26267:1: ( rulePatternExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27764:1: ( ( rulePatternExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27765:1: ( rulePatternExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26267:1: ( rulePatternExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26268:1: rulePatternExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27765:1: ( rulePatternExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27766:1: rulePatternExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionPatternCSAccess().getOwnedPartsPatternExpCSParserRuleCall_2_1_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_rulePatternExpCS_in_rule__CollectionPatternCS__OwnedPartsAssignment_2_1_153433);
+            pushFollow(FollowSets002.FOLLOW_rulePatternExpCS_in_rule__CollectionPatternCS__OwnedPartsAssignment_2_1_157824);
             rulePatternExpCS();
 
             state._fsp--;
@@ -76716,22 +81002,22 @@
 
 
     // $ANTLR start "rule__CollectionPatternCS__RestVariableNameAssignment_2_2_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26277:1: rule__CollectionPatternCS__RestVariableNameAssignment_2_2_1 : ( ruleIdentifier ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27775:1: rule__CollectionPatternCS__RestVariableNameAssignment_2_2_1 : ( ruleIdentifier ) ;
     public final void rule__CollectionPatternCS__RestVariableNameAssignment_2_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26281:1: ( ( ruleIdentifier ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26282:1: ( ruleIdentifier )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27779:1: ( ( ruleIdentifier ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27780:1: ( ruleIdentifier )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26282:1: ( ruleIdentifier )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26283:1: ruleIdentifier
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27780:1: ( ruleIdentifier )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27781:1: ruleIdentifier
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCollectionPatternCSAccess().getRestVariableNameIdentifierParserRuleCall_2_2_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleIdentifier_in_rule__CollectionPatternCS__RestVariableNameAssignment_2_2_153464);
+            pushFollow(FollowSets002.FOLLOW_ruleIdentifier_in_rule__CollectionPatternCS__RestVariableNameAssignment_2_2_157855);
             ruleIdentifier();
 
             state._fsp--;
@@ -76761,28 +81047,28 @@
 
 
     // $ANTLR start "rule__ConstructorPartCS__ReferredPropertyAssignment_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26292:1: rule__ConstructorPartCS__ReferredPropertyAssignment_0 : ( ( ruleUnrestrictedName ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27790:1: rule__ConstructorPartCS__ReferredPropertyAssignment_0 : ( ( ruleUnrestrictedName ) ) ;
     public final void rule__ConstructorPartCS__ReferredPropertyAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26296:1: ( ( ( ruleUnrestrictedName ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26297:1: ( ( ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27794:1: ( ( ( ruleUnrestrictedName ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27795:1: ( ( ruleUnrestrictedName ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26297:1: ( ( ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26298:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27795:1: ( ( ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27796:1: ( ruleUnrestrictedName )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getConstructorPartCSAccess().getReferredPropertyPropertyCrossReference_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26299:1: ( ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26300:1: ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27797:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27798:1: ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getConstructorPartCSAccess().getReferredPropertyPropertyUnrestrictedNameParserRuleCall_0_0_1()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__ConstructorPartCS__ReferredPropertyAssignment_053499);
+            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__ConstructorPartCS__ReferredPropertyAssignment_057890);
             ruleUnrestrictedName();
 
             state._fsp--;
@@ -76818,25 +81104,25 @@
 
 
     // $ANTLR start "rule__ConstructorPartCS__OwnedInitExpressionAssignment_2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26311:1: rule__ConstructorPartCS__OwnedInitExpressionAssignment_2 : ( ( rule__ConstructorPartCS__OwnedInitExpressionAlternatives_2_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27809:1: rule__ConstructorPartCS__OwnedInitExpressionAssignment_2 : ( ( rule__ConstructorPartCS__OwnedInitExpressionAlternatives_2_0 ) ) ;
     public final void rule__ConstructorPartCS__OwnedInitExpressionAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26315:1: ( ( ( rule__ConstructorPartCS__OwnedInitExpressionAlternatives_2_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26316:1: ( ( rule__ConstructorPartCS__OwnedInitExpressionAlternatives_2_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27813:1: ( ( ( rule__ConstructorPartCS__OwnedInitExpressionAlternatives_2_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27814:1: ( ( rule__ConstructorPartCS__OwnedInitExpressionAlternatives_2_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26316:1: ( ( rule__ConstructorPartCS__OwnedInitExpressionAlternatives_2_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26317:1: ( rule__ConstructorPartCS__OwnedInitExpressionAlternatives_2_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27814:1: ( ( rule__ConstructorPartCS__OwnedInitExpressionAlternatives_2_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27815:1: ( rule__ConstructorPartCS__OwnedInitExpressionAlternatives_2_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getConstructorPartCSAccess().getOwnedInitExpressionAlternatives_2_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26318:1: ( rule__ConstructorPartCS__OwnedInitExpressionAlternatives_2_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26318:2: rule__ConstructorPartCS__OwnedInitExpressionAlternatives_2_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27816:1: ( rule__ConstructorPartCS__OwnedInitExpressionAlternatives_2_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27816:2: rule__ConstructorPartCS__OwnedInitExpressionAlternatives_2_0
             {
-            pushFollow(FollowSets002.FOLLOW_rule__ConstructorPartCS__OwnedInitExpressionAlternatives_2_0_in_rule__ConstructorPartCS__OwnedInitExpressionAssignment_253534);
+            pushFollow(FollowSets002.FOLLOW_rule__ConstructorPartCS__OwnedInitExpressionAlternatives_2_0_in_rule__ConstructorPartCS__OwnedInitExpressionAssignment_257925);
             rule__ConstructorPartCS__OwnedInitExpressionAlternatives_2_0();
 
             state._fsp--;
@@ -76869,22 +81155,22 @@
 
 
     // $ANTLR start "rule__PatternExpCS__PatternVariableNameAssignment_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26327:1: rule__PatternExpCS__PatternVariableNameAssignment_0 : ( ruleUnrestrictedName ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27825:1: rule__PatternExpCS__PatternVariableNameAssignment_0 : ( ruleUnrestrictedName ) ;
     public final void rule__PatternExpCS__PatternVariableNameAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26331:1: ( ( ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26332:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27829:1: ( ( ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27830:1: ( ruleUnrestrictedName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26332:1: ( ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26333:1: ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27830:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27831:1: ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPatternExpCSAccess().getPatternVariableNameUnrestrictedNameParserRuleCall_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__PatternExpCS__PatternVariableNameAssignment_053567);
+            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__PatternExpCS__PatternVariableNameAssignment_057958);
             ruleUnrestrictedName();
 
             state._fsp--;
@@ -76914,22 +81200,22 @@
 
 
     // $ANTLR start "rule__PatternExpCS__OwnedPatternTypeAssignment_2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26342:1: rule__PatternExpCS__OwnedPatternTypeAssignment_2 : ( ruleTypeExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27840:1: rule__PatternExpCS__OwnedPatternTypeAssignment_2 : ( ruleTypeExpCS ) ;
     public final void rule__PatternExpCS__OwnedPatternTypeAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26346:1: ( ( ruleTypeExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26347:1: ( ruleTypeExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27844:1: ( ( ruleTypeExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27845:1: ( ruleTypeExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26347:1: ( ruleTypeExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26348:1: ruleTypeExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27845:1: ( ruleTypeExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27846:1: ruleTypeExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPatternExpCSAccess().getOwnedPatternTypeTypeExpCSParserRuleCall_2_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTypeExpCS_in_rule__PatternExpCS__OwnedPatternTypeAssignment_253598);
+            pushFollow(FollowSets002.FOLLOW_ruleTypeExpCS_in_rule__PatternExpCS__OwnedPatternTypeAssignment_257989);
             ruleTypeExpCS();
 
             state._fsp--;
@@ -76959,22 +81245,22 @@
 
 
     // $ANTLR start "rule__LambdaLiteralExpCS__OwnedExpressionCSAssignment_2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26357:1: rule__LambdaLiteralExpCS__OwnedExpressionCSAssignment_2 : ( ruleExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27855:1: rule__LambdaLiteralExpCS__OwnedExpressionCSAssignment_2 : ( ruleExpCS ) ;
     public final void rule__LambdaLiteralExpCS__OwnedExpressionCSAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26361:1: ( ( ruleExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26362:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27859:1: ( ( ruleExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27860:1: ( ruleExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26362:1: ( ruleExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26363:1: ruleExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27860:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27861:1: ruleExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLambdaLiteralExpCSAccess().getOwnedExpressionCSExpCSParserRuleCall_2_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__LambdaLiteralExpCS__OwnedExpressionCSAssignment_253629);
+            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__LambdaLiteralExpCS__OwnedExpressionCSAssignment_258020);
             ruleExpCS();
 
             state._fsp--;
@@ -77004,22 +81290,22 @@
 
 
     // $ANTLR start "rule__TupleLiteralExpCS__OwnedPartsAssignment_2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26372:1: rule__TupleLiteralExpCS__OwnedPartsAssignment_2 : ( ruleTupleLiteralPartCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27870:1: rule__TupleLiteralExpCS__OwnedPartsAssignment_2 : ( ruleTupleLiteralPartCS ) ;
     public final void rule__TupleLiteralExpCS__OwnedPartsAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26376:1: ( ( ruleTupleLiteralPartCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26377:1: ( ruleTupleLiteralPartCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27874:1: ( ( ruleTupleLiteralPartCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27875:1: ( ruleTupleLiteralPartCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26377:1: ( ruleTupleLiteralPartCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26378:1: ruleTupleLiteralPartCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27875:1: ( ruleTupleLiteralPartCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27876:1: ruleTupleLiteralPartCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTupleLiteralExpCSAccess().getOwnedPartsTupleLiteralPartCSParserRuleCall_2_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTupleLiteralPartCS_in_rule__TupleLiteralExpCS__OwnedPartsAssignment_253660);
+            pushFollow(FollowSets002.FOLLOW_ruleTupleLiteralPartCS_in_rule__TupleLiteralExpCS__OwnedPartsAssignment_258051);
             ruleTupleLiteralPartCS();
 
             state._fsp--;
@@ -77049,22 +81335,22 @@
 
 
     // $ANTLR start "rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26387:1: rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1 : ( ruleTupleLiteralPartCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27885:1: rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1 : ( ruleTupleLiteralPartCS ) ;
     public final void rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26391:1: ( ( ruleTupleLiteralPartCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26392:1: ( ruleTupleLiteralPartCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27889:1: ( ( ruleTupleLiteralPartCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27890:1: ( ruleTupleLiteralPartCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26392:1: ( ruleTupleLiteralPartCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26393:1: ruleTupleLiteralPartCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27890:1: ( ruleTupleLiteralPartCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27891:1: ruleTupleLiteralPartCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTupleLiteralExpCSAccess().getOwnedPartsTupleLiteralPartCSParserRuleCall_3_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTupleLiteralPartCS_in_rule__TupleLiteralExpCS__OwnedPartsAssignment_3_153691);
+            pushFollow(FollowSets002.FOLLOW_ruleTupleLiteralPartCS_in_rule__TupleLiteralExpCS__OwnedPartsAssignment_3_158082);
             ruleTupleLiteralPartCS();
 
             state._fsp--;
@@ -77094,22 +81380,22 @@
 
 
     // $ANTLR start "rule__TupleLiteralPartCS__NameAssignment_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26402:1: rule__TupleLiteralPartCS__NameAssignment_0 : ( ruleUnrestrictedName ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27900:1: rule__TupleLiteralPartCS__NameAssignment_0 : ( ruleUnrestrictedName ) ;
     public final void rule__TupleLiteralPartCS__NameAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26406:1: ( ( ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26407:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27904:1: ( ( ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27905:1: ( ruleUnrestrictedName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26407:1: ( ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26408:1: ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27905:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27906:1: ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTupleLiteralPartCSAccess().getNameUnrestrictedNameParserRuleCall_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__TupleLiteralPartCS__NameAssignment_053722);
+            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__TupleLiteralPartCS__NameAssignment_058113);
             ruleUnrestrictedName();
 
             state._fsp--;
@@ -77139,22 +81425,22 @@
 
 
     // $ANTLR start "rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26417:1: rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1 : ( ruleTypeExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27915:1: rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1 : ( ruleTypeExpCS ) ;
     public final void rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26421:1: ( ( ruleTypeExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26422:1: ( ruleTypeExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27919:1: ( ( ruleTypeExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27920:1: ( ruleTypeExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26422:1: ( ruleTypeExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26423:1: ruleTypeExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27920:1: ( ruleTypeExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27921:1: ruleTypeExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTupleLiteralPartCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTypeExpCS_in_rule__TupleLiteralPartCS__OwnedTypeAssignment_1_153753);
+            pushFollow(FollowSets002.FOLLOW_ruleTypeExpCS_in_rule__TupleLiteralPartCS__OwnedTypeAssignment_1_158144);
             ruleTypeExpCS();
 
             state._fsp--;
@@ -77184,22 +81470,22 @@
 
 
     // $ANTLR start "rule__TupleLiteralPartCS__OwnedInitExpressionAssignment_3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26432:1: rule__TupleLiteralPartCS__OwnedInitExpressionAssignment_3 : ( ruleExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27930:1: rule__TupleLiteralPartCS__OwnedInitExpressionAssignment_3 : ( ruleExpCS ) ;
     public final void rule__TupleLiteralPartCS__OwnedInitExpressionAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26436:1: ( ( ruleExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26437:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27934:1: ( ( ruleExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27935:1: ( ruleExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26437:1: ( ruleExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26438:1: ruleExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27935:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27936:1: ruleExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTupleLiteralPartCSAccess().getOwnedInitExpressionExpCSParserRuleCall_3_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__TupleLiteralPartCS__OwnedInitExpressionAssignment_353784);
+            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__TupleLiteralPartCS__OwnedInitExpressionAssignment_358175);
             ruleExpCS();
 
             state._fsp--;
@@ -77229,22 +81515,22 @@
 
 
     // $ANTLR start "rule__NumberLiteralExpCS__SymbolAssignment"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26447:1: rule__NumberLiteralExpCS__SymbolAssignment : ( ruleNUMBER_LITERAL ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27945:1: rule__NumberLiteralExpCS__SymbolAssignment : ( ruleNUMBER_LITERAL ) ;
     public final void rule__NumberLiteralExpCS__SymbolAssignment() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26451:1: ( ( ruleNUMBER_LITERAL ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26452:1: ( ruleNUMBER_LITERAL )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27949:1: ( ( ruleNUMBER_LITERAL ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27950:1: ( ruleNUMBER_LITERAL )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26452:1: ( ruleNUMBER_LITERAL )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26453:1: ruleNUMBER_LITERAL
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27950:1: ( ruleNUMBER_LITERAL )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27951:1: ruleNUMBER_LITERAL
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNumberLiteralExpCSAccess().getSymbolNUMBER_LITERALParserRuleCall_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleNUMBER_LITERAL_in_rule__NumberLiteralExpCS__SymbolAssignment53815);
+            pushFollow(FollowSets002.FOLLOW_ruleNUMBER_LITERAL_in_rule__NumberLiteralExpCS__SymbolAssignment58206);
             ruleNUMBER_LITERAL();
 
             state._fsp--;
@@ -77274,22 +81560,22 @@
 
 
     // $ANTLR start "rule__StringLiteralExpCS__SegmentsAssignment"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26462:1: rule__StringLiteralExpCS__SegmentsAssignment : ( ruleStringLiteral ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27960:1: rule__StringLiteralExpCS__SegmentsAssignment : ( ruleStringLiteral ) ;
     public final void rule__StringLiteralExpCS__SegmentsAssignment() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26466:1: ( ( ruleStringLiteral ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26467:1: ( ruleStringLiteral )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27964:1: ( ( ruleStringLiteral ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27965:1: ( ruleStringLiteral )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26467:1: ( ruleStringLiteral )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26468:1: ruleStringLiteral
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27965:1: ( ruleStringLiteral )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27966:1: ruleStringLiteral
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStringLiteralExpCSAccess().getSegmentsStringLiteralParserRuleCall_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleStringLiteral_in_rule__StringLiteralExpCS__SegmentsAssignment53846);
+            pushFollow(FollowSets002.FOLLOW_ruleStringLiteral_in_rule__StringLiteralExpCS__SegmentsAssignment58237);
             ruleStringLiteral();
 
             state._fsp--;
@@ -77319,28 +81605,28 @@
 
 
     // $ANTLR start "rule__BooleanLiteralExpCS__SymbolAssignment_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26477:1: rule__BooleanLiteralExpCS__SymbolAssignment_0 : ( ( 'true' ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27975:1: rule__BooleanLiteralExpCS__SymbolAssignment_0 : ( ( 'true' ) ) ;
     public final void rule__BooleanLiteralExpCS__SymbolAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26481:1: ( ( ( 'true' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26482:1: ( ( 'true' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27979:1: ( ( ( 'true' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27980:1: ( ( 'true' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26482:1: ( ( 'true' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26483:1: ( 'true' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27980:1: ( ( 'true' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27981:1: ( 'true' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getBooleanLiteralExpCSAccess().getSymbolTrueKeyword_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26484:1: ( 'true' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26485:1: 'true'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27982:1: ( 'true' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27983:1: 'true'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getBooleanLiteralExpCSAccess().getSymbolTrueKeyword_0_0()); 
             }
-            match(input,131,FollowSets002.FOLLOW_131_in_rule__BooleanLiteralExpCS__SymbolAssignment_053882); if (state.failed) return ;
+            match(input,131,FollowSets002.FOLLOW_131_in_rule__BooleanLiteralExpCS__SymbolAssignment_058273); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getBooleanLiteralExpCSAccess().getSymbolTrueKeyword_0_0()); 
             }
@@ -77372,28 +81658,28 @@
 
 
     // $ANTLR start "rule__BooleanLiteralExpCS__SymbolAssignment_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26500:1: rule__BooleanLiteralExpCS__SymbolAssignment_1 : ( ( 'false' ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27998:1: rule__BooleanLiteralExpCS__SymbolAssignment_1 : ( ( 'false' ) ) ;
     public final void rule__BooleanLiteralExpCS__SymbolAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26504:1: ( ( ( 'false' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26505:1: ( ( 'false' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28002:1: ( ( ( 'false' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28003:1: ( ( 'false' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26505:1: ( ( 'false' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26506:1: ( 'false' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28003:1: ( ( 'false' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28004:1: ( 'false' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getBooleanLiteralExpCSAccess().getSymbolFalseKeyword_1_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26507:1: ( 'false' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26508:1: 'false'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28005:1: ( 'false' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28006:1: 'false'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getBooleanLiteralExpCSAccess().getSymbolFalseKeyword_1_0()); 
             }
-            match(input,132,FollowSets002.FOLLOW_132_in_rule__BooleanLiteralExpCS__SymbolAssignment_153926); if (state.failed) return ;
+            match(input,132,FollowSets002.FOLLOW_132_in_rule__BooleanLiteralExpCS__SymbolAssignment_158317); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getBooleanLiteralExpCSAccess().getSymbolFalseKeyword_1_0()); 
             }
@@ -77425,22 +81711,22 @@
 
 
     // $ANTLR start "rule__TypeLiteralWithMultiplicityCS__OwnedMultiplicityAssignment_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26523:1: rule__TypeLiteralWithMultiplicityCS__OwnedMultiplicityAssignment_1 : ( ruleMultiplicityCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28021:1: rule__TypeLiteralWithMultiplicityCS__OwnedMultiplicityAssignment_1 : ( ruleMultiplicityCS ) ;
     public final void rule__TypeLiteralWithMultiplicityCS__OwnedMultiplicityAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26527:1: ( ( ruleMultiplicityCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26528:1: ( ruleMultiplicityCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28025:1: ( ( ruleMultiplicityCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28026:1: ( ruleMultiplicityCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26528:1: ( ruleMultiplicityCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26529:1: ruleMultiplicityCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28026:1: ( ruleMultiplicityCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28027:1: ruleMultiplicityCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTypeLiteralWithMultiplicityCSAccess().getOwnedMultiplicityMultiplicityCSParserRuleCall_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleMultiplicityCS_in_rule__TypeLiteralWithMultiplicityCS__OwnedMultiplicityAssignment_153965);
+            pushFollow(FollowSets002.FOLLOW_ruleMultiplicityCS_in_rule__TypeLiteralWithMultiplicityCS__OwnedMultiplicityAssignment_158356);
             ruleMultiplicityCS();
 
             state._fsp--;
@@ -77470,22 +81756,22 @@
 
 
     // $ANTLR start "rule__TypeLiteralExpCS__OwnedTypeAssignment"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26538:1: rule__TypeLiteralExpCS__OwnedTypeAssignment : ( ruleTypeLiteralWithMultiplicityCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28036:1: rule__TypeLiteralExpCS__OwnedTypeAssignment : ( ruleTypeLiteralWithMultiplicityCS ) ;
     public final void rule__TypeLiteralExpCS__OwnedTypeAssignment() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26542:1: ( ( ruleTypeLiteralWithMultiplicityCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26543:1: ( ruleTypeLiteralWithMultiplicityCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28040:1: ( ( ruleTypeLiteralWithMultiplicityCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28041:1: ( ruleTypeLiteralWithMultiplicityCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26543:1: ( ruleTypeLiteralWithMultiplicityCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26544:1: ruleTypeLiteralWithMultiplicityCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28041:1: ( ruleTypeLiteralWithMultiplicityCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28042:1: ruleTypeLiteralWithMultiplicityCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTypeLiteralExpCSAccess().getOwnedTypeTypeLiteralWithMultiplicityCSParserRuleCall_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTypeLiteralWithMultiplicityCS_in_rule__TypeLiteralExpCS__OwnedTypeAssignment53996);
+            pushFollow(FollowSets002.FOLLOW_ruleTypeLiteralWithMultiplicityCS_in_rule__TypeLiteralExpCS__OwnedTypeAssignment58387);
             ruleTypeLiteralWithMultiplicityCS();
 
             state._fsp--;
@@ -77515,22 +81801,22 @@
 
 
     // $ANTLR start "rule__TypeNameExpCS__OwnedPathNameAssignment_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26553:1: rule__TypeNameExpCS__OwnedPathNameAssignment_0 : ( rulePathNameCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28051:1: rule__TypeNameExpCS__OwnedPathNameAssignment_0 : ( rulePathNameCS ) ;
     public final void rule__TypeNameExpCS__OwnedPathNameAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26557:1: ( ( rulePathNameCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26558:1: ( rulePathNameCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28055:1: ( ( rulePathNameCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28056:1: ( rulePathNameCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26558:1: ( rulePathNameCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26559:1: rulePathNameCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28056:1: ( rulePathNameCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28057:1: rulePathNameCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTypeNameExpCSAccess().getOwnedPathNamePathNameCSParserRuleCall_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_rulePathNameCS_in_rule__TypeNameExpCS__OwnedPathNameAssignment_054027);
+            pushFollow(FollowSets002.FOLLOW_rulePathNameCS_in_rule__TypeNameExpCS__OwnedPathNameAssignment_058418);
             rulePathNameCS();
 
             state._fsp--;
@@ -77560,22 +81846,22 @@
 
 
     // $ANTLR start "rule__TypeNameExpCS__OwnedCurlyBracketedClauseAssignment_1_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26568:1: rule__TypeNameExpCS__OwnedCurlyBracketedClauseAssignment_1_0 : ( ruleCurlyBracketedClauseCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28066:1: rule__TypeNameExpCS__OwnedCurlyBracketedClauseAssignment_1_0 : ( ruleCurlyBracketedClauseCS ) ;
     public final void rule__TypeNameExpCS__OwnedCurlyBracketedClauseAssignment_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26572:1: ( ( ruleCurlyBracketedClauseCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26573:1: ( ruleCurlyBracketedClauseCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28070:1: ( ( ruleCurlyBracketedClauseCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28071:1: ( ruleCurlyBracketedClauseCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26573:1: ( ruleCurlyBracketedClauseCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26574:1: ruleCurlyBracketedClauseCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28071:1: ( ruleCurlyBracketedClauseCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28072:1: ruleCurlyBracketedClauseCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTypeNameExpCSAccess().getOwnedCurlyBracketedClauseCurlyBracketedClauseCSParserRuleCall_1_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleCurlyBracketedClauseCS_in_rule__TypeNameExpCS__OwnedCurlyBracketedClauseAssignment_1_054058);
+            pushFollow(FollowSets002.FOLLOW_ruleCurlyBracketedClauseCS_in_rule__TypeNameExpCS__OwnedCurlyBracketedClauseAssignment_1_058449);
             ruleCurlyBracketedClauseCS();
 
             state._fsp--;
@@ -77605,22 +81891,22 @@
 
 
     // $ANTLR start "rule__TypeNameExpCS__OwnedPatternGuardAssignment_1_1_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26583:1: rule__TypeNameExpCS__OwnedPatternGuardAssignment_1_1_1 : ( ruleExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28081:1: rule__TypeNameExpCS__OwnedPatternGuardAssignment_1_1_1 : ( ruleExpCS ) ;
     public final void rule__TypeNameExpCS__OwnedPatternGuardAssignment_1_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26587:1: ( ( ruleExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26588:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28085:1: ( ( ruleExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28086:1: ( ruleExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26588:1: ( ruleExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26589:1: ruleExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28086:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28087:1: ruleExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTypeNameExpCSAccess().getOwnedPatternGuardExpCSParserRuleCall_1_1_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__TypeNameExpCS__OwnedPatternGuardAssignment_1_1_154089);
+            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__TypeNameExpCS__OwnedPatternGuardAssignment_1_1_158480);
             ruleExpCS();
 
             state._fsp--;
@@ -77650,22 +81936,22 @@
 
 
     // $ANTLR start "rule__TypeExpCS__OwnedMultiplicityAssignment_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26598:1: rule__TypeExpCS__OwnedMultiplicityAssignment_1 : ( ruleMultiplicityCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28096:1: rule__TypeExpCS__OwnedMultiplicityAssignment_1 : ( ruleMultiplicityCS ) ;
     public final void rule__TypeExpCS__OwnedMultiplicityAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26602:1: ( ( ruleMultiplicityCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26603:1: ( ruleMultiplicityCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28100:1: ( ( ruleMultiplicityCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28101:1: ( ruleMultiplicityCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26603:1: ( ruleMultiplicityCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26604:1: ruleMultiplicityCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28101:1: ( ruleMultiplicityCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28102:1: ruleMultiplicityCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTypeExpCSAccess().getOwnedMultiplicityMultiplicityCSParserRuleCall_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleMultiplicityCS_in_rule__TypeExpCS__OwnedMultiplicityAssignment_154120);
+            pushFollow(FollowSets002.FOLLOW_ruleMultiplicityCS_in_rule__TypeExpCS__OwnedMultiplicityAssignment_158511);
             ruleMultiplicityCS();
 
             state._fsp--;
@@ -77695,22 +81981,22 @@
 
 
     // $ANTLR start "rule__ExpCS__NameAssignment_0_1_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26613:1: rule__ExpCS__NameAssignment_0_1_1 : ( ruleBinaryOperatorName ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28111:1: rule__ExpCS__NameAssignment_0_1_1 : ( ruleBinaryOperatorName ) ;
     public final void rule__ExpCS__NameAssignment_0_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26617:1: ( ( ruleBinaryOperatorName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26618:1: ( ruleBinaryOperatorName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28115:1: ( ( ruleBinaryOperatorName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28116:1: ( ruleBinaryOperatorName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26618:1: ( ruleBinaryOperatorName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26619:1: ruleBinaryOperatorName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28116:1: ( ruleBinaryOperatorName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28117:1: ruleBinaryOperatorName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getExpCSAccess().getNameBinaryOperatorNameParserRuleCall_0_1_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleBinaryOperatorName_in_rule__ExpCS__NameAssignment_0_1_154151);
+            pushFollow(FollowSets002.FOLLOW_ruleBinaryOperatorName_in_rule__ExpCS__NameAssignment_0_1_158542);
             ruleBinaryOperatorName();
 
             state._fsp--;
@@ -77740,22 +82026,22 @@
 
 
     // $ANTLR start "rule__ExpCS__OwnedRightAssignment_0_1_2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26628:1: rule__ExpCS__OwnedRightAssignment_0_1_2 : ( ruleExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28126:1: rule__ExpCS__OwnedRightAssignment_0_1_2 : ( ruleExpCS ) ;
     public final void rule__ExpCS__OwnedRightAssignment_0_1_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26632:1: ( ( ruleExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26633:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28130:1: ( ( ruleExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28131:1: ( ruleExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26633:1: ( ruleExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26634:1: ruleExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28131:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28132:1: ruleExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getExpCSAccess().getOwnedRightExpCSParserRuleCall_0_1_2_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__ExpCS__OwnedRightAssignment_0_1_254182);
+            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__ExpCS__OwnedRightAssignment_0_1_258573);
             ruleExpCS();
 
             state._fsp--;
@@ -77785,22 +82071,22 @@
 
 
     // $ANTLR start "rule__PrefixedLetExpCS__NameAssignment_0_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26643:1: rule__PrefixedLetExpCS__NameAssignment_0_1 : ( ruleUnaryOperatorName ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28141:1: rule__PrefixedLetExpCS__NameAssignment_0_1 : ( ruleUnaryOperatorName ) ;
     public final void rule__PrefixedLetExpCS__NameAssignment_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26647:1: ( ( ruleUnaryOperatorName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26648:1: ( ruleUnaryOperatorName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28145:1: ( ( ruleUnaryOperatorName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28146:1: ( ruleUnaryOperatorName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26648:1: ( ruleUnaryOperatorName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26649:1: ruleUnaryOperatorName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28146:1: ( ruleUnaryOperatorName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28147:1: ruleUnaryOperatorName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPrefixedLetExpCSAccess().getNameUnaryOperatorNameParserRuleCall_0_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleUnaryOperatorName_in_rule__PrefixedLetExpCS__NameAssignment_0_154213);
+            pushFollow(FollowSets002.FOLLOW_ruleUnaryOperatorName_in_rule__PrefixedLetExpCS__NameAssignment_0_158604);
             ruleUnaryOperatorName();
 
             state._fsp--;
@@ -77830,22 +82116,22 @@
 
 
     // $ANTLR start "rule__PrefixedLetExpCS__OwnedRightAssignment_0_2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26658:1: rule__PrefixedLetExpCS__OwnedRightAssignment_0_2 : ( rulePrefixedLetExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28156:1: rule__PrefixedLetExpCS__OwnedRightAssignment_0_2 : ( rulePrefixedLetExpCS ) ;
     public final void rule__PrefixedLetExpCS__OwnedRightAssignment_0_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26662:1: ( ( rulePrefixedLetExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26663:1: ( rulePrefixedLetExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28160:1: ( ( rulePrefixedLetExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28161:1: ( rulePrefixedLetExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26663:1: ( rulePrefixedLetExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26664:1: rulePrefixedLetExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28161:1: ( rulePrefixedLetExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28162:1: rulePrefixedLetExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPrefixedLetExpCSAccess().getOwnedRightPrefixedLetExpCSParserRuleCall_0_2_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_rulePrefixedLetExpCS_in_rule__PrefixedLetExpCS__OwnedRightAssignment_0_254244);
+            pushFollow(FollowSets002.FOLLOW_rulePrefixedLetExpCS_in_rule__PrefixedLetExpCS__OwnedRightAssignment_0_258635);
             rulePrefixedLetExpCS();
 
             state._fsp--;
@@ -77875,22 +82161,22 @@
 
 
     // $ANTLR start "rule__PrefixedPrimaryExpCS__NameAssignment_0_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26673:1: rule__PrefixedPrimaryExpCS__NameAssignment_0_1 : ( ruleUnaryOperatorName ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28171:1: rule__PrefixedPrimaryExpCS__NameAssignment_0_1 : ( ruleUnaryOperatorName ) ;
     public final void rule__PrefixedPrimaryExpCS__NameAssignment_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26677:1: ( ( ruleUnaryOperatorName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26678:1: ( ruleUnaryOperatorName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28175:1: ( ( ruleUnaryOperatorName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28176:1: ( ruleUnaryOperatorName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26678:1: ( ruleUnaryOperatorName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26679:1: ruleUnaryOperatorName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28176:1: ( ruleUnaryOperatorName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28177:1: ruleUnaryOperatorName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPrefixedPrimaryExpCSAccess().getNameUnaryOperatorNameParserRuleCall_0_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleUnaryOperatorName_in_rule__PrefixedPrimaryExpCS__NameAssignment_0_154275);
+            pushFollow(FollowSets002.FOLLOW_ruleUnaryOperatorName_in_rule__PrefixedPrimaryExpCS__NameAssignment_0_158666);
             ruleUnaryOperatorName();
 
             state._fsp--;
@@ -77920,22 +82206,22 @@
 
 
     // $ANTLR start "rule__PrefixedPrimaryExpCS__OwnedRightAssignment_0_2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26688:1: rule__PrefixedPrimaryExpCS__OwnedRightAssignment_0_2 : ( rulePrefixedPrimaryExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28186:1: rule__PrefixedPrimaryExpCS__OwnedRightAssignment_0_2 : ( rulePrefixedPrimaryExpCS ) ;
     public final void rule__PrefixedPrimaryExpCS__OwnedRightAssignment_0_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26692:1: ( ( rulePrefixedPrimaryExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26693:1: ( rulePrefixedPrimaryExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28190:1: ( ( rulePrefixedPrimaryExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28191:1: ( rulePrefixedPrimaryExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26693:1: ( rulePrefixedPrimaryExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26694:1: rulePrefixedPrimaryExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28191:1: ( rulePrefixedPrimaryExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28192:1: rulePrefixedPrimaryExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPrefixedPrimaryExpCSAccess().getOwnedRightPrefixedPrimaryExpCSParserRuleCall_0_2_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_rulePrefixedPrimaryExpCS_in_rule__PrefixedPrimaryExpCS__OwnedRightAssignment_0_254306);
+            pushFollow(FollowSets002.FOLLOW_rulePrefixedPrimaryExpCS_in_rule__PrefixedPrimaryExpCS__OwnedRightAssignment_0_258697);
             rulePrefixedPrimaryExpCS();
 
             state._fsp--;
@@ -77965,22 +82251,22 @@
 
 
     // $ANTLR start "rule__NameExpCS__OwnedPathNameAssignment_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26703:1: rule__NameExpCS__OwnedPathNameAssignment_0 : ( rulePathNameCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28201:1: rule__NameExpCS__OwnedPathNameAssignment_0 : ( rulePathNameCS ) ;
     public final void rule__NameExpCS__OwnedPathNameAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26707:1: ( ( rulePathNameCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26708:1: ( rulePathNameCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28205:1: ( ( rulePathNameCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28206:1: ( rulePathNameCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26708:1: ( rulePathNameCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26709:1: rulePathNameCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28206:1: ( rulePathNameCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28207:1: rulePathNameCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNameExpCSAccess().getOwnedPathNamePathNameCSParserRuleCall_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_rulePathNameCS_in_rule__NameExpCS__OwnedPathNameAssignment_054337);
+            pushFollow(FollowSets002.FOLLOW_rulePathNameCS_in_rule__NameExpCS__OwnedPathNameAssignment_058728);
             rulePathNameCS();
 
             state._fsp--;
@@ -78010,22 +82296,22 @@
 
 
     // $ANTLR start "rule__NameExpCS__OwnedSquareBracketedClausesAssignment_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26718:1: rule__NameExpCS__OwnedSquareBracketedClausesAssignment_1 : ( ruleSquareBracketedClauseCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28216:1: rule__NameExpCS__OwnedSquareBracketedClausesAssignment_1 : ( ruleSquareBracketedClauseCS ) ;
     public final void rule__NameExpCS__OwnedSquareBracketedClausesAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26722:1: ( ( ruleSquareBracketedClauseCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26723:1: ( ruleSquareBracketedClauseCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28220:1: ( ( ruleSquareBracketedClauseCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28221:1: ( ruleSquareBracketedClauseCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26723:1: ( ruleSquareBracketedClauseCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26724:1: ruleSquareBracketedClauseCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28221:1: ( ruleSquareBracketedClauseCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28222:1: ruleSquareBracketedClauseCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNameExpCSAccess().getOwnedSquareBracketedClausesSquareBracketedClauseCSParserRuleCall_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleSquareBracketedClauseCS_in_rule__NameExpCS__OwnedSquareBracketedClausesAssignment_154368);
+            pushFollow(FollowSets002.FOLLOW_ruleSquareBracketedClauseCS_in_rule__NameExpCS__OwnedSquareBracketedClausesAssignment_158759);
             ruleSquareBracketedClauseCS();
 
             state._fsp--;
@@ -78055,22 +82341,22 @@
 
 
     // $ANTLR start "rule__NameExpCS__OwnedRoundBracketedClauseAssignment_2"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26733:1: rule__NameExpCS__OwnedRoundBracketedClauseAssignment_2 : ( ruleRoundBracketedClauseCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28231:1: rule__NameExpCS__OwnedRoundBracketedClauseAssignment_2 : ( ruleRoundBracketedClauseCS ) ;
     public final void rule__NameExpCS__OwnedRoundBracketedClauseAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26737:1: ( ( ruleRoundBracketedClauseCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26738:1: ( ruleRoundBracketedClauseCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28235:1: ( ( ruleRoundBracketedClauseCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28236:1: ( ruleRoundBracketedClauseCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26738:1: ( ruleRoundBracketedClauseCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26739:1: ruleRoundBracketedClauseCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28236:1: ( ruleRoundBracketedClauseCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28237:1: ruleRoundBracketedClauseCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNameExpCSAccess().getOwnedRoundBracketedClauseRoundBracketedClauseCSParserRuleCall_2_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleRoundBracketedClauseCS_in_rule__NameExpCS__OwnedRoundBracketedClauseAssignment_254399);
+            pushFollow(FollowSets002.FOLLOW_ruleRoundBracketedClauseCS_in_rule__NameExpCS__OwnedRoundBracketedClauseAssignment_258790);
             ruleRoundBracketedClauseCS();
 
             state._fsp--;
@@ -78100,22 +82386,22 @@
 
 
     // $ANTLR start "rule__NameExpCS__OwnedCurlyBracketedClauseAssignment_3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26748:1: rule__NameExpCS__OwnedCurlyBracketedClauseAssignment_3 : ( ruleCurlyBracketedClauseCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28246:1: rule__NameExpCS__OwnedCurlyBracketedClauseAssignment_3 : ( ruleCurlyBracketedClauseCS ) ;
     public final void rule__NameExpCS__OwnedCurlyBracketedClauseAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26752:1: ( ( ruleCurlyBracketedClauseCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26753:1: ( ruleCurlyBracketedClauseCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28250:1: ( ( ruleCurlyBracketedClauseCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28251:1: ( ruleCurlyBracketedClauseCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26753:1: ( ruleCurlyBracketedClauseCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26754:1: ruleCurlyBracketedClauseCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28251:1: ( ruleCurlyBracketedClauseCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28252:1: ruleCurlyBracketedClauseCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNameExpCSAccess().getOwnedCurlyBracketedClauseCurlyBracketedClauseCSParserRuleCall_3_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleCurlyBracketedClauseCS_in_rule__NameExpCS__OwnedCurlyBracketedClauseAssignment_354430);
+            pushFollow(FollowSets002.FOLLOW_ruleCurlyBracketedClauseCS_in_rule__NameExpCS__OwnedCurlyBracketedClauseAssignment_358821);
             ruleCurlyBracketedClauseCS();
 
             state._fsp--;
@@ -78145,28 +82431,28 @@
 
 
     // $ANTLR start "rule__NameExpCS__IsPreAssignment_4_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26763:1: rule__NameExpCS__IsPreAssignment_4_0 : ( ( '@' ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28261:1: rule__NameExpCS__IsPreAssignment_4_0 : ( ( '@' ) ) ;
     public final void rule__NameExpCS__IsPreAssignment_4_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26767:1: ( ( ( '@' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26768:1: ( ( '@' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28265:1: ( ( ( '@' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28266:1: ( ( '@' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26768:1: ( ( '@' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26769:1: ( '@' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28266:1: ( ( '@' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28267:1: ( '@' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNameExpCSAccess().getIsPreCommercialAtKeyword_4_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26770:1: ( '@' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26771:1: '@'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28268:1: ( '@' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28269:1: '@'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNameExpCSAccess().getIsPreCommercialAtKeyword_4_0_0()); 
             }
-            match(input,133,FollowSets002.FOLLOW_133_in_rule__NameExpCS__IsPreAssignment_4_054466); if (state.failed) return ;
+            match(input,133,FollowSets002.FOLLOW_133_in_rule__NameExpCS__IsPreAssignment_4_058857); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getNameExpCSAccess().getIsPreCommercialAtKeyword_4_0_0()); 
             }
@@ -78198,22 +82484,22 @@
 
 
     // $ANTLR start "rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26786:1: rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_0 : ( ruleConstructorPartCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28284:1: rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_0 : ( ruleConstructorPartCS ) ;
     public final void rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26790:1: ( ( ruleConstructorPartCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26791:1: ( ruleConstructorPartCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28288:1: ( ( ruleConstructorPartCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28289:1: ( ruleConstructorPartCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26791:1: ( ruleConstructorPartCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26792:1: ruleConstructorPartCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28289:1: ( ruleConstructorPartCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28290:1: ruleConstructorPartCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCurlyBracketedClauseCSAccess().getOwnedPartsConstructorPartCSParserRuleCall_2_0_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleConstructorPartCS_in_rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_054505);
+            pushFollow(FollowSets002.FOLLOW_ruleConstructorPartCS_in_rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_058896);
             ruleConstructorPartCS();
 
             state._fsp--;
@@ -78243,22 +82529,22 @@
 
 
     // $ANTLR start "rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_1_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26801:1: rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_1_1 : ( ruleConstructorPartCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28299:1: rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_1_1 : ( ruleConstructorPartCS ) ;
     public final void rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26805:1: ( ( ruleConstructorPartCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26806:1: ( ruleConstructorPartCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28303:1: ( ( ruleConstructorPartCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28304:1: ( ruleConstructorPartCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26806:1: ( ruleConstructorPartCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26807:1: ruleConstructorPartCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28304:1: ( ruleConstructorPartCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28305:1: ruleConstructorPartCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCurlyBracketedClauseCSAccess().getOwnedPartsConstructorPartCSParserRuleCall_2_0_1_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleConstructorPartCS_in_rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_1_154536);
+            pushFollow(FollowSets002.FOLLOW_ruleConstructorPartCS_in_rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_1_158927);
             ruleConstructorPartCS();
 
             state._fsp--;
@@ -78288,22 +82574,22 @@
 
 
     // $ANTLR start "rule__CurlyBracketedClauseCS__ValueAssignment_2_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26816:1: rule__CurlyBracketedClauseCS__ValueAssignment_2_1 : ( ruleStringLiteral ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28314:1: rule__CurlyBracketedClauseCS__ValueAssignment_2_1 : ( ruleStringLiteral ) ;
     public final void rule__CurlyBracketedClauseCS__ValueAssignment_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26820:1: ( ( ruleStringLiteral ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26821:1: ( ruleStringLiteral )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28318:1: ( ( ruleStringLiteral ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28319:1: ( ruleStringLiteral )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26821:1: ( ruleStringLiteral )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26822:1: ruleStringLiteral
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28319:1: ( ruleStringLiteral )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28320:1: ruleStringLiteral
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getCurlyBracketedClauseCSAccess().getValueStringLiteralParserRuleCall_2_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleStringLiteral_in_rule__CurlyBracketedClauseCS__ValueAssignment_2_154567);
+            pushFollow(FollowSets002.FOLLOW_ruleStringLiteral_in_rule__CurlyBracketedClauseCS__ValueAssignment_2_158958);
             ruleStringLiteral();
 
             state._fsp--;
@@ -78333,22 +82619,22 @@
 
 
     // $ANTLR start "rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26831:1: rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_0 : ( ruleNavigatingArgCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28329:1: rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_0 : ( ruleNavigatingArgCS ) ;
     public final void rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26835:1: ( ( ruleNavigatingArgCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26836:1: ( ruleNavigatingArgCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28333:1: ( ( ruleNavigatingArgCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28334:1: ( ruleNavigatingArgCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26836:1: ( ruleNavigatingArgCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26837:1: ruleNavigatingArgCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28334:1: ( ruleNavigatingArgCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28335:1: ruleNavigatingArgCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRoundBracketedClauseCSAccess().getOwnedArgumentsNavigatingArgCSParserRuleCall_2_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleNavigatingArgCS_in_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_054598);
+            pushFollow(FollowSets002.FOLLOW_ruleNavigatingArgCS_in_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_058989);
             ruleNavigatingArgCS();
 
             state._fsp--;
@@ -78378,22 +82664,22 @@
 
 
     // $ANTLR start "rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26846:1: rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_1 : ( ruleNavigatingCommaArgCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28344:1: rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_1 : ( ruleNavigatingCommaArgCS ) ;
     public final void rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26850:1: ( ( ruleNavigatingCommaArgCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26851:1: ( ruleNavigatingCommaArgCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28348:1: ( ( ruleNavigatingCommaArgCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28349:1: ( ruleNavigatingCommaArgCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26851:1: ( ruleNavigatingCommaArgCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26852:1: ruleNavigatingCommaArgCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28349:1: ( ruleNavigatingCommaArgCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28350:1: ruleNavigatingCommaArgCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRoundBracketedClauseCSAccess().getOwnedArgumentsNavigatingCommaArgCSParserRuleCall_2_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleNavigatingCommaArgCS_in_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_154629);
+            pushFollow(FollowSets002.FOLLOW_ruleNavigatingCommaArgCS_in_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_159020);
             ruleNavigatingCommaArgCS();
 
             state._fsp--;
@@ -78423,22 +82709,22 @@
 
 
     // $ANTLR start "rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26861:1: rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_0 : ( ruleNavigatingSemiArgCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28359:1: rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_0 : ( ruleNavigatingSemiArgCS ) ;
     public final void rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26865:1: ( ( ruleNavigatingSemiArgCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26866:1: ( ruleNavigatingSemiArgCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28363:1: ( ( ruleNavigatingSemiArgCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28364:1: ( ruleNavigatingSemiArgCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26866:1: ( ruleNavigatingSemiArgCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26867:1: ruleNavigatingSemiArgCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28364:1: ( ruleNavigatingSemiArgCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28365:1: ruleNavigatingSemiArgCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRoundBracketedClauseCSAccess().getOwnedArgumentsNavigatingSemiArgCSParserRuleCall_2_2_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleNavigatingSemiArgCS_in_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_054660);
+            pushFollow(FollowSets002.FOLLOW_ruleNavigatingSemiArgCS_in_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_059051);
             ruleNavigatingSemiArgCS();
 
             state._fsp--;
@@ -78468,22 +82754,22 @@
 
 
     // $ANTLR start "rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26876:1: rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_1 : ( ruleNavigatingCommaArgCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28374:1: rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_1 : ( ruleNavigatingCommaArgCS ) ;
     public final void rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26880:1: ( ( ruleNavigatingCommaArgCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26881:1: ( ruleNavigatingCommaArgCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28378:1: ( ( ruleNavigatingCommaArgCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28379:1: ( ruleNavigatingCommaArgCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26881:1: ( ruleNavigatingCommaArgCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26882:1: ruleNavigatingCommaArgCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28379:1: ( ruleNavigatingCommaArgCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28380:1: ruleNavigatingCommaArgCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRoundBracketedClauseCSAccess().getOwnedArgumentsNavigatingCommaArgCSParserRuleCall_2_2_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleNavigatingCommaArgCS_in_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_154691);
+            pushFollow(FollowSets002.FOLLOW_ruleNavigatingCommaArgCS_in_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_159082);
             ruleNavigatingCommaArgCS();
 
             state._fsp--;
@@ -78513,22 +82799,22 @@
 
 
     // $ANTLR start "rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26891:1: rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_0 : ( ruleNavigatingBarArgCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28389:1: rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_0 : ( ruleNavigatingBarArgCS ) ;
     public final void rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26895:1: ( ( ruleNavigatingBarArgCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26896:1: ( ruleNavigatingBarArgCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28393:1: ( ( ruleNavigatingBarArgCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28394:1: ( ruleNavigatingBarArgCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26896:1: ( ruleNavigatingBarArgCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26897:1: ruleNavigatingBarArgCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28394:1: ( ruleNavigatingBarArgCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28395:1: ruleNavigatingBarArgCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRoundBracketedClauseCSAccess().getOwnedArgumentsNavigatingBarArgCSParserRuleCall_2_3_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleNavigatingBarArgCS_in_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_054722);
+            pushFollow(FollowSets002.FOLLOW_ruleNavigatingBarArgCS_in_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_059113);
             ruleNavigatingBarArgCS();
 
             state._fsp--;
@@ -78558,22 +82844,22 @@
 
 
     // $ANTLR start "rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26906:1: rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_1 : ( ruleNavigatingCommaArgCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28404:1: rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_1 : ( ruleNavigatingCommaArgCS ) ;
     public final void rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26910:1: ( ( ruleNavigatingCommaArgCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26911:1: ( ruleNavigatingCommaArgCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28408:1: ( ( ruleNavigatingCommaArgCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28409:1: ( ruleNavigatingCommaArgCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26911:1: ( ruleNavigatingCommaArgCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26912:1: ruleNavigatingCommaArgCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28409:1: ( ruleNavigatingCommaArgCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28410:1: ruleNavigatingCommaArgCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRoundBracketedClauseCSAccess().getOwnedArgumentsNavigatingCommaArgCSParserRuleCall_2_3_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleNavigatingCommaArgCS_in_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_154753);
+            pushFollow(FollowSets002.FOLLOW_ruleNavigatingCommaArgCS_in_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_159144);
             ruleNavigatingCommaArgCS();
 
             state._fsp--;
@@ -78603,22 +82889,22 @@
 
 
     // $ANTLR start "rule__SquareBracketedClauseCS__OwnedTermsAssignment_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26921:1: rule__SquareBracketedClauseCS__OwnedTermsAssignment_1 : ( ruleExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28419:1: rule__SquareBracketedClauseCS__OwnedTermsAssignment_1 : ( ruleExpCS ) ;
     public final void rule__SquareBracketedClauseCS__OwnedTermsAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26925:1: ( ( ruleExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26926:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28423:1: ( ( ruleExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28424:1: ( ruleExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26926:1: ( ruleExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26927:1: ruleExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28424:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28425:1: ruleExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSquareBracketedClauseCSAccess().getOwnedTermsExpCSParserRuleCall_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__SquareBracketedClauseCS__OwnedTermsAssignment_154784);
+            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__SquareBracketedClauseCS__OwnedTermsAssignment_159175);
             ruleExpCS();
 
             state._fsp--;
@@ -78648,22 +82934,22 @@
 
 
     // $ANTLR start "rule__SquareBracketedClauseCS__OwnedTermsAssignment_2_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26936:1: rule__SquareBracketedClauseCS__OwnedTermsAssignment_2_1 : ( ruleExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28434:1: rule__SquareBracketedClauseCS__OwnedTermsAssignment_2_1 : ( ruleExpCS ) ;
     public final void rule__SquareBracketedClauseCS__OwnedTermsAssignment_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26940:1: ( ( ruleExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26941:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28438:1: ( ( ruleExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28439:1: ( ruleExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26941:1: ( ruleExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26942:1: ruleExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28439:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28440:1: ruleExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSquareBracketedClauseCSAccess().getOwnedTermsExpCSParserRuleCall_2_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__SquareBracketedClauseCS__OwnedTermsAssignment_2_154815);
+            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__SquareBracketedClauseCS__OwnedTermsAssignment_2_159206);
             ruleExpCS();
 
             state._fsp--;
@@ -78693,22 +82979,22 @@
 
 
     // $ANTLR start "rule__NavigatingArgCS__OwnedNameExpressionAssignment_0_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26951:1: rule__NavigatingArgCS__OwnedNameExpressionAssignment_0_0 : ( ruleNavigatingArgExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28449:1: rule__NavigatingArgCS__OwnedNameExpressionAssignment_0_0 : ( ruleNavigatingArgExpCS ) ;
     public final void rule__NavigatingArgCS__OwnedNameExpressionAssignment_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26955:1: ( ( ruleNavigatingArgExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26956:1: ( ruleNavigatingArgExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28453:1: ( ( ruleNavigatingArgExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28454:1: ( ruleNavigatingArgExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26956:1: ( ruleNavigatingArgExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26957:1: ruleNavigatingArgExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28454:1: ( ruleNavigatingArgExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28455:1: ruleNavigatingArgExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingArgCSAccess().getOwnedNameExpressionNavigatingArgExpCSParserRuleCall_0_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleNavigatingArgExpCS_in_rule__NavigatingArgCS__OwnedNameExpressionAssignment_0_054846);
+            pushFollow(FollowSets002.FOLLOW_ruleNavigatingArgExpCS_in_rule__NavigatingArgCS__OwnedNameExpressionAssignment_0_059237);
             ruleNavigatingArgExpCS();
 
             state._fsp--;
@@ -78738,22 +83024,22 @@
 
 
     // $ANTLR start "rule__NavigatingArgCS__OwnedTypeAssignment_0_1_0_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26966:1: rule__NavigatingArgCS__OwnedTypeAssignment_0_1_0_1 : ( ruleTypeExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28464:1: rule__NavigatingArgCS__OwnedTypeAssignment_0_1_0_1 : ( ruleTypeExpCS ) ;
     public final void rule__NavigatingArgCS__OwnedTypeAssignment_0_1_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26970:1: ( ( ruleTypeExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26971:1: ( ruleTypeExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28468:1: ( ( ruleTypeExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28469:1: ( ruleTypeExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26971:1: ( ruleTypeExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26972:1: ruleTypeExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28469:1: ( ruleTypeExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28470:1: ruleTypeExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_0_1_0_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTypeExpCS_in_rule__NavigatingArgCS__OwnedTypeAssignment_0_1_0_154877);
+            pushFollow(FollowSets002.FOLLOW_ruleTypeExpCS_in_rule__NavigatingArgCS__OwnedTypeAssignment_0_1_0_159268);
             ruleTypeExpCS();
 
             state._fsp--;
@@ -78783,22 +83069,22 @@
 
 
     // $ANTLR start "rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_0_2_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26981:1: rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_0_2_1 : ( ruleExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28479:1: rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_0_2_1 : ( ruleExpCS ) ;
     public final void rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_0_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26985:1: ( ( ruleExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26986:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28483:1: ( ( ruleExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28484:1: ( ruleExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26986:1: ( ruleExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26987:1: ruleExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28484:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28485:1: ruleExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_0_1_0_2_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_0_2_154908);
+            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_0_2_159299);
             ruleExpCS();
 
             state._fsp--;
@@ -78828,22 +83114,22 @@
 
 
     // $ANTLR start "rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_1_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:26996:1: rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_1_1 : ( ruleExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28494:1: rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_1_1 : ( ruleExpCS ) ;
     public final void rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27000:1: ( ( ruleExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27001:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28498:1: ( ( ruleExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28499:1: ( ruleExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27001:1: ( ruleExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27002:1: ruleExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28499:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28500:1: ruleExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_0_1_1_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_1_154939);
+            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_1_159330);
             ruleExpCS();
 
             state._fsp--;
@@ -78873,22 +83159,22 @@
 
 
     // $ANTLR start "rule__NavigatingArgCS__OwnedTypeAssignment_1_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27011:1: rule__NavigatingArgCS__OwnedTypeAssignment_1_1 : ( ruleTypeExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28509:1: rule__NavigatingArgCS__OwnedTypeAssignment_1_1 : ( ruleTypeExpCS ) ;
     public final void rule__NavigatingArgCS__OwnedTypeAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27015:1: ( ( ruleTypeExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27016:1: ( ruleTypeExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28513:1: ( ( ruleTypeExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28514:1: ( ruleTypeExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27016:1: ( ruleTypeExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27017:1: ruleTypeExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28514:1: ( ruleTypeExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28515:1: ruleTypeExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTypeExpCS_in_rule__NavigatingArgCS__OwnedTypeAssignment_1_154970);
+            pushFollow(FollowSets002.FOLLOW_ruleTypeExpCS_in_rule__NavigatingArgCS__OwnedTypeAssignment_1_159361);
             ruleTypeExpCS();
 
             state._fsp--;
@@ -78918,28 +83204,28 @@
 
 
     // $ANTLR start "rule__NavigatingBarArgCS__PrefixAssignment_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27026:1: rule__NavigatingBarArgCS__PrefixAssignment_0 : ( ( '|' ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28524:1: rule__NavigatingBarArgCS__PrefixAssignment_0 : ( ( '|' ) ) ;
     public final void rule__NavigatingBarArgCS__PrefixAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27030:1: ( ( ( '|' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27031:1: ( ( '|' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28528:1: ( ( ( '|' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28529:1: ( ( '|' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27031:1: ( ( '|' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27032:1: ( '|' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28529:1: ( ( '|' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28530:1: ( '|' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingBarArgCSAccess().getPrefixVerticalLineKeyword_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27033:1: ( '|' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27034:1: '|'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28531:1: ( '|' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28532:1: '|'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingBarArgCSAccess().getPrefixVerticalLineKeyword_0_0()); 
             }
-            match(input,134,FollowSets002.FOLLOW_134_in_rule__NavigatingBarArgCS__PrefixAssignment_055006); if (state.failed) return ;
+            match(input,134,FollowSets002.FOLLOW_134_in_rule__NavigatingBarArgCS__PrefixAssignment_059397); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getNavigatingBarArgCSAccess().getPrefixVerticalLineKeyword_0_0()); 
             }
@@ -78971,22 +83257,22 @@
 
 
     // $ANTLR start "rule__NavigatingBarArgCS__OwnedNameExpressionAssignment_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27049:1: rule__NavigatingBarArgCS__OwnedNameExpressionAssignment_1 : ( ruleNavigatingArgExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28547:1: rule__NavigatingBarArgCS__OwnedNameExpressionAssignment_1 : ( ruleNavigatingArgExpCS ) ;
     public final void rule__NavigatingBarArgCS__OwnedNameExpressionAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27053:1: ( ( ruleNavigatingArgExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27054:1: ( ruleNavigatingArgExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28551:1: ( ( ruleNavigatingArgExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28552:1: ( ruleNavigatingArgExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27054:1: ( ruleNavigatingArgExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27055:1: ruleNavigatingArgExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28552:1: ( ruleNavigatingArgExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28553:1: ruleNavigatingArgExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingBarArgCSAccess().getOwnedNameExpressionNavigatingArgExpCSParserRuleCall_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleNavigatingArgExpCS_in_rule__NavigatingBarArgCS__OwnedNameExpressionAssignment_155045);
+            pushFollow(FollowSets002.FOLLOW_ruleNavigatingArgExpCS_in_rule__NavigatingBarArgCS__OwnedNameExpressionAssignment_159436);
             ruleNavigatingArgExpCS();
 
             state._fsp--;
@@ -79016,22 +83302,22 @@
 
 
     // $ANTLR start "rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27064:1: rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1 : ( ruleTypeExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28562:1: rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1 : ( ruleTypeExpCS ) ;
     public final void rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27068:1: ( ( ruleTypeExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27069:1: ( ruleTypeExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28566:1: ( ( ruleTypeExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28567:1: ( ruleTypeExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27069:1: ( ruleTypeExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27070:1: ruleTypeExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28567:1: ( ruleTypeExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28568:1: ruleTypeExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingBarArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTypeExpCS_in_rule__NavigatingBarArgCS__OwnedTypeAssignment_2_155076);
+            pushFollow(FollowSets002.FOLLOW_ruleTypeExpCS_in_rule__NavigatingBarArgCS__OwnedTypeAssignment_2_159467);
             ruleTypeExpCS();
 
             state._fsp--;
@@ -79061,22 +83347,22 @@
 
 
     // $ANTLR start "rule__NavigatingBarArgCS__OwnedInitExpressionAssignment_2_2_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27079:1: rule__NavigatingBarArgCS__OwnedInitExpressionAssignment_2_2_1 : ( ruleExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28577:1: rule__NavigatingBarArgCS__OwnedInitExpressionAssignment_2_2_1 : ( ruleExpCS ) ;
     public final void rule__NavigatingBarArgCS__OwnedInitExpressionAssignment_2_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27083:1: ( ( ruleExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27084:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28581:1: ( ( ruleExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28582:1: ( ruleExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27084:1: ( ruleExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27085:1: ruleExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28582:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28583:1: ruleExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingBarArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_2_2_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__NavigatingBarArgCS__OwnedInitExpressionAssignment_2_2_155107);
+            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__NavigatingBarArgCS__OwnedInitExpressionAssignment_2_2_159498);
             ruleExpCS();
 
             state._fsp--;
@@ -79106,28 +83392,28 @@
 
 
     // $ANTLR start "rule__NavigatingCommaArgCS__PrefixAssignment_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27094:1: rule__NavigatingCommaArgCS__PrefixAssignment_0 : ( ( ',' ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28592:1: rule__NavigatingCommaArgCS__PrefixAssignment_0 : ( ( ',' ) ) ;
     public final void rule__NavigatingCommaArgCS__PrefixAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27098:1: ( ( ( ',' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27099:1: ( ( ',' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28596:1: ( ( ( ',' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28597:1: ( ( ',' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27099:1: ( ( ',' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27100:1: ( ',' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28597:1: ( ( ',' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28598:1: ( ',' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingCommaArgCSAccess().getPrefixCommaKeyword_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27101:1: ( ',' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27102:1: ','
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28599:1: ( ',' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28600:1: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingCommaArgCSAccess().getPrefixCommaKeyword_0_0()); 
             }
-            match(input,98,FollowSets002.FOLLOW_98_in_rule__NavigatingCommaArgCS__PrefixAssignment_055143); if (state.failed) return ;
+            match(input,107,FollowSets002.FOLLOW_107_in_rule__NavigatingCommaArgCS__PrefixAssignment_059534); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getNavigatingCommaArgCSAccess().getPrefixCommaKeyword_0_0()); 
             }
@@ -79159,22 +83445,22 @@
 
 
     // $ANTLR start "rule__NavigatingCommaArgCS__OwnedNameExpressionAssignment_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27117:1: rule__NavigatingCommaArgCS__OwnedNameExpressionAssignment_1 : ( ruleNavigatingArgExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28615:1: rule__NavigatingCommaArgCS__OwnedNameExpressionAssignment_1 : ( ruleNavigatingArgExpCS ) ;
     public final void rule__NavigatingCommaArgCS__OwnedNameExpressionAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27121:1: ( ( ruleNavigatingArgExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27122:1: ( ruleNavigatingArgExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28619:1: ( ( ruleNavigatingArgExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28620:1: ( ruleNavigatingArgExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27122:1: ( ruleNavigatingArgExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27123:1: ruleNavigatingArgExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28620:1: ( ruleNavigatingArgExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28621:1: ruleNavigatingArgExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedNameExpressionNavigatingArgExpCSParserRuleCall_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleNavigatingArgExpCS_in_rule__NavigatingCommaArgCS__OwnedNameExpressionAssignment_155182);
+            pushFollow(FollowSets002.FOLLOW_ruleNavigatingArgExpCS_in_rule__NavigatingCommaArgCS__OwnedNameExpressionAssignment_159573);
             ruleNavigatingArgExpCS();
 
             state._fsp--;
@@ -79204,22 +83490,22 @@
 
 
     // $ANTLR start "rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_0_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27132:1: rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_0_1 : ( ruleTypeExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28630:1: rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_0_1 : ( ruleTypeExpCS ) ;
     public final void rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27136:1: ( ( ruleTypeExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27137:1: ( ruleTypeExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28634:1: ( ( ruleTypeExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28635:1: ( ruleTypeExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27137:1: ( ruleTypeExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27138:1: ruleTypeExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28635:1: ( ruleTypeExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28636:1: ruleTypeExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_0_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTypeExpCS_in_rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_0_155213);
+            pushFollow(FollowSets002.FOLLOW_ruleTypeExpCS_in_rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_0_159604);
             ruleTypeExpCS();
 
             state._fsp--;
@@ -79249,22 +83535,22 @@
 
 
     // $ANTLR start "rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_0_2_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27147:1: rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_0_2_1 : ( ruleExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28645:1: rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_0_2_1 : ( ruleExpCS ) ;
     public final void rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_0_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27151:1: ( ( ruleExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27152:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28649:1: ( ( ruleExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28650:1: ( ruleExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27152:1: ( ruleExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27153:1: ruleExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28650:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28651:1: ruleExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_2_0_2_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_0_2_155244);
+            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_0_2_159635);
             ruleExpCS();
 
             state._fsp--;
@@ -79294,22 +83580,22 @@
 
 
     // $ANTLR start "rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_1_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27162:1: rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_1_1 : ( ruleExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28660:1: rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_1_1 : ( ruleExpCS ) ;
     public final void rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27166:1: ( ( ruleExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27167:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28664:1: ( ( ruleExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28665:1: ( ruleExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27167:1: ( ruleExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27168:1: ruleExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28665:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28666:1: ruleExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_2_1_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_1_155275);
+            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_1_159666);
             ruleExpCS();
 
             state._fsp--;
@@ -79339,28 +83625,28 @@
 
 
     // $ANTLR start "rule__NavigatingSemiArgCS__PrefixAssignment_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27177:1: rule__NavigatingSemiArgCS__PrefixAssignment_0 : ( ( ';' ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28675:1: rule__NavigatingSemiArgCS__PrefixAssignment_0 : ( ( ';' ) ) ;
     public final void rule__NavigatingSemiArgCS__PrefixAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27181:1: ( ( ( ';' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27182:1: ( ( ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28679:1: ( ( ( ';' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28680:1: ( ( ';' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27182:1: ( ( ';' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27183:1: ( ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28680:1: ( ( ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28681:1: ( ';' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingSemiArgCSAccess().getPrefixSemicolonKeyword_0_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27184:1: ( ';' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27185:1: ';'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28682:1: ( ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28683:1: ';'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingSemiArgCSAccess().getPrefixSemicolonKeyword_0_0()); 
             }
-            match(input,53,FollowSets002.FOLLOW_53_in_rule__NavigatingSemiArgCS__PrefixAssignment_055311); if (state.failed) return ;
+            match(input,53,FollowSets002.FOLLOW_53_in_rule__NavigatingSemiArgCS__PrefixAssignment_059702); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getNavigatingSemiArgCSAccess().getPrefixSemicolonKeyword_0_0()); 
             }
@@ -79392,22 +83678,22 @@
 
 
     // $ANTLR start "rule__NavigatingSemiArgCS__OwnedNameExpressionAssignment_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27200:1: rule__NavigatingSemiArgCS__OwnedNameExpressionAssignment_1 : ( ruleNavigatingArgExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28698:1: rule__NavigatingSemiArgCS__OwnedNameExpressionAssignment_1 : ( ruleNavigatingArgExpCS ) ;
     public final void rule__NavigatingSemiArgCS__OwnedNameExpressionAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27204:1: ( ( ruleNavigatingArgExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27205:1: ( ruleNavigatingArgExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28702:1: ( ( ruleNavigatingArgExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28703:1: ( ruleNavigatingArgExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27205:1: ( ruleNavigatingArgExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27206:1: ruleNavigatingArgExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28703:1: ( ruleNavigatingArgExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28704:1: ruleNavigatingArgExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingSemiArgCSAccess().getOwnedNameExpressionNavigatingArgExpCSParserRuleCall_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleNavigatingArgExpCS_in_rule__NavigatingSemiArgCS__OwnedNameExpressionAssignment_155350);
+            pushFollow(FollowSets002.FOLLOW_ruleNavigatingArgExpCS_in_rule__NavigatingSemiArgCS__OwnedNameExpressionAssignment_159741);
             ruleNavigatingArgExpCS();
 
             state._fsp--;
@@ -79437,22 +83723,22 @@
 
 
     // $ANTLR start "rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27215:1: rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1 : ( ruleTypeExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28713:1: rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1 : ( ruleTypeExpCS ) ;
     public final void rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27219:1: ( ( ruleTypeExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27220:1: ( ruleTypeExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28717:1: ( ( ruleTypeExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28718:1: ( ruleTypeExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27220:1: ( ruleTypeExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27221:1: ruleTypeExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28718:1: ( ruleTypeExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28719:1: ruleTypeExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingSemiArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTypeExpCS_in_rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_155381);
+            pushFollow(FollowSets002.FOLLOW_ruleTypeExpCS_in_rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_159772);
             ruleTypeExpCS();
 
             state._fsp--;
@@ -79482,22 +83768,22 @@
 
 
     // $ANTLR start "rule__NavigatingSemiArgCS__OwnedInitExpressionAssignment_2_2_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27230:1: rule__NavigatingSemiArgCS__OwnedInitExpressionAssignment_2_2_1 : ( ruleExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28728:1: rule__NavigatingSemiArgCS__OwnedInitExpressionAssignment_2_2_1 : ( ruleExpCS ) ;
     public final void rule__NavigatingSemiArgCS__OwnedInitExpressionAssignment_2_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27234:1: ( ( ruleExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27235:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28732:1: ( ( ruleExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28733:1: ( ruleExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27235:1: ( ruleExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27236:1: ruleExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28733:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28734:1: ruleExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNavigatingSemiArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_2_2_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__NavigatingSemiArgCS__OwnedInitExpressionAssignment_2_2_155412);
+            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__NavigatingSemiArgCS__OwnedInitExpressionAssignment_2_2_159803);
             ruleExpCS();
 
             state._fsp--;
@@ -79527,25 +83813,25 @@
 
 
     // $ANTLR start "rule__IfExpCS__OwnedConditionAssignment_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27245:1: rule__IfExpCS__OwnedConditionAssignment_1 : ( ( rule__IfExpCS__OwnedConditionAlternatives_1_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28743:1: rule__IfExpCS__OwnedConditionAssignment_1 : ( ( rule__IfExpCS__OwnedConditionAlternatives_1_0 ) ) ;
     public final void rule__IfExpCS__OwnedConditionAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27249:1: ( ( ( rule__IfExpCS__OwnedConditionAlternatives_1_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27250:1: ( ( rule__IfExpCS__OwnedConditionAlternatives_1_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28747:1: ( ( ( rule__IfExpCS__OwnedConditionAlternatives_1_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28748:1: ( ( rule__IfExpCS__OwnedConditionAlternatives_1_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27250:1: ( ( rule__IfExpCS__OwnedConditionAlternatives_1_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27251:1: ( rule__IfExpCS__OwnedConditionAlternatives_1_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28748:1: ( ( rule__IfExpCS__OwnedConditionAlternatives_1_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28749:1: ( rule__IfExpCS__OwnedConditionAlternatives_1_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getIfExpCSAccess().getOwnedConditionAlternatives_1_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27252:1: ( rule__IfExpCS__OwnedConditionAlternatives_1_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27252:2: rule__IfExpCS__OwnedConditionAlternatives_1_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28750:1: ( rule__IfExpCS__OwnedConditionAlternatives_1_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28750:2: rule__IfExpCS__OwnedConditionAlternatives_1_0
             {
-            pushFollow(FollowSets002.FOLLOW_rule__IfExpCS__OwnedConditionAlternatives_1_0_in_rule__IfExpCS__OwnedConditionAssignment_155443);
+            pushFollow(FollowSets002.FOLLOW_rule__IfExpCS__OwnedConditionAlternatives_1_0_in_rule__IfExpCS__OwnedConditionAssignment_159834);
             rule__IfExpCS__OwnedConditionAlternatives_1_0();
 
             state._fsp--;
@@ -79578,22 +83864,22 @@
 
 
     // $ANTLR start "rule__IfExpCS__OwnedThenExpressionAssignment_3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27261:1: rule__IfExpCS__OwnedThenExpressionAssignment_3 : ( ruleExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28759:1: rule__IfExpCS__OwnedThenExpressionAssignment_3 : ( ruleExpCS ) ;
     public final void rule__IfExpCS__OwnedThenExpressionAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27265:1: ( ( ruleExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27266:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28763:1: ( ( ruleExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28764:1: ( ruleExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27266:1: ( ruleExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27267:1: ruleExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28764:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28765:1: ruleExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getIfExpCSAccess().getOwnedThenExpressionExpCSParserRuleCall_3_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__IfExpCS__OwnedThenExpressionAssignment_355476);
+            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__IfExpCS__OwnedThenExpressionAssignment_359867);
             ruleExpCS();
 
             state._fsp--;
@@ -79623,22 +83909,22 @@
 
 
     // $ANTLR start "rule__IfExpCS__OwnedIfThenExpressionsAssignment_4"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27276:1: rule__IfExpCS__OwnedIfThenExpressionsAssignment_4 : ( ruleElseIfThenExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28774:1: rule__IfExpCS__OwnedIfThenExpressionsAssignment_4 : ( ruleElseIfThenExpCS ) ;
     public final void rule__IfExpCS__OwnedIfThenExpressionsAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27280:1: ( ( ruleElseIfThenExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27281:1: ( ruleElseIfThenExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28778:1: ( ( ruleElseIfThenExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28779:1: ( ruleElseIfThenExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27281:1: ( ruleElseIfThenExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27282:1: ruleElseIfThenExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28779:1: ( ruleElseIfThenExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28780:1: ruleElseIfThenExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getIfExpCSAccess().getOwnedIfThenExpressionsElseIfThenExpCSParserRuleCall_4_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleElseIfThenExpCS_in_rule__IfExpCS__OwnedIfThenExpressionsAssignment_455507);
+            pushFollow(FollowSets002.FOLLOW_ruleElseIfThenExpCS_in_rule__IfExpCS__OwnedIfThenExpressionsAssignment_459898);
             ruleElseIfThenExpCS();
 
             state._fsp--;
@@ -79668,22 +83954,22 @@
 
 
     // $ANTLR start "rule__IfExpCS__OwnedElseExpressionAssignment_6"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27291:1: rule__IfExpCS__OwnedElseExpressionAssignment_6 : ( ruleExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28789:1: rule__IfExpCS__OwnedElseExpressionAssignment_6 : ( ruleExpCS ) ;
     public final void rule__IfExpCS__OwnedElseExpressionAssignment_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27295:1: ( ( ruleExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27296:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28793:1: ( ( ruleExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28794:1: ( ruleExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27296:1: ( ruleExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27297:1: ruleExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28794:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28795:1: ruleExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getIfExpCSAccess().getOwnedElseExpressionExpCSParserRuleCall_6_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__IfExpCS__OwnedElseExpressionAssignment_655538);
+            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__IfExpCS__OwnedElseExpressionAssignment_659929);
             ruleExpCS();
 
             state._fsp--;
@@ -79713,22 +83999,22 @@
 
 
     // $ANTLR start "rule__ElseIfThenExpCS__OwnedConditionAssignment_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27306:1: rule__ElseIfThenExpCS__OwnedConditionAssignment_1 : ( ruleExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28804:1: rule__ElseIfThenExpCS__OwnedConditionAssignment_1 : ( ruleExpCS ) ;
     public final void rule__ElseIfThenExpCS__OwnedConditionAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27310:1: ( ( ruleExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27311:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28808:1: ( ( ruleExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28809:1: ( ruleExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27311:1: ( ruleExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27312:1: ruleExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28809:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28810:1: ruleExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getElseIfThenExpCSAccess().getOwnedConditionExpCSParserRuleCall_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__ElseIfThenExpCS__OwnedConditionAssignment_155569);
+            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__ElseIfThenExpCS__OwnedConditionAssignment_159960);
             ruleExpCS();
 
             state._fsp--;
@@ -79758,22 +84044,22 @@
 
 
     // $ANTLR start "rule__ElseIfThenExpCS__OwnedThenExpressionAssignment_3"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27321:1: rule__ElseIfThenExpCS__OwnedThenExpressionAssignment_3 : ( ruleExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28819:1: rule__ElseIfThenExpCS__OwnedThenExpressionAssignment_3 : ( ruleExpCS ) ;
     public final void rule__ElseIfThenExpCS__OwnedThenExpressionAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27325:1: ( ( ruleExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27326:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28823:1: ( ( ruleExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28824:1: ( ruleExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27326:1: ( ruleExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27327:1: ruleExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28824:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28825:1: ruleExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getElseIfThenExpCSAccess().getOwnedThenExpressionExpCSParserRuleCall_3_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__ElseIfThenExpCS__OwnedThenExpressionAssignment_355600);
+            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__ElseIfThenExpCS__OwnedThenExpressionAssignment_359991);
             ruleExpCS();
 
             state._fsp--;
@@ -79803,22 +84089,22 @@
 
 
     // $ANTLR start "rule__LetExpCS__OwnedVariablesAssignment_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27336:1: rule__LetExpCS__OwnedVariablesAssignment_1 : ( ruleLetVariableCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28834:1: rule__LetExpCS__OwnedVariablesAssignment_1 : ( ruleLetVariableCS ) ;
     public final void rule__LetExpCS__OwnedVariablesAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27340:1: ( ( ruleLetVariableCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27341:1: ( ruleLetVariableCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28838:1: ( ( ruleLetVariableCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28839:1: ( ruleLetVariableCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27341:1: ( ruleLetVariableCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27342:1: ruleLetVariableCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28839:1: ( ruleLetVariableCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28840:1: ruleLetVariableCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLetExpCSAccess().getOwnedVariablesLetVariableCSParserRuleCall_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleLetVariableCS_in_rule__LetExpCS__OwnedVariablesAssignment_155631);
+            pushFollow(FollowSets002.FOLLOW_ruleLetVariableCS_in_rule__LetExpCS__OwnedVariablesAssignment_160022);
             ruleLetVariableCS();
 
             state._fsp--;
@@ -79848,22 +84134,22 @@
 
 
     // $ANTLR start "rule__LetExpCS__OwnedVariablesAssignment_2_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27351:1: rule__LetExpCS__OwnedVariablesAssignment_2_1 : ( ruleLetVariableCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28849:1: rule__LetExpCS__OwnedVariablesAssignment_2_1 : ( ruleLetVariableCS ) ;
     public final void rule__LetExpCS__OwnedVariablesAssignment_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27355:1: ( ( ruleLetVariableCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27356:1: ( ruleLetVariableCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28853:1: ( ( ruleLetVariableCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28854:1: ( ruleLetVariableCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27356:1: ( ruleLetVariableCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27357:1: ruleLetVariableCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28854:1: ( ruleLetVariableCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28855:1: ruleLetVariableCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLetExpCSAccess().getOwnedVariablesLetVariableCSParserRuleCall_2_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleLetVariableCS_in_rule__LetExpCS__OwnedVariablesAssignment_2_155662);
+            pushFollow(FollowSets002.FOLLOW_ruleLetVariableCS_in_rule__LetExpCS__OwnedVariablesAssignment_2_160053);
             ruleLetVariableCS();
 
             state._fsp--;
@@ -79893,22 +84179,22 @@
 
 
     // $ANTLR start "rule__LetExpCS__OwnedInExpressionAssignment_4"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27366:1: rule__LetExpCS__OwnedInExpressionAssignment_4 : ( ruleExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28864:1: rule__LetExpCS__OwnedInExpressionAssignment_4 : ( ruleExpCS ) ;
     public final void rule__LetExpCS__OwnedInExpressionAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27370:1: ( ( ruleExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27371:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28868:1: ( ( ruleExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28869:1: ( ruleExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27371:1: ( ruleExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27372:1: ruleExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28869:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28870:1: ruleExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLetExpCSAccess().getOwnedInExpressionExpCSParserRuleCall_4_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__LetExpCS__OwnedInExpressionAssignment_455693);
+            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__LetExpCS__OwnedInExpressionAssignment_460084);
             ruleExpCS();
 
             state._fsp--;
@@ -79938,22 +84224,22 @@
 
 
     // $ANTLR start "rule__LetVariableCS__NameAssignment_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27381:1: rule__LetVariableCS__NameAssignment_0 : ( ruleUnrestrictedName ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28879:1: rule__LetVariableCS__NameAssignment_0 : ( ruleUnrestrictedName ) ;
     public final void rule__LetVariableCS__NameAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27385:1: ( ( ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27386:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28883:1: ( ( ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28884:1: ( ruleUnrestrictedName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27386:1: ( ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27387:1: ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28884:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28885:1: ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLetVariableCSAccess().getNameUnrestrictedNameParserRuleCall_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__LetVariableCS__NameAssignment_055724);
+            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__LetVariableCS__NameAssignment_060115);
             ruleUnrestrictedName();
 
             state._fsp--;
@@ -79983,22 +84269,22 @@
 
 
     // $ANTLR start "rule__LetVariableCS__OwnedRoundBracketedClauseAssignment_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27396:1: rule__LetVariableCS__OwnedRoundBracketedClauseAssignment_1 : ( ruleRoundBracketedClauseCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28894:1: rule__LetVariableCS__OwnedRoundBracketedClauseAssignment_1 : ( ruleRoundBracketedClauseCS ) ;
     public final void rule__LetVariableCS__OwnedRoundBracketedClauseAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27400:1: ( ( ruleRoundBracketedClauseCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27401:1: ( ruleRoundBracketedClauseCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28898:1: ( ( ruleRoundBracketedClauseCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28899:1: ( ruleRoundBracketedClauseCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27401:1: ( ruleRoundBracketedClauseCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27402:1: ruleRoundBracketedClauseCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28899:1: ( ruleRoundBracketedClauseCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28900:1: ruleRoundBracketedClauseCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLetVariableCSAccess().getOwnedRoundBracketedClauseRoundBracketedClauseCSParserRuleCall_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleRoundBracketedClauseCS_in_rule__LetVariableCS__OwnedRoundBracketedClauseAssignment_155755);
+            pushFollow(FollowSets002.FOLLOW_ruleRoundBracketedClauseCS_in_rule__LetVariableCS__OwnedRoundBracketedClauseAssignment_160146);
             ruleRoundBracketedClauseCS();
 
             state._fsp--;
@@ -80028,22 +84314,22 @@
 
 
     // $ANTLR start "rule__LetVariableCS__OwnedTypeAssignment_2_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27411:1: rule__LetVariableCS__OwnedTypeAssignment_2_1 : ( ruleTypeExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28909:1: rule__LetVariableCS__OwnedTypeAssignment_2_1 : ( ruleTypeExpCS ) ;
     public final void rule__LetVariableCS__OwnedTypeAssignment_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27415:1: ( ( ruleTypeExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27416:1: ( ruleTypeExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28913:1: ( ( ruleTypeExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28914:1: ( ruleTypeExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27416:1: ( ruleTypeExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27417:1: ruleTypeExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28914:1: ( ruleTypeExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28915:1: ruleTypeExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLetVariableCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTypeExpCS_in_rule__LetVariableCS__OwnedTypeAssignment_2_155786);
+            pushFollow(FollowSets002.FOLLOW_ruleTypeExpCS_in_rule__LetVariableCS__OwnedTypeAssignment_2_160177);
             ruleTypeExpCS();
 
             state._fsp--;
@@ -80073,22 +84359,22 @@
 
 
     // $ANTLR start "rule__LetVariableCS__OwnedInitExpressionAssignment_4"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27426:1: rule__LetVariableCS__OwnedInitExpressionAssignment_4 : ( ruleExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28924:1: rule__LetVariableCS__OwnedInitExpressionAssignment_4 : ( ruleExpCS ) ;
     public final void rule__LetVariableCS__OwnedInitExpressionAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27430:1: ( ( ruleExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27431:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28928:1: ( ( ruleExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28929:1: ( ruleExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27431:1: ( ruleExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27432:1: ruleExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28929:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28930:1: ruleExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLetVariableCSAccess().getOwnedInitExpressionExpCSParserRuleCall_4_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__LetVariableCS__OwnedInitExpressionAssignment_455817);
+            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__LetVariableCS__OwnedInitExpressionAssignment_460208);
             ruleExpCS();
 
             state._fsp--;
@@ -80118,22 +84404,22 @@
 
 
     // $ANTLR start "rule__NestedExpCS__OwnedExpressionAssignment_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27441:1: rule__NestedExpCS__OwnedExpressionAssignment_1 : ( ruleExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28939:1: rule__NestedExpCS__OwnedExpressionAssignment_1 : ( ruleExpCS ) ;
     public final void rule__NestedExpCS__OwnedExpressionAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27445:1: ( ( ruleExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27446:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28943:1: ( ( ruleExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28944:1: ( ruleExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27446:1: ( ruleExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27447:1: ruleExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28944:1: ( ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28945:1: ruleExpCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNestedExpCSAccess().getOwnedExpressionExpCSParserRuleCall_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__NestedExpCS__OwnedExpressionAssignment_155848);
+            pushFollow(FollowSets002.FOLLOW_ruleExpCS_in_rule__NestedExpCS__OwnedExpressionAssignment_160239);
             ruleExpCS();
 
             state._fsp--;
@@ -80163,22 +84449,22 @@
 
 
     // $ANTLR start "rule__MultiplicityBoundsCS__LowerBoundAssignment_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27456:1: rule__MultiplicityBoundsCS__LowerBoundAssignment_0 : ( ruleLOWER ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28954:1: rule__MultiplicityBoundsCS__LowerBoundAssignment_0 : ( ruleLOWER ) ;
     public final void rule__MultiplicityBoundsCS__LowerBoundAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27460:1: ( ( ruleLOWER ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27461:1: ( ruleLOWER )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28958:1: ( ( ruleLOWER ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28959:1: ( ruleLOWER )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27461:1: ( ruleLOWER )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27462:1: ruleLOWER
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28959:1: ( ruleLOWER )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28960:1: ruleLOWER
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMultiplicityBoundsCSAccess().getLowerBoundLOWERParserRuleCall_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleLOWER_in_rule__MultiplicityBoundsCS__LowerBoundAssignment_055879);
+            pushFollow(FollowSets002.FOLLOW_ruleLOWER_in_rule__MultiplicityBoundsCS__LowerBoundAssignment_060270);
             ruleLOWER();
 
             state._fsp--;
@@ -80208,22 +84494,22 @@
 
 
     // $ANTLR start "rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27471:1: rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1 : ( ruleUPPER ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28969:1: rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1 : ( ruleUPPER ) ;
     public final void rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27475:1: ( ( ruleUPPER ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27476:1: ( ruleUPPER )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28973:1: ( ( ruleUPPER ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28974:1: ( ruleUPPER )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27476:1: ( ruleUPPER )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27477:1: ruleUPPER
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28974:1: ( ruleUPPER )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28975:1: ruleUPPER
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMultiplicityBoundsCSAccess().getUpperBoundUPPERParserRuleCall_1_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleUPPER_in_rule__MultiplicityBoundsCS__UpperBoundAssignment_1_155910);
+            pushFollow(FollowSets002.FOLLOW_ruleUPPER_in_rule__MultiplicityBoundsCS__UpperBoundAssignment_1_160301);
             ruleUPPER();
 
             state._fsp--;
@@ -80253,25 +84539,25 @@
 
 
     // $ANTLR start "rule__MultiplicityStringCS__StringBoundsAssignment"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27486:1: rule__MultiplicityStringCS__StringBoundsAssignment : ( ( rule__MultiplicityStringCS__StringBoundsAlternatives_0 ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28984:1: rule__MultiplicityStringCS__StringBoundsAssignment : ( ( rule__MultiplicityStringCS__StringBoundsAlternatives_0 ) ) ;
     public final void rule__MultiplicityStringCS__StringBoundsAssignment() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27490:1: ( ( ( rule__MultiplicityStringCS__StringBoundsAlternatives_0 ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27491:1: ( ( rule__MultiplicityStringCS__StringBoundsAlternatives_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28988:1: ( ( ( rule__MultiplicityStringCS__StringBoundsAlternatives_0 ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28989:1: ( ( rule__MultiplicityStringCS__StringBoundsAlternatives_0 ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27491:1: ( ( rule__MultiplicityStringCS__StringBoundsAlternatives_0 ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27492:1: ( rule__MultiplicityStringCS__StringBoundsAlternatives_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28989:1: ( ( rule__MultiplicityStringCS__StringBoundsAlternatives_0 ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28990:1: ( rule__MultiplicityStringCS__StringBoundsAlternatives_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getMultiplicityStringCSAccess().getStringBoundsAlternatives_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27493:1: ( rule__MultiplicityStringCS__StringBoundsAlternatives_0 )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27493:2: rule__MultiplicityStringCS__StringBoundsAlternatives_0
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28991:1: ( rule__MultiplicityStringCS__StringBoundsAlternatives_0 )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:28991:2: rule__MultiplicityStringCS__StringBoundsAlternatives_0
             {
-            pushFollow(FollowSets002.FOLLOW_rule__MultiplicityStringCS__StringBoundsAlternatives_0_in_rule__MultiplicityStringCS__StringBoundsAssignment55941);
+            pushFollow(FollowSets002.FOLLOW_rule__MultiplicityStringCS__StringBoundsAlternatives_0_in_rule__MultiplicityStringCS__StringBoundsAssignment60332);
             rule__MultiplicityStringCS__StringBoundsAlternatives_0();
 
             state._fsp--;
@@ -80304,22 +84590,22 @@
 
 
     // $ANTLR start "rule__PathNameCS__OwnedPathElementsAssignment_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27502:1: rule__PathNameCS__OwnedPathElementsAssignment_0 : ( ruleFirstPathElementCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29000:1: rule__PathNameCS__OwnedPathElementsAssignment_0 : ( ruleFirstPathElementCS ) ;
     public final void rule__PathNameCS__OwnedPathElementsAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27506:1: ( ( ruleFirstPathElementCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27507:1: ( ruleFirstPathElementCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29004:1: ( ( ruleFirstPathElementCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29005:1: ( ruleFirstPathElementCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27507:1: ( ruleFirstPathElementCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27508:1: ruleFirstPathElementCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29005:1: ( ruleFirstPathElementCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29006:1: ruleFirstPathElementCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPathNameCSAccess().getOwnedPathElementsFirstPathElementCSParserRuleCall_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleFirstPathElementCS_in_rule__PathNameCS__OwnedPathElementsAssignment_055974);
+            pushFollow(FollowSets002.FOLLOW_ruleFirstPathElementCS_in_rule__PathNameCS__OwnedPathElementsAssignment_060365);
             ruleFirstPathElementCS();
 
             state._fsp--;
@@ -80349,22 +84635,22 @@
 
 
     // $ANTLR start "rule__PathNameCS__OwnedPathElementsAssignment_1_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27517:1: rule__PathNameCS__OwnedPathElementsAssignment_1_1 : ( ruleNextPathElementCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29015:1: rule__PathNameCS__OwnedPathElementsAssignment_1_1 : ( ruleNextPathElementCS ) ;
     public final void rule__PathNameCS__OwnedPathElementsAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27521:1: ( ( ruleNextPathElementCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27522:1: ( ruleNextPathElementCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29019:1: ( ( ruleNextPathElementCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29020:1: ( ruleNextPathElementCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27522:1: ( ruleNextPathElementCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27523:1: ruleNextPathElementCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29020:1: ( ruleNextPathElementCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29021:1: ruleNextPathElementCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPathNameCSAccess().getOwnedPathElementsNextPathElementCSParserRuleCall_1_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleNextPathElementCS_in_rule__PathNameCS__OwnedPathElementsAssignment_1_156005);
+            pushFollow(FollowSets002.FOLLOW_ruleNextPathElementCS_in_rule__PathNameCS__OwnedPathElementsAssignment_1_160396);
             ruleNextPathElementCS();
 
             state._fsp--;
@@ -80394,28 +84680,28 @@
 
 
     // $ANTLR start "rule__FirstPathElementCS__ReferredElementAssignment"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27532:1: rule__FirstPathElementCS__ReferredElementAssignment : ( ( ruleUnrestrictedName ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29030:1: rule__FirstPathElementCS__ReferredElementAssignment : ( ( ruleUnrestrictedName ) ) ;
     public final void rule__FirstPathElementCS__ReferredElementAssignment() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27536:1: ( ( ( ruleUnrestrictedName ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27537:1: ( ( ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29034:1: ( ( ( ruleUnrestrictedName ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29035:1: ( ( ruleUnrestrictedName ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27537:1: ( ( ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27538:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29035:1: ( ( ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29036:1: ( ruleUnrestrictedName )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFirstPathElementCSAccess().getReferredElementNamedElementCrossReference_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27539:1: ( ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27540:1: ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29037:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29038:1: ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFirstPathElementCSAccess().getReferredElementNamedElementUnrestrictedNameParserRuleCall_0_1()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__FirstPathElementCS__ReferredElementAssignment56040);
+            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__FirstPathElementCS__ReferredElementAssignment60431);
             ruleUnrestrictedName();
 
             state._fsp--;
@@ -80451,28 +84737,28 @@
 
 
     // $ANTLR start "rule__NextPathElementCS__ReferredElementAssignment"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27551:1: rule__NextPathElementCS__ReferredElementAssignment : ( ( ruleUnreservedName ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29049:1: rule__NextPathElementCS__ReferredElementAssignment : ( ( ruleUnreservedName ) ) ;
     public final void rule__NextPathElementCS__ReferredElementAssignment() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27555:1: ( ( ( ruleUnreservedName ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27556:1: ( ( ruleUnreservedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29053:1: ( ( ( ruleUnreservedName ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29054:1: ( ( ruleUnreservedName ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27556:1: ( ( ruleUnreservedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27557:1: ( ruleUnreservedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29054:1: ( ( ruleUnreservedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29055:1: ( ruleUnreservedName )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNextPathElementCSAccess().getReferredElementNamedElementCrossReference_0()); 
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27558:1: ( ruleUnreservedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27559:1: ruleUnreservedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29056:1: ( ruleUnreservedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29057:1: ruleUnreservedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNextPathElementCSAccess().getReferredElementNamedElementUnreservedNameParserRuleCall_0_1()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleUnreservedName_in_rule__NextPathElementCS__ReferredElementAssignment56079);
+            pushFollow(FollowSets002.FOLLOW_ruleUnreservedName_in_rule__NextPathElementCS__ReferredElementAssignment60470);
             ruleUnreservedName();
 
             state._fsp--;
@@ -80508,22 +84794,22 @@
 
 
     // $ANTLR start "rule__TemplateParameterSubstitutionCS__OwnedActualParameterAssignment"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27570:1: rule__TemplateParameterSubstitutionCS__OwnedActualParameterAssignment : ( ruleTypeRefCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29068:1: rule__TemplateParameterSubstitutionCS__OwnedActualParameterAssignment : ( ruleTypeRefCS ) ;
     public final void rule__TemplateParameterSubstitutionCS__OwnedActualParameterAssignment() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27574:1: ( ( ruleTypeRefCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27575:1: ( ruleTypeRefCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29072:1: ( ( ruleTypeRefCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29073:1: ( ruleTypeRefCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27575:1: ( ruleTypeRefCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27576:1: ruleTypeRefCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29073:1: ( ruleTypeRefCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29074:1: ruleTypeRefCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTemplateParameterSubstitutionCSAccess().getOwnedActualParameterTypeRefCSParserRuleCall_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTypeRefCS_in_rule__TemplateParameterSubstitutionCS__OwnedActualParameterAssignment56114);
+            pushFollow(FollowSets002.FOLLOW_ruleTypeRefCS_in_rule__TemplateParameterSubstitutionCS__OwnedActualParameterAssignment60505);
             ruleTypeRefCS();
 
             state._fsp--;
@@ -80553,22 +84839,22 @@
 
 
     // $ANTLR start "rule__TypeParameterCS__NameAssignment_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27585:1: rule__TypeParameterCS__NameAssignment_0 : ( ruleUnrestrictedName ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29083:1: rule__TypeParameterCS__NameAssignment_0 : ( ruleUnrestrictedName ) ;
     public final void rule__TypeParameterCS__NameAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27589:1: ( ( ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27590:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29087:1: ( ( ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29088:1: ( ruleUnrestrictedName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27590:1: ( ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27591:1: ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29088:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29089:1: ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTypeParameterCSAccess().getNameUnrestrictedNameParserRuleCall_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__TypeParameterCS__NameAssignment_056145);
+            pushFollow(FollowSets002.FOLLOW_ruleUnrestrictedName_in_rule__TypeParameterCS__NameAssignment_060536);
             ruleUnrestrictedName();
 
             state._fsp--;
@@ -80598,22 +84884,22 @@
 
 
     // $ANTLR start "rule__TypeParameterCS__OwnedExtendsAssignment_1_0_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27600:1: rule__TypeParameterCS__OwnedExtendsAssignment_1_0_1 : ( ruleTypedRefCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29098:1: rule__TypeParameterCS__OwnedExtendsAssignment_1_0_1 : ( ruleTypedRefCS ) ;
     public final void rule__TypeParameterCS__OwnedExtendsAssignment_1_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27604:1: ( ( ruleTypedRefCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27605:1: ( ruleTypedRefCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29102:1: ( ( ruleTypedRefCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29103:1: ( ruleTypedRefCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27605:1: ( ruleTypedRefCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27606:1: ruleTypedRefCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29103:1: ( ruleTypedRefCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29104:1: ruleTypedRefCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTypeParameterCSAccess().getOwnedExtendsTypedRefCSParserRuleCall_1_0_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTypedRefCS_in_rule__TypeParameterCS__OwnedExtendsAssignment_1_0_156176);
+            pushFollow(FollowSets002.FOLLOW_ruleTypedRefCS_in_rule__TypeParameterCS__OwnedExtendsAssignment_1_0_160567);
             ruleTypedRefCS();
 
             state._fsp--;
@@ -80643,22 +84929,22 @@
 
 
     // $ANTLR start "rule__TypeParameterCS__OwnedExtendsAssignment_1_0_2_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27615:1: rule__TypeParameterCS__OwnedExtendsAssignment_1_0_2_1 : ( ruleTypedRefCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29113:1: rule__TypeParameterCS__OwnedExtendsAssignment_1_0_2_1 : ( ruleTypedRefCS ) ;
     public final void rule__TypeParameterCS__OwnedExtendsAssignment_1_0_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27619:1: ( ( ruleTypedRefCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27620:1: ( ruleTypedRefCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29117:1: ( ( ruleTypedRefCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29118:1: ( ruleTypedRefCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27620:1: ( ruleTypedRefCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27621:1: ruleTypedRefCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29118:1: ( ruleTypedRefCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29119:1: ruleTypedRefCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTypeParameterCSAccess().getOwnedExtendsTypedRefCSParserRuleCall_1_0_2_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTypedRefCS_in_rule__TypeParameterCS__OwnedExtendsAssignment_1_0_2_156207);
+            pushFollow(FollowSets002.FOLLOW_ruleTypedRefCS_in_rule__TypeParameterCS__OwnedExtendsAssignment_1_0_2_160598);
             ruleTypedRefCS();
 
             state._fsp--;
@@ -80688,22 +84974,22 @@
 
 
     // $ANTLR start "rule__TypeParameterCS__OwnedSuperAssignment_1_1_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27630:1: rule__TypeParameterCS__OwnedSuperAssignment_1_1_1 : ( ruleTypedRefCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29128:1: rule__TypeParameterCS__OwnedSuperAssignment_1_1_1 : ( ruleTypedRefCS ) ;
     public final void rule__TypeParameterCS__OwnedSuperAssignment_1_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27634:1: ( ( ruleTypedRefCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27635:1: ( ruleTypedRefCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29132:1: ( ( ruleTypedRefCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29133:1: ( ruleTypedRefCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27635:1: ( ruleTypedRefCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27636:1: ruleTypedRefCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29133:1: ( ruleTypedRefCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29134:1: ruleTypedRefCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTypeParameterCSAccess().getOwnedSuperTypedRefCSParserRuleCall_1_1_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTypedRefCS_in_rule__TypeParameterCS__OwnedSuperAssignment_1_1_156238);
+            pushFollow(FollowSets002.FOLLOW_ruleTypedRefCS_in_rule__TypeParameterCS__OwnedSuperAssignment_1_1_160629);
             ruleTypedRefCS();
 
             state._fsp--;
@@ -80733,22 +85019,22 @@
 
 
     // $ANTLR start "rule__TypedTypeRefCS__OwnedPathNameAssignment_0"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27645:1: rule__TypedTypeRefCS__OwnedPathNameAssignment_0 : ( rulePathNameCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29143:1: rule__TypedTypeRefCS__OwnedPathNameAssignment_0 : ( rulePathNameCS ) ;
     public final void rule__TypedTypeRefCS__OwnedPathNameAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27649:1: ( ( rulePathNameCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27650:1: ( rulePathNameCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29147:1: ( ( rulePathNameCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29148:1: ( rulePathNameCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27650:1: ( rulePathNameCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27651:1: rulePathNameCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29148:1: ( rulePathNameCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29149:1: rulePathNameCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTypedTypeRefCSAccess().getOwnedPathNamePathNameCSParserRuleCall_0_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_rulePathNameCS_in_rule__TypedTypeRefCS__OwnedPathNameAssignment_056269);
+            pushFollow(FollowSets002.FOLLOW_rulePathNameCS_in_rule__TypedTypeRefCS__OwnedPathNameAssignment_060660);
             rulePathNameCS();
 
             state._fsp--;
@@ -80778,22 +85064,22 @@
 
 
     // $ANTLR start "rule__TypedTypeRefCS__OwnedBindingAssignment_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27660:1: rule__TypedTypeRefCS__OwnedBindingAssignment_1 : ( ruleTemplateBindingCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29158:1: rule__TypedTypeRefCS__OwnedBindingAssignment_1 : ( ruleTemplateBindingCS ) ;
     public final void rule__TypedTypeRefCS__OwnedBindingAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27664:1: ( ( ruleTemplateBindingCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27665:1: ( ruleTemplateBindingCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29162:1: ( ( ruleTemplateBindingCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29163:1: ( ruleTemplateBindingCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27665:1: ( ruleTemplateBindingCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27666:1: ruleTemplateBindingCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29163:1: ( ruleTemplateBindingCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29164:1: ruleTemplateBindingCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTypedTypeRefCSAccess().getOwnedBindingTemplateBindingCSParserRuleCall_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTemplateBindingCS_in_rule__TypedTypeRefCS__OwnedBindingAssignment_156300);
+            pushFollow(FollowSets002.FOLLOW_ruleTemplateBindingCS_in_rule__TypedTypeRefCS__OwnedBindingAssignment_160691);
             ruleTemplateBindingCS();
 
             state._fsp--;
@@ -80823,22 +85109,22 @@
 
 
     // $ANTLR start "rule__WildcardTypeRefCS__OwnedExtendsAssignment_2_0_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27675:1: rule__WildcardTypeRefCS__OwnedExtendsAssignment_2_0_1 : ( ruleTypedRefCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29173:1: rule__WildcardTypeRefCS__OwnedExtendsAssignment_2_0_1 : ( ruleTypedRefCS ) ;
     public final void rule__WildcardTypeRefCS__OwnedExtendsAssignment_2_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27679:1: ( ( ruleTypedRefCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27680:1: ( ruleTypedRefCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29177:1: ( ( ruleTypedRefCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29178:1: ( ruleTypedRefCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27680:1: ( ruleTypedRefCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27681:1: ruleTypedRefCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29178:1: ( ruleTypedRefCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29179:1: ruleTypedRefCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getWildcardTypeRefCSAccess().getOwnedExtendsTypedRefCSParserRuleCall_2_0_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTypedRefCS_in_rule__WildcardTypeRefCS__OwnedExtendsAssignment_2_0_156331);
+            pushFollow(FollowSets002.FOLLOW_ruleTypedRefCS_in_rule__WildcardTypeRefCS__OwnedExtendsAssignment_2_0_160722);
             ruleTypedRefCS();
 
             state._fsp--;
@@ -80868,22 +85154,22 @@
 
 
     // $ANTLR start "rule__WildcardTypeRefCS__OwnedSuperAssignment_2_1_1"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27690:1: rule__WildcardTypeRefCS__OwnedSuperAssignment_2_1_1 : ( ruleTypedRefCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29188:1: rule__WildcardTypeRefCS__OwnedSuperAssignment_2_1_1 : ( ruleTypedRefCS ) ;
     public final void rule__WildcardTypeRefCS__OwnedSuperAssignment_2_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27694:1: ( ( ruleTypedRefCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27695:1: ( ruleTypedRefCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29192:1: ( ( ruleTypedRefCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29193:1: ( ruleTypedRefCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27695:1: ( ruleTypedRefCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:27696:1: ruleTypedRefCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29193:1: ( ruleTypedRefCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:29194:1: ruleTypedRefCS
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getWildcardTypeRefCSAccess().getOwnedSuperTypedRefCSParserRuleCall_2_1_1_0()); 
             }
-            pushFollow(FollowSets002.FOLLOW_ruleTypedRefCS_in_rule__WildcardTypeRefCS__OwnedSuperAssignment_2_1_156362);
+            pushFollow(FollowSets002.FOLLOW_ruleTypedRefCS_in_rule__WildcardTypeRefCS__OwnedSuperAssignment_2_1_160753);
             ruleTypedRefCS();
 
             state._fsp--;
@@ -80911,18 +85197,18 @@
     }
     // $ANTLR end "rule__WildcardTypeRefCS__OwnedSuperAssignment_2_1_1"
 
-    // $ANTLR start synpred179_InternalOCLinEcore
-    public final void synpred179_InternalOCLinEcore_fragment() throws RecognitionException {   
-        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5197:6: ( ( ruleTypeLiteralCS ) )
-        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5197:6: ( ruleTypeLiteralCS )
+    // $ANTLR start synpred158_InternalOCLinEcore
+    public final void synpred158_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5355:6: ( ( ruleTypeLiteralCS ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5355:6: ( ruleTypeLiteralCS )
         {
-        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5197:6: ( ruleTypeLiteralCS )
-        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5198:1: ruleTypeLiteralCS
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5355:6: ( ruleTypeLiteralCS )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5356:1: ruleTypeLiteralCS
         {
         if ( state.backtracking==0 ) {
            before(grammarAccess.getTypeExpCSAccess().getTypeLiteralCSParserRuleCall_0_1()); 
         }
-        pushFollow(FollowSets002.FOLLOW_ruleTypeLiteralCS_in_synpred179_InternalOCLinEcore11649);
+        pushFollow(FollowSets002.FOLLOW_ruleTypeLiteralCS_in_synpred158_InternalOCLinEcore11810);
         ruleTypeLiteralCS();
 
         state._fsp--;
@@ -80933,23 +85219,23 @@
 
         }
     }
-    // $ANTLR end synpred179_InternalOCLinEcore
+    // $ANTLR end synpred158_InternalOCLinEcore
 
-    // $ANTLR start synpred180_InternalOCLinEcore
-    public final void synpred180_InternalOCLinEcore_fragment() throws RecognitionException {   
-        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5219:1: ( ( ( rule__ExpCS__Group_0__0 ) ) )
-        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5219:1: ( ( rule__ExpCS__Group_0__0 ) )
+    // $ANTLR start synpred159_InternalOCLinEcore
+    public final void synpred159_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5377:1: ( ( ( rule__ExpCS__Group_0__0 ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5377:1: ( ( rule__ExpCS__Group_0__0 ) )
         {
-        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5219:1: ( ( rule__ExpCS__Group_0__0 ) )
-        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5220:1: ( rule__ExpCS__Group_0__0 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5377:1: ( ( rule__ExpCS__Group_0__0 ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5378:1: ( rule__ExpCS__Group_0__0 )
         {
         if ( state.backtracking==0 ) {
            before(grammarAccess.getExpCSAccess().getGroup_0()); 
         }
-        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5221:1: ( rule__ExpCS__Group_0__0 )
-        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5221:2: rule__ExpCS__Group_0__0
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5379:1: ( rule__ExpCS__Group_0__0 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5379:2: rule__ExpCS__Group_0__0
         {
-        pushFollow(FollowSets002.FOLLOW_rule__ExpCS__Group_0__0_in_synpred180_InternalOCLinEcore11698);
+        pushFollow(FollowSets002.FOLLOW_rule__ExpCS__Group_0__0_in_synpred159_InternalOCLinEcore11859);
         rule__ExpCS__Group_0__0();
 
         state._fsp--;
@@ -80963,20 +85249,20 @@
 
         }
     }
-    // $ANTLR end synpred180_InternalOCLinEcore
+    // $ANTLR end synpred159_InternalOCLinEcore
 
-    // $ANTLR start synpred187_InternalOCLinEcore
-    public final void synpred187_InternalOCLinEcore_fragment() throws RecognitionException {   
-        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5309:6: ( ( ruleTupleLiteralExpCS ) )
-        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5309:6: ( ruleTupleLiteralExpCS )
+    // $ANTLR start synpred166_InternalOCLinEcore
+    public final void synpred166_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5467:6: ( ( ruleTupleLiteralExpCS ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5467:6: ( ruleTupleLiteralExpCS )
         {
-        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5309:6: ( ruleTupleLiteralExpCS )
-        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5310:1: ruleTupleLiteralExpCS
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5467:6: ( ruleTupleLiteralExpCS )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5468:1: ruleTupleLiteralExpCS
         {
         if ( state.backtracking==0 ) {
            before(grammarAccess.getPrimaryExpCSAccess().getTupleLiteralExpCSParserRuleCall_4()); 
         }
-        pushFollow(FollowSets002.FOLLOW_ruleTupleLiteralExpCS_in_synpred187_InternalOCLinEcore11916);
+        pushFollow(FollowSets002.FOLLOW_ruleTupleLiteralExpCS_in_synpred166_InternalOCLinEcore12077);
         ruleTupleLiteralExpCS();
 
         state._fsp--;
@@ -80987,20 +85273,20 @@
 
         }
     }
-    // $ANTLR end synpred187_InternalOCLinEcore
+    // $ANTLR end synpred166_InternalOCLinEcore
 
-    // $ANTLR start synpred188_InternalOCLinEcore
-    public final void synpred188_InternalOCLinEcore_fragment() throws RecognitionException {   
-        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5315:6: ( ( ruleCollectionLiteralExpCS ) )
-        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5315:6: ( ruleCollectionLiteralExpCS )
+    // $ANTLR start synpred167_InternalOCLinEcore
+    public final void synpred167_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5473:6: ( ( ruleCollectionLiteralExpCS ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5473:6: ( ruleCollectionLiteralExpCS )
         {
-        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5315:6: ( ruleCollectionLiteralExpCS )
-        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5316:1: ruleCollectionLiteralExpCS
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5473:6: ( ruleCollectionLiteralExpCS )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5474:1: ruleCollectionLiteralExpCS
         {
         if ( state.backtracking==0 ) {
            before(grammarAccess.getPrimaryExpCSAccess().getCollectionLiteralExpCSParserRuleCall_5()); 
         }
-        pushFollow(FollowSets002.FOLLOW_ruleCollectionLiteralExpCS_in_synpred188_InternalOCLinEcore11933);
+        pushFollow(FollowSets002.FOLLOW_ruleCollectionLiteralExpCS_in_synpred167_InternalOCLinEcore12094);
         ruleCollectionLiteralExpCS();
 
         state._fsp--;
@@ -81011,20 +85297,20 @@
 
         }
     }
-    // $ANTLR end synpred188_InternalOCLinEcore
+    // $ANTLR end synpred167_InternalOCLinEcore
 
-    // $ANTLR start synpred190_InternalOCLinEcore
-    public final void synpred190_InternalOCLinEcore_fragment() throws RecognitionException {   
-        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5327:6: ( ( ruleTypeLiteralExpCS ) )
-        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5327:6: ( ruleTypeLiteralExpCS )
+    // $ANTLR start synpred169_InternalOCLinEcore
+    public final void synpred169_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5485:6: ( ( ruleTypeLiteralExpCS ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5485:6: ( ruleTypeLiteralExpCS )
         {
-        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5327:6: ( ruleTypeLiteralExpCS )
-        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5328:1: ruleTypeLiteralExpCS
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5485:6: ( ruleTypeLiteralExpCS )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:5486:1: ruleTypeLiteralExpCS
         {
         if ( state.backtracking==0 ) {
            before(grammarAccess.getPrimaryExpCSAccess().getTypeLiteralExpCSParserRuleCall_7()); 
         }
-        pushFollow(FollowSets002.FOLLOW_ruleTypeLiteralExpCS_in_synpred190_InternalOCLinEcore11967);
+        pushFollow(FollowSets002.FOLLOW_ruleTypeLiteralExpCS_in_synpred169_InternalOCLinEcore12128);
         ruleTypeLiteralExpCS();
 
         state._fsp--;
@@ -81035,15 +85321,1433 @@
 
         }
     }
-    // $ANTLR end synpred190_InternalOCLinEcore
+    // $ANTLR end synpred169_InternalOCLinEcore
+
+    // $ANTLR start synpred205_InternalOCLinEcore
+    public final void synpred205_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7687:2: ( rule__AttributeCS__UnorderedGroup_5 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:7687:2: rule__AttributeCS__UnorderedGroup_5
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__UnorderedGroup_5_in_synpred205_InternalOCLinEcore16575);
+        rule__AttributeCS__UnorderedGroup_5();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred205_InternalOCLinEcore
+
+    // $ANTLR start synpred245_InternalOCLinEcore
+    public final void synpred245_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11377:2: ( rule__OperationCS__UnorderedGroup_9 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:11377:2: rule__OperationCS__UnorderedGroup_9
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__OperationCS__UnorderedGroup_9_in_synpred245_InternalOCLinEcore23875);
+        rule__OperationCS__UnorderedGroup_9();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred245_InternalOCLinEcore
+
+    // $ANTLR start synpred260_InternalOCLinEcore
+    public final void synpred260_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12807:2: ( rule__ParameterCS__UnorderedGroup_2 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:12807:2: rule__ParameterCS__UnorderedGroup_2
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__ParameterCS__UnorderedGroup_2_in_synpred260_InternalOCLinEcore26688);
+        rule__ParameterCS__UnorderedGroup_2();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred260_InternalOCLinEcore
+
+    // $ANTLR start synpred263_InternalOCLinEcore
+    public final void synpred263_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13027:2: ( ',' )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13027:2: ','
+        {
+        match(input,107,FollowSets002.FOLLOW_107_in_synpred263_InternalOCLinEcore27121); if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred263_InternalOCLinEcore
+
+    // $ANTLR start synpred270_InternalOCLinEcore
+    public final void synpred270_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13459:2: ( rule__ReferenceCS__UnorderedGroup_6 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:13459:2: rule__ReferenceCS__UnorderedGroup_6
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__UnorderedGroup_6_in_synpred270_InternalOCLinEcore27991);
+        rule__ReferenceCS__UnorderedGroup_6();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred270_InternalOCLinEcore
+
+    // $ANTLR start synpred350_InternalOCLinEcore
+    public final void synpred350_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23932:2: ( rule__AttributeCS__UnorderedGroup_0__0 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23932:2: rule__AttributeCS__UnorderedGroup_0__0
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__UnorderedGroup_0__0_in_synpred350_InternalOCLinEcore48607);
+        rule__AttributeCS__UnorderedGroup_0__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred350_InternalOCLinEcore
+
+    // $ANTLR start synpred351_InternalOCLinEcore
+    public final void synpred351_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23950:4: ( ({...}? => ( ( ( rule__AttributeCS__IsStaticAssignment_0_0 ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23950:4: ({...}? => ( ( ( rule__AttributeCS__IsStaticAssignment_0_0 ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23950:4: ({...}? => ( ( ( rule__AttributeCS__IsStaticAssignment_0_0 ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23951:5: {...}? => ( ( ( rule__AttributeCS__IsStaticAssignment_0_0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 0) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred351_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 0)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23951:108: ( ( ( rule__AttributeCS__IsStaticAssignment_0_0 ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23952:6: ( ( rule__AttributeCS__IsStaticAssignment_0_0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 0);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23958:6: ( ( rule__AttributeCS__IsStaticAssignment_0_0 ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23960:7: ( rule__AttributeCS__IsStaticAssignment_0_0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getAttributeCSAccess().getIsStaticAssignment_0_0()); 
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23961:7: ( rule__AttributeCS__IsStaticAssignment_0_0 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23961:8: rule__AttributeCS__IsStaticAssignment_0_0
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__IsStaticAssignment_0_0_in_synpred351_InternalOCLinEcore48694);
+        rule__AttributeCS__IsStaticAssignment_0_0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred351_InternalOCLinEcore
+
+    // $ANTLR start synpred352_InternalOCLinEcore
+    public final void synpred352_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23999:2: ( rule__AttributeCS__UnorderedGroup_0__1 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:23999:2: rule__AttributeCS__UnorderedGroup_0__1
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__UnorderedGroup_0__1_in_synpred352_InternalOCLinEcore48847);
+        rule__AttributeCS__UnorderedGroup_0__1();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred352_InternalOCLinEcore
+
+    // $ANTLR start synpred353_InternalOCLinEcore
+    public final void synpred353_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24047:4: ( ({...}? => ( ( ( rule__AttributeCS__Group_5_0__0 ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24047:4: ({...}? => ( ( ( rule__AttributeCS__Group_5_0__0 ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24047:4: ({...}? => ( ( ( rule__AttributeCS__Group_5_0__0 ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24048:5: {...}? => ( ( ( rule__AttributeCS__Group_5_0__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred353_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24048:108: ( ( ( rule__AttributeCS__Group_5_0__0 ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24049:6: ( ( rule__AttributeCS__Group_5_0__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24055:6: ( ( rule__AttributeCS__Group_5_0__0 ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24057:7: ( rule__AttributeCS__Group_5_0__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getAttributeCSAccess().getGroup_5_0()); 
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24058:7: ( rule__AttributeCS__Group_5_0__0 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24058:8: rule__AttributeCS__Group_5_0__0
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__Group_5_0__0_in_synpred353_InternalOCLinEcore48989);
+        rule__AttributeCS__Group_5_0__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred353_InternalOCLinEcore
+
+    // $ANTLR start synpred354_InternalOCLinEcore
+    public final void synpred354_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24064:4: ( ({...}? => ( ( ( rule__AttributeCS__Group_5_1__0 ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24064:4: ({...}? => ( ( ( rule__AttributeCS__Group_5_1__0 ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24064:4: ({...}? => ( ( ( rule__AttributeCS__Group_5_1__0 ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24065:5: {...}? => ( ( ( rule__AttributeCS__Group_5_1__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred354_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24065:108: ( ( ( rule__AttributeCS__Group_5_1__0 ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24066:6: ( ( rule__AttributeCS__Group_5_1__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24072:6: ( ( rule__AttributeCS__Group_5_1__0 ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24074:7: ( rule__AttributeCS__Group_5_1__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getAttributeCSAccess().getGroup_5_1()); 
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24075:7: ( rule__AttributeCS__Group_5_1__0 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24075:8: rule__AttributeCS__Group_5_1__0
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__Group_5_1__0_in_synpred354_InternalOCLinEcore49080);
+        rule__AttributeCS__Group_5_1__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred354_InternalOCLinEcore
+
+    // $ANTLR start synpred355_InternalOCLinEcore
+    public final void synpred355_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24081:4: ( ({...}? => ( ( ( rule__AttributeCS__Group_5_2__0 ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24081:4: ({...}? => ( ( ( rule__AttributeCS__Group_5_2__0 ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24081:4: ({...}? => ( ( ( rule__AttributeCS__Group_5_2__0 ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24082:5: {...}? => ( ( ( rule__AttributeCS__Group_5_2__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred355_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24082:108: ( ( ( rule__AttributeCS__Group_5_2__0 ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24083:6: ( ( rule__AttributeCS__Group_5_2__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24089:6: ( ( rule__AttributeCS__Group_5_2__0 ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24091:7: ( rule__AttributeCS__Group_5_2__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getAttributeCSAccess().getGroup_5_2()); 
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24092:7: ( rule__AttributeCS__Group_5_2__0 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24092:8: rule__AttributeCS__Group_5_2__0
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__Group_5_2__0_in_synpred355_InternalOCLinEcore49171);
+        rule__AttributeCS__Group_5_2__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred355_InternalOCLinEcore
+
+    // $ANTLR start synpred356_InternalOCLinEcore
+    public final void synpred356_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24098:4: ( ({...}? => ( ( ( rule__AttributeCS__Group_5_3__0 ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24098:4: ({...}? => ( ( ( rule__AttributeCS__Group_5_3__0 ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24098:4: ({...}? => ( ( ( rule__AttributeCS__Group_5_3__0 ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24099:5: {...}? => ( ( ( rule__AttributeCS__Group_5_3__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred356_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24099:108: ( ( ( rule__AttributeCS__Group_5_3__0 ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24100:6: ( ( rule__AttributeCS__Group_5_3__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24106:6: ( ( rule__AttributeCS__Group_5_3__0 ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24108:7: ( rule__AttributeCS__Group_5_3__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getAttributeCSAccess().getGroup_5_3()); 
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24109:7: ( rule__AttributeCS__Group_5_3__0 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24109:8: rule__AttributeCS__Group_5_3__0
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__Group_5_3__0_in_synpred356_InternalOCLinEcore49262);
+        rule__AttributeCS__Group_5_3__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred356_InternalOCLinEcore
+
+    // $ANTLR start synpred357_InternalOCLinEcore
+    public final void synpred357_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24115:4: ( ({...}? => ( ( ( rule__AttributeCS__Group_5_4__0 ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24115:4: ({...}? => ( ( ( rule__AttributeCS__Group_5_4__0 ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24115:4: ({...}? => ( ( ( rule__AttributeCS__Group_5_4__0 ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24116:5: {...}? => ( ( ( rule__AttributeCS__Group_5_4__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred357_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24116:108: ( ( ( rule__AttributeCS__Group_5_4__0 ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24117:6: ( ( rule__AttributeCS__Group_5_4__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24123:6: ( ( rule__AttributeCS__Group_5_4__0 ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24125:7: ( rule__AttributeCS__Group_5_4__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getAttributeCSAccess().getGroup_5_4()); 
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24126:7: ( rule__AttributeCS__Group_5_4__0 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24126:8: rule__AttributeCS__Group_5_4__0
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__Group_5_4__0_in_synpred357_InternalOCLinEcore49353);
+        rule__AttributeCS__Group_5_4__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred357_InternalOCLinEcore
+
+    // $ANTLR start synpred358_InternalOCLinEcore
+    public final void synpred358_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24132:4: ( ({...}? => ( ( ( rule__AttributeCS__Group_5_5__0 ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24132:4: ({...}? => ( ( ( rule__AttributeCS__Group_5_5__0 ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24132:4: ({...}? => ( ( ( rule__AttributeCS__Group_5_5__0 ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24133:5: {...}? => ( ( ( rule__AttributeCS__Group_5_5__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred358_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24133:108: ( ( ( rule__AttributeCS__Group_5_5__0 ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24134:6: ( ( rule__AttributeCS__Group_5_5__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24140:6: ( ( rule__AttributeCS__Group_5_5__0 ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24142:7: ( rule__AttributeCS__Group_5_5__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getAttributeCSAccess().getGroup_5_5()); 
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24143:7: ( rule__AttributeCS__Group_5_5__0 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24143:8: rule__AttributeCS__Group_5_5__0
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__Group_5_5__0_in_synpred358_InternalOCLinEcore49444);
+        rule__AttributeCS__Group_5_5__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred358_InternalOCLinEcore
+
+    // $ANTLR start synpred359_InternalOCLinEcore
+    public final void synpred359_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24149:4: ( ({...}? => ( ( ( rule__AttributeCS__Group_5_6__0 ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24149:4: ({...}? => ( ( ( rule__AttributeCS__Group_5_6__0 ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24149:4: ({...}? => ( ( ( rule__AttributeCS__Group_5_6__0 ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24150:5: {...}? => ( ( ( rule__AttributeCS__Group_5_6__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred359_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24150:108: ( ( ( rule__AttributeCS__Group_5_6__0 ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24151:6: ( ( rule__AttributeCS__Group_5_6__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24157:6: ( ( rule__AttributeCS__Group_5_6__0 ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24159:7: ( rule__AttributeCS__Group_5_6__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getAttributeCSAccess().getGroup_5_6()); 
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24160:7: ( rule__AttributeCS__Group_5_6__0 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24160:8: rule__AttributeCS__Group_5_6__0
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__Group_5_6__0_in_synpred359_InternalOCLinEcore49535);
+        rule__AttributeCS__Group_5_6__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred359_InternalOCLinEcore
+
+    // $ANTLR start synpred360_InternalOCLinEcore
+    public final void synpred360_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24198:2: ( rule__AttributeCS__UnorderedGroup_5__1 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24198:2: rule__AttributeCS__UnorderedGroup_5__1
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__UnorderedGroup_5__1_in_synpred360_InternalOCLinEcore49688);
+        rule__AttributeCS__UnorderedGroup_5__1();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred360_InternalOCLinEcore
+
+    // $ANTLR start synpred361_InternalOCLinEcore
+    public final void synpred361_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24211:2: ( rule__AttributeCS__UnorderedGroup_5__2 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24211:2: rule__AttributeCS__UnorderedGroup_5__2
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__UnorderedGroup_5__2_in_synpred361_InternalOCLinEcore49716);
+        rule__AttributeCS__UnorderedGroup_5__2();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred361_InternalOCLinEcore
+
+    // $ANTLR start synpred362_InternalOCLinEcore
+    public final void synpred362_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24224:2: ( rule__AttributeCS__UnorderedGroup_5__3 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24224:2: rule__AttributeCS__UnorderedGroup_5__3
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__UnorderedGroup_5__3_in_synpred362_InternalOCLinEcore49744);
+        rule__AttributeCS__UnorderedGroup_5__3();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred362_InternalOCLinEcore
+
+    // $ANTLR start synpred363_InternalOCLinEcore
+    public final void synpred363_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24237:2: ( rule__AttributeCS__UnorderedGroup_5__4 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24237:2: rule__AttributeCS__UnorderedGroup_5__4
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__UnorderedGroup_5__4_in_synpred363_InternalOCLinEcore49772);
+        rule__AttributeCS__UnorderedGroup_5__4();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred363_InternalOCLinEcore
+
+    // $ANTLR start synpred364_InternalOCLinEcore
+    public final void synpred364_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24250:2: ( rule__AttributeCS__UnorderedGroup_5__5 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24250:2: rule__AttributeCS__UnorderedGroup_5__5
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__UnorderedGroup_5__5_in_synpred364_InternalOCLinEcore49800);
+        rule__AttributeCS__UnorderedGroup_5__5();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred364_InternalOCLinEcore
+
+    // $ANTLR start synpred365_InternalOCLinEcore
+    public final void synpred365_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24263:2: ( rule__AttributeCS__UnorderedGroup_5__6 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24263:2: rule__AttributeCS__UnorderedGroup_5__6
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__UnorderedGroup_5__6_in_synpred365_InternalOCLinEcore49828);
+        rule__AttributeCS__UnorderedGroup_5__6();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred365_InternalOCLinEcore
+
+    // $ANTLR start synpred366_InternalOCLinEcore
+    public final void synpred366_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24276:2: ( rule__AttributeCS__UnorderedGroup_5__7 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24276:2: rule__AttributeCS__UnorderedGroup_5__7
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__AttributeCS__UnorderedGroup_5__7_in_synpred366_InternalOCLinEcore49856);
+        rule__AttributeCS__UnorderedGroup_5__7();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred366_InternalOCLinEcore
+
+    // $ANTLR start synpred367_InternalOCLinEcore
+    public final void synpred367_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24317:2: ( rule__OperationCS__UnorderedGroup_0__0 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24317:2: rule__OperationCS__UnorderedGroup_0__0
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__OperationCS__UnorderedGroup_0__0_in_synpred367_InternalOCLinEcore49921);
+        rule__OperationCS__UnorderedGroup_0__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred367_InternalOCLinEcore
+
+    // $ANTLR start synpred368_InternalOCLinEcore
+    public final void synpred368_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24335:4: ( ({...}? => ( ( ( rule__OperationCS__IsStaticAssignment_0_0 ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24335:4: ({...}? => ( ( ( rule__OperationCS__IsStaticAssignment_0_0 ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24335:4: ({...}? => ( ( ( rule__OperationCS__IsStaticAssignment_0_0 ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24336:5: {...}? => ( ( ( rule__OperationCS__IsStaticAssignment_0_0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 0) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred368_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 0)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24336:108: ( ( ( rule__OperationCS__IsStaticAssignment_0_0 ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24337:6: ( ( rule__OperationCS__IsStaticAssignment_0_0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 0);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24343:6: ( ( rule__OperationCS__IsStaticAssignment_0_0 ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24345:7: ( rule__OperationCS__IsStaticAssignment_0_0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getOperationCSAccess().getIsStaticAssignment_0_0()); 
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24346:7: ( rule__OperationCS__IsStaticAssignment_0_0 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24346:8: rule__OperationCS__IsStaticAssignment_0_0
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__OperationCS__IsStaticAssignment_0_0_in_synpred368_InternalOCLinEcore50008);
+        rule__OperationCS__IsStaticAssignment_0_0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred368_InternalOCLinEcore
+
+    // $ANTLR start synpred369_InternalOCLinEcore
+    public final void synpred369_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24384:2: ( rule__OperationCS__UnorderedGroup_0__1 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24384:2: rule__OperationCS__UnorderedGroup_0__1
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__OperationCS__UnorderedGroup_0__1_in_synpred369_InternalOCLinEcore50161);
+        rule__OperationCS__UnorderedGroup_0__1();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred369_InternalOCLinEcore
+
+    // $ANTLR start synpred370_InternalOCLinEcore
+    public final void synpred370_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24432:4: ( ({...}? => ( ( ( rule__OperationCS__Group_9_0__0 ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24432:4: ({...}? => ( ( ( rule__OperationCS__Group_9_0__0 ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24432:4: ({...}? => ( ( ( rule__OperationCS__Group_9_0__0 ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24433:5: {...}? => ( ( ( rule__OperationCS__Group_9_0__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 0) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred370_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 0)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24433:108: ( ( ( rule__OperationCS__Group_9_0__0 ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24434:6: ( ( rule__OperationCS__Group_9_0__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 0);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24440:6: ( ( rule__OperationCS__Group_9_0__0 ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24442:7: ( rule__OperationCS__Group_9_0__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getOperationCSAccess().getGroup_9_0()); 
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24443:7: ( rule__OperationCS__Group_9_0__0 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24443:8: rule__OperationCS__Group_9_0__0
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__OperationCS__Group_9_0__0_in_synpred370_InternalOCLinEcore50303);
+        rule__OperationCS__Group_9_0__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred370_InternalOCLinEcore
+
+    // $ANTLR start synpred371_InternalOCLinEcore
+    public final void synpred371_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24449:4: ( ({...}? => ( ( ( rule__OperationCS__Group_9_1__0 ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24449:4: ({...}? => ( ( ( rule__OperationCS__Group_9_1__0 ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24449:4: ({...}? => ( ( ( rule__OperationCS__Group_9_1__0 ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24450:5: {...}? => ( ( ( rule__OperationCS__Group_9_1__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 1) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred371_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 1)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24450:108: ( ( ( rule__OperationCS__Group_9_1__0 ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24451:6: ( ( rule__OperationCS__Group_9_1__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 1);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24457:6: ( ( rule__OperationCS__Group_9_1__0 ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24459:7: ( rule__OperationCS__Group_9_1__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getOperationCSAccess().getGroup_9_1()); 
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24460:7: ( rule__OperationCS__Group_9_1__0 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24460:8: rule__OperationCS__Group_9_1__0
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__OperationCS__Group_9_1__0_in_synpred371_InternalOCLinEcore50394);
+        rule__OperationCS__Group_9_1__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred371_InternalOCLinEcore
+
+    // $ANTLR start synpred372_InternalOCLinEcore
+    public final void synpred372_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24498:2: ( rule__OperationCS__UnorderedGroup_9__1 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24498:2: rule__OperationCS__UnorderedGroup_9__1
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__OperationCS__UnorderedGroup_9__1_in_synpred372_InternalOCLinEcore50547);
+        rule__OperationCS__UnorderedGroup_9__1();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred372_InternalOCLinEcore
+
+    // $ANTLR start synpred373_InternalOCLinEcore
+    public final void synpred373_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24511:2: ( rule__OperationCS__UnorderedGroup_9__2 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24511:2: rule__OperationCS__UnorderedGroup_9__2
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__OperationCS__UnorderedGroup_9__2_in_synpred373_InternalOCLinEcore50575);
+        rule__OperationCS__UnorderedGroup_9__2();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred373_InternalOCLinEcore
+
+    // $ANTLR start synpred374_InternalOCLinEcore
+    public final void synpred374_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24561:4: ( ({...}? => ( ( ( rule__ParameterCS__Group_2_0__0 ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24561:4: ({...}? => ( ( ( rule__ParameterCS__Group_2_0__0 ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24561:4: ({...}? => ( ( ( rule__ParameterCS__Group_2_0__0 ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24562:5: {...}? => ( ( ( rule__ParameterCS__Group_2_0__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred374_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24562:108: ( ( ( rule__ParameterCS__Group_2_0__0 ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24563:6: ( ( rule__ParameterCS__Group_2_0__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24569:6: ( ( rule__ParameterCS__Group_2_0__0 ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24571:7: ( rule__ParameterCS__Group_2_0__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getParameterCSAccess().getGroup_2_0()); 
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24572:7: ( rule__ParameterCS__Group_2_0__0 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24572:8: rule__ParameterCS__Group_2_0__0
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__ParameterCS__Group_2_0__0_in_synpred374_InternalOCLinEcore50719);
+        rule__ParameterCS__Group_2_0__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred374_InternalOCLinEcore
+
+    // $ANTLR start synpred375_InternalOCLinEcore
+    public final void synpred375_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24610:2: ( rule__ParameterCS__UnorderedGroup_2__1 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24610:2: rule__ParameterCS__UnorderedGroup_2__1
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__ParameterCS__UnorderedGroup_2__1_in_synpred375_InternalOCLinEcore50872);
+        rule__ParameterCS__UnorderedGroup_2__1();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred375_InternalOCLinEcore
+
+    // $ANTLR start synpred376_InternalOCLinEcore
+    public final void synpred376_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24639:2: ( rule__ReferenceCS__UnorderedGroup_0__0 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24639:2: rule__ReferenceCS__UnorderedGroup_0__0
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__UnorderedGroup_0__0_in_synpred376_InternalOCLinEcore50925);
+        rule__ReferenceCS__UnorderedGroup_0__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred376_InternalOCLinEcore
+
+    // $ANTLR start synpred377_InternalOCLinEcore
+    public final void synpred377_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24657:4: ( ({...}? => ( ( ( rule__ReferenceCS__IsStaticAssignment_0_0 ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24657:4: ({...}? => ( ( ( rule__ReferenceCS__IsStaticAssignment_0_0 ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24657:4: ({...}? => ( ( ( rule__ReferenceCS__IsStaticAssignment_0_0 ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24658:5: {...}? => ( ( ( rule__ReferenceCS__IsStaticAssignment_0_0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 0) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred377_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 0)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24658:108: ( ( ( rule__ReferenceCS__IsStaticAssignment_0_0 ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24659:6: ( ( rule__ReferenceCS__IsStaticAssignment_0_0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 0);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24665:6: ( ( rule__ReferenceCS__IsStaticAssignment_0_0 ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24667:7: ( rule__ReferenceCS__IsStaticAssignment_0_0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getReferenceCSAccess().getIsStaticAssignment_0_0()); 
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24668:7: ( rule__ReferenceCS__IsStaticAssignment_0_0 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24668:8: rule__ReferenceCS__IsStaticAssignment_0_0
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__IsStaticAssignment_0_0_in_synpred377_InternalOCLinEcore51012);
+        rule__ReferenceCS__IsStaticAssignment_0_0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred377_InternalOCLinEcore
+
+    // $ANTLR start synpred378_InternalOCLinEcore
+    public final void synpred378_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24706:2: ( rule__ReferenceCS__UnorderedGroup_0__1 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24706:2: rule__ReferenceCS__UnorderedGroup_0__1
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__UnorderedGroup_0__1_in_synpred378_InternalOCLinEcore51165);
+        rule__ReferenceCS__UnorderedGroup_0__1();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred378_InternalOCLinEcore
+
+    // $ANTLR start synpred379_InternalOCLinEcore
+    public final void synpred379_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24754:4: ( ({...}? => ( ( ( rule__ReferenceCS__Group_6_0__0 ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24754:4: ({...}? => ( ( ( rule__ReferenceCS__Group_6_0__0 ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24754:4: ({...}? => ( ( ( rule__ReferenceCS__Group_6_0__0 ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24755:5: {...}? => ( ( ( rule__ReferenceCS__Group_6_0__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred379_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24755:108: ( ( ( rule__ReferenceCS__Group_6_0__0 ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24756:6: ( ( rule__ReferenceCS__Group_6_0__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24762:6: ( ( rule__ReferenceCS__Group_6_0__0 ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24764:7: ( rule__ReferenceCS__Group_6_0__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getReferenceCSAccess().getGroup_6_0()); 
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24765:7: ( rule__ReferenceCS__Group_6_0__0 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24765:8: rule__ReferenceCS__Group_6_0__0
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__Group_6_0__0_in_synpred379_InternalOCLinEcore51307);
+        rule__ReferenceCS__Group_6_0__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred379_InternalOCLinEcore
+
+    // $ANTLR start synpred380_InternalOCLinEcore
+    public final void synpred380_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24771:4: ( ({...}? => ( ( ( rule__ReferenceCS__Group_6_1__0 ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24771:4: ({...}? => ( ( ( rule__ReferenceCS__Group_6_1__0 ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24771:4: ({...}? => ( ( ( rule__ReferenceCS__Group_6_1__0 ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24772:5: {...}? => ( ( ( rule__ReferenceCS__Group_6_1__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred380_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24772:108: ( ( ( rule__ReferenceCS__Group_6_1__0 ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24773:6: ( ( rule__ReferenceCS__Group_6_1__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24779:6: ( ( rule__ReferenceCS__Group_6_1__0 ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24781:7: ( rule__ReferenceCS__Group_6_1__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getReferenceCSAccess().getGroup_6_1()); 
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24782:7: ( rule__ReferenceCS__Group_6_1__0 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24782:8: rule__ReferenceCS__Group_6_1__0
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__Group_6_1__0_in_synpred380_InternalOCLinEcore51398);
+        rule__ReferenceCS__Group_6_1__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred380_InternalOCLinEcore
+
+    // $ANTLR start synpred381_InternalOCLinEcore
+    public final void synpred381_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24788:4: ( ({...}? => ( ( ( rule__ReferenceCS__Group_6_2__0 ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24788:4: ({...}? => ( ( ( rule__ReferenceCS__Group_6_2__0 ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24788:4: ({...}? => ( ( ( rule__ReferenceCS__Group_6_2__0 ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24789:5: {...}? => ( ( ( rule__ReferenceCS__Group_6_2__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred381_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24789:108: ( ( ( rule__ReferenceCS__Group_6_2__0 ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24790:6: ( ( rule__ReferenceCS__Group_6_2__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24796:6: ( ( rule__ReferenceCS__Group_6_2__0 ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24798:7: ( rule__ReferenceCS__Group_6_2__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getReferenceCSAccess().getGroup_6_2()); 
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24799:7: ( rule__ReferenceCS__Group_6_2__0 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24799:8: rule__ReferenceCS__Group_6_2__0
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__Group_6_2__0_in_synpred381_InternalOCLinEcore51489);
+        rule__ReferenceCS__Group_6_2__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred381_InternalOCLinEcore
+
+    // $ANTLR start synpred382_InternalOCLinEcore
+    public final void synpred382_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24805:4: ( ({...}? => ( ( ( rule__ReferenceCS__Group_6_3__0 ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24805:4: ({...}? => ( ( ( rule__ReferenceCS__Group_6_3__0 ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24805:4: ({...}? => ( ( ( rule__ReferenceCS__Group_6_3__0 ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24806:5: {...}? => ( ( ( rule__ReferenceCS__Group_6_3__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred382_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24806:108: ( ( ( rule__ReferenceCS__Group_6_3__0 ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24807:6: ( ( rule__ReferenceCS__Group_6_3__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24813:6: ( ( rule__ReferenceCS__Group_6_3__0 ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24815:7: ( rule__ReferenceCS__Group_6_3__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getReferenceCSAccess().getGroup_6_3()); 
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24816:7: ( rule__ReferenceCS__Group_6_3__0 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24816:8: rule__ReferenceCS__Group_6_3__0
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__Group_6_3__0_in_synpred382_InternalOCLinEcore51580);
+        rule__ReferenceCS__Group_6_3__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred382_InternalOCLinEcore
+
+    // $ANTLR start synpred383_InternalOCLinEcore
+    public final void synpred383_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24822:4: ( ({...}? => ( ( ( rule__ReferenceCS__Group_6_4__0 ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24822:4: ({...}? => ( ( ( rule__ReferenceCS__Group_6_4__0 ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24822:4: ({...}? => ( ( ( rule__ReferenceCS__Group_6_4__0 ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24823:5: {...}? => ( ( ( rule__ReferenceCS__Group_6_4__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred383_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24823:108: ( ( ( rule__ReferenceCS__Group_6_4__0 ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24824:6: ( ( rule__ReferenceCS__Group_6_4__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24830:6: ( ( rule__ReferenceCS__Group_6_4__0 ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24832:7: ( rule__ReferenceCS__Group_6_4__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getReferenceCSAccess().getGroup_6_4()); 
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24833:7: ( rule__ReferenceCS__Group_6_4__0 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24833:8: rule__ReferenceCS__Group_6_4__0
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__Group_6_4__0_in_synpred383_InternalOCLinEcore51671);
+        rule__ReferenceCS__Group_6_4__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred383_InternalOCLinEcore
+
+    // $ANTLR start synpred384_InternalOCLinEcore
+    public final void synpred384_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24839:4: ( ({...}? => ( ( ( rule__ReferenceCS__Group_6_5__0 ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24839:4: ({...}? => ( ( ( rule__ReferenceCS__Group_6_5__0 ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24839:4: ({...}? => ( ( ( rule__ReferenceCS__Group_6_5__0 ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24840:5: {...}? => ( ( ( rule__ReferenceCS__Group_6_5__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred384_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24840:108: ( ( ( rule__ReferenceCS__Group_6_5__0 ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24841:6: ( ( rule__ReferenceCS__Group_6_5__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24847:6: ( ( rule__ReferenceCS__Group_6_5__0 ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24849:7: ( rule__ReferenceCS__Group_6_5__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getReferenceCSAccess().getGroup_6_5()); 
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24850:7: ( rule__ReferenceCS__Group_6_5__0 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24850:8: rule__ReferenceCS__Group_6_5__0
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__Group_6_5__0_in_synpred384_InternalOCLinEcore51762);
+        rule__ReferenceCS__Group_6_5__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred384_InternalOCLinEcore
+
+    // $ANTLR start synpred385_InternalOCLinEcore
+    public final void synpred385_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24856:4: ( ({...}? => ( ( ( rule__ReferenceCS__Group_6_6__0 ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24856:4: ({...}? => ( ( ( rule__ReferenceCS__Group_6_6__0 ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24856:4: ({...}? => ( ( ( rule__ReferenceCS__Group_6_6__0 ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24857:5: {...}? => ( ( ( rule__ReferenceCS__Group_6_6__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred385_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24857:108: ( ( ( rule__ReferenceCS__Group_6_6__0 ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24858:6: ( ( rule__ReferenceCS__Group_6_6__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24864:6: ( ( rule__ReferenceCS__Group_6_6__0 ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24866:7: ( rule__ReferenceCS__Group_6_6__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getReferenceCSAccess().getGroup_6_6()); 
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24867:7: ( rule__ReferenceCS__Group_6_6__0 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24867:8: rule__ReferenceCS__Group_6_6__0
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__Group_6_6__0_in_synpred385_InternalOCLinEcore51853);
+        rule__ReferenceCS__Group_6_6__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred385_InternalOCLinEcore
+
+    // $ANTLR start synpred386_InternalOCLinEcore
+    public final void synpred386_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24873:4: ( ({...}? => ( ( ( rule__ReferenceCS__Group_6_7__0 ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24873:4: ({...}? => ( ( ( rule__ReferenceCS__Group_6_7__0 ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24873:4: ({...}? => ( ( ( rule__ReferenceCS__Group_6_7__0 ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24874:5: {...}? => ( ( ( rule__ReferenceCS__Group_6_7__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred386_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24874:108: ( ( ( rule__ReferenceCS__Group_6_7__0 ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24875:6: ( ( rule__ReferenceCS__Group_6_7__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24881:6: ( ( rule__ReferenceCS__Group_6_7__0 ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24883:7: ( rule__ReferenceCS__Group_6_7__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getReferenceCSAccess().getGroup_6_7()); 
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24884:7: ( rule__ReferenceCS__Group_6_7__0 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24884:8: rule__ReferenceCS__Group_6_7__0
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__Group_6_7__0_in_synpred386_InternalOCLinEcore51944);
+        rule__ReferenceCS__Group_6_7__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred386_InternalOCLinEcore
+
+    // $ANTLR start synpred387_InternalOCLinEcore
+    public final void synpred387_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24922:2: ( rule__ReferenceCS__UnorderedGroup_6__1 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24922:2: rule__ReferenceCS__UnorderedGroup_6__1
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__UnorderedGroup_6__1_in_synpred387_InternalOCLinEcore52097);
+        rule__ReferenceCS__UnorderedGroup_6__1();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred387_InternalOCLinEcore
+
+    // $ANTLR start synpred388_InternalOCLinEcore
+    public final void synpred388_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24935:2: ( rule__ReferenceCS__UnorderedGroup_6__2 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24935:2: rule__ReferenceCS__UnorderedGroup_6__2
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__UnorderedGroup_6__2_in_synpred388_InternalOCLinEcore52125);
+        rule__ReferenceCS__UnorderedGroup_6__2();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred388_InternalOCLinEcore
+
+    // $ANTLR start synpred389_InternalOCLinEcore
+    public final void synpred389_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24948:2: ( rule__ReferenceCS__UnorderedGroup_6__3 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24948:2: rule__ReferenceCS__UnorderedGroup_6__3
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__UnorderedGroup_6__3_in_synpred389_InternalOCLinEcore52153);
+        rule__ReferenceCS__UnorderedGroup_6__3();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred389_InternalOCLinEcore
+
+    // $ANTLR start synpred390_InternalOCLinEcore
+    public final void synpred390_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24961:2: ( rule__ReferenceCS__UnorderedGroup_6__4 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24961:2: rule__ReferenceCS__UnorderedGroup_6__4
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__UnorderedGroup_6__4_in_synpred390_InternalOCLinEcore52181);
+        rule__ReferenceCS__UnorderedGroup_6__4();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred390_InternalOCLinEcore
+
+    // $ANTLR start synpred391_InternalOCLinEcore
+    public final void synpred391_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24974:2: ( rule__ReferenceCS__UnorderedGroup_6__5 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24974:2: rule__ReferenceCS__UnorderedGroup_6__5
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__UnorderedGroup_6__5_in_synpred391_InternalOCLinEcore52209);
+        rule__ReferenceCS__UnorderedGroup_6__5();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred391_InternalOCLinEcore
+
+    // $ANTLR start synpred392_InternalOCLinEcore
+    public final void synpred392_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24987:2: ( rule__ReferenceCS__UnorderedGroup_6__6 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:24987:2: rule__ReferenceCS__UnorderedGroup_6__6
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__UnorderedGroup_6__6_in_synpred392_InternalOCLinEcore52237);
+        rule__ReferenceCS__UnorderedGroup_6__6();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred392_InternalOCLinEcore
+
+    // $ANTLR start synpred393_InternalOCLinEcore
+    public final void synpred393_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25000:2: ( rule__ReferenceCS__UnorderedGroup_6__7 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25000:2: rule__ReferenceCS__UnorderedGroup_6__7
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__UnorderedGroup_6__7_in_synpred393_InternalOCLinEcore52265);
+        rule__ReferenceCS__UnorderedGroup_6__7();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred393_InternalOCLinEcore
+
+    // $ANTLR start synpred394_InternalOCLinEcore
+    public final void synpred394_InternalOCLinEcore_fragment() throws RecognitionException {   
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25013:2: ( rule__ReferenceCS__UnorderedGroup_6__8 )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore.ui/src-gen/org/eclipse/ocl/xtext/oclinecore/ui/contentassist/antlr/internal/InternalOCLinEcore.g:25013:2: rule__ReferenceCS__UnorderedGroup_6__8
+        {
+        pushFollow(FollowSets002.FOLLOW_rule__ReferenceCS__UnorderedGroup_6__8_in_synpred394_InternalOCLinEcore52293);
+        rule__ReferenceCS__UnorderedGroup_6__8();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred394_InternalOCLinEcore
 
     // Delegated rules
 
-    public final boolean synpred188_InternalOCLinEcore() {
+    public final boolean synpred393_InternalOCLinEcore() {
         state.backtracking++;
         int start = input.mark();
         try {
-            synpred188_InternalOCLinEcore_fragment(); // can never throw exception
+            synpred393_InternalOCLinEcore_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -81053,11 +86757,11 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred190_InternalOCLinEcore() {
+    public final boolean synpred394_InternalOCLinEcore() {
         state.backtracking++;
         int start = input.mark();
         try {
-            synpred190_InternalOCLinEcore_fragment(); // can never throw exception
+            synpred394_InternalOCLinEcore_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -81067,11 +86771,11 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred187_InternalOCLinEcore() {
+    public final boolean synpred158_InternalOCLinEcore() {
         state.backtracking++;
         int start = input.mark();
         try {
-            synpred187_InternalOCLinEcore_fragment(); // can never throw exception
+            synpred158_InternalOCLinEcore_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -81081,11 +86785,11 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred180_InternalOCLinEcore() {
+    public final boolean synpred390_InternalOCLinEcore() {
         state.backtracking++;
         int start = input.mark();
         try {
-            synpred180_InternalOCLinEcore_fragment(); // can never throw exception
+            synpred390_InternalOCLinEcore_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -81095,11 +86799,711 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred179_InternalOCLinEcore() {
+    public final boolean synpred387_InternalOCLinEcore() {
         state.backtracking++;
         int start = input.mark();
         try {
-            synpred179_InternalOCLinEcore_fragment(); // can never throw exception
+            synpred387_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred169_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred169_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred363_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred363_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred382_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred382_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred378_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred378_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred386_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred386_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred361_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred361_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred379_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred379_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred375_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred375_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred385_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred385_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred369_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred369_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred367_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred367_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred392_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred392_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred355_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred355_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred205_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred205_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred376_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred376_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred263_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred263_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred354_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred354_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred377_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred377_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred381_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred381_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred374_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred374_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred167_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred167_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred351_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred351_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred371_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred371_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred159_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred159_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred364_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred364_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred388_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred388_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred391_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred391_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred380_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred380_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred370_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred370_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred270_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred270_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred366_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred366_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred373_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred373_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred350_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred350_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred368_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred368_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred166_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred166_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred360_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred360_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred384_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred384_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred362_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred362_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred359_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred359_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred352_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred352_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred383_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred383_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred353_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred353_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred389_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred389_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred365_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred365_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred358_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred358_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred357_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred357_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred372_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred372_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred260_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred260_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred356_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred356_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred245_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred245_InternalOCLinEcore_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -81111,969 +87515,121 @@
     }
 
 
-    protected DFA23 dfa23 = new DFA23(this);
-    protected DFA52 dfa52 = new DFA52(this);
-    protected DFA53 dfa53 = new DFA53(this);
-    protected DFA57 dfa57 = new DFA57(this);
-    protected DFA58 dfa58 = new DFA58(this);
-    protected DFA61 dfa61 = new DFA61(this);
+    protected DFA29 dfa29 = new DFA29(this);
     protected DFA67 dfa67 = new DFA67(this);
-    protected DFA124 dfa124 = new DFA124(this);
-    static final String DFA23_eotS =
+    protected DFA68 dfa68 = new DFA68(this);
+    protected DFA72 dfa72 = new DFA72(this);
+    protected DFA73 dfa73 = new DFA73(this);
+    protected DFA76 dfa76 = new DFA76(this);
+    protected DFA82 dfa82 = new DFA82(this);
+    protected DFA111 dfa111 = new DFA111(this);
+    protected DFA144 dfa144 = new DFA144(this);
+    protected DFA166 dfa166 = new DFA166(this);
+    protected DFA176 dfa176 = new DFA176(this);
+    protected DFA259 dfa259 = new DFA259(this);
+    protected DFA260 dfa260 = new DFA260(this);
+    protected DFA261 dfa261 = new DFA261(this);
+    protected DFA262 dfa262 = new DFA262(this);
+    protected DFA263 dfa263 = new DFA263(this);
+    protected DFA264 dfa264 = new DFA264(this);
+    protected DFA265 dfa265 = new DFA265(this);
+    protected DFA266 dfa266 = new DFA266(this);
+    protected DFA271 dfa271 = new DFA271(this);
+    protected DFA272 dfa272 = new DFA272(this);
+    protected DFA274 dfa274 = new DFA274(this);
+    protected DFA278 dfa278 = new DFA278(this);
+    protected DFA279 dfa279 = new DFA279(this);
+    protected DFA280 dfa280 = new DFA280(this);
+    protected DFA281 dfa281 = new DFA281(this);
+    protected DFA282 dfa282 = new DFA282(this);
+    protected DFA283 dfa283 = new DFA283(this);
+    protected DFA284 dfa284 = new DFA284(this);
+    protected DFA285 dfa285 = new DFA285(this);
+    protected DFA286 dfa286 = new DFA286(this);
+    static final String DFA29_eotS =
         "\23\uffff";
-    static final String DFA23_eofS =
+    static final String DFA29_eofS =
         "\23\uffff";
-    static final String DFA23_minS =
-        "\1\7\1\25\1\7\1\27\2\7\1\uffff\1\7\1\22\3\7\1\22\2\uffff\1\22\2"+
-        "\uffff\1\22";
-    static final String DFA23_maxS =
-        "\1\72\5\143\1\uffff\6\143\2\uffff\1\52\2\uffff\1\52";
-    static final String DFA23_acceptS =
-        "\6\uffff\1\2\6\uffff\1\1\1\5\1\uffff\1\3\1\4\1\uffff";
-    static final String DFA23_specialS =
+    static final String DFA29_minS =
+        "\1\7\1\25\1\7\1\27\2\7\1\uffff\1\7\1\22\3\7\1\22\2\uffff\2\22\2"+
+        "\uffff";
+    static final String DFA29_maxS =
+        "\1\103\5\154\1\uffff\6\154\2\uffff\2\52\2\uffff";
+    static final String DFA29_acceptS =
+        "\6\uffff\1\2\6\uffff\1\1\1\5\2\uffff\1\3\1\4";
+    static final String DFA29_specialS =
         "\23\uffff}>";
-    static final String[] DFA23_transitionS = {
+    static final String[] DFA29_transitionS = {
             "\2\6\10\uffff\1\1\1\7\2\6\1\2\1\6\1\4\1\10\2\6\1\5\10\6\1\11"+
-            "\1\6\1\12\2\6\1\3\1\13\3\6\1\14\6\6\5\uffff\1\6",
-            "\1\15\37\uffff\1\6\20\uffff\1\6\34\uffff\1\6",
-            "\2\15\10\uffff\44\15\1\6\1\uffff\6\15\11\uffff\1\6\34\uffff"+
+            "\1\6\1\12\2\6\1\3\1\13\3\6\1\14\6\6\16\uffff\1\6",
+            "\1\15\37\uffff\1\6\31\uffff\1\6\34\uffff\1\6",
+            "\2\15\10\uffff\44\15\1\6\12\uffff\6\15\11\uffff\1\6\34\uffff"+
             "\1\6",
-            "\1\15\35\uffff\1\6\20\uffff\1\6\34\uffff\1\6",
-            "\2\15\10\uffff\44\15\1\6\1\uffff\6\15\11\uffff\1\6\34\uffff"+
+            "\1\15\35\uffff\1\6\31\uffff\1\6\34\uffff\1\6",
+            "\2\15\10\uffff\44\15\1\6\12\uffff\6\15\11\uffff\1\6\34\uffff"+
             "\1\6",
-            "\2\15\10\uffff\44\15\1\6\1\uffff\6\15\11\uffff\1\6\34\uffff"+
+            "\2\15\10\uffff\44\15\1\6\12\uffff\6\15\11\uffff\1\6\34\uffff"+
             "\1\6",
             "",
-            "\2\16\10\uffff\44\16\1\6\1\uffff\6\16\11\uffff\1\6\34\uffff"+
+            "\2\16\10\uffff\44\16\1\6\12\uffff\6\16\11\uffff\1\6\34\uffff"+
             "\1\6",
-            "\1\16\21\uffff\1\20\5\uffff\1\16\3\uffff\1\17\6\uffff\1\6"+
-            "\20\uffff\1\6\34\uffff\1\6",
-            "\2\20\10\uffff\44\20\1\6\1\uffff\6\20\6\uffff\1\20\2\uffff"+
-            "\1\6\30\uffff\1\20\3\uffff\1\6",
-            "\2\21\10\uffff\44\21\1\6\1\uffff\6\21\11\uffff\1\6\34\uffff"+
+            "\1\16\5\uffff\1\20\13\uffff\1\21\5\uffff\1\16\3\uffff\1\17"+
+            "\6\uffff\1\6\31\uffff\1\6\34\uffff\1\6",
+            "\2\21\10\uffff\44\21\1\6\12\uffff\6\21\6\uffff\1\21\2\uffff"+
+            "\1\6\30\uffff\1\21\3\uffff\1\6",
+            "\2\22\10\uffff\44\22\1\6\12\uffff\6\22\11\uffff\1\6\34\uffff"+
             "\1\6",
-            "\2\16\10\uffff\44\16\1\6\1\uffff\6\16\11\uffff\1\6\34\uffff"+
+            "\2\16\10\uffff\44\16\1\6\12\uffff\6\16\11\uffff\1\6\34\uffff"+
             "\1\6",
-            "\1\16\5\uffff\1\22\13\uffff\1\20\5\uffff\1\16\12\uffff\1\6"+
-            "\20\uffff\1\6\34\uffff\1\6",
+            "\1\16\5\uffff\1\20\13\uffff\1\21\5\uffff\1\16\3\uffff\1\17"+
+            "\6\uffff\1\6\31\uffff\1\6\34\uffff\1\6",
             "",
             "",
-            "\1\16\21\uffff\1\20\5\uffff\1\16",
-            "",
-            "",
-            "\1\16\21\uffff\1\20\5\uffff\1\16"
-    };
-
-    static final short[] DFA23_eot = DFA.unpackEncodedString(DFA23_eotS);
-    static final short[] DFA23_eof = DFA.unpackEncodedString(DFA23_eofS);
-    static final char[] DFA23_min = DFA.unpackEncodedStringToUnsignedChars(DFA23_minS);
-    static final char[] DFA23_max = DFA.unpackEncodedStringToUnsignedChars(DFA23_maxS);
-    static final short[] DFA23_accept = DFA.unpackEncodedString(DFA23_acceptS);
-    static final short[] DFA23_special = DFA.unpackEncodedString(DFA23_specialS);
-    static final short[][] DFA23_transition;
-
-    static {
-        int numStates = DFA23_transitionS.length;
-        DFA23_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA23_transition[i] = DFA.unpackEncodedString(DFA23_transitionS[i]);
-        }
-    }
-
-    class DFA23 extends DFA {
-
-        public DFA23(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 23;
-            this.eot = DFA23_eot;
-            this.eof = DFA23_eof;
-            this.min = DFA23_min;
-            this.max = DFA23_max;
-            this.accept = DFA23_accept;
-            this.special = DFA23_special;
-            this.transition = DFA23_transition;
-        }
-        public String getDescription() {
-            return "3946:1: rule__ModelElementCS__Alternatives : ( ( ruleClassCS ) | ( ruleEnumerationLiteralCS ) | ( ruleOperationCS ) | ( rulePackageCS ) | ( ruleStructuralFeatureCS ) );";
-        }
-    }
-    static final String DFA52_eotS =
-        "\57\uffff";
-    static final String DFA52_eofS =
-        "\2\uffff\54\1\1\uffff";
-    static final String DFA52_minS =
-        "\1\4\1\uffff\54\75\1\uffff";
-    static final String DFA52_maxS =
-        "\1\u0084\1\uffff\54\u0085\1\uffff";
-    static final String DFA52_acceptS =
-        "\1\uffff\1\1\54\uffff\1\2";
-    static final String DFA52_specialS =
-        "\57\uffff}>";
-    static final String[] DFA52_transitionS = {
-            "\2\1\1\uffff\1\2\1\3\10\uffff\1\4\1\5\1\6\1\7\1\10\1\11\1\12"+
-            "\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26"+
-            "\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42"+
-            "\1\43\1\44\1\45\1\46\1\47\2\uffff\1\50\1\51\1\52\1\53\1\54\1"+
-            "\55\3\1\20\uffff\16\1\1\uffff\1\1\1\uffff\1\56\7\uffff\3\1\4"+
-            "\uffff\1\1\4\uffff\2\1\14\uffff\2\1",
-            "",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
-            "\1\5\uffff\1\1\27\uffff\1\1",
-            ""
-    };
-
-    static final short[] DFA52_eot = DFA.unpackEncodedString(DFA52_eotS);
-    static final short[] DFA52_eof = DFA.unpackEncodedString(DFA52_eofS);
-    static final char[] DFA52_min = DFA.unpackEncodedStringToUnsignedChars(DFA52_minS);
-    static final char[] DFA52_max = DFA.unpackEncodedStringToUnsignedChars(DFA52_maxS);
-    static final short[] DFA52_accept = DFA.unpackEncodedString(DFA52_acceptS);
-    static final short[] DFA52_special = DFA.unpackEncodedString(DFA52_specialS);
-    static final short[][] DFA52_transition;
-
-    static {
-        int numStates = DFA52_transitionS.length;
-        DFA52_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA52_transition[i] = DFA.unpackEncodedString(DFA52_transitionS[i]);
-        }
-    }
-
-    class DFA52 extends DFA {
-
-        public DFA52(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 52;
-            this.eot = DFA52_eot;
-            this.eof = DFA52_eof;
-            this.min = DFA52_min;
-            this.max = DFA52_max;
-            this.accept = DFA52_accept;
-            this.special = DFA52_special;
-            this.transition = DFA52_transition;
-        }
-        public String getDescription() {
-            return "5046:1: rule__CollectionLiteralPartCS__Alternatives : ( ( ( rule__CollectionLiteralPartCS__Group_0__0 ) ) | ( ( rule__CollectionLiteralPartCS__OwnedExpressionAssignment_1 ) ) );";
-        }
-    }
-    static final String DFA53_eotS =
-        "\57\uffff";
-    static final String DFA53_eofS =
-        "\2\uffff\54\1\1\uffff";
-    static final String DFA53_minS =
-        "\1\4\1\uffff\54\75\1\uffff";
-    static final String DFA53_maxS =
-        "\1\u0084\1\uffff\54\u0085\1\uffff";
-    static final String DFA53_acceptS =
-        "\1\uffff\1\1\54\uffff\1\2";
-    static final String DFA53_specialS =
-        "\57\uffff}>";
-    static final String[] DFA53_transitionS = {
-            "\2\1\1\uffff\1\2\1\3\10\uffff\1\4\1\5\1\6\1\7\1\10\1\11\1\12"+
-            "\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26"+
-            "\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42"+
-            "\1\43\1\44\1\45\1\46\1\47\2\uffff\1\50\1\51\1\52\1\53\1\54\1"+
-            "\55\3\1\20\uffff\16\1\1\uffff\1\1\1\uffff\1\56\7\uffff\3\1\4"+
-            "\uffff\1\1\4\uffff\2\1\14\uffff\2\1",
-            "",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
-            "\1\6\uffff\1\1\27\uffff\1\1",
-            ""
-    };
-
-    static final short[] DFA53_eot = DFA.unpackEncodedString(DFA53_eotS);
-    static final short[] DFA53_eof = DFA.unpackEncodedString(DFA53_eofS);
-    static final char[] DFA53_min = DFA.unpackEncodedStringToUnsignedChars(DFA53_minS);
-    static final char[] DFA53_max = DFA.unpackEncodedStringToUnsignedChars(DFA53_maxS);
-    static final short[] DFA53_accept = DFA.unpackEncodedString(DFA53_acceptS);
-    static final short[] DFA53_special = DFA.unpackEncodedString(DFA53_specialS);
-    static final short[][] DFA53_transition;
-
-    static {
-        int numStates = DFA53_transitionS.length;
-        DFA53_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA53_transition[i] = DFA.unpackEncodedString(DFA53_transitionS[i]);
-        }
-    }
-
-    class DFA53 extends DFA {
-
-        public DFA53(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 53;
-            this.eot = DFA53_eot;
-            this.eof = DFA53_eof;
-            this.min = DFA53_min;
-            this.max = DFA53_max;
-            this.accept = DFA53_accept;
-            this.special = DFA53_special;
-            this.transition = DFA53_transition;
-        }
-        public String getDescription() {
-            return "5068:1: rule__ConstructorPartCS__OwnedInitExpressionAlternatives_2_0 : ( ( ruleExpCS ) | ( rulePatternExpCS ) );";
-        }
-    }
-    static final String DFA57_eotS =
-        "\74\uffff";
-    static final String DFA57_eofS =
-        "\74\uffff";
-    static final String DFA57_minS =
-        "\1\7\64\uffff\5\0\2\uffff";
-    static final String DFA57_maxS =
-        "\1\135\64\uffff\5\0\2\uffff";
-    static final String DFA57_acceptS =
-        "\1\uffff\1\1\53\uffff\1\2\15\uffff\1\3";
-    static final String DFA57_specialS =
-        "\65\uffff\1\0\1\1\1\2\1\3\1\4\2\uffff}>";
-    static final String[] DFA57_transitionS = {
-            "\2\1\10\uffff\44\1\2\uffff\6\1\23\uffff\11\55\1\65\1\66\1\67"+
-            "\1\70\1\71",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
+            "\1\16\21\uffff\1\21\5\uffff\1\16",
+            "\1\16\21\uffff\1\21\5\uffff\1\16",
             "",
             ""
     };
 
-    static final short[] DFA57_eot = DFA.unpackEncodedString(DFA57_eotS);
-    static final short[] DFA57_eof = DFA.unpackEncodedString(DFA57_eofS);
-    static final char[] DFA57_min = DFA.unpackEncodedStringToUnsignedChars(DFA57_minS);
-    static final char[] DFA57_max = DFA.unpackEncodedStringToUnsignedChars(DFA57_maxS);
-    static final short[] DFA57_accept = DFA.unpackEncodedString(DFA57_acceptS);
-    static final short[] DFA57_special = DFA.unpackEncodedString(DFA57_specialS);
-    static final short[][] DFA57_transition;
+    static final short[] DFA29_eot = DFA.unpackEncodedString(DFA29_eotS);
+    static final short[] DFA29_eof = DFA.unpackEncodedString(DFA29_eofS);
+    static final char[] DFA29_min = DFA.unpackEncodedStringToUnsignedChars(DFA29_minS);
+    static final char[] DFA29_max = DFA.unpackEncodedStringToUnsignedChars(DFA29_maxS);
+    static final short[] DFA29_accept = DFA.unpackEncodedString(DFA29_acceptS);
+    static final short[] DFA29_special = DFA.unpackEncodedString(DFA29_specialS);
+    static final short[][] DFA29_transition;
 
     static {
-        int numStates = DFA57_transitionS.length;
-        DFA57_transition = new short[numStates][];
+        int numStates = DFA29_transitionS.length;
+        DFA29_transition = new short[numStates][];
         for (int i=0; i<numStates; i++) {
-            DFA57_transition[i] = DFA.unpackEncodedString(DFA57_transitionS[i]);
+            DFA29_transition[i] = DFA.unpackEncodedString(DFA29_transitionS[i]);
         }
     }
 
-    class DFA57 extends DFA {
+    class DFA29 extends DFA {
 
-        public DFA57(BaseRecognizer recognizer) {
+        public DFA29(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 57;
-            this.eot = DFA57_eot;
-            this.eof = DFA57_eof;
-            this.min = DFA57_min;
-            this.max = DFA57_max;
-            this.accept = DFA57_accept;
-            this.special = DFA57_special;
-            this.transition = DFA57_transition;
+            this.decisionNumber = 29;
+            this.eot = DFA29_eot;
+            this.eof = DFA29_eof;
+            this.min = DFA29_min;
+            this.max = DFA29_max;
+            this.accept = DFA29_accept;
+            this.special = DFA29_special;
+            this.transition = DFA29_transition;
         }
         public String getDescription() {
-            return "5186:1: rule__TypeExpCS__Alternatives_0 : ( ( ruleTypeNameExpCS ) | ( ruleTypeLiteralCS ) | ( ruleCollectionPatternCS ) );";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA57_53 = input.LA(1);
-
-                         
-                        int index57_53 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred179_InternalOCLinEcore()) ) {s = 45;}
-
-                        else if ( (true) ) {s = 59;}
-
-                         
-                        input.seek(index57_53);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 1 : 
-                        int LA57_54 = input.LA(1);
-
-                         
-                        int index57_54 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred179_InternalOCLinEcore()) ) {s = 45;}
-
-                        else if ( (true) ) {s = 59;}
-
-                         
-                        input.seek(index57_54);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 2 : 
-                        int LA57_55 = input.LA(1);
-
-                         
-                        int index57_55 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred179_InternalOCLinEcore()) ) {s = 45;}
-
-                        else if ( (true) ) {s = 59;}
-
-                         
-                        input.seek(index57_55);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 3 : 
-                        int LA57_56 = input.LA(1);
-
-                         
-                        int index57_56 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred179_InternalOCLinEcore()) ) {s = 45;}
-
-                        else if ( (true) ) {s = 59;}
-
-                         
-                        input.seek(index57_56);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 4 : 
-                        int LA57_57 = input.LA(1);
-
-                         
-                        int index57_57 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred179_InternalOCLinEcore()) ) {s = 45;}
-
-                        else if ( (true) ) {s = 59;}
-
-                         
-                        input.seek(index57_57);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 57, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-    static final String DFA58_eotS =
-        "\111\uffff";
-    static final String DFA58_eofS =
-        "\111\uffff";
-    static final String DFA58_minS =
-        "\1\4\2\0\106\uffff";
-    static final String DFA58_maxS =
-        "\1\u0084\2\0\106\uffff";
-    static final String DFA58_acceptS =
-        "\3\uffff\1\1\104\uffff\1\2";
-    static final String DFA58_specialS =
-        "\1\uffff\1\0\1\1\106\uffff}>";
-    static final String[] DFA58_transitionS = {
-            "\2\3\1\uffff\2\3\10\uffff\44\3\2\uffff\6\3\1\1\1\2\1\3\20\uffff"+
-            "\16\3\1\uffff\1\3\11\uffff\3\3\4\uffff\1\3\4\uffff\1\110\1\3"+
-            "\14\uffff\2\3",
-            "\1\uffff",
-            "\1\uffff",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            ""
-    };
-
-    static final short[] DFA58_eot = DFA.unpackEncodedString(DFA58_eotS);
-    static final short[] DFA58_eof = DFA.unpackEncodedString(DFA58_eofS);
-    static final char[] DFA58_min = DFA.unpackEncodedStringToUnsignedChars(DFA58_minS);
-    static final char[] DFA58_max = DFA.unpackEncodedStringToUnsignedChars(DFA58_maxS);
-    static final short[] DFA58_accept = DFA.unpackEncodedString(DFA58_acceptS);
-    static final short[] DFA58_special = DFA.unpackEncodedString(DFA58_specialS);
-    static final short[][] DFA58_transition;
-
-    static {
-        int numStates = DFA58_transitionS.length;
-        DFA58_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA58_transition[i] = DFA.unpackEncodedString(DFA58_transitionS[i]);
-        }
-    }
-
-    class DFA58 extends DFA {
-
-        public DFA58(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 58;
-            this.eot = DFA58_eot;
-            this.eof = DFA58_eof;
-            this.min = DFA58_min;
-            this.max = DFA58_max;
-            this.accept = DFA58_accept;
-            this.special = DFA58_special;
-            this.transition = DFA58_transition;
-        }
-        public String getDescription() {
-            return "5214:1: rule__ExpCS__Alternatives : ( ( ( rule__ExpCS__Group_0__0 ) ) | ( rulePrefixedLetExpCS ) );";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA58_1 = input.LA(1);
-
-                         
-                        int index58_1 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred180_InternalOCLinEcore()) ) {s = 3;}
-
-                        else if ( (true) ) {s = 72;}
-
-                         
-                        input.seek(index58_1);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 1 : 
-                        int LA58_2 = input.LA(1);
-
-                         
-                        int index58_2 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred180_InternalOCLinEcore()) ) {s = 3;}
-
-                        else if ( (true) ) {s = 72;}
-
-                         
-                        input.seek(index58_2);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 58, _s, input);
-            error(nvae);
-            throw nvae;
-        }
-    }
-    static final String DFA61_eotS =
-        "\110\uffff";
-    static final String DFA61_eofS =
-        "\110\uffff";
-    static final String DFA61_minS =
-        "\1\4\12\uffff\6\0\67\uffff";
-    static final String DFA61_maxS =
-        "\1\u0084\12\uffff\6\0\67\uffff";
-    static final String DFA61_acceptS =
-        "\1\uffff\1\1\1\2\1\3\1\4\14\uffff\1\7\1\10\7\uffff\1\11\53\uffff"+
-        "\1\5\1\6";
-    static final String DFA61_specialS =
-        "\13\uffff\1\0\1\1\1\2\1\3\1\4\1\5\67\uffff}>";
-    static final String[] DFA61_transitionS = {
-            "\2\4\1\uffff\2\32\10\uffff\44\32\2\uffff\6\32\2\uffff\1\4\20"+
-            "\uffff\1\13\10\22\1\14\1\15\1\16\1\17\1\20\1\uffff\1\1\11\uffff"+
-            "\1\21\2\4\4\uffff\1\2\5\uffff\1\3\14\uffff\2\4",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "\1\uffff",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            ""
-    };
-
-    static final short[] DFA61_eot = DFA.unpackEncodedString(DFA61_eotS);
-    static final short[] DFA61_eof = DFA.unpackEncodedString(DFA61_eofS);
-    static final char[] DFA61_min = DFA.unpackEncodedStringToUnsignedChars(DFA61_minS);
-    static final char[] DFA61_max = DFA.unpackEncodedStringToUnsignedChars(DFA61_maxS);
-    static final short[] DFA61_accept = DFA.unpackEncodedString(DFA61_acceptS);
-    static final short[] DFA61_special = DFA.unpackEncodedString(DFA61_specialS);
-    static final short[][] DFA61_transition;
-
-    static {
-        int numStates = DFA61_transitionS.length;
-        DFA61_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA61_transition[i] = DFA.unpackEncodedString(DFA61_transitionS[i]);
-        }
-    }
-
-    class DFA61 extends DFA {
-
-        public DFA61(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 61;
-            this.eot = DFA61_eot;
-            this.eof = DFA61_eof;
-            this.min = DFA61_min;
-            this.max = DFA61_max;
-            this.accept = DFA61_accept;
-            this.special = DFA61_special;
-            this.transition = DFA61_transition;
-        }
-        public String getDescription() {
-            return "5280:1: rule__PrimaryExpCS__Alternatives : ( ( ruleNestedExpCS ) | ( ruleIfExpCS ) | ( ruleSelfExpCS ) | ( rulePrimitiveLiteralExpCS ) | ( ruleTupleLiteralExpCS ) | ( ruleCollectionLiteralExpCS ) | ( ruleLambdaLiteralExpCS ) | ( ruleTypeLiteralExpCS ) | ( ruleNameExpCS ) );";
-        }
-        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
-            TokenStream input = (TokenStream)_input;
-        	int _s = s;
-            switch ( s ) {
-                    case 0 : 
-                        int LA61_11 = input.LA(1);
-
-                         
-                        int index61_11 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred187_InternalOCLinEcore()) ) {s = 70;}
-
-                        else if ( (synpred190_InternalOCLinEcore()) ) {s = 18;}
-
-                         
-                        input.seek(index61_11);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 1 : 
-                        int LA61_12 = input.LA(1);
-
-                         
-                        int index61_12 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred188_InternalOCLinEcore()) ) {s = 71;}
-
-                        else if ( (synpred190_InternalOCLinEcore()) ) {s = 18;}
-
-                         
-                        input.seek(index61_12);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 2 : 
-                        int LA61_13 = input.LA(1);
-
-                         
-                        int index61_13 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred188_InternalOCLinEcore()) ) {s = 71;}
-
-                        else if ( (synpred190_InternalOCLinEcore()) ) {s = 18;}
-
-                         
-                        input.seek(index61_13);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 3 : 
-                        int LA61_14 = input.LA(1);
-
-                         
-                        int index61_14 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred188_InternalOCLinEcore()) ) {s = 71;}
-
-                        else if ( (synpred190_InternalOCLinEcore()) ) {s = 18;}
-
-                         
-                        input.seek(index61_14);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 4 : 
-                        int LA61_15 = input.LA(1);
-
-                         
-                        int index61_15 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred188_InternalOCLinEcore()) ) {s = 71;}
-
-                        else if ( (synpred190_InternalOCLinEcore()) ) {s = 18;}
-
-                         
-                        input.seek(index61_15);
-                        if ( s>=0 ) return s;
-                        break;
-                    case 5 : 
-                        int LA61_16 = input.LA(1);
-
-                         
-                        int index61_16 = input.index();
-                        input.rewind();
-                        s = -1;
-                        if ( (synpred188_InternalOCLinEcore()) ) {s = 71;}
-
-                        else if ( (synpred190_InternalOCLinEcore()) ) {s = 18;}
-
-                         
-                        input.seek(index61_16);
-                        if ( s>=0 ) return s;
-                        break;
-            }
-            if (state.backtracking>0) {state.failed=true; return -1;}
-            NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 61, _s, input);
-            error(nvae);
-            throw nvae;
+            return "4010:1: rule__ModelElementCS__Alternatives : ( ( ruleClassCS ) | ( ruleEnumerationLiteralCS ) | ( ruleOperationCS ) | ( rulePackageCS ) | ( ruleStructuralFeatureCS ) );";
         }
     }
     static final String DFA67_eotS =
         "\57\uffff";
     static final String DFA67_eofS =
-        "\57\uffff";
+        "\2\uffff\54\1\1\uffff";
     static final String DFA67_minS =
-        "\1\4\1\uffff\54\75\1\uffff";
+        "\1\4\1\uffff\54\106\1\uffff";
     static final String DFA67_maxS =
         "\1\u0084\1\uffff\54\u0085\1\uffff";
     static final String DFA67_acceptS =
@@ -82084,98 +87640,98 @@
             "\2\1\1\uffff\1\2\1\3\10\uffff\1\4\1\5\1\6\1\7\1\10\1\11\1\12"+
             "\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26"+
             "\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42"+
-            "\1\43\1\44\1\45\1\46\1\47\2\uffff\1\50\1\51\1\52\1\53\1\54\1"+
-            "\55\3\1\20\uffff\16\1\1\uffff\1\1\1\uffff\1\56\7\uffff\3\1\4"+
-            "\uffff\1\1\4\uffff\2\1\14\uffff\2\1",
+            "\1\43\1\44\1\45\1\46\1\47\13\uffff\1\50\1\51\1\52\1\53\1\54"+
+            "\1\55\3\1\20\uffff\16\1\1\uffff\1\1\1\uffff\1\56\7\uffff\3\1"+
+            "\4\uffff\1\1\4\uffff\2\1\3\uffff\2\1",
             "",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
-            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
-            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\23\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\2"+
+            "\1\5\uffff\1\1\16\uffff\1\1",
             ""
     };
 
@@ -82209,106 +87765,4383 @@
             this.transition = DFA67_transition;
         }
         public String getDescription() {
-            return "5432:1: rule__IfExpCS__OwnedConditionAlternatives_1_0 : ( ( ruleExpCS ) | ( rulePatternExpCS ) );";
+            return "5204:1: rule__CollectionLiteralPartCS__Alternatives : ( ( ( rule__CollectionLiteralPartCS__Group_0__0 ) ) | ( ( rule__CollectionLiteralPartCS__OwnedExpressionAssignment_1 ) ) );";
         }
     }
-    static final String DFA124_eotS =
+    static final String DFA68_eotS =
         "\57\uffff";
-    static final String DFA124_eofS =
-        "\57\uffff";
-    static final String DFA124_minS =
-        "\1\5\54\65\2\uffff";
-    static final String DFA124_maxS =
-        "\1\74\54\u0080\2\uffff";
-    static final String DFA124_acceptS =
-        "\55\uffff\1\2\1\1";
-    static final String DFA124_specialS =
+    static final String DFA68_eofS =
+        "\2\uffff\54\1\1\uffff";
+    static final String DFA68_minS =
+        "\1\4\1\uffff\54\106\1\uffff";
+    static final String DFA68_maxS =
+        "\1\u0084\1\uffff\54\u0085\1\uffff";
+    static final String DFA68_acceptS =
+        "\1\uffff\1\1\54\uffff\1\2";
+    static final String DFA68_specialS =
         "\57\uffff}>";
-    static final String[] DFA124_transitionS = {
-            "\1\55\1\uffff\1\1\1\2\10\uffff\1\3\1\4\1\5\1\6\1\7\1\10\1\11"+
-            "\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25"+
-            "\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\41"+
-            "\1\42\1\43\1\44\1\45\1\46\2\uffff\1\47\1\50\1\51\1\52\1\53\1"+
-            "\54",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
-            "\1\55\53\uffff\1\56\4\uffff\1\55\31\uffff\1\55",
+    static final String[] DFA68_transitionS = {
+            "\2\1\1\uffff\1\2\1\3\10\uffff\1\4\1\5\1\6\1\7\1\10\1\11\1\12"+
+            "\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26"+
+            "\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42"+
+            "\1\43\1\44\1\45\1\46\1\47\13\uffff\1\50\1\51\1\52\1\53\1\54"+
+            "\1\55\3\1\20\uffff\16\1\1\uffff\1\1\1\uffff\1\56\7\uffff\3\1"+
+            "\4\uffff\1\1\4\uffff\2\1\3\uffff\2\1",
+            "",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\3\1\1\uffff\1"+
+            "\1\6\uffff\1\1\16\uffff\1\1",
+            ""
+    };
+
+    static final short[] DFA68_eot = DFA.unpackEncodedString(DFA68_eotS);
+    static final short[] DFA68_eof = DFA.unpackEncodedString(DFA68_eofS);
+    static final char[] DFA68_min = DFA.unpackEncodedStringToUnsignedChars(DFA68_minS);
+    static final char[] DFA68_max = DFA.unpackEncodedStringToUnsignedChars(DFA68_maxS);
+    static final short[] DFA68_accept = DFA.unpackEncodedString(DFA68_acceptS);
+    static final short[] DFA68_special = DFA.unpackEncodedString(DFA68_specialS);
+    static final short[][] DFA68_transition;
+
+    static {
+        int numStates = DFA68_transitionS.length;
+        DFA68_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA68_transition[i] = DFA.unpackEncodedString(DFA68_transitionS[i]);
+        }
+    }
+
+    class DFA68 extends DFA {
+
+        public DFA68(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 68;
+            this.eot = DFA68_eot;
+            this.eof = DFA68_eof;
+            this.min = DFA68_min;
+            this.max = DFA68_max;
+            this.accept = DFA68_accept;
+            this.special = DFA68_special;
+            this.transition = DFA68_transition;
+        }
+        public String getDescription() {
+            return "5226:1: rule__ConstructorPartCS__OwnedInitExpressionAlternatives_2_0 : ( ( ruleExpCS ) | ( rulePatternExpCS ) );";
+        }
+    }
+    static final String DFA72_eotS =
+        "\74\uffff";
+    static final String DFA72_eofS =
+        "\74\uffff";
+    static final String DFA72_minS =
+        "\1\7\64\uffff\5\0\2\uffff";
+    static final String DFA72_maxS =
+        "\1\146\64\uffff\5\0\2\uffff";
+    static final String DFA72_acceptS =
+        "\1\uffff\1\1\53\uffff\1\2\15\uffff\1\3";
+    static final String DFA72_specialS =
+        "\65\uffff\1\0\1\1\1\2\1\3\1\4\2\uffff}>";
+    static final String[] DFA72_transitionS = {
+            "\2\1\10\uffff\44\1\13\uffff\6\1\23\uffff\11\55\1\65\1\66\1"+
+            "\67\1\70\1\71",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
             "",
             ""
     };
 
-    static final short[] DFA124_eot = DFA.unpackEncodedString(DFA124_eotS);
-    static final short[] DFA124_eof = DFA.unpackEncodedString(DFA124_eofS);
-    static final char[] DFA124_min = DFA.unpackEncodedStringToUnsignedChars(DFA124_minS);
-    static final char[] DFA124_max = DFA.unpackEncodedStringToUnsignedChars(DFA124_maxS);
-    static final short[] DFA124_accept = DFA.unpackEncodedString(DFA124_acceptS);
-    static final short[] DFA124_special = DFA.unpackEncodedString(DFA124_specialS);
-    static final short[][] DFA124_transition;
+    static final short[] DFA72_eot = DFA.unpackEncodedString(DFA72_eotS);
+    static final short[] DFA72_eof = DFA.unpackEncodedString(DFA72_eofS);
+    static final char[] DFA72_min = DFA.unpackEncodedStringToUnsignedChars(DFA72_minS);
+    static final char[] DFA72_max = DFA.unpackEncodedStringToUnsignedChars(DFA72_maxS);
+    static final short[] DFA72_accept = DFA.unpackEncodedString(DFA72_acceptS);
+    static final short[] DFA72_special = DFA.unpackEncodedString(DFA72_specialS);
+    static final short[][] DFA72_transition;
 
     static {
-        int numStates = DFA124_transitionS.length;
-        DFA124_transition = new short[numStates][];
+        int numStates = DFA72_transitionS.length;
+        DFA72_transition = new short[numStates][];
         for (int i=0; i<numStates; i++) {
-            DFA124_transition[i] = DFA.unpackEncodedString(DFA124_transitionS[i]);
+            DFA72_transition[i] = DFA.unpackEncodedString(DFA72_transitionS[i]);
         }
     }
 
-    class DFA124 extends DFA {
+    class DFA72 extends DFA {
 
-        public DFA124(BaseRecognizer recognizer) {
+        public DFA72(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 124;
-            this.eot = DFA124_eot;
-            this.eof = DFA124_eof;
-            this.min = DFA124_min;
-            this.max = DFA124_max;
-            this.accept = DFA124_accept;
-            this.special = DFA124_special;
-            this.transition = DFA124_transition;
+            this.decisionNumber = 72;
+            this.eot = DFA72_eot;
+            this.eof = DFA72_eof;
+            this.min = DFA72_min;
+            this.max = DFA72_max;
+            this.accept = DFA72_accept;
+            this.special = DFA72_special;
+            this.transition = DFA72_transition;
         }
         public String getDescription() {
-            return "10134:1: ( rule__ImportCS__Group_1__0 )?";
+            return "5344:1: rule__TypeExpCS__Alternatives_0 : ( ( ruleTypeNameExpCS ) | ( ruleTypeLiteralCS ) | ( ruleCollectionPatternCS ) );";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA72_53 = input.LA(1);
+
+                         
+                        int index72_53 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred158_InternalOCLinEcore()) ) {s = 45;}
+
+                        else if ( (true) ) {s = 59;}
+
+                         
+                        input.seek(index72_53);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA72_54 = input.LA(1);
+
+                         
+                        int index72_54 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred158_InternalOCLinEcore()) ) {s = 45;}
+
+                        else if ( (true) ) {s = 59;}
+
+                         
+                        input.seek(index72_54);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 2 : 
+                        int LA72_55 = input.LA(1);
+
+                         
+                        int index72_55 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred158_InternalOCLinEcore()) ) {s = 45;}
+
+                        else if ( (true) ) {s = 59;}
+
+                         
+                        input.seek(index72_55);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 3 : 
+                        int LA72_56 = input.LA(1);
+
+                         
+                        int index72_56 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred158_InternalOCLinEcore()) ) {s = 45;}
+
+                        else if ( (true) ) {s = 59;}
+
+                         
+                        input.seek(index72_56);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 4 : 
+                        int LA72_57 = input.LA(1);
+
+                         
+                        int index72_57 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred158_InternalOCLinEcore()) ) {s = 45;}
+
+                        else if ( (true) ) {s = 59;}
+
+                         
+                        input.seek(index72_57);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 72, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA73_eotS =
+        "\111\uffff";
+    static final String DFA73_eofS =
+        "\111\uffff";
+    static final String DFA73_minS =
+        "\1\4\2\0\106\uffff";
+    static final String DFA73_maxS =
+        "\1\u0084\2\0\106\uffff";
+    static final String DFA73_acceptS =
+        "\3\uffff\1\1\104\uffff\1\2";
+    static final String DFA73_specialS =
+        "\1\uffff\1\0\1\1\106\uffff}>";
+    static final String[] DFA73_transitionS = {
+            "\2\3\1\uffff\2\3\10\uffff\44\3\13\uffff\6\3\1\1\1\2\1\3\20"+
+            "\uffff\16\3\1\uffff\1\3\11\uffff\3\3\4\uffff\1\3\4\uffff\1\110"+
+            "\1\3\3\uffff\2\3",
+            "\1\uffff",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA73_eot = DFA.unpackEncodedString(DFA73_eotS);
+    static final short[] DFA73_eof = DFA.unpackEncodedString(DFA73_eofS);
+    static final char[] DFA73_min = DFA.unpackEncodedStringToUnsignedChars(DFA73_minS);
+    static final char[] DFA73_max = DFA.unpackEncodedStringToUnsignedChars(DFA73_maxS);
+    static final short[] DFA73_accept = DFA.unpackEncodedString(DFA73_acceptS);
+    static final short[] DFA73_special = DFA.unpackEncodedString(DFA73_specialS);
+    static final short[][] DFA73_transition;
+
+    static {
+        int numStates = DFA73_transitionS.length;
+        DFA73_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA73_transition[i] = DFA.unpackEncodedString(DFA73_transitionS[i]);
+        }
+    }
+
+    class DFA73 extends DFA {
+
+        public DFA73(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 73;
+            this.eot = DFA73_eot;
+            this.eof = DFA73_eof;
+            this.min = DFA73_min;
+            this.max = DFA73_max;
+            this.accept = DFA73_accept;
+            this.special = DFA73_special;
+            this.transition = DFA73_transition;
+        }
+        public String getDescription() {
+            return "5372:1: rule__ExpCS__Alternatives : ( ( ( rule__ExpCS__Group_0__0 ) ) | ( rulePrefixedLetExpCS ) );";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA73_1 = input.LA(1);
+
+                         
+                        int index73_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred159_InternalOCLinEcore()) ) {s = 3;}
+
+                        else if ( (true) ) {s = 72;}
+
+                         
+                        input.seek(index73_1);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA73_2 = input.LA(1);
+
+                         
+                        int index73_2 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred159_InternalOCLinEcore()) ) {s = 3;}
+
+                        else if ( (true) ) {s = 72;}
+
+                         
+                        input.seek(index73_2);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 73, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA76_eotS =
+        "\110\uffff";
+    static final String DFA76_eofS =
+        "\110\uffff";
+    static final String DFA76_minS =
+        "\1\4\12\uffff\6\0\67\uffff";
+    static final String DFA76_maxS =
+        "\1\u0084\12\uffff\6\0\67\uffff";
+    static final String DFA76_acceptS =
+        "\1\uffff\1\1\1\2\1\3\1\4\14\uffff\1\7\1\10\7\uffff\1\11\53\uffff"+
+        "\1\5\1\6";
+    static final String DFA76_specialS =
+        "\13\uffff\1\0\1\1\1\2\1\3\1\4\1\5\67\uffff}>";
+    static final String[] DFA76_transitionS = {
+            "\2\4\1\uffff\2\32\10\uffff\44\32\13\uffff\6\32\2\uffff\1\4"+
+            "\20\uffff\1\13\10\22\1\14\1\15\1\16\1\17\1\20\1\uffff\1\1\11"+
+            "\uffff\1\21\2\4\4\uffff\1\2\5\uffff\1\3\3\uffff\2\4",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA76_eot = DFA.unpackEncodedString(DFA76_eotS);
+    static final short[] DFA76_eof = DFA.unpackEncodedString(DFA76_eofS);
+    static final char[] DFA76_min = DFA.unpackEncodedStringToUnsignedChars(DFA76_minS);
+    static final char[] DFA76_max = DFA.unpackEncodedStringToUnsignedChars(DFA76_maxS);
+    static final short[] DFA76_accept = DFA.unpackEncodedString(DFA76_acceptS);
+    static final short[] DFA76_special = DFA.unpackEncodedString(DFA76_specialS);
+    static final short[][] DFA76_transition;
+
+    static {
+        int numStates = DFA76_transitionS.length;
+        DFA76_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA76_transition[i] = DFA.unpackEncodedString(DFA76_transitionS[i]);
+        }
+    }
+
+    class DFA76 extends DFA {
+
+        public DFA76(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 76;
+            this.eot = DFA76_eot;
+            this.eof = DFA76_eof;
+            this.min = DFA76_min;
+            this.max = DFA76_max;
+            this.accept = DFA76_accept;
+            this.special = DFA76_special;
+            this.transition = DFA76_transition;
+        }
+        public String getDescription() {
+            return "5438:1: rule__PrimaryExpCS__Alternatives : ( ( ruleNestedExpCS ) | ( ruleIfExpCS ) | ( ruleSelfExpCS ) | ( rulePrimitiveLiteralExpCS ) | ( ruleTupleLiteralExpCS ) | ( ruleCollectionLiteralExpCS ) | ( ruleLambdaLiteralExpCS ) | ( ruleTypeLiteralExpCS ) | ( ruleNameExpCS ) );";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA76_11 = input.LA(1);
+
+                         
+                        int index76_11 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred166_InternalOCLinEcore()) ) {s = 70;}
+
+                        else if ( (synpred169_InternalOCLinEcore()) ) {s = 18;}
+
+                         
+                        input.seek(index76_11);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA76_12 = input.LA(1);
+
+                         
+                        int index76_12 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred167_InternalOCLinEcore()) ) {s = 71;}
+
+                        else if ( (synpred169_InternalOCLinEcore()) ) {s = 18;}
+
+                         
+                        input.seek(index76_12);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 2 : 
+                        int LA76_13 = input.LA(1);
+
+                         
+                        int index76_13 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred167_InternalOCLinEcore()) ) {s = 71;}
+
+                        else if ( (synpred169_InternalOCLinEcore()) ) {s = 18;}
+
+                         
+                        input.seek(index76_13);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 3 : 
+                        int LA76_14 = input.LA(1);
+
+                         
+                        int index76_14 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred167_InternalOCLinEcore()) ) {s = 71;}
+
+                        else if ( (synpred169_InternalOCLinEcore()) ) {s = 18;}
+
+                         
+                        input.seek(index76_14);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 4 : 
+                        int LA76_15 = input.LA(1);
+
+                         
+                        int index76_15 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred167_InternalOCLinEcore()) ) {s = 71;}
+
+                        else if ( (synpred169_InternalOCLinEcore()) ) {s = 18;}
+
+                         
+                        input.seek(index76_15);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 5 : 
+                        int LA76_16 = input.LA(1);
+
+                         
+                        int index76_16 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred167_InternalOCLinEcore()) ) {s = 71;}
+
+                        else if ( (synpred169_InternalOCLinEcore()) ) {s = 18;}
+
+                         
+                        input.seek(index76_16);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 76, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA82_eotS =
+        "\57\uffff";
+    static final String DFA82_eofS =
+        "\57\uffff";
+    static final String DFA82_minS =
+        "\1\4\1\uffff\54\106\1\uffff";
+    static final String DFA82_maxS =
+        "\1\u0084\1\uffff\54\u0085\1\uffff";
+    static final String DFA82_acceptS =
+        "\1\uffff\1\1\54\uffff\1\2";
+    static final String DFA82_specialS =
+        "\57\uffff}>";
+    static final String[] DFA82_transitionS = {
+            "\2\1\1\uffff\1\2\1\3\10\uffff\1\4\1\5\1\6\1\7\1\10\1\11\1\12"+
+            "\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26"+
+            "\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42"+
+            "\1\43\1\44\1\45\1\46\1\47\13\uffff\1\50\1\51\1\52\1\53\1\54"+
+            "\1\55\3\1\20\uffff\16\1\1\uffff\1\1\1\uffff\1\56\7\uffff\3\1"+
+            "\4\uffff\1\1\4\uffff\2\1\3\uffff\2\1",
+            "",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            "\1\1\1\uffff\21\1\17\uffff\1\1\1\uffff\1\56\1\uffff\1\1\2"+
+            "\uffff\1\1\6\uffff\1\1\3\uffff\1\1\12\uffff\1\1",
+            ""
+    };
+
+    static final short[] DFA82_eot = DFA.unpackEncodedString(DFA82_eotS);
+    static final short[] DFA82_eof = DFA.unpackEncodedString(DFA82_eofS);
+    static final char[] DFA82_min = DFA.unpackEncodedStringToUnsignedChars(DFA82_minS);
+    static final char[] DFA82_max = DFA.unpackEncodedStringToUnsignedChars(DFA82_maxS);
+    static final short[] DFA82_accept = DFA.unpackEncodedString(DFA82_acceptS);
+    static final short[] DFA82_special = DFA.unpackEncodedString(DFA82_specialS);
+    static final short[][] DFA82_transition;
+
+    static {
+        int numStates = DFA82_transitionS.length;
+        DFA82_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA82_transition[i] = DFA.unpackEncodedString(DFA82_transitionS[i]);
+        }
+    }
+
+    class DFA82 extends DFA {
+
+        public DFA82(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 82;
+            this.eot = DFA82_eot;
+            this.eof = DFA82_eof;
+            this.min = DFA82_min;
+            this.max = DFA82_max;
+            this.accept = DFA82_accept;
+            this.special = DFA82_special;
+            this.transition = DFA82_transition;
+        }
+        public String getDescription() {
+            return "5590:1: rule__IfExpCS__OwnedConditionAlternatives_1_0 : ( ( ruleExpCS ) | ( rulePatternExpCS ) );";
+        }
+    }
+    static final String DFA111_eotS =
+        "\22\uffff";
+    static final String DFA111_eofS =
+        "\22\uffff";
+    static final String DFA111_minS =
+        "\1\35\1\0\20\uffff";
+    static final String DFA111_maxS =
+        "\1\u0081\1\0\20\uffff";
+    static final String DFA111_acceptS =
+        "\2\uffff\17\1\1\2";
+    static final String DFA111_specialS =
+        "\1\0\1\1\20\uffff}>";
+    static final String[] DFA111_transitionS = {
+            "\1\2\7\uffff\1\4\5\uffff\1\6\5\uffff\1\10\1\13\1\14\1\16\1"+
+            "\21\1\uffff\1\3\1\5\1\7\1\11\1\15\1\17\57\uffff\1\1\1\20\23"+
+            "\uffff\1\12",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA111_eot = DFA.unpackEncodedString(DFA111_eotS);
+    static final short[] DFA111_eof = DFA.unpackEncodedString(DFA111_eofS);
+    static final char[] DFA111_min = DFA.unpackEncodedStringToUnsignedChars(DFA111_minS);
+    static final char[] DFA111_max = DFA.unpackEncodedStringToUnsignedChars(DFA111_maxS);
+    static final short[] DFA111_accept = DFA.unpackEncodedString(DFA111_acceptS);
+    static final short[] DFA111_special = DFA.unpackEncodedString(DFA111_specialS);
+    static final short[][] DFA111_transition;
+
+    static {
+        int numStates = DFA111_transitionS.length;
+        DFA111_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA111_transition[i] = DFA.unpackEncodedString(DFA111_transitionS[i]);
+        }
+    }
+
+    class DFA111 extends DFA {
+
+        public DFA111(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 111;
+            this.eot = DFA111_eot;
+            this.eof = DFA111_eof;
+            this.min = DFA111_min;
+            this.max = DFA111_max;
+            this.accept = DFA111_accept;
+            this.special = DFA111_special;
+            this.transition = DFA111_transition;
+        }
+        public String getDescription() {
+            return "7687:1: ( rule__AttributeCS__UnorderedGroup_5 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA111_0 = input.LA(1);
+
+                         
+                        int index111_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA111_0==108) ) {s = 1;}
+
+                        else if ( LA111_0 ==29 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1) ) {s = 2;}
+
+                        else if ( LA111_0 ==55 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1) ) {s = 3;}
+
+                        else if ( LA111_0 ==37 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2) ) {s = 4;}
+
+                        else if ( LA111_0 ==56 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2) ) {s = 5;}
+
+                        else if ( LA111_0 ==43 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3) ) {s = 6;}
+
+                        else if ( LA111_0 ==57 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3) ) {s = 7;}
+
+                        else if ( LA111_0 ==49 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4) ) {s = 8;}
+
+                        else if ( LA111_0 ==58 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4) ) {s = 9;}
+
+                        else if ( LA111_0 ==129 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5) ) {s = 10;}
+
+                        else if ( LA111_0 ==50 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5) ) {s = 11;}
+
+                        else if ( LA111_0 ==51 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6) ) {s = 12;}
+
+                        else if ( LA111_0 ==59 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6) ) {s = 13;}
+
+                        else if ( LA111_0 ==52 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {s = 14;}
+
+                        else if ( LA111_0 ==60 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {s = 15;}
+
+                        else if ( LA111_0 ==109 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {s = 16;}
+
+                        else if ( (LA111_0==53) ) {s = 17;}
+
+                         
+                        input.seek(index111_0);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA111_1 = input.LA(1);
+
+                         
+                        int index111_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( synpred205_InternalOCLinEcore() && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 16;}
+
+                        else if ( (true) ) {s = 17;}
+
+                         
+                        input.seek(index111_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 111, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA144_eotS =
+        "\57\uffff";
+    static final String DFA144_eofS =
+        "\57\uffff";
+    static final String DFA144_minS =
+        "\1\5\54\65\2\uffff";
+    static final String DFA144_maxS =
+        "\1\105\54\u0082\2\uffff";
+    static final String DFA144_acceptS =
+        "\55\uffff\1\2\1\1";
+    static final String DFA144_specialS =
+        "\57\uffff}>";
+    static final String[] DFA144_transitionS = {
+            "\1\55\1\uffff\1\1\1\2\10\uffff\1\3\1\4\1\5\1\6\1\7\1\10\1\11"+
+            "\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25"+
+            "\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\41"+
+            "\1\42\1\43\1\44\1\45\1\46\13\uffff\1\47\1\50\1\51\1\52\1\53"+
+            "\1\54",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "\1\55\64\uffff\1\56\4\uffff\1\55\22\uffff\1\55",
+            "",
+            ""
+    };
+
+    static final short[] DFA144_eot = DFA.unpackEncodedString(DFA144_eotS);
+    static final short[] DFA144_eof = DFA.unpackEncodedString(DFA144_eofS);
+    static final char[] DFA144_min = DFA.unpackEncodedStringToUnsignedChars(DFA144_minS);
+    static final char[] DFA144_max = DFA.unpackEncodedStringToUnsignedChars(DFA144_maxS);
+    static final short[] DFA144_accept = DFA.unpackEncodedString(DFA144_acceptS);
+    static final short[] DFA144_special = DFA.unpackEncodedString(DFA144_specialS);
+    static final short[][] DFA144_transition;
+
+    static {
+        int numStates = DFA144_transitionS.length;
+        DFA144_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA144_transition[i] = DFA.unpackEncodedString(DFA144_transitionS[i]);
+        }
+    }
+
+    class DFA144 extends DFA {
+
+        public DFA144(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 144;
+            this.eot = DFA144_eot;
+            this.eof = DFA144_eof;
+            this.min = DFA144_min;
+            this.max = DFA144_max;
+            this.accept = DFA144_accept;
+            this.special = DFA144_special;
+            this.transition = DFA144_transition;
+        }
+        public String getDescription() {
+            return "10634:1: ( rule__ImportCS__Group_1__0 )?";
+        }
+    }
+    static final String DFA166_eotS =
+        "\17\uffff";
+    static final String DFA166_eofS =
+        "\1\5\1\14\15\uffff";
+    static final String DFA166_minS =
+        "\1\62\1\45\4\uffff\1\0\10\uffff";
+    static final String DFA166_maxS =
+        "\2\u0081\4\uffff\1\0\10\uffff";
+    static final String DFA166_acceptS =
+        "\2\uffff\3\1\1\2\1\uffff\10\1";
+    static final String DFA166_specialS =
+        "\1\0\1\2\4\uffff\1\1\10\uffff}>";
+    static final String[] DFA166_transitionS = {
+            "\1\3\66\uffff\1\5\1\uffff\1\5\1\1\1\4\23\uffff\1\2",
+            "\1\7\14\uffff\1\13\5\uffff\1\10\7\uffff\2\5\3\uffff\1\5\43"+
+            "\uffff\1\16\1\uffff\1\15\1\11\1\6\23\uffff\1\12",
+            "",
+            "",
+            "",
+            "",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA166_eot = DFA.unpackEncodedString(DFA166_eotS);
+    static final short[] DFA166_eof = DFA.unpackEncodedString(DFA166_eofS);
+    static final char[] DFA166_min = DFA.unpackEncodedStringToUnsignedChars(DFA166_minS);
+    static final char[] DFA166_max = DFA.unpackEncodedStringToUnsignedChars(DFA166_maxS);
+    static final short[] DFA166_accept = DFA.unpackEncodedString(DFA166_acceptS);
+    static final short[] DFA166_special = DFA.unpackEncodedString(DFA166_specialS);
+    static final short[][] DFA166_transition;
+
+    static {
+        int numStates = DFA166_transitionS.length;
+        DFA166_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA166_transition[i] = DFA.unpackEncodedString(DFA166_transitionS[i]);
+        }
+    }
+
+    class DFA166 extends DFA {
+
+        public DFA166(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 166;
+            this.eot = DFA166_eot;
+            this.eof = DFA166_eof;
+            this.min = DFA166_min;
+            this.max = DFA166_max;
+            this.accept = DFA166_accept;
+            this.special = DFA166_special;
+            this.transition = DFA166_transition;
+        }
+        public String getDescription() {
+            return "12807:1: ( rule__ParameterCS__UnorderedGroup_2 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA166_0 = input.LA(1);
+
+                         
+                        int index166_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA166_0==108) ) {s = 1;}
+
+                        else if ( LA166_0 ==129 && getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 1) ) {s = 2;}
+
+                        else if ( LA166_0 ==50 && getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 1) ) {s = 3;}
+
+                        else if ( LA166_0 ==109 && getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 1) ) {s = 4;}
+
+                        else if ( (LA166_0==EOF||LA166_0==105||LA166_0==107) ) {s = 5;}
+
+                         
+                        input.seek(index166_0);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA166_6 = input.LA(1);
+
+                         
+                        int index166_6 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( synpred260_InternalOCLinEcore() && getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0) ) {s = 14;}
+
+                        else if ( (true) ) {s = 5;}
+
+                         
+                        input.seek(index166_6);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 2 : 
+                        int LA166_1 = input.LA(1);
+
+                         
+                        int index166_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( ((LA166_1>=64 && LA166_1<=65)||LA166_1==69) ) {s = 5;}
+
+                        else if ( (LA166_1==109) ) {s = 6;}
+
+                        else if ( LA166_1 ==37 && getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0) ) {s = 7;}
+
+                        else if ( LA166_1 ==56 && getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0) ) {s = 8;}
+
+                        else if ( LA166_1 ==108 && getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0) ) {s = 9;}
+
+                        else if ( LA166_1 ==129 && getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0) ) {s = 10;}
+
+                        else if ( LA166_1 ==50 && getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0) ) {s = 11;}
+
+                        else if ( LA166_1 ==EOF && getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0) ) {s = 12;}
+
+                        else if ( LA166_1 ==107 && getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0) ) {s = 13;}
+
+                        else if ( LA166_1 ==105 && getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0) ) {s = 14;}
+
+                         
+                        input.seek(index166_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 166, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA176_eotS =
+        "\24\uffff";
+    static final String DFA176_eofS =
+        "\24\uffff";
+    static final String DFA176_minS =
+        "\1\32\1\0\22\uffff";
+    static final String DFA176_maxS =
+        "\1\u0081\1\0\22\uffff";
+    static final String DFA176_acceptS =
+        "\2\uffff\21\1\1\2";
+    static final String DFA176_specialS =
+        "\1\0\1\1\22\uffff}>";
+    static final String[] DFA176_transitionS = {
+            "\1\2\12\uffff\1\4\5\uffff\1\6\1\uffff\1\10\3\uffff\1\12\1\15"+
+            "\1\16\1\20\1\23\1\3\1\uffff\1\5\1\7\1\13\1\17\1\21\2\uffff\1"+
+            "\11\54\uffff\1\1\1\22\23\uffff\1\14",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA176_eot = DFA.unpackEncodedString(DFA176_eotS);
+    static final short[] DFA176_eof = DFA.unpackEncodedString(DFA176_eofS);
+    static final char[] DFA176_min = DFA.unpackEncodedStringToUnsignedChars(DFA176_minS);
+    static final char[] DFA176_max = DFA.unpackEncodedStringToUnsignedChars(DFA176_maxS);
+    static final short[] DFA176_accept = DFA.unpackEncodedString(DFA176_acceptS);
+    static final short[] DFA176_special = DFA.unpackEncodedString(DFA176_specialS);
+    static final short[][] DFA176_transition;
+
+    static {
+        int numStates = DFA176_transitionS.length;
+        DFA176_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA176_transition[i] = DFA.unpackEncodedString(DFA176_transitionS[i]);
+        }
+    }
+
+    class DFA176 extends DFA {
+
+        public DFA176(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 176;
+            this.eot = DFA176_eot;
+            this.eof = DFA176_eof;
+            this.min = DFA176_min;
+            this.max = DFA176_max;
+            this.accept = DFA176_accept;
+            this.special = DFA176_special;
+            this.transition = DFA176_transition;
+        }
+        public String getDescription() {
+            return "13459:1: ( rule__ReferenceCS__UnorderedGroup_6 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA176_0 = input.LA(1);
+
+                         
+                        int index176_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA176_0==108) ) {s = 1;}
+
+                        else if ( LA176_0 ==26 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1) ) {s = 2;}
+
+                        else if ( LA176_0 ==54 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1) ) {s = 3;}
+
+                        else if ( LA176_0 ==37 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2) ) {s = 4;}
+
+                        else if ( LA176_0 ==56 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2) ) {s = 5;}
+
+                        else if ( LA176_0 ==43 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3) ) {s = 6;}
+
+                        else if ( LA176_0 ==57 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3) ) {s = 7;}
+
+                        else if ( LA176_0 ==45 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4) ) {s = 8;}
+
+                        else if ( LA176_0 ==63 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4) ) {s = 9;}
+
+                        else if ( LA176_0 ==49 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5) ) {s = 10;}
+
+                        else if ( LA176_0 ==58 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5) ) {s = 11;}
+
+                        else if ( LA176_0 ==129 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6) ) {s = 12;}
+
+                        else if ( LA176_0 ==50 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6) ) {s = 13;}
+
+                        else if ( LA176_0 ==51 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7) ) {s = 14;}
+
+                        else if ( LA176_0 ==59 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7) ) {s = 15;}
+
+                        else if ( LA176_0 ==52 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 16;}
+
+                        else if ( LA176_0 ==60 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 17;}
+
+                        else if ( LA176_0 ==109 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 18;}
+
+                        else if ( (LA176_0==53) ) {s = 19;}
+
+                         
+                        input.seek(index176_0);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA176_1 = input.LA(1);
+
+                         
+                        int index176_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( synpred270_InternalOCLinEcore() && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 18;}
+
+                        else if ( (true) ) {s = 19;}
+
+                         
+                        input.seek(index176_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 176, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA259_eotS =
+        "\17\uffff";
+    static final String DFA259_eofS =
+        "\17\uffff";
+    static final String DFA259_minS =
+        "\1\35\16\uffff";
+    static final String DFA259_maxS =
+        "\1\u0081\16\uffff";
+    static final String DFA259_acceptS =
+        "\1\uffff\1\1\2\2\2\3\2\4\2\5\2\6\2\7\1\10";
+    static final String DFA259_specialS =
+        "\1\0\16\uffff}>";
+    static final String[] DFA259_transitionS = {
+            "\1\2\7\uffff\1\4\5\uffff\1\6\5\uffff\1\10\1\13\1\14\1\16\2"+
+            "\uffff\1\3\1\5\1\7\1\11\1\15\1\16\57\uffff\1\1\1\16\23\uffff"+
+            "\1\12",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA259_eot = DFA.unpackEncodedString(DFA259_eotS);
+    static final short[] DFA259_eof = DFA.unpackEncodedString(DFA259_eofS);
+    static final char[] DFA259_min = DFA.unpackEncodedStringToUnsignedChars(DFA259_minS);
+    static final char[] DFA259_max = DFA.unpackEncodedStringToUnsignedChars(DFA259_maxS);
+    static final short[] DFA259_accept = DFA.unpackEncodedString(DFA259_acceptS);
+    static final short[] DFA259_special = DFA.unpackEncodedString(DFA259_specialS);
+    static final short[][] DFA259_transition;
+
+    static {
+        int numStates = DFA259_transitionS.length;
+        DFA259_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA259_transition[i] = DFA.unpackEncodedString(DFA259_transitionS[i]);
+        }
+    }
+
+    class DFA259 extends DFA {
+
+        public DFA259(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 259;
+            this.eot = DFA259_eot;
+            this.eof = DFA259_eof;
+            this.min = DFA259_min;
+            this.max = DFA259_max;
+            this.accept = DFA259_accept;
+            this.special = DFA259_special;
+            this.transition = DFA259_transition;
+        }
+        public String getDescription() {
+            return "24045:3: ( ({...}? => ( ( ( rule__AttributeCS__Group_5_0__0 ) ) ) ) | ({...}? => ( ( ( rule__AttributeCS__Group_5_1__0 ) ) ) ) | ({...}? => ( ( ( rule__AttributeCS__Group_5_2__0 ) ) ) ) | ({...}? => ( ( ( rule__AttributeCS__Group_5_3__0 ) ) ) ) | ({...}? => ( ( ( rule__AttributeCS__Group_5_4__0 ) ) ) ) | ({...}? => ( ( ( rule__AttributeCS__Group_5_5__0 ) ) ) ) | ({...}? => ( ( ( rule__AttributeCS__Group_5_6__0 ) ) ) ) | ({...}? => ( ( ( rule__AttributeCS__Group_5_7__0 ) ) ) ) )";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA259_0 = input.LA(1);
+
+                         
+                        int index259_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( LA259_0 ==108 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 1;}
+
+                        else if ( LA259_0 ==29 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1) ) {s = 2;}
+
+                        else if ( LA259_0 ==55 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1) ) {s = 3;}
+
+                        else if ( LA259_0 ==37 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2) ) {s = 4;}
+
+                        else if ( LA259_0 ==56 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2) ) {s = 5;}
+
+                        else if ( LA259_0 ==43 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3) ) {s = 6;}
+
+                        else if ( LA259_0 ==57 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3) ) {s = 7;}
+
+                        else if ( LA259_0 ==49 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4) ) {s = 8;}
+
+                        else if ( LA259_0 ==58 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4) ) {s = 9;}
+
+                        else if ( LA259_0 ==129 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5) ) {s = 10;}
+
+                        else if ( LA259_0 ==50 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5) ) {s = 11;}
+
+                        else if ( LA259_0 ==51 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6) ) {s = 12;}
+
+                        else if ( LA259_0 ==59 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6) ) {s = 13;}
+
+                        else if ( (LA259_0==52||LA259_0==60||LA259_0==109) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {s = 14;}
+
+                         
+                        input.seek(index259_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 259, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA260_eotS =
+        "\23\uffff";
+    static final String DFA260_eofS =
+        "\1\21\22\uffff";
+    static final String DFA260_minS =
+        "\1\35\1\0\21\uffff";
+    static final String DFA260_maxS =
+        "\1\u0081\1\0\21\uffff";
+    static final String DFA260_acceptS =
+        "\2\uffff\17\1\1\2\1\uffff";
+    static final String DFA260_specialS =
+        "\1\0\1\1\21\uffff}>";
+    static final String[] DFA260_transitionS = {
+            "\1\2\7\uffff\1\4\5\uffff\1\6\5\uffff\1\10\1\13\1\14\1\16\1"+
+            "\21\1\uffff\1\3\1\5\1\7\1\11\1\15\1\17\57\uffff\1\1\1\20\23"+
+            "\uffff\1\12",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA260_eot = DFA.unpackEncodedString(DFA260_eotS);
+    static final short[] DFA260_eof = DFA.unpackEncodedString(DFA260_eofS);
+    static final char[] DFA260_min = DFA.unpackEncodedStringToUnsignedChars(DFA260_minS);
+    static final char[] DFA260_max = DFA.unpackEncodedStringToUnsignedChars(DFA260_maxS);
+    static final short[] DFA260_accept = DFA.unpackEncodedString(DFA260_acceptS);
+    static final short[] DFA260_special = DFA.unpackEncodedString(DFA260_specialS);
+    static final short[][] DFA260_transition;
+
+    static {
+        int numStates = DFA260_transitionS.length;
+        DFA260_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA260_transition[i] = DFA.unpackEncodedString(DFA260_transitionS[i]);
+        }
+    }
+
+    class DFA260 extends DFA {
+
+        public DFA260(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 260;
+            this.eot = DFA260_eot;
+            this.eof = DFA260_eof;
+            this.min = DFA260_min;
+            this.max = DFA260_max;
+            this.accept = DFA260_accept;
+            this.special = DFA260_special;
+            this.transition = DFA260_transition;
+        }
+        public String getDescription() {
+            return "24198:2: ( rule__AttributeCS__UnorderedGroup_5__1 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA260_0 = input.LA(1);
+
+                         
+                        int index260_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA260_0==108) ) {s = 1;}
+
+                        else if ( LA260_0 ==29 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1) ) {s = 2;}
+
+                        else if ( LA260_0 ==55 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1) ) {s = 3;}
+
+                        else if ( LA260_0 ==37 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2) ) {s = 4;}
+
+                        else if ( LA260_0 ==56 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2) ) {s = 5;}
+
+                        else if ( LA260_0 ==43 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3) ) {s = 6;}
+
+                        else if ( LA260_0 ==57 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3) ) {s = 7;}
+
+                        else if ( LA260_0 ==49 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4) ) {s = 8;}
+
+                        else if ( LA260_0 ==58 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4) ) {s = 9;}
+
+                        else if ( LA260_0 ==129 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5) ) {s = 10;}
+
+                        else if ( LA260_0 ==50 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5) ) {s = 11;}
+
+                        else if ( LA260_0 ==51 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6) ) {s = 12;}
+
+                        else if ( LA260_0 ==59 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6) ) {s = 13;}
+
+                        else if ( LA260_0 ==52 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {s = 14;}
+
+                        else if ( LA260_0 ==60 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {s = 15;}
+
+                        else if ( LA260_0 ==109 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {s = 16;}
+
+                        else if ( (LA260_0==EOF||LA260_0==53) ) {s = 17;}
+
+                         
+                        input.seek(index260_0);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA260_1 = input.LA(1);
+
+                         
+                        int index260_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( synpred360_InternalOCLinEcore() && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 16;}
+
+                        else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5()) ) {s = 17;}
+
+                         
+                        input.seek(index260_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 260, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA261_eotS =
+        "\23\uffff";
+    static final String DFA261_eofS =
+        "\1\21\22\uffff";
+    static final String DFA261_minS =
+        "\1\35\1\0\21\uffff";
+    static final String DFA261_maxS =
+        "\1\u0081\1\0\21\uffff";
+    static final String DFA261_acceptS =
+        "\2\uffff\17\1\1\2\1\uffff";
+    static final String DFA261_specialS =
+        "\1\0\1\1\21\uffff}>";
+    static final String[] DFA261_transitionS = {
+            "\1\2\7\uffff\1\4\5\uffff\1\6\5\uffff\1\10\1\13\1\14\1\16\1"+
+            "\21\1\uffff\1\3\1\5\1\7\1\11\1\15\1\17\57\uffff\1\1\1\20\23"+
+            "\uffff\1\12",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA261_eot = DFA.unpackEncodedString(DFA261_eotS);
+    static final short[] DFA261_eof = DFA.unpackEncodedString(DFA261_eofS);
+    static final char[] DFA261_min = DFA.unpackEncodedStringToUnsignedChars(DFA261_minS);
+    static final char[] DFA261_max = DFA.unpackEncodedStringToUnsignedChars(DFA261_maxS);
+    static final short[] DFA261_accept = DFA.unpackEncodedString(DFA261_acceptS);
+    static final short[] DFA261_special = DFA.unpackEncodedString(DFA261_specialS);
+    static final short[][] DFA261_transition;
+
+    static {
+        int numStates = DFA261_transitionS.length;
+        DFA261_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA261_transition[i] = DFA.unpackEncodedString(DFA261_transitionS[i]);
+        }
+    }
+
+    class DFA261 extends DFA {
+
+        public DFA261(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 261;
+            this.eot = DFA261_eot;
+            this.eof = DFA261_eof;
+            this.min = DFA261_min;
+            this.max = DFA261_max;
+            this.accept = DFA261_accept;
+            this.special = DFA261_special;
+            this.transition = DFA261_transition;
+        }
+        public String getDescription() {
+            return "24211:2: ( rule__AttributeCS__UnorderedGroup_5__2 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA261_0 = input.LA(1);
+
+                         
+                        int index261_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA261_0==108) ) {s = 1;}
+
+                        else if ( LA261_0 ==29 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1) ) {s = 2;}
+
+                        else if ( LA261_0 ==55 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1) ) {s = 3;}
+
+                        else if ( LA261_0 ==37 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2) ) {s = 4;}
+
+                        else if ( LA261_0 ==56 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2) ) {s = 5;}
+
+                        else if ( LA261_0 ==43 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3) ) {s = 6;}
+
+                        else if ( LA261_0 ==57 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3) ) {s = 7;}
+
+                        else if ( LA261_0 ==49 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4) ) {s = 8;}
+
+                        else if ( LA261_0 ==58 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4) ) {s = 9;}
+
+                        else if ( LA261_0 ==129 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5) ) {s = 10;}
+
+                        else if ( LA261_0 ==50 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5) ) {s = 11;}
+
+                        else if ( LA261_0 ==51 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6) ) {s = 12;}
+
+                        else if ( LA261_0 ==59 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6) ) {s = 13;}
+
+                        else if ( LA261_0 ==52 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {s = 14;}
+
+                        else if ( LA261_0 ==60 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {s = 15;}
+
+                        else if ( LA261_0 ==109 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {s = 16;}
+
+                        else if ( (LA261_0==EOF||LA261_0==53) ) {s = 17;}
+
+                         
+                        input.seek(index261_0);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA261_1 = input.LA(1);
+
+                         
+                        int index261_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( synpred361_InternalOCLinEcore() && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 16;}
+
+                        else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5()) ) {s = 17;}
+
+                         
+                        input.seek(index261_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 261, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA262_eotS =
+        "\23\uffff";
+    static final String DFA262_eofS =
+        "\1\21\22\uffff";
+    static final String DFA262_minS =
+        "\1\35\1\0\21\uffff";
+    static final String DFA262_maxS =
+        "\1\u0081\1\0\21\uffff";
+    static final String DFA262_acceptS =
+        "\2\uffff\17\1\1\2\1\uffff";
+    static final String DFA262_specialS =
+        "\1\0\1\1\21\uffff}>";
+    static final String[] DFA262_transitionS = {
+            "\1\2\7\uffff\1\4\5\uffff\1\6\5\uffff\1\10\1\13\1\14\1\16\1"+
+            "\21\1\uffff\1\3\1\5\1\7\1\11\1\15\1\17\57\uffff\1\1\1\20\23"+
+            "\uffff\1\12",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA262_eot = DFA.unpackEncodedString(DFA262_eotS);
+    static final short[] DFA262_eof = DFA.unpackEncodedString(DFA262_eofS);
+    static final char[] DFA262_min = DFA.unpackEncodedStringToUnsignedChars(DFA262_minS);
+    static final char[] DFA262_max = DFA.unpackEncodedStringToUnsignedChars(DFA262_maxS);
+    static final short[] DFA262_accept = DFA.unpackEncodedString(DFA262_acceptS);
+    static final short[] DFA262_special = DFA.unpackEncodedString(DFA262_specialS);
+    static final short[][] DFA262_transition;
+
+    static {
+        int numStates = DFA262_transitionS.length;
+        DFA262_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA262_transition[i] = DFA.unpackEncodedString(DFA262_transitionS[i]);
+        }
+    }
+
+    class DFA262 extends DFA {
+
+        public DFA262(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 262;
+            this.eot = DFA262_eot;
+            this.eof = DFA262_eof;
+            this.min = DFA262_min;
+            this.max = DFA262_max;
+            this.accept = DFA262_accept;
+            this.special = DFA262_special;
+            this.transition = DFA262_transition;
+        }
+        public String getDescription() {
+            return "24224:2: ( rule__AttributeCS__UnorderedGroup_5__3 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA262_0 = input.LA(1);
+
+                         
+                        int index262_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA262_0==108) ) {s = 1;}
+
+                        else if ( LA262_0 ==29 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1) ) {s = 2;}
+
+                        else if ( LA262_0 ==55 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1) ) {s = 3;}
+
+                        else if ( LA262_0 ==37 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2) ) {s = 4;}
+
+                        else if ( LA262_0 ==56 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2) ) {s = 5;}
+
+                        else if ( LA262_0 ==43 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3) ) {s = 6;}
+
+                        else if ( LA262_0 ==57 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3) ) {s = 7;}
+
+                        else if ( LA262_0 ==49 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4) ) {s = 8;}
+
+                        else if ( LA262_0 ==58 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4) ) {s = 9;}
+
+                        else if ( LA262_0 ==129 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5) ) {s = 10;}
+
+                        else if ( LA262_0 ==50 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5) ) {s = 11;}
+
+                        else if ( LA262_0 ==51 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6) ) {s = 12;}
+
+                        else if ( LA262_0 ==59 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6) ) {s = 13;}
+
+                        else if ( LA262_0 ==52 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {s = 14;}
+
+                        else if ( LA262_0 ==60 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {s = 15;}
+
+                        else if ( LA262_0 ==109 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {s = 16;}
+
+                        else if ( (LA262_0==EOF||LA262_0==53) ) {s = 17;}
+
+                         
+                        input.seek(index262_0);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA262_1 = input.LA(1);
+
+                         
+                        int index262_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( synpred362_InternalOCLinEcore() && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 16;}
+
+                        else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5()) ) {s = 17;}
+
+                         
+                        input.seek(index262_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 262, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA263_eotS =
+        "\23\uffff";
+    static final String DFA263_eofS =
+        "\1\21\22\uffff";
+    static final String DFA263_minS =
+        "\1\35\1\0\21\uffff";
+    static final String DFA263_maxS =
+        "\1\u0081\1\0\21\uffff";
+    static final String DFA263_acceptS =
+        "\2\uffff\17\1\1\2\1\uffff";
+    static final String DFA263_specialS =
+        "\1\0\1\1\21\uffff}>";
+    static final String[] DFA263_transitionS = {
+            "\1\2\7\uffff\1\4\5\uffff\1\6\5\uffff\1\10\1\13\1\14\1\16\1"+
+            "\21\1\uffff\1\3\1\5\1\7\1\11\1\15\1\17\57\uffff\1\1\1\20\23"+
+            "\uffff\1\12",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA263_eot = DFA.unpackEncodedString(DFA263_eotS);
+    static final short[] DFA263_eof = DFA.unpackEncodedString(DFA263_eofS);
+    static final char[] DFA263_min = DFA.unpackEncodedStringToUnsignedChars(DFA263_minS);
+    static final char[] DFA263_max = DFA.unpackEncodedStringToUnsignedChars(DFA263_maxS);
+    static final short[] DFA263_accept = DFA.unpackEncodedString(DFA263_acceptS);
+    static final short[] DFA263_special = DFA.unpackEncodedString(DFA263_specialS);
+    static final short[][] DFA263_transition;
+
+    static {
+        int numStates = DFA263_transitionS.length;
+        DFA263_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA263_transition[i] = DFA.unpackEncodedString(DFA263_transitionS[i]);
+        }
+    }
+
+    class DFA263 extends DFA {
+
+        public DFA263(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 263;
+            this.eot = DFA263_eot;
+            this.eof = DFA263_eof;
+            this.min = DFA263_min;
+            this.max = DFA263_max;
+            this.accept = DFA263_accept;
+            this.special = DFA263_special;
+            this.transition = DFA263_transition;
+        }
+        public String getDescription() {
+            return "24237:2: ( rule__AttributeCS__UnorderedGroup_5__4 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA263_0 = input.LA(1);
+
+                         
+                        int index263_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA263_0==108) ) {s = 1;}
+
+                        else if ( LA263_0 ==29 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1) ) {s = 2;}
+
+                        else if ( LA263_0 ==55 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1) ) {s = 3;}
+
+                        else if ( LA263_0 ==37 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2) ) {s = 4;}
+
+                        else if ( LA263_0 ==56 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2) ) {s = 5;}
+
+                        else if ( LA263_0 ==43 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3) ) {s = 6;}
+
+                        else if ( LA263_0 ==57 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3) ) {s = 7;}
+
+                        else if ( LA263_0 ==49 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4) ) {s = 8;}
+
+                        else if ( LA263_0 ==58 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4) ) {s = 9;}
+
+                        else if ( LA263_0 ==129 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5) ) {s = 10;}
+
+                        else if ( LA263_0 ==50 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5) ) {s = 11;}
+
+                        else if ( LA263_0 ==51 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6) ) {s = 12;}
+
+                        else if ( LA263_0 ==59 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6) ) {s = 13;}
+
+                        else if ( LA263_0 ==52 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {s = 14;}
+
+                        else if ( LA263_0 ==60 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {s = 15;}
+
+                        else if ( LA263_0 ==109 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {s = 16;}
+
+                        else if ( (LA263_0==EOF||LA263_0==53) ) {s = 17;}
+
+                         
+                        input.seek(index263_0);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA263_1 = input.LA(1);
+
+                         
+                        int index263_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( synpred363_InternalOCLinEcore() && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 16;}
+
+                        else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5()) ) {s = 17;}
+
+                         
+                        input.seek(index263_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 263, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA264_eotS =
+        "\23\uffff";
+    static final String DFA264_eofS =
+        "\1\21\22\uffff";
+    static final String DFA264_minS =
+        "\1\35\1\0\21\uffff";
+    static final String DFA264_maxS =
+        "\1\u0081\1\0\21\uffff";
+    static final String DFA264_acceptS =
+        "\2\uffff\17\1\1\2\1\uffff";
+    static final String DFA264_specialS =
+        "\1\0\1\1\21\uffff}>";
+    static final String[] DFA264_transitionS = {
+            "\1\2\7\uffff\1\4\5\uffff\1\6\5\uffff\1\10\1\13\1\14\1\16\1"+
+            "\21\1\uffff\1\3\1\5\1\7\1\11\1\15\1\17\57\uffff\1\1\1\20\23"+
+            "\uffff\1\12",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA264_eot = DFA.unpackEncodedString(DFA264_eotS);
+    static final short[] DFA264_eof = DFA.unpackEncodedString(DFA264_eofS);
+    static final char[] DFA264_min = DFA.unpackEncodedStringToUnsignedChars(DFA264_minS);
+    static final char[] DFA264_max = DFA.unpackEncodedStringToUnsignedChars(DFA264_maxS);
+    static final short[] DFA264_accept = DFA.unpackEncodedString(DFA264_acceptS);
+    static final short[] DFA264_special = DFA.unpackEncodedString(DFA264_specialS);
+    static final short[][] DFA264_transition;
+
+    static {
+        int numStates = DFA264_transitionS.length;
+        DFA264_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA264_transition[i] = DFA.unpackEncodedString(DFA264_transitionS[i]);
+        }
+    }
+
+    class DFA264 extends DFA {
+
+        public DFA264(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 264;
+            this.eot = DFA264_eot;
+            this.eof = DFA264_eof;
+            this.min = DFA264_min;
+            this.max = DFA264_max;
+            this.accept = DFA264_accept;
+            this.special = DFA264_special;
+            this.transition = DFA264_transition;
+        }
+        public String getDescription() {
+            return "24250:2: ( rule__AttributeCS__UnorderedGroup_5__5 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA264_0 = input.LA(1);
+
+                         
+                        int index264_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA264_0==108) ) {s = 1;}
+
+                        else if ( LA264_0 ==29 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1) ) {s = 2;}
+
+                        else if ( LA264_0 ==55 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1) ) {s = 3;}
+
+                        else if ( LA264_0 ==37 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2) ) {s = 4;}
+
+                        else if ( LA264_0 ==56 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2) ) {s = 5;}
+
+                        else if ( LA264_0 ==43 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3) ) {s = 6;}
+
+                        else if ( LA264_0 ==57 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3) ) {s = 7;}
+
+                        else if ( LA264_0 ==49 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4) ) {s = 8;}
+
+                        else if ( LA264_0 ==58 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4) ) {s = 9;}
+
+                        else if ( LA264_0 ==129 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5) ) {s = 10;}
+
+                        else if ( LA264_0 ==50 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5) ) {s = 11;}
+
+                        else if ( LA264_0 ==51 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6) ) {s = 12;}
+
+                        else if ( LA264_0 ==59 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6) ) {s = 13;}
+
+                        else if ( LA264_0 ==52 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {s = 14;}
+
+                        else if ( LA264_0 ==60 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {s = 15;}
+
+                        else if ( LA264_0 ==109 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {s = 16;}
+
+                        else if ( (LA264_0==EOF||LA264_0==53) ) {s = 17;}
+
+                         
+                        input.seek(index264_0);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA264_1 = input.LA(1);
+
+                         
+                        int index264_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( synpred364_InternalOCLinEcore() && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 16;}
+
+                        else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5()) ) {s = 17;}
+
+                         
+                        input.seek(index264_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 264, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA265_eotS =
+        "\50\uffff";
+    static final String DFA265_eofS =
+        "\1\21\1\45\20\uffff\1\47\24\uffff\1\21";
+    static final String DFA265_minS =
+        "\1\35\1\31\20\uffff\1\7\24\uffff\1\0";
+    static final String DFA265_maxS =
+        "\2\u0081\20\uffff\1\155\24\uffff\1\0";
+    static final String DFA265_acceptS =
+        "\2\uffff\17\1\1\2\1\uffff\24\1\1\uffff";
+    static final String DFA265_specialS =
+        "\1\2\1\1\20\uffff\1\0\25\uffff}>";
+    static final String[] DFA265_transitionS = {
+            "\1\2\7\uffff\1\4\5\uffff\1\6\5\uffff\1\10\1\13\1\14\1\16\1"+
+            "\21\1\uffff\1\3\1\5\1\7\1\11\1\15\1\17\57\uffff\1\1\1\20\23"+
+            "\uffff\1\12",
+            "\1\21\1\23\2\uffff\1\26\1\uffff\1\21\5\uffff\1\30\5\uffff"+
+            "\1\32\5\uffff\1\34\1\37\1\40\1\42\1\44\1\24\1\27\1\31\1\33\1"+
+            "\35\1\41\1\43\3\uffff\2\21\3\uffff\1\21\46\uffff\1\25\1\22\23"+
+            "\uffff\1\36",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "\2\21\10\uffff\44\21\1\44\12\uffff\4\21\1\uffff\1\21\46\uffff"+
+            "\1\46\1\21",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "\1\uffff"
+    };
+
+    static final short[] DFA265_eot = DFA.unpackEncodedString(DFA265_eotS);
+    static final short[] DFA265_eof = DFA.unpackEncodedString(DFA265_eofS);
+    static final char[] DFA265_min = DFA.unpackEncodedStringToUnsignedChars(DFA265_minS);
+    static final char[] DFA265_max = DFA.unpackEncodedStringToUnsignedChars(DFA265_maxS);
+    static final short[] DFA265_accept = DFA.unpackEncodedString(DFA265_acceptS);
+    static final short[] DFA265_special = DFA.unpackEncodedString(DFA265_specialS);
+    static final short[][] DFA265_transition;
+
+    static {
+        int numStates = DFA265_transitionS.length;
+        DFA265_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA265_transition[i] = DFA.unpackEncodedString(DFA265_transitionS[i]);
+        }
+    }
+
+    class DFA265 extends DFA {
+
+        public DFA265(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 265;
+            this.eot = DFA265_eot;
+            this.eof = DFA265_eof;
+            this.min = DFA265_min;
+            this.max = DFA265_max;
+            this.accept = DFA265_accept;
+            this.special = DFA265_special;
+            this.transition = DFA265_transition;
+        }
+        public String getDescription() {
+            return "24263:2: ( rule__AttributeCS__UnorderedGroup_5__6 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA265_18 = input.LA(1);
+
+                         
+                        int index265_18 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( LA265_18 ==108 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 38;}
+
+                        else if ( LA265_18 ==53 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 36;}
+
+                        else if ( (LA265_18==EOF) ) {s = 39;}
+
+                        else if ( ((LA265_18>=RULE_SIMPLE_ID && LA265_18<=RULE_ESCAPED_ID)||(LA265_18>=17 && LA265_18<=52)||(LA265_18>=64 && LA265_18<=67)||LA265_18==69||LA265_18==109) ) {s = 17;}
+
+                         
+                        input.seek(index265_18);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA265_1 = input.LA(1);
+
+                         
+                        int index265_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA265_1==25||LA265_1==31||(LA265_1>=64 && LA265_1<=65)||LA265_1==69) ) {s = 17;}
+
+                        else if ( (LA265_1==109) ) {s = 18;}
+
+                        else if ( LA265_1 ==26 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 19;}
+
+                        else if ( LA265_1 ==54 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 20;}
+
+                        else if ( LA265_1 ==108 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 21;}
+
+                        else if ( LA265_1 ==29 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 22;}
+
+                        else if ( LA265_1 ==55 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 23;}
+
+                        else if ( LA265_1 ==37 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 24;}
+
+                        else if ( LA265_1 ==56 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 25;}
+
+                        else if ( LA265_1 ==43 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 26;}
+
+                        else if ( LA265_1 ==57 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 27;}
+
+                        else if ( LA265_1 ==49 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 28;}
+
+                        else if ( LA265_1 ==58 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 29;}
+
+                        else if ( LA265_1 ==129 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 30;}
+
+                        else if ( LA265_1 ==50 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 31;}
+
+                        else if ( LA265_1 ==51 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 32;}
+
+                        else if ( LA265_1 ==59 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 33;}
+
+                        else if ( LA265_1 ==52 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 34;}
+
+                        else if ( LA265_1 ==60 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 35;}
+
+                        else if ( LA265_1 ==53 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 36;}
+
+                        else if ( LA265_1 ==EOF && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 37;}
+
+                         
+                        input.seek(index265_1);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 2 : 
+                        int LA265_0 = input.LA(1);
+
+                         
+                        int index265_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA265_0==108) ) {s = 1;}
+
+                        else if ( LA265_0 ==29 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1) ) {s = 2;}
+
+                        else if ( LA265_0 ==55 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1) ) {s = 3;}
+
+                        else if ( LA265_0 ==37 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2) ) {s = 4;}
+
+                        else if ( LA265_0 ==56 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2) ) {s = 5;}
+
+                        else if ( LA265_0 ==43 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3) ) {s = 6;}
+
+                        else if ( LA265_0 ==57 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3) ) {s = 7;}
+
+                        else if ( LA265_0 ==49 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4) ) {s = 8;}
+
+                        else if ( LA265_0 ==58 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4) ) {s = 9;}
+
+                        else if ( LA265_0 ==129 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5) ) {s = 10;}
+
+                        else if ( LA265_0 ==50 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5) ) {s = 11;}
+
+                        else if ( LA265_0 ==51 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6) ) {s = 12;}
+
+                        else if ( LA265_0 ==59 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6) ) {s = 13;}
+
+                        else if ( LA265_0 ==52 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {s = 14;}
+
+                        else if ( LA265_0 ==60 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {s = 15;}
+
+                        else if ( LA265_0 ==109 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {s = 16;}
+
+                        else if ( (LA265_0==EOF||LA265_0==53) ) {s = 17;}
+
+                         
+                        input.seek(index265_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 265, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA266_eotS =
+        "\27\uffff";
+    static final String DFA266_eofS =
+        "\1\21\1\26\25\uffff";
+    static final String DFA266_minS =
+        "\1\35\1\31\25\uffff";
+    static final String DFA266_maxS =
+        "\1\u0081\1\155\25\uffff";
+    static final String DFA266_acceptS =
+        "\2\uffff\17\1\1\2\5\1";
+    static final String DFA266_specialS =
+        "\1\1\1\0\25\uffff}>";
+    static final String[] DFA266_transitionS = {
+            "\1\2\7\uffff\1\4\5\uffff\1\6\5\uffff\1\10\1\13\1\14\1\16\1"+
+            "\21\1\uffff\1\3\1\5\1\7\1\11\1\15\1\17\57\uffff\1\1\1\20\23"+
+            "\uffff\1\12",
+            "\1\21\1\22\4\uffff\1\21\25\uffff\1\25\1\23\11\uffff\2\21\3"+
+            "\uffff\1\21\46\uffff\1\24\1\21",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA266_eot = DFA.unpackEncodedString(DFA266_eotS);
+    static final short[] DFA266_eof = DFA.unpackEncodedString(DFA266_eofS);
+    static final char[] DFA266_min = DFA.unpackEncodedStringToUnsignedChars(DFA266_minS);
+    static final char[] DFA266_max = DFA.unpackEncodedStringToUnsignedChars(DFA266_maxS);
+    static final short[] DFA266_accept = DFA.unpackEncodedString(DFA266_acceptS);
+    static final short[] DFA266_special = DFA.unpackEncodedString(DFA266_specialS);
+    static final short[][] DFA266_transition;
+
+    static {
+        int numStates = DFA266_transitionS.length;
+        DFA266_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA266_transition[i] = DFA.unpackEncodedString(DFA266_transitionS[i]);
+        }
+    }
+
+    class DFA266 extends DFA {
+
+        public DFA266(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 266;
+            this.eot = DFA266_eot;
+            this.eof = DFA266_eof;
+            this.min = DFA266_min;
+            this.max = DFA266_max;
+            this.accept = DFA266_accept;
+            this.special = DFA266_special;
+            this.transition = DFA266_transition;
+        }
+        public String getDescription() {
+            return "24276:2: ( rule__AttributeCS__UnorderedGroup_5__7 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA266_1 = input.LA(1);
+
+                         
+                        int index266_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( LA266_1 ==26 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 18;}
+
+                        else if ( LA266_1 ==54 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 19;}
+
+                        else if ( LA266_1 ==108 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 20;}
+
+                        else if ( LA266_1 ==53 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 21;}
+
+                        else if ( LA266_1 ==EOF && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 22;}
+
+                        else if ( (LA266_1==25||LA266_1==31||(LA266_1>=64 && LA266_1<=65)||LA266_1==69||LA266_1==109) ) {s = 17;}
+
+                         
+                        input.seek(index266_1);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA266_0 = input.LA(1);
+
+                         
+                        int index266_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA266_0==108) ) {s = 1;}
+
+                        else if ( LA266_0 ==29 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1) ) {s = 2;}
+
+                        else if ( LA266_0 ==55 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1) ) {s = 3;}
+
+                        else if ( LA266_0 ==37 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2) ) {s = 4;}
+
+                        else if ( LA266_0 ==56 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2) ) {s = 5;}
+
+                        else if ( LA266_0 ==43 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3) ) {s = 6;}
+
+                        else if ( LA266_0 ==57 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3) ) {s = 7;}
+
+                        else if ( LA266_0 ==49 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4) ) {s = 8;}
+
+                        else if ( LA266_0 ==58 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4) ) {s = 9;}
+
+                        else if ( LA266_0 ==129 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5) ) {s = 10;}
+
+                        else if ( LA266_0 ==50 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5) ) {s = 11;}
+
+                        else if ( LA266_0 ==51 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6) ) {s = 12;}
+
+                        else if ( LA266_0 ==59 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6) ) {s = 13;}
+
+                        else if ( LA266_0 ==52 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {s = 14;}
+
+                        else if ( LA266_0 ==60 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {s = 15;}
+
+                        else if ( LA266_0 ==109 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {s = 16;}
+
+                        else if ( (LA266_0==EOF||LA266_0==53) ) {s = 17;}
+
+                         
+                        input.seek(index266_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 266, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA271_eotS =
+        "\24\uffff";
+    static final String DFA271_eofS =
+        "\1\7\1\21\15\uffff\1\22\2\uffff\1\7\1\uffff";
+    static final String DFA271_minS =
+        "\1\45\1\23\15\uffff\1\7\2\uffff\1\0\1\uffff";
+    static final String DFA271_maxS =
+        "\2\u0081\15\uffff\1\155\2\uffff\1\0\1\uffff";
+    static final String DFA271_acceptS =
+        "\2\uffff\5\1\1\2\7\1\1\uffff\2\1\1\uffff\1\1";
+    static final String DFA271_specialS =
+        "\1\2\1\1\15\uffff\1\0\4\uffff}>";
+    static final String[] DFA271_transitionS = {
+            "\1\2\14\uffff\1\5\2\uffff\1\7\2\uffff\1\3\63\uffff\1\1\1\6"+
+            "\23\uffff\1\4",
+            "\1\7\6\uffff\1\10\12\uffff\1\13\1\uffff\2\7\11\uffff\1\16"+
+            "\2\uffff\1\20\1\11\1\uffff\1\14\7\uffff\2\7\3\uffff\1\7\46\uffff"+
+            "\1\12\1\17\23\uffff\1\15",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "\2\7\10\uffff\44\7\1\20\12\uffff\4\7\1\uffff\1\7\46\uffff"+
+            "\1\23\1\7",
+            "",
+            "",
+            "\1\uffff",
+            ""
+    };
+
+    static final short[] DFA271_eot = DFA.unpackEncodedString(DFA271_eotS);
+    static final short[] DFA271_eof = DFA.unpackEncodedString(DFA271_eofS);
+    static final char[] DFA271_min = DFA.unpackEncodedStringToUnsignedChars(DFA271_minS);
+    static final char[] DFA271_max = DFA.unpackEncodedStringToUnsignedChars(DFA271_maxS);
+    static final short[] DFA271_accept = DFA.unpackEncodedString(DFA271_acceptS);
+    static final short[] DFA271_special = DFA.unpackEncodedString(DFA271_specialS);
+    static final short[][] DFA271_transition;
+
+    static {
+        int numStates = DFA271_transitionS.length;
+        DFA271_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA271_transition[i] = DFA.unpackEncodedString(DFA271_transitionS[i]);
+        }
+    }
+
+    class DFA271 extends DFA {
+
+        public DFA271(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 271;
+            this.eot = DFA271_eot;
+            this.eof = DFA271_eof;
+            this.min = DFA271_min;
+            this.max = DFA271_max;
+            this.accept = DFA271_accept;
+            this.special = DFA271_special;
+            this.transition = DFA271_transition;
+        }
+        public String getDescription() {
+            return "24498:2: ( rule__OperationCS__UnorderedGroup_9__1 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA271_15 = input.LA(1);
+
+                         
+                        int index271_15 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA271_15==EOF) ) {s = 18;}
+
+                        else if ( ((LA271_15>=RULE_SIMPLE_ID && LA271_15<=RULE_ESCAPED_ID)||(LA271_15>=17 && LA271_15<=52)||(LA271_15>=64 && LA271_15<=67)||LA271_15==69||LA271_15==109) ) {s = 7;}
+
+                        else if ( LA271_15 ==108 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 0) ) {s = 19;}
+
+                        else if ( LA271_15 ==53 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 0) ) {s = 16;}
+
+                         
+                        input.seek(index271_15);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA271_1 = input.LA(1);
+
+                         
+                        int index271_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( LA271_1 ==26 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 0) ) {s = 8;}
+
+                        else if ( LA271_1 ==54 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 0) ) {s = 9;}
+
+                        else if ( LA271_1 ==108 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 0) ) {s = 10;}
+
+                        else if ( LA271_1 ==37 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 0) ) {s = 11;}
+
+                        else if ( LA271_1 ==56 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 0) ) {s = 12;}
+
+                        else if ( LA271_1 ==129 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 0) ) {s = 13;}
+
+                        else if ( LA271_1 ==50 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 0) ) {s = 14;}
+
+                        else if ( (LA271_1==109) ) {s = 15;}
+
+                        else if ( LA271_1 ==53 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 0) ) {s = 16;}
+
+                        else if ( LA271_1 ==EOF && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 0) ) {s = 17;}
+
+                        else if ( (LA271_1==19||(LA271_1>=39 && LA271_1<=40)||(LA271_1>=64 && LA271_1<=65)||LA271_1==69) ) {s = 7;}
+
+                         
+                        input.seek(index271_1);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 2 : 
+                        int LA271_0 = input.LA(1);
+
+                         
+                        int index271_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA271_0==108) ) {s = 1;}
+
+                        else if ( LA271_0 ==37 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 1) ) {s = 2;}
+
+                        else if ( LA271_0 ==56 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 1) ) {s = 3;}
+
+                        else if ( LA271_0 ==129 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 2) ) {s = 4;}
+
+                        else if ( LA271_0 ==50 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 2) ) {s = 5;}
+
+                        else if ( LA271_0 ==109 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 2) ) {s = 6;}
+
+                        else if ( (LA271_0==EOF||LA271_0==53) ) {s = 7;}
+
+                         
+                        input.seek(index271_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 271, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA272_eotS =
+        "\15\uffff";
+    static final String DFA272_eofS =
+        "\1\7\1\14\13\uffff";
+    static final String DFA272_minS =
+        "\1\45\1\23\13\uffff";
+    static final String DFA272_maxS =
+        "\1\u0081\1\155\13\uffff";
+    static final String DFA272_acceptS =
+        "\2\uffff\5\1\1\2\5\1";
+    static final String DFA272_specialS =
+        "\1\0\1\1\13\uffff}>";
+    static final String[] DFA272_transitionS = {
+            "\1\2\14\uffff\1\5\2\uffff\1\7\2\uffff\1\3\63\uffff\1\1\1\6"+
+            "\23\uffff\1\4",
+            "\1\7\6\uffff\1\10\14\uffff\2\7\14\uffff\1\13\1\11\11\uffff"+
+            "\2\7\3\uffff\1\7\46\uffff\1\12\1\7",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA272_eot = DFA.unpackEncodedString(DFA272_eotS);
+    static final short[] DFA272_eof = DFA.unpackEncodedString(DFA272_eofS);
+    static final char[] DFA272_min = DFA.unpackEncodedStringToUnsignedChars(DFA272_minS);
+    static final char[] DFA272_max = DFA.unpackEncodedStringToUnsignedChars(DFA272_maxS);
+    static final short[] DFA272_accept = DFA.unpackEncodedString(DFA272_acceptS);
+    static final short[] DFA272_special = DFA.unpackEncodedString(DFA272_specialS);
+    static final short[][] DFA272_transition;
+
+    static {
+        int numStates = DFA272_transitionS.length;
+        DFA272_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA272_transition[i] = DFA.unpackEncodedString(DFA272_transitionS[i]);
+        }
+    }
+
+    class DFA272 extends DFA {
+
+        public DFA272(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 272;
+            this.eot = DFA272_eot;
+            this.eof = DFA272_eof;
+            this.min = DFA272_min;
+            this.max = DFA272_max;
+            this.accept = DFA272_accept;
+            this.special = DFA272_special;
+            this.transition = DFA272_transition;
+        }
+        public String getDescription() {
+            return "24511:2: ( rule__OperationCS__UnorderedGroup_9__2 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA272_0 = input.LA(1);
+
+                         
+                        int index272_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA272_0==108) ) {s = 1;}
+
+                        else if ( LA272_0 ==37 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 1) ) {s = 2;}
+
+                        else if ( LA272_0 ==56 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 1) ) {s = 3;}
+
+                        else if ( LA272_0 ==129 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 2) ) {s = 4;}
+
+                        else if ( LA272_0 ==50 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 2) ) {s = 5;}
+
+                        else if ( LA272_0 ==109 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 2) ) {s = 6;}
+
+                        else if ( (LA272_0==EOF||LA272_0==53) ) {s = 7;}
+
+                         
+                        input.seek(index272_0);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA272_1 = input.LA(1);
+
+                         
+                        int index272_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( LA272_1 ==26 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 0) ) {s = 8;}
+
+                        else if ( LA272_1 ==54 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 0) ) {s = 9;}
+
+                        else if ( LA272_1 ==108 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 0) ) {s = 10;}
+
+                        else if ( LA272_1 ==53 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 0) ) {s = 11;}
+
+                        else if ( LA272_1 ==EOF && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 0) ) {s = 12;}
+
+                        else if ( (LA272_1==19||(LA272_1>=39 && LA272_1<=40)||(LA272_1>=64 && LA272_1<=65)||LA272_1==69||LA272_1==109) ) {s = 7;}
+
+                         
+                        input.seek(index272_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 272, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA274_eotS =
+        "\14\uffff";
+    static final String DFA274_eofS =
+        "\1\5\1\11\12\uffff";
+    static final String DFA274_minS =
+        "\1\62\1\45\12\uffff";
+    static final String DFA274_maxS =
+        "\1\u0081\1\155\12\uffff";
+    static final String DFA274_acceptS =
+        "\2\uffff\3\1\1\2\6\1";
+    static final String DFA274_specialS =
+        "\1\1\1\0\12\uffff}>";
+    static final String[] DFA274_transitionS = {
+            "\1\3\66\uffff\1\5\1\uffff\1\5\1\1\1\4\23\uffff\1\2",
+            "\1\6\22\uffff\1\7\7\uffff\2\5\3\uffff\1\5\43\uffff\1\13\1"+
+            "\uffff\1\12\1\10\1\5",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA274_eot = DFA.unpackEncodedString(DFA274_eotS);
+    static final short[] DFA274_eof = DFA.unpackEncodedString(DFA274_eofS);
+    static final char[] DFA274_min = DFA.unpackEncodedStringToUnsignedChars(DFA274_minS);
+    static final char[] DFA274_max = DFA.unpackEncodedStringToUnsignedChars(DFA274_maxS);
+    static final short[] DFA274_accept = DFA.unpackEncodedString(DFA274_acceptS);
+    static final short[] DFA274_special = DFA.unpackEncodedString(DFA274_specialS);
+    static final short[][] DFA274_transition;
+
+    static {
+        int numStates = DFA274_transitionS.length;
+        DFA274_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA274_transition[i] = DFA.unpackEncodedString(DFA274_transitionS[i]);
+        }
+    }
+
+    class DFA274 extends DFA {
+
+        public DFA274(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 274;
+            this.eot = DFA274_eot;
+            this.eof = DFA274_eof;
+            this.min = DFA274_min;
+            this.max = DFA274_max;
+            this.accept = DFA274_accept;
+            this.special = DFA274_special;
+            this.transition = DFA274_transition;
+        }
+        public String getDescription() {
+            return "24610:2: ( rule__ParameterCS__UnorderedGroup_2__1 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA274_1 = input.LA(1);
+
+                         
+                        int index274_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( LA274_1 ==37 && getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0) ) {s = 6;}
+
+                        else if ( LA274_1 ==56 && getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0) ) {s = 7;}
+
+                        else if ( LA274_1 ==108 && getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0) ) {s = 8;}
+
+                        else if ( LA274_1 ==EOF && getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0) ) {s = 9;}
+
+                        else if ( LA274_1 ==107 && getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0) ) {s = 10;}
+
+                        else if ( LA274_1 ==105 && getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0) ) {s = 11;}
+
+                        else if ( ((LA274_1>=64 && LA274_1<=65)||LA274_1==69||LA274_1==109) ) {s = 5;}
+
+                         
+                        input.seek(index274_1);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA274_0 = input.LA(1);
+
+                         
+                        int index274_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA274_0==108) ) {s = 1;}
+
+                        else if ( LA274_0 ==129 && getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 1) ) {s = 2;}
+
+                        else if ( LA274_0 ==50 && getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 1) ) {s = 3;}
+
+                        else if ( LA274_0 ==109 && getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 1) ) {s = 4;}
+
+                        else if ( (LA274_0==EOF||LA274_0==105||LA274_0==107) ) {s = 5;}
+
+                         
+                        input.seek(index274_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 274, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA278_eotS =
+        "\21\uffff";
+    static final String DFA278_eofS =
+        "\21\uffff";
+    static final String DFA278_minS =
+        "\1\32\20\uffff";
+    static final String DFA278_maxS =
+        "\1\u0081\20\uffff";
+    static final String DFA278_acceptS =
+        "\1\uffff\1\1\2\2\2\3\2\4\2\5\2\6\2\7\2\10\1\11";
+    static final String DFA278_specialS =
+        "\1\0\20\uffff}>";
+    static final String[] DFA278_transitionS = {
+            "\1\2\12\uffff\1\4\5\uffff\1\6\1\uffff\1\10\3\uffff\1\12\1\15"+
+            "\1\16\1\20\1\uffff\1\3\1\uffff\1\5\1\7\1\13\1\17\1\20\2\uffff"+
+            "\1\11\54\uffff\1\1\1\20\23\uffff\1\14",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA278_eot = DFA.unpackEncodedString(DFA278_eotS);
+    static final short[] DFA278_eof = DFA.unpackEncodedString(DFA278_eofS);
+    static final char[] DFA278_min = DFA.unpackEncodedStringToUnsignedChars(DFA278_minS);
+    static final char[] DFA278_max = DFA.unpackEncodedStringToUnsignedChars(DFA278_maxS);
+    static final short[] DFA278_accept = DFA.unpackEncodedString(DFA278_acceptS);
+    static final short[] DFA278_special = DFA.unpackEncodedString(DFA278_specialS);
+    static final short[][] DFA278_transition;
+
+    static {
+        int numStates = DFA278_transitionS.length;
+        DFA278_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA278_transition[i] = DFA.unpackEncodedString(DFA278_transitionS[i]);
+        }
+    }
+
+    class DFA278 extends DFA {
+
+        public DFA278(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 278;
+            this.eot = DFA278_eot;
+            this.eof = DFA278_eof;
+            this.min = DFA278_min;
+            this.max = DFA278_max;
+            this.accept = DFA278_accept;
+            this.special = DFA278_special;
+            this.transition = DFA278_transition;
+        }
+        public String getDescription() {
+            return "24752:3: ( ({...}? => ( ( ( rule__ReferenceCS__Group_6_0__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_1__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_2__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_3__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_4__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_5__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_6__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_7__0 ) ) ) ) | ({...}? => ( ( ( rule__ReferenceCS__Group_6_8__0 ) ) ) ) )";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA278_0 = input.LA(1);
+
+                         
+                        int index278_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( LA278_0 ==108 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 1;}
+
+                        else if ( LA278_0 ==26 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1) ) {s = 2;}
+
+                        else if ( LA278_0 ==54 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1) ) {s = 3;}
+
+                        else if ( LA278_0 ==37 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2) ) {s = 4;}
+
+                        else if ( LA278_0 ==56 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2) ) {s = 5;}
+
+                        else if ( LA278_0 ==43 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3) ) {s = 6;}
+
+                        else if ( LA278_0 ==57 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3) ) {s = 7;}
+
+                        else if ( LA278_0 ==45 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4) ) {s = 8;}
+
+                        else if ( LA278_0 ==63 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4) ) {s = 9;}
+
+                        else if ( LA278_0 ==49 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5) ) {s = 10;}
+
+                        else if ( LA278_0 ==58 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5) ) {s = 11;}
+
+                        else if ( LA278_0 ==129 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6) ) {s = 12;}
+
+                        else if ( LA278_0 ==50 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6) ) {s = 13;}
+
+                        else if ( LA278_0 ==51 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7) ) {s = 14;}
+
+                        else if ( LA278_0 ==59 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7) ) {s = 15;}
+
+                        else if ( (LA278_0==52||LA278_0==60||LA278_0==109) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 16;}
+
+                         
+                        input.seek(index278_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 278, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA279_eotS =
+        "\25\uffff";
+    static final String DFA279_eofS =
+        "\1\23\24\uffff";
+    static final String DFA279_minS =
+        "\1\32\1\0\23\uffff";
+    static final String DFA279_maxS =
+        "\1\u0081\1\0\23\uffff";
+    static final String DFA279_acceptS =
+        "\2\uffff\21\1\1\2\1\uffff";
+    static final String DFA279_specialS =
+        "\1\0\1\1\23\uffff}>";
+    static final String[] DFA279_transitionS = {
+            "\1\2\12\uffff\1\4\5\uffff\1\6\1\uffff\1\10\3\uffff\1\12\1\15"+
+            "\1\16\1\20\1\23\1\3\1\uffff\1\5\1\7\1\13\1\17\1\21\2\uffff\1"+
+            "\11\54\uffff\1\1\1\22\23\uffff\1\14",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA279_eot = DFA.unpackEncodedString(DFA279_eotS);
+    static final short[] DFA279_eof = DFA.unpackEncodedString(DFA279_eofS);
+    static final char[] DFA279_min = DFA.unpackEncodedStringToUnsignedChars(DFA279_minS);
+    static final char[] DFA279_max = DFA.unpackEncodedStringToUnsignedChars(DFA279_maxS);
+    static final short[] DFA279_accept = DFA.unpackEncodedString(DFA279_acceptS);
+    static final short[] DFA279_special = DFA.unpackEncodedString(DFA279_specialS);
+    static final short[][] DFA279_transition;
+
+    static {
+        int numStates = DFA279_transitionS.length;
+        DFA279_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA279_transition[i] = DFA.unpackEncodedString(DFA279_transitionS[i]);
+        }
+    }
+
+    class DFA279 extends DFA {
+
+        public DFA279(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 279;
+            this.eot = DFA279_eot;
+            this.eof = DFA279_eof;
+            this.min = DFA279_min;
+            this.max = DFA279_max;
+            this.accept = DFA279_accept;
+            this.special = DFA279_special;
+            this.transition = DFA279_transition;
+        }
+        public String getDescription() {
+            return "24922:2: ( rule__ReferenceCS__UnorderedGroup_6__1 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA279_0 = input.LA(1);
+
+                         
+                        int index279_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA279_0==108) ) {s = 1;}
+
+                        else if ( LA279_0 ==26 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1) ) {s = 2;}
+
+                        else if ( LA279_0 ==54 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1) ) {s = 3;}
+
+                        else if ( LA279_0 ==37 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2) ) {s = 4;}
+
+                        else if ( LA279_0 ==56 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2) ) {s = 5;}
+
+                        else if ( LA279_0 ==43 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3) ) {s = 6;}
+
+                        else if ( LA279_0 ==57 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3) ) {s = 7;}
+
+                        else if ( LA279_0 ==45 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4) ) {s = 8;}
+
+                        else if ( LA279_0 ==63 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4) ) {s = 9;}
+
+                        else if ( LA279_0 ==49 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5) ) {s = 10;}
+
+                        else if ( LA279_0 ==58 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5) ) {s = 11;}
+
+                        else if ( LA279_0 ==129 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6) ) {s = 12;}
+
+                        else if ( LA279_0 ==50 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6) ) {s = 13;}
+
+                        else if ( LA279_0 ==51 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7) ) {s = 14;}
+
+                        else if ( LA279_0 ==59 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7) ) {s = 15;}
+
+                        else if ( LA279_0 ==52 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 16;}
+
+                        else if ( LA279_0 ==60 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 17;}
+
+                        else if ( LA279_0 ==109 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 18;}
+
+                        else if ( (LA279_0==EOF||LA279_0==53) ) {s = 19;}
+
+                         
+                        input.seek(index279_0);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA279_1 = input.LA(1);
+
+                         
+                        int index279_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( synpred387_InternalOCLinEcore() && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 18;}
+
+                        else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6()) ) {s = 19;}
+
+                         
+                        input.seek(index279_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 279, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA280_eotS =
+        "\25\uffff";
+    static final String DFA280_eofS =
+        "\1\23\24\uffff";
+    static final String DFA280_minS =
+        "\1\32\1\0\23\uffff";
+    static final String DFA280_maxS =
+        "\1\u0081\1\0\23\uffff";
+    static final String DFA280_acceptS =
+        "\2\uffff\21\1\1\2\1\uffff";
+    static final String DFA280_specialS =
+        "\1\0\1\1\23\uffff}>";
+    static final String[] DFA280_transitionS = {
+            "\1\2\12\uffff\1\4\5\uffff\1\6\1\uffff\1\10\3\uffff\1\12\1\15"+
+            "\1\16\1\20\1\23\1\3\1\uffff\1\5\1\7\1\13\1\17\1\21\2\uffff\1"+
+            "\11\54\uffff\1\1\1\22\23\uffff\1\14",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA280_eot = DFA.unpackEncodedString(DFA280_eotS);
+    static final short[] DFA280_eof = DFA.unpackEncodedString(DFA280_eofS);
+    static final char[] DFA280_min = DFA.unpackEncodedStringToUnsignedChars(DFA280_minS);
+    static final char[] DFA280_max = DFA.unpackEncodedStringToUnsignedChars(DFA280_maxS);
+    static final short[] DFA280_accept = DFA.unpackEncodedString(DFA280_acceptS);
+    static final short[] DFA280_special = DFA.unpackEncodedString(DFA280_specialS);
+    static final short[][] DFA280_transition;
+
+    static {
+        int numStates = DFA280_transitionS.length;
+        DFA280_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA280_transition[i] = DFA.unpackEncodedString(DFA280_transitionS[i]);
+        }
+    }
+
+    class DFA280 extends DFA {
+
+        public DFA280(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 280;
+            this.eot = DFA280_eot;
+            this.eof = DFA280_eof;
+            this.min = DFA280_min;
+            this.max = DFA280_max;
+            this.accept = DFA280_accept;
+            this.special = DFA280_special;
+            this.transition = DFA280_transition;
+        }
+        public String getDescription() {
+            return "24935:2: ( rule__ReferenceCS__UnorderedGroup_6__2 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA280_0 = input.LA(1);
+
+                         
+                        int index280_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA280_0==108) ) {s = 1;}
+
+                        else if ( LA280_0 ==26 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1) ) {s = 2;}
+
+                        else if ( LA280_0 ==54 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1) ) {s = 3;}
+
+                        else if ( LA280_0 ==37 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2) ) {s = 4;}
+
+                        else if ( LA280_0 ==56 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2) ) {s = 5;}
+
+                        else if ( LA280_0 ==43 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3) ) {s = 6;}
+
+                        else if ( LA280_0 ==57 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3) ) {s = 7;}
+
+                        else if ( LA280_0 ==45 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4) ) {s = 8;}
+
+                        else if ( LA280_0 ==63 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4) ) {s = 9;}
+
+                        else if ( LA280_0 ==49 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5) ) {s = 10;}
+
+                        else if ( LA280_0 ==58 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5) ) {s = 11;}
+
+                        else if ( LA280_0 ==129 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6) ) {s = 12;}
+
+                        else if ( LA280_0 ==50 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6) ) {s = 13;}
+
+                        else if ( LA280_0 ==51 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7) ) {s = 14;}
+
+                        else if ( LA280_0 ==59 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7) ) {s = 15;}
+
+                        else if ( LA280_0 ==52 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 16;}
+
+                        else if ( LA280_0 ==60 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 17;}
+
+                        else if ( LA280_0 ==109 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 18;}
+
+                        else if ( (LA280_0==EOF||LA280_0==53) ) {s = 19;}
+
+                         
+                        input.seek(index280_0);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA280_1 = input.LA(1);
+
+                         
+                        int index280_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( synpred388_InternalOCLinEcore() && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 18;}
+
+                        else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6()) ) {s = 19;}
+
+                         
+                        input.seek(index280_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 280, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA281_eotS =
+        "\25\uffff";
+    static final String DFA281_eofS =
+        "\1\23\24\uffff";
+    static final String DFA281_minS =
+        "\1\32\1\0\23\uffff";
+    static final String DFA281_maxS =
+        "\1\u0081\1\0\23\uffff";
+    static final String DFA281_acceptS =
+        "\2\uffff\21\1\1\2\1\uffff";
+    static final String DFA281_specialS =
+        "\1\0\1\1\23\uffff}>";
+    static final String[] DFA281_transitionS = {
+            "\1\2\12\uffff\1\4\5\uffff\1\6\1\uffff\1\10\3\uffff\1\12\1\15"+
+            "\1\16\1\20\1\23\1\3\1\uffff\1\5\1\7\1\13\1\17\1\21\2\uffff\1"+
+            "\11\54\uffff\1\1\1\22\23\uffff\1\14",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA281_eot = DFA.unpackEncodedString(DFA281_eotS);
+    static final short[] DFA281_eof = DFA.unpackEncodedString(DFA281_eofS);
+    static final char[] DFA281_min = DFA.unpackEncodedStringToUnsignedChars(DFA281_minS);
+    static final char[] DFA281_max = DFA.unpackEncodedStringToUnsignedChars(DFA281_maxS);
+    static final short[] DFA281_accept = DFA.unpackEncodedString(DFA281_acceptS);
+    static final short[] DFA281_special = DFA.unpackEncodedString(DFA281_specialS);
+    static final short[][] DFA281_transition;
+
+    static {
+        int numStates = DFA281_transitionS.length;
+        DFA281_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA281_transition[i] = DFA.unpackEncodedString(DFA281_transitionS[i]);
+        }
+    }
+
+    class DFA281 extends DFA {
+
+        public DFA281(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 281;
+            this.eot = DFA281_eot;
+            this.eof = DFA281_eof;
+            this.min = DFA281_min;
+            this.max = DFA281_max;
+            this.accept = DFA281_accept;
+            this.special = DFA281_special;
+            this.transition = DFA281_transition;
+        }
+        public String getDescription() {
+            return "24948:2: ( rule__ReferenceCS__UnorderedGroup_6__3 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA281_0 = input.LA(1);
+
+                         
+                        int index281_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA281_0==108) ) {s = 1;}
+
+                        else if ( LA281_0 ==26 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1) ) {s = 2;}
+
+                        else if ( LA281_0 ==54 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1) ) {s = 3;}
+
+                        else if ( LA281_0 ==37 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2) ) {s = 4;}
+
+                        else if ( LA281_0 ==56 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2) ) {s = 5;}
+
+                        else if ( LA281_0 ==43 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3) ) {s = 6;}
+
+                        else if ( LA281_0 ==57 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3) ) {s = 7;}
+
+                        else if ( LA281_0 ==45 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4) ) {s = 8;}
+
+                        else if ( LA281_0 ==63 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4) ) {s = 9;}
+
+                        else if ( LA281_0 ==49 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5) ) {s = 10;}
+
+                        else if ( LA281_0 ==58 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5) ) {s = 11;}
+
+                        else if ( LA281_0 ==129 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6) ) {s = 12;}
+
+                        else if ( LA281_0 ==50 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6) ) {s = 13;}
+
+                        else if ( LA281_0 ==51 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7) ) {s = 14;}
+
+                        else if ( LA281_0 ==59 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7) ) {s = 15;}
+
+                        else if ( LA281_0 ==52 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 16;}
+
+                        else if ( LA281_0 ==60 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 17;}
+
+                        else if ( LA281_0 ==109 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 18;}
+
+                        else if ( (LA281_0==EOF||LA281_0==53) ) {s = 19;}
+
+                         
+                        input.seek(index281_0);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA281_1 = input.LA(1);
+
+                         
+                        int index281_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( synpred389_InternalOCLinEcore() && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 18;}
+
+                        else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6()) ) {s = 19;}
+
+                         
+                        input.seek(index281_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 281, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA282_eotS =
+        "\25\uffff";
+    static final String DFA282_eofS =
+        "\1\23\24\uffff";
+    static final String DFA282_minS =
+        "\1\32\1\0\23\uffff";
+    static final String DFA282_maxS =
+        "\1\u0081\1\0\23\uffff";
+    static final String DFA282_acceptS =
+        "\2\uffff\21\1\1\2\1\uffff";
+    static final String DFA282_specialS =
+        "\1\0\1\1\23\uffff}>";
+    static final String[] DFA282_transitionS = {
+            "\1\2\12\uffff\1\4\5\uffff\1\6\1\uffff\1\10\3\uffff\1\12\1\15"+
+            "\1\16\1\20\1\23\1\3\1\uffff\1\5\1\7\1\13\1\17\1\21\2\uffff\1"+
+            "\11\54\uffff\1\1\1\22\23\uffff\1\14",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA282_eot = DFA.unpackEncodedString(DFA282_eotS);
+    static final short[] DFA282_eof = DFA.unpackEncodedString(DFA282_eofS);
+    static final char[] DFA282_min = DFA.unpackEncodedStringToUnsignedChars(DFA282_minS);
+    static final char[] DFA282_max = DFA.unpackEncodedStringToUnsignedChars(DFA282_maxS);
+    static final short[] DFA282_accept = DFA.unpackEncodedString(DFA282_acceptS);
+    static final short[] DFA282_special = DFA.unpackEncodedString(DFA282_specialS);
+    static final short[][] DFA282_transition;
+
+    static {
+        int numStates = DFA282_transitionS.length;
+        DFA282_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA282_transition[i] = DFA.unpackEncodedString(DFA282_transitionS[i]);
+        }
+    }
+
+    class DFA282 extends DFA {
+
+        public DFA282(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 282;
+            this.eot = DFA282_eot;
+            this.eof = DFA282_eof;
+            this.min = DFA282_min;
+            this.max = DFA282_max;
+            this.accept = DFA282_accept;
+            this.special = DFA282_special;
+            this.transition = DFA282_transition;
+        }
+        public String getDescription() {
+            return "24961:2: ( rule__ReferenceCS__UnorderedGroup_6__4 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA282_0 = input.LA(1);
+
+                         
+                        int index282_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA282_0==108) ) {s = 1;}
+
+                        else if ( LA282_0 ==26 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1) ) {s = 2;}
+
+                        else if ( LA282_0 ==54 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1) ) {s = 3;}
+
+                        else if ( LA282_0 ==37 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2) ) {s = 4;}
+
+                        else if ( LA282_0 ==56 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2) ) {s = 5;}
+
+                        else if ( LA282_0 ==43 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3) ) {s = 6;}
+
+                        else if ( LA282_0 ==57 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3) ) {s = 7;}
+
+                        else if ( LA282_0 ==45 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4) ) {s = 8;}
+
+                        else if ( LA282_0 ==63 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4) ) {s = 9;}
+
+                        else if ( LA282_0 ==49 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5) ) {s = 10;}
+
+                        else if ( LA282_0 ==58 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5) ) {s = 11;}
+
+                        else if ( LA282_0 ==129 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6) ) {s = 12;}
+
+                        else if ( LA282_0 ==50 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6) ) {s = 13;}
+
+                        else if ( LA282_0 ==51 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7) ) {s = 14;}
+
+                        else if ( LA282_0 ==59 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7) ) {s = 15;}
+
+                        else if ( LA282_0 ==52 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 16;}
+
+                        else if ( LA282_0 ==60 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 17;}
+
+                        else if ( LA282_0 ==109 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 18;}
+
+                        else if ( (LA282_0==EOF||LA282_0==53) ) {s = 19;}
+
+                         
+                        input.seek(index282_0);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA282_1 = input.LA(1);
+
+                         
+                        int index282_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( synpred390_InternalOCLinEcore() && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 18;}
+
+                        else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6()) ) {s = 19;}
+
+                         
+                        input.seek(index282_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 282, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA283_eotS =
+        "\25\uffff";
+    static final String DFA283_eofS =
+        "\1\23\24\uffff";
+    static final String DFA283_minS =
+        "\1\32\1\0\23\uffff";
+    static final String DFA283_maxS =
+        "\1\u0081\1\0\23\uffff";
+    static final String DFA283_acceptS =
+        "\2\uffff\21\1\1\2\1\uffff";
+    static final String DFA283_specialS =
+        "\1\0\1\1\23\uffff}>";
+    static final String[] DFA283_transitionS = {
+            "\1\2\12\uffff\1\4\5\uffff\1\6\1\uffff\1\10\3\uffff\1\12\1\15"+
+            "\1\16\1\20\1\23\1\3\1\uffff\1\5\1\7\1\13\1\17\1\21\2\uffff\1"+
+            "\11\54\uffff\1\1\1\22\23\uffff\1\14",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA283_eot = DFA.unpackEncodedString(DFA283_eotS);
+    static final short[] DFA283_eof = DFA.unpackEncodedString(DFA283_eofS);
+    static final char[] DFA283_min = DFA.unpackEncodedStringToUnsignedChars(DFA283_minS);
+    static final char[] DFA283_max = DFA.unpackEncodedStringToUnsignedChars(DFA283_maxS);
+    static final short[] DFA283_accept = DFA.unpackEncodedString(DFA283_acceptS);
+    static final short[] DFA283_special = DFA.unpackEncodedString(DFA283_specialS);
+    static final short[][] DFA283_transition;
+
+    static {
+        int numStates = DFA283_transitionS.length;
+        DFA283_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA283_transition[i] = DFA.unpackEncodedString(DFA283_transitionS[i]);
+        }
+    }
+
+    class DFA283 extends DFA {
+
+        public DFA283(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 283;
+            this.eot = DFA283_eot;
+            this.eof = DFA283_eof;
+            this.min = DFA283_min;
+            this.max = DFA283_max;
+            this.accept = DFA283_accept;
+            this.special = DFA283_special;
+            this.transition = DFA283_transition;
+        }
+        public String getDescription() {
+            return "24974:2: ( rule__ReferenceCS__UnorderedGroup_6__5 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA283_0 = input.LA(1);
+
+                         
+                        int index283_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA283_0==108) ) {s = 1;}
+
+                        else if ( LA283_0 ==26 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1) ) {s = 2;}
+
+                        else if ( LA283_0 ==54 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1) ) {s = 3;}
+
+                        else if ( LA283_0 ==37 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2) ) {s = 4;}
+
+                        else if ( LA283_0 ==56 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2) ) {s = 5;}
+
+                        else if ( LA283_0 ==43 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3) ) {s = 6;}
+
+                        else if ( LA283_0 ==57 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3) ) {s = 7;}
+
+                        else if ( LA283_0 ==45 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4) ) {s = 8;}
+
+                        else if ( LA283_0 ==63 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4) ) {s = 9;}
+
+                        else if ( LA283_0 ==49 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5) ) {s = 10;}
+
+                        else if ( LA283_0 ==58 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5) ) {s = 11;}
+
+                        else if ( LA283_0 ==129 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6) ) {s = 12;}
+
+                        else if ( LA283_0 ==50 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6) ) {s = 13;}
+
+                        else if ( LA283_0 ==51 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7) ) {s = 14;}
+
+                        else if ( LA283_0 ==59 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7) ) {s = 15;}
+
+                        else if ( LA283_0 ==52 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 16;}
+
+                        else if ( LA283_0 ==60 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 17;}
+
+                        else if ( LA283_0 ==109 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 18;}
+
+                        else if ( (LA283_0==EOF||LA283_0==53) ) {s = 19;}
+
+                         
+                        input.seek(index283_0);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA283_1 = input.LA(1);
+
+                         
+                        int index283_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( synpred391_InternalOCLinEcore() && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 18;}
+
+                        else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6()) ) {s = 19;}
+
+                         
+                        input.seek(index283_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 283, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA284_eotS =
+        "\25\uffff";
+    static final String DFA284_eofS =
+        "\1\23\24\uffff";
+    static final String DFA284_minS =
+        "\1\32\1\0\23\uffff";
+    static final String DFA284_maxS =
+        "\1\u0081\1\0\23\uffff";
+    static final String DFA284_acceptS =
+        "\2\uffff\21\1\1\2\1\uffff";
+    static final String DFA284_specialS =
+        "\1\0\1\1\23\uffff}>";
+    static final String[] DFA284_transitionS = {
+            "\1\2\12\uffff\1\4\5\uffff\1\6\1\uffff\1\10\3\uffff\1\12\1\15"+
+            "\1\16\1\20\1\23\1\3\1\uffff\1\5\1\7\1\13\1\17\1\21\2\uffff\1"+
+            "\11\54\uffff\1\1\1\22\23\uffff\1\14",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA284_eot = DFA.unpackEncodedString(DFA284_eotS);
+    static final short[] DFA284_eof = DFA.unpackEncodedString(DFA284_eofS);
+    static final char[] DFA284_min = DFA.unpackEncodedStringToUnsignedChars(DFA284_minS);
+    static final char[] DFA284_max = DFA.unpackEncodedStringToUnsignedChars(DFA284_maxS);
+    static final short[] DFA284_accept = DFA.unpackEncodedString(DFA284_acceptS);
+    static final short[] DFA284_special = DFA.unpackEncodedString(DFA284_specialS);
+    static final short[][] DFA284_transition;
+
+    static {
+        int numStates = DFA284_transitionS.length;
+        DFA284_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA284_transition[i] = DFA.unpackEncodedString(DFA284_transitionS[i]);
+        }
+    }
+
+    class DFA284 extends DFA {
+
+        public DFA284(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 284;
+            this.eot = DFA284_eot;
+            this.eof = DFA284_eof;
+            this.min = DFA284_min;
+            this.max = DFA284_max;
+            this.accept = DFA284_accept;
+            this.special = DFA284_special;
+            this.transition = DFA284_transition;
+        }
+        public String getDescription() {
+            return "24987:2: ( rule__ReferenceCS__UnorderedGroup_6__6 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA284_0 = input.LA(1);
+
+                         
+                        int index284_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA284_0==108) ) {s = 1;}
+
+                        else if ( LA284_0 ==26 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1) ) {s = 2;}
+
+                        else if ( LA284_0 ==54 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1) ) {s = 3;}
+
+                        else if ( LA284_0 ==37 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2) ) {s = 4;}
+
+                        else if ( LA284_0 ==56 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2) ) {s = 5;}
+
+                        else if ( LA284_0 ==43 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3) ) {s = 6;}
+
+                        else if ( LA284_0 ==57 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3) ) {s = 7;}
+
+                        else if ( LA284_0 ==45 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4) ) {s = 8;}
+
+                        else if ( LA284_0 ==63 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4) ) {s = 9;}
+
+                        else if ( LA284_0 ==49 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5) ) {s = 10;}
+
+                        else if ( LA284_0 ==58 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5) ) {s = 11;}
+
+                        else if ( LA284_0 ==129 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6) ) {s = 12;}
+
+                        else if ( LA284_0 ==50 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6) ) {s = 13;}
+
+                        else if ( LA284_0 ==51 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7) ) {s = 14;}
+
+                        else if ( LA284_0 ==59 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7) ) {s = 15;}
+
+                        else if ( LA284_0 ==52 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 16;}
+
+                        else if ( LA284_0 ==60 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 17;}
+
+                        else if ( LA284_0 ==109 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 18;}
+
+                        else if ( (LA284_0==EOF||LA284_0==53) ) {s = 19;}
+
+                         
+                        input.seek(index284_0);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA284_1 = input.LA(1);
+
+                         
+                        int index284_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( synpred392_InternalOCLinEcore() && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 18;}
+
+                        else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6()) ) {s = 19;}
+
+                         
+                        input.seek(index284_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 284, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA285_eotS =
+        "\54\uffff";
+    static final String DFA285_eofS =
+        "\1\23\1\51\22\uffff\1\53\26\uffff\1\23";
+    static final String DFA285_minS =
+        "\1\32\1\26\22\uffff\1\7\26\uffff\1\0";
+    static final String DFA285_maxS =
+        "\2\u0081\22\uffff\1\155\26\uffff\1\0";
+    static final String DFA285_acceptS =
+        "\2\uffff\21\1\1\2\1\uffff\26\1\1\uffff";
+    static final String DFA285_specialS =
+        "\1\0\1\2\22\uffff\1\1\27\uffff}>";
+    static final String[] DFA285_transitionS = {
+            "\1\2\12\uffff\1\4\5\uffff\1\6\1\uffff\1\10\3\uffff\1\12\1\15"+
+            "\1\16\1\20\1\23\1\3\1\uffff\1\5\1\7\1\13\1\17\1\21\2\uffff\1"+
+            "\11\54\uffff\1\1\1\22\23\uffff\1\14",
+            "\1\25\2\uffff\1\23\1\30\4\uffff\1\23\1\uffff\1\23\3\uffff"+
+            "\1\32\5\uffff\1\34\1\uffff\1\36\3\uffff\1\40\1\43\1\44\1\46"+
+            "\1\50\1\31\1\uffff\1\33\1\35\1\41\1\45\1\47\1\uffff\1\26\1\37"+
+            "\2\23\3\uffff\1\23\46\uffff\1\27\1\24\23\uffff\1\42",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "\2\23\10\uffff\44\23\1\50\12\uffff\4\23\1\uffff\1\23\46\uffff"+
+            "\1\52\1\23",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "\1\uffff"
+    };
+
+    static final short[] DFA285_eot = DFA.unpackEncodedString(DFA285_eotS);
+    static final short[] DFA285_eof = DFA.unpackEncodedString(DFA285_eofS);
+    static final char[] DFA285_min = DFA.unpackEncodedStringToUnsignedChars(DFA285_minS);
+    static final char[] DFA285_max = DFA.unpackEncodedStringToUnsignedChars(DFA285_maxS);
+    static final short[] DFA285_accept = DFA.unpackEncodedString(DFA285_acceptS);
+    static final short[] DFA285_special = DFA.unpackEncodedString(DFA285_specialS);
+    static final short[][] DFA285_transition;
+
+    static {
+        int numStates = DFA285_transitionS.length;
+        DFA285_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA285_transition[i] = DFA.unpackEncodedString(DFA285_transitionS[i]);
+        }
+    }
+
+    class DFA285 extends DFA {
+
+        public DFA285(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 285;
+            this.eot = DFA285_eot;
+            this.eof = DFA285_eof;
+            this.min = DFA285_min;
+            this.max = DFA285_max;
+            this.accept = DFA285_accept;
+            this.special = DFA285_special;
+            this.transition = DFA285_transition;
+        }
+        public String getDescription() {
+            return "25000:2: ( rule__ReferenceCS__UnorderedGroup_6__7 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA285_0 = input.LA(1);
+
+                         
+                        int index285_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA285_0==108) ) {s = 1;}
+
+                        else if ( LA285_0 ==26 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1) ) {s = 2;}
+
+                        else if ( LA285_0 ==54 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1) ) {s = 3;}
+
+                        else if ( LA285_0 ==37 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2) ) {s = 4;}
+
+                        else if ( LA285_0 ==56 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2) ) {s = 5;}
+
+                        else if ( LA285_0 ==43 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3) ) {s = 6;}
+
+                        else if ( LA285_0 ==57 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3) ) {s = 7;}
+
+                        else if ( LA285_0 ==45 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4) ) {s = 8;}
+
+                        else if ( LA285_0 ==63 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4) ) {s = 9;}
+
+                        else if ( LA285_0 ==49 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5) ) {s = 10;}
+
+                        else if ( LA285_0 ==58 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5) ) {s = 11;}
+
+                        else if ( LA285_0 ==129 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6) ) {s = 12;}
+
+                        else if ( LA285_0 ==50 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6) ) {s = 13;}
+
+                        else if ( LA285_0 ==51 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7) ) {s = 14;}
+
+                        else if ( LA285_0 ==59 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7) ) {s = 15;}
+
+                        else if ( LA285_0 ==52 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 16;}
+
+                        else if ( LA285_0 ==60 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 17;}
+
+                        else if ( LA285_0 ==109 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 18;}
+
+                        else if ( (LA285_0==EOF||LA285_0==53) ) {s = 19;}
+
+                         
+                        input.seek(index285_0);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA285_20 = input.LA(1);
+
+                         
+                        int index285_20 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( LA285_20 ==108 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 42;}
+
+                        else if ( LA285_20 ==53 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 40;}
+
+                        else if ( (LA285_20==EOF) ) {s = 43;}
+
+                        else if ( ((LA285_20>=RULE_SIMPLE_ID && LA285_20<=RULE_ESCAPED_ID)||(LA285_20>=17 && LA285_20<=52)||(LA285_20>=64 && LA285_20<=67)||LA285_20==69||LA285_20==109) ) {s = 19;}
+
+                         
+                        input.seek(index285_20);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 2 : 
+                        int LA285_1 = input.LA(1);
+
+                         
+                        int index285_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA285_1==25||LA285_1==31||LA285_1==33||(LA285_1>=64 && LA285_1<=65)||LA285_1==69) ) {s = 19;}
+
+                        else if ( (LA285_1==109) ) {s = 20;}
+
+                        else if ( LA285_1 ==22 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 21;}
+
+                        else if ( LA285_1 ==62 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 22;}
+
+                        else if ( LA285_1 ==108 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 23;}
+
+                        else if ( LA285_1 ==26 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 24;}
+
+                        else if ( LA285_1 ==54 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 25;}
+
+                        else if ( LA285_1 ==37 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 26;}
+
+                        else if ( LA285_1 ==56 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 27;}
+
+                        else if ( LA285_1 ==43 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 28;}
+
+                        else if ( LA285_1 ==57 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 29;}
+
+                        else if ( LA285_1 ==45 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 30;}
+
+                        else if ( LA285_1 ==63 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 31;}
+
+                        else if ( LA285_1 ==49 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 32;}
+
+                        else if ( LA285_1 ==58 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 33;}
+
+                        else if ( LA285_1 ==129 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 34;}
+
+                        else if ( LA285_1 ==50 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 35;}
+
+                        else if ( LA285_1 ==51 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 36;}
+
+                        else if ( LA285_1 ==59 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 37;}
+
+                        else if ( LA285_1 ==52 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 38;}
+
+                        else if ( LA285_1 ==60 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 39;}
+
+                        else if ( LA285_1 ==53 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 40;}
+
+                        else if ( LA285_1 ==EOF && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 41;}
+
+                         
+                        input.seek(index285_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 285, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA286_eotS =
+        "\31\uffff";
+    static final String DFA286_eofS =
+        "\1\23\1\30\27\uffff";
+    static final String DFA286_minS =
+        "\1\32\1\26\27\uffff";
+    static final String DFA286_maxS =
+        "\1\u0081\1\155\27\uffff";
+    static final String DFA286_acceptS =
+        "\2\uffff\21\1\1\2\5\1";
+    static final String DFA286_specialS =
+        "\1\0\1\1\27\uffff}>";
+    static final String[] DFA286_transitionS = {
+            "\1\2\12\uffff\1\4\5\uffff\1\6\1\uffff\1\10\3\uffff\1\12\1\15"+
+            "\1\16\1\20\1\23\1\3\1\uffff\1\5\1\7\1\13\1\17\1\21\2\uffff\1"+
+            "\11\54\uffff\1\1\1\22\23\uffff\1\14",
+            "\1\24\2\uffff\1\23\5\uffff\1\23\1\uffff\1\23\23\uffff\1\27"+
+            "\10\uffff\1\25\1\uffff\2\23\3\uffff\1\23\46\uffff\1\26\1\23",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA286_eot = DFA.unpackEncodedString(DFA286_eotS);
+    static final short[] DFA286_eof = DFA.unpackEncodedString(DFA286_eofS);
+    static final char[] DFA286_min = DFA.unpackEncodedStringToUnsignedChars(DFA286_minS);
+    static final char[] DFA286_max = DFA.unpackEncodedStringToUnsignedChars(DFA286_maxS);
+    static final short[] DFA286_accept = DFA.unpackEncodedString(DFA286_acceptS);
+    static final short[] DFA286_special = DFA.unpackEncodedString(DFA286_specialS);
+    static final short[][] DFA286_transition;
+
+    static {
+        int numStates = DFA286_transitionS.length;
+        DFA286_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA286_transition[i] = DFA.unpackEncodedString(DFA286_transitionS[i]);
+        }
+    }
+
+    class DFA286 extends DFA {
+
+        public DFA286(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 286;
+            this.eot = DFA286_eot;
+            this.eof = DFA286_eof;
+            this.min = DFA286_min;
+            this.max = DFA286_max;
+            this.accept = DFA286_accept;
+            this.special = DFA286_special;
+            this.transition = DFA286_transition;
+        }
+        public String getDescription() {
+            return "25013:2: ( rule__ReferenceCS__UnorderedGroup_6__8 )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA286_0 = input.LA(1);
+
+                         
+                        int index286_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA286_0==108) ) {s = 1;}
+
+                        else if ( LA286_0 ==26 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1) ) {s = 2;}
+
+                        else if ( LA286_0 ==54 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1) ) {s = 3;}
+
+                        else if ( LA286_0 ==37 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2) ) {s = 4;}
+
+                        else if ( LA286_0 ==56 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2) ) {s = 5;}
+
+                        else if ( LA286_0 ==43 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3) ) {s = 6;}
+
+                        else if ( LA286_0 ==57 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3) ) {s = 7;}
+
+                        else if ( LA286_0 ==45 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4) ) {s = 8;}
+
+                        else if ( LA286_0 ==63 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4) ) {s = 9;}
+
+                        else if ( LA286_0 ==49 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5) ) {s = 10;}
+
+                        else if ( LA286_0 ==58 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5) ) {s = 11;}
+
+                        else if ( LA286_0 ==129 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6) ) {s = 12;}
+
+                        else if ( LA286_0 ==50 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6) ) {s = 13;}
+
+                        else if ( LA286_0 ==51 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7) ) {s = 14;}
+
+                        else if ( LA286_0 ==59 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7) ) {s = 15;}
+
+                        else if ( LA286_0 ==52 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 16;}
+
+                        else if ( LA286_0 ==60 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 17;}
+
+                        else if ( LA286_0 ==109 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 18;}
+
+                        else if ( (LA286_0==EOF||LA286_0==53) ) {s = 19;}
+
+                         
+                        input.seek(index286_0);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA286_1 = input.LA(1);
+
+                         
+                        int index286_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA286_1==25||LA286_1==31||LA286_1==33||(LA286_1>=64 && LA286_1<=65)||LA286_1==69||LA286_1==109) ) {s = 19;}
+
+                        else if ( LA286_1 ==22 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 20;}
+
+                        else if ( LA286_1 ==62 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 21;}
+
+                        else if ( LA286_1 ==108 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 22;}
+
+                        else if ( LA286_1 ==53 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 23;}
+
+                        else if ( LA286_1 ==EOF && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 24;}
+
+                         
+                        input.seek(index286_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 286, _s, input);
+            error(nvae);
+            throw nvae;
         }
     }
  
@@ -82686,1968 +92519,2132 @@
         public static final BitSet FOLLOW_ruleAnnotationCS_in_rule__AnnotationElementCS__Alternatives7486 = new BitSet(new long[]{0x0000000000000002L});
         public static final BitSet FOLLOW_ruleDocumentationCS_in_rule__AnnotationElementCS__Alternatives7503 = new BitSet(new long[]{0x0000000000000002L});
         public static final BitSet FOLLOW_ruleSysMLCS_in_rule__AnnotationElementCS__Alternatives7520 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_0_0__0_in_rule__AttributeCS__Alternatives_07552 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_0_1__0_in_rule__AttributeCS__Alternatives_07570 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__QualifiersAssignment_5_1_0_0_in_rule__AttributeCS__Alternatives_5_1_07603 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__QualifiersAssignment_5_1_0_1_in_rule__AttributeCS__Alternatives_5_1_07621 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__QualifiersAssignment_5_1_0_2_in_rule__AttributeCS__Alternatives_5_1_07639 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__QualifiersAssignment_5_1_0_3_in_rule__AttributeCS__Alternatives_5_1_07657 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__QualifiersAssignment_5_1_0_4_in_rule__AttributeCS__Alternatives_5_1_07675 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__QualifiersAssignment_5_1_0_5_in_rule__AttributeCS__Alternatives_5_1_07693 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__QualifiersAssignment_5_1_0_6_in_rule__AttributeCS__Alternatives_5_1_07711 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__QualifiersAssignment_5_1_0_7_in_rule__AttributeCS__Alternatives_5_1_07729 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__QualifiersAssignment_5_1_0_8_in_rule__AttributeCS__Alternatives_5_1_07747 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__QualifiersAssignment_5_1_0_9_in_rule__AttributeCS__Alternatives_5_1_07765 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__QualifiersAssignment_5_1_0_10_in_rule__AttributeCS__Alternatives_5_1_07783 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__QualifiersAssignment_5_1_0_11_in_rule__AttributeCS__Alternatives_5_1_07801 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__QualifiersAssignment_5_1_0_12_in_rule__AttributeCS__Alternatives_5_1_07819 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__QualifiersAssignment_5_1_0_13_in_rule__AttributeCS__Alternatives_5_1_07837 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__QualifiersAssignment_5_1_0_14_in_rule__AttributeCS__Alternatives_5_1_07855 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__QualifiersAssignment_5_1_0_15_in_rule__AttributeCS__Alternatives_5_1_07873 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0__0_in_rule__AttributeCS__Alternatives_67906 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_53_in_rule__AttributeCS__Alternatives_67925 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__OwnedAnnotationsAssignment_6_0_1_0_in_rule__AttributeCS__Alternatives_6_0_17959 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_1__0_in_rule__AttributeCS__Alternatives_6_0_17977 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_2__0_in_rule__AttributeCS__Alternatives_6_0_17995 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStructuredClassCS_in_rule__ClassCS__Alternatives8028 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleDataTypeCS_in_rule__ClassCS__Alternatives8045 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEnumerationCS_in_rule__ClassCS__Alternatives8062 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DataTypeCS__IsSerializableAssignment_5_1_0_in_rule__DataTypeCS__Alternatives_5_18094 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_54_in_rule__DataTypeCS__Alternatives_5_18113 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DataTypeCS__Group_6_0__0_in_rule__DataTypeCS__Alternatives_68147 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_53_in_rule__DataTypeCS__Alternatives_68166 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DataTypeCS__OwnedAnnotationsAssignment_6_0_1_0_in_rule__DataTypeCS__Alternatives_6_0_18200 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DataTypeCS__OwnedConstraintsAssignment_6_0_1_1_in_rule__DataTypeCS__Alternatives_6_0_18218 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__DetailCS__NameAlternatives_0_08251 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_rule__DetailCS__NameAlternatives_0_08268 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_rule__DetailCS__ValuesAlternatives_2_08300 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_ML_SINGLE_QUOTED_STRING_in_rule__DetailCS__ValuesAlternatives_2_08317 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationCS__IsSerializableAssignment_4_1_0_in_rule__EnumerationCS__Alternatives_4_18349 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_54_in_rule__EnumerationCS__Alternatives_4_18368 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationCS__Group_5_0__0_in_rule__EnumerationCS__Alternatives_58402 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_53_in_rule__EnumerationCS__Alternatives_58421 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationCS__OwnedAnnotationsAssignment_5_0_1_0_in_rule__EnumerationCS__Alternatives_5_0_18455 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationCS__OwnedLiteralsAssignment_5_0_1_1_in_rule__EnumerationCS__Alternatives_5_0_18473 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationCS__OwnedConstraintsAssignment_5_0_1_2_in_rule__EnumerationCS__Alternatives_5_0_18491 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Group_0_0__0_in_rule__EnumerationLiteralCS__Alternatives_08524 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__NameAssignment_0_1_in_rule__EnumerationLiteralCS__Alternatives_08542 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Group_2_0__0_in_rule__EnumerationLiteralCS__Alternatives_28575 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_53_in_rule__EnumerationLiteralCS__Alternatives_28594 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleClassCS_in_rule__ModelElementCS__Alternatives8628 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEnumerationLiteralCS_in_rule__ModelElementCS__Alternatives8645 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleOperationCS_in_rule__ModelElementCS__Alternatives8662 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePackageCS_in_rule__ModelElementCS__Alternatives8679 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStructuralFeatureCS_in_rule__ModelElementCS__Alternatives8696 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_0_0__0_in_rule__OperationCS__Alternatives_08728 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_0_1__0_in_rule__OperationCS__Alternatives_08746 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__QualifiersAssignment_9_1_0_0_in_rule__OperationCS__Alternatives_9_1_08779 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__QualifiersAssignment_9_1_0_1_in_rule__OperationCS__Alternatives_9_1_08797 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__QualifiersAssignment_9_1_0_2_in_rule__OperationCS__Alternatives_9_1_08815 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__QualifiersAssignment_9_1_0_3_in_rule__OperationCS__Alternatives_9_1_08833 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__QualifiersAssignment_9_1_0_4_in_rule__OperationCS__Alternatives_9_1_08851 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__QualifiersAssignment_9_1_0_5_in_rule__OperationCS__Alternatives_9_1_08869 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_10_0__0_in_rule__OperationCS__Alternatives_108902 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_53_in_rule__OperationCS__Alternatives_108921 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__OwnedAnnotationsAssignment_10_0_1_0_in_rule__OperationCS__Alternatives_10_0_18955 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__OwnedPreconditionsAssignment_10_0_1_1_in_rule__OperationCS__Alternatives_10_0_18973 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_10_0_1_2__0_in_rule__OperationCS__Alternatives_10_0_18991 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__OwnedPostconditionsAssignment_10_0_1_3_in_rule__OperationCS__Alternatives_10_0_19009 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PackageCS__Group_4_0__0_in_rule__PackageCS__Alternatives_49042 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_53_in_rule__PackageCS__Alternatives_49061 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PackageCS__OwnedAnnotationsAssignment_4_0_1_0_in_rule__PackageCS__Alternatives_4_0_19095 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PackageCS__OwnedPackagesAssignment_4_0_1_1_in_rule__PackageCS__Alternatives_4_0_19113 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PackageCS__OwnedClassesAssignment_4_0_1_2_in_rule__PackageCS__Alternatives_4_0_19131 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ParameterCS__QualifiersAssignment_2_1_0_0_in_rule__ParameterCS__Alternatives_2_1_09164 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ParameterCS__QualifiersAssignment_2_1_0_1_in_rule__ParameterCS__Alternatives_2_1_09182 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ParameterCS__QualifiersAssignment_2_1_0_2_in_rule__ParameterCS__Alternatives_2_1_09200 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ParameterCS__QualifiersAssignment_2_1_0_3_in_rule__ParameterCS__Alternatives_2_1_09218 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_0_0__0_in_rule__ReferenceCS__Alternatives_09251 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_0_1__0_in_rule__ReferenceCS__Alternatives_09269 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__QualifiersAssignment_6_1_0_0_in_rule__ReferenceCS__Alternatives_6_1_09302 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__QualifiersAssignment_6_1_0_1_in_rule__ReferenceCS__Alternatives_6_1_09320 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__QualifiersAssignment_6_1_0_2_in_rule__ReferenceCS__Alternatives_6_1_09338 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__QualifiersAssignment_6_1_0_3_in_rule__ReferenceCS__Alternatives_6_1_09356 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__QualifiersAssignment_6_1_0_4_in_rule__ReferenceCS__Alternatives_6_1_09374 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__QualifiersAssignment_6_1_0_5_in_rule__ReferenceCS__Alternatives_6_1_09392 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__QualifiersAssignment_6_1_0_6_in_rule__ReferenceCS__Alternatives_6_1_09410 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__QualifiersAssignment_6_1_0_7_in_rule__ReferenceCS__Alternatives_6_1_09428 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__QualifiersAssignment_6_1_0_8_in_rule__ReferenceCS__Alternatives_6_1_09446 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__QualifiersAssignment_6_1_0_9_in_rule__ReferenceCS__Alternatives_6_1_09464 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__QualifiersAssignment_6_1_0_10_in_rule__ReferenceCS__Alternatives_6_1_09482 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__QualifiersAssignment_6_1_0_11_in_rule__ReferenceCS__Alternatives_6_1_09500 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__QualifiersAssignment_6_1_0_12_in_rule__ReferenceCS__Alternatives_6_1_09518 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__QualifiersAssignment_6_1_0_13_in_rule__ReferenceCS__Alternatives_6_1_09536 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__QualifiersAssignment_6_1_0_14_in_rule__ReferenceCS__Alternatives_6_1_09554 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__QualifiersAssignment_6_1_0_15_in_rule__ReferenceCS__Alternatives_6_1_09572 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__QualifiersAssignment_6_1_0_16_in_rule__ReferenceCS__Alternatives_6_1_09590 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__QualifiersAssignment_6_1_0_17_in_rule__ReferenceCS__Alternatives_6_1_09608 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0__0_in_rule__ReferenceCS__Alternatives_79641 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_53_in_rule__ReferenceCS__Alternatives_79660 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__OwnedAnnotationsAssignment_7_0_1_0_in_rule__ReferenceCS__Alternatives_7_0_19694 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_1__0_in_rule__ReferenceCS__Alternatives_7_0_19712 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_2__0_in_rule__ReferenceCS__Alternatives_7_0_19730 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_3__0_in_rule__ReferenceCS__Alternatives_7_0_19748 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SpecificationCS__OwnedExpressionAssignment_0_in_rule__SpecificationCS__Alternatives9781 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SpecificationCS__ExprStringAssignment_1_in_rule__SpecificationCS__Alternatives9799 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_7_0__0_in_rule__StructuredClassCS__Alternatives_79832 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_53_in_rule__StructuredClassCS__Alternatives_79851 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__OwnedAnnotationsAssignment_7_0_1_0_in_rule__StructuredClassCS__Alternatives_7_0_19885 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__OwnedOperationsAssignment_7_0_1_1_in_rule__StructuredClassCS__Alternatives_7_0_19903 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__OwnedPropertiesAssignment_7_0_1_2_in_rule__StructuredClassCS__Alternatives_7_0_19921 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__OwnedConstraintsAssignment_7_0_1_3_in_rule__StructuredClassCS__Alternatives_7_0_19939 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAttributeCS_in_rule__StructuralFeatureCS__Alternatives9972 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleReferenceCS_in_rule__StructuralFeatureCS__Alternatives9989 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SysMLCS__Group_2_0__0_in_rule__SysMLCS__Alternatives_210021 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SysMLCS__Group_2_1__0_in_rule__SysMLCS__Alternatives_210039 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_0__0_in_rule__TemplateBindingCS__Alternatives10073 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_1__0_in_rule__TemplateBindingCS__Alternatives10091 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_0__0_in_rule__TemplateSignatureCS__Alternatives10124 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_1__0_in_rule__TemplateSignatureCS__Alternatives10142 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypeLiteralCS_in_rule__TypedRefCS__Alternatives10175 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypedTypeRefCS_in_rule__TypedRefCS__Alternatives10192 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEnumerationLiteralName_in_rule__UnrestrictedName__Alternatives10224 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_55_in_rule__UnrestrictedName__Alternatives10242 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_56_in_rule__UnrestrictedName__Alternatives10262 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_57_in_rule__UnrestrictedName__Alternatives10282 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_58_in_rule__UnrestrictedName__Alternatives10302 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_59_in_rule__UnrestrictedName__Alternatives10322 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_60_in_rule__UnrestrictedName__Alternatives10342 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_61_in_rule__EssentialOCLUnaryOperatorName__Alternatives10378 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_62_in_rule__EssentialOCLUnaryOperatorName__Alternatives10398 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_63_in_rule__EssentialOCLInfixOperatorName__Alternatives10433 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_64_in_rule__EssentialOCLInfixOperatorName__Alternatives10453 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_65_in_rule__EssentialOCLInfixOperatorName__Alternatives10473 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_61_in_rule__EssentialOCLInfixOperatorName__Alternatives10493 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_66_in_rule__EssentialOCLInfixOperatorName__Alternatives10513 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_67_in_rule__EssentialOCLInfixOperatorName__Alternatives10533 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_68_in_rule__EssentialOCLInfixOperatorName__Alternatives10553 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_69_in_rule__EssentialOCLInfixOperatorName__Alternatives10573 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_70_in_rule__EssentialOCLInfixOperatorName__Alternatives10593 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_71_in_rule__EssentialOCLInfixOperatorName__Alternatives10613 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_72_in_rule__EssentialOCLInfixOperatorName__Alternatives10633 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_73_in_rule__EssentialOCLInfixOperatorName__Alternatives10653 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_74_in_rule__EssentialOCLInfixOperatorName__Alternatives10673 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_75_in_rule__EssentialOCLInfixOperatorName__Alternatives10693 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_76_in_rule__EssentialOCLNavigationOperatorName__Alternatives10728 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_77_in_rule__EssentialOCLNavigationOperatorName__Alternatives10748 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_78_in_rule__EssentialOCLNavigationOperatorName__Alternatives10768 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_79_in_rule__EssentialOCLNavigationOperatorName__Alternatives10788 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleInfixOperatorName_in_rule__BinaryOperatorName__Alternatives10822 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNavigationOperatorName_in_rule__BinaryOperatorName__Alternatives10839 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__EssentialOCLUnreservedName__Alternatives10871 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCollectionTypeIdentifier_in_rule__EssentialOCLUnreservedName__Alternatives10888 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePrimitiveTypeIdentifier_in_rule__EssentialOCLUnreservedName__Alternatives10905 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_80_in_rule__EssentialOCLUnreservedName__Alternatives10923 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__URIFirstPathElementCS__ReferredElementAssignment_0_in_rule__URIFirstPathElementCS__Alternatives10957 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__URIFirstPathElementCS__Group_1__0_in_rule__URIFirstPathElementCS__Alternatives10975 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_81_in_rule__PrimitiveTypeIdentifier__Alternatives11009 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_82_in_rule__PrimitiveTypeIdentifier__Alternatives11029 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_83_in_rule__PrimitiveTypeIdentifier__Alternatives11049 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_84_in_rule__PrimitiveTypeIdentifier__Alternatives11069 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_85_in_rule__PrimitiveTypeIdentifier__Alternatives11089 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_86_in_rule__PrimitiveTypeIdentifier__Alternatives11109 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_87_in_rule__PrimitiveTypeIdentifier__Alternatives11129 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_88_in_rule__PrimitiveTypeIdentifier__Alternatives11149 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_89_in_rule__CollectionTypeIdentifier__Alternatives11184 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_90_in_rule__CollectionTypeIdentifier__Alternatives11204 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_91_in_rule__CollectionTypeIdentifier__Alternatives11224 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_92_in_rule__CollectionTypeIdentifier__Alternatives11244 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_93_in_rule__CollectionTypeIdentifier__Alternatives11264 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionLiteralPartCS__Group_0__0_in_rule__CollectionLiteralPartCS__Alternatives11298 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionLiteralPartCS__OwnedExpressionAssignment_1_in_rule__CollectionLiteralPartCS__Alternatives11316 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExpCS_in_rule__ConstructorPartCS__OwnedInitExpressionAlternatives_2_011349 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePatternExpCS_in_rule__ConstructorPartCS__OwnedInitExpressionAlternatives_2_011366 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNumberLiteralExpCS_in_rule__PrimitiveLiteralExpCS__Alternatives11398 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStringLiteralExpCS_in_rule__PrimitiveLiteralExpCS__Alternatives11415 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBooleanLiteralExpCS_in_rule__PrimitiveLiteralExpCS__Alternatives11432 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnlimitedNaturalLiteralExpCS_in_rule__PrimitiveLiteralExpCS__Alternatives11449 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleInvalidLiteralExpCS_in_rule__PrimitiveLiteralExpCS__Alternatives11466 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNullLiteralExpCS_in_rule__PrimitiveLiteralExpCS__Alternatives11483 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BooleanLiteralExpCS__SymbolAssignment_0_in_rule__BooleanLiteralExpCS__Alternatives11515 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BooleanLiteralExpCS__SymbolAssignment_1_in_rule__BooleanLiteralExpCS__Alternatives11533 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePrimitiveTypeCS_in_rule__TypeLiteralCS__Alternatives11566 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCollectionTypeCS_in_rule__TypeLiteralCS__Alternatives11583 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTupleTypeCS_in_rule__TypeLiteralCS__Alternatives11600 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypeNameExpCS_in_rule__TypeExpCS__Alternatives_011632 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypeLiteralCS_in_rule__TypeExpCS__Alternatives_011649 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCollectionPatternCS_in_rule__TypeExpCS__Alternatives_011666 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ExpCS__Group_0__0_in_rule__ExpCS__Alternatives11698 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePrefixedLetExpCS_in_rule__ExpCS__Alternatives11716 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PrefixedLetExpCS__Group_0__0_in_rule__PrefixedLetExpCS__Alternatives11748 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleLetExpCS_in_rule__PrefixedLetExpCS__Alternatives11766 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PrefixedPrimaryExpCS__Group_0__0_in_rule__PrefixedPrimaryExpCS__Alternatives11798 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePrimaryExpCS_in_rule__PrefixedPrimaryExpCS__Alternatives11816 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNestedExpCS_in_rule__PrimaryExpCS__Alternatives11848 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleIfExpCS_in_rule__PrimaryExpCS__Alternatives11865 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleSelfExpCS_in_rule__PrimaryExpCS__Alternatives11882 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePrimitiveLiteralExpCS_in_rule__PrimaryExpCS__Alternatives11899 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTupleLiteralExpCS_in_rule__PrimaryExpCS__Alternatives11916 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCollectionLiteralExpCS_in_rule__PrimaryExpCS__Alternatives11933 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleLambdaLiteralExpCS_in_rule__PrimaryExpCS__Alternatives11950 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypeLiteralExpCS_in_rule__PrimaryExpCS__Alternatives11967 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNameExpCS_in_rule__PrimaryExpCS__Alternatives11984 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CurlyBracketedClauseCS__Group_2_0__0_in_rule__CurlyBracketedClauseCS__Alternatives_212016 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CurlyBracketedClauseCS__ValueAssignment_2_1_in_rule__CurlyBracketedClauseCS__Alternatives_212035 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_0__0_in_rule__NavigatingArgCS__Alternatives12068 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_1__0_in_rule__NavigatingArgCS__Alternatives12086 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_0_1_0__0_in_rule__NavigatingArgCS__Alternatives_0_112119 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_0_1_1__0_in_rule__NavigatingArgCS__Alternatives_0_112137 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group_2_0__0_in_rule__NavigatingCommaArgCS__Alternatives_212170 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group_2_1__0_in_rule__NavigatingCommaArgCS__Alternatives_212188 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExpCS_in_rule__IfExpCS__OwnedConditionAlternatives_1_012221 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePatternExpCS_in_rule__IfExpCS__OwnedConditionAlternatives_1_012238 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleMultiplicityBoundsCS_in_rule__MultiplicityCS__Alternatives_112270 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleMultiplicityStringCS_in_rule__MultiplicityCS__Alternatives_112287 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_63_in_rule__MultiplicityStringCS__StringBoundsAlternatives_012320 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_65_in_rule__MultiplicityStringCS__StringBoundsAlternatives_012340 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_94_in_rule__MultiplicityStringCS__StringBoundsAlternatives_012360 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypeParameterCS__Group_1_0__0_in_rule__TypeParameterCS__Alternatives_112394 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypeParameterCS__Group_1_1__0_in_rule__TypeParameterCS__Alternatives_112412 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypedRefCS_in_rule__TypeRefCS__Alternatives12445 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleWildcardTypeRefCS_in_rule__TypeRefCS__Alternatives12462 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WildcardTypeRefCS__Group_2_0__0_in_rule__WildcardTypeRefCS__Alternatives_212494 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WildcardTypeRefCS__Group_2_1__0_in_rule__WildcardTypeRefCS__Alternatives_212512 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_SIMPLE_ID_in_rule__ID__Alternatives12545 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_ESCAPED_ID_in_rule__ID__Alternatives12562 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_INT_in_rule__UPPER__Alternatives12594 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_63_in_rule__UPPER__Alternatives12612 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TopLevelCS__Group__0__Impl_in_rule__TopLevelCS__Group__012644 = new BitSet(new long[]{0x0000004C40000000L});
-        public static final BitSet FOLLOW_rule__TopLevelCS__Group__1_in_rule__TopLevelCS__Group__012647 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TopLevelCS__Group__1__Impl_in_rule__TopLevelCS__Group__112705 = new BitSet(new long[]{0x0000004C40000000L});
-        public static final BitSet FOLLOW_rule__TopLevelCS__Group__2_in_rule__TopLevelCS__Group__112708 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TopLevelCS__Group_1__0_in_rule__TopLevelCS__Group__1__Impl12735 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TopLevelCS__Group__2__Impl_in_rule__TopLevelCS__Group__212766 = new BitSet(new long[]{0x0000004C40000000L});
-        public static final BitSet FOLLOW_rule__TopLevelCS__Group__3_in_rule__TopLevelCS__Group__212769 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TopLevelCS__OwnedLibrariesAssignment_2_in_rule__TopLevelCS__Group__2__Impl12796 = new BitSet(new long[]{0x0000000400000002L});
-        public static final BitSet FOLLOW_rule__TopLevelCS__Group__3__Impl_in_rule__TopLevelCS__Group__312827 = new BitSet(new long[]{0x0000004C40000000L});
-        public static final BitSet FOLLOW_rule__TopLevelCS__Group__4_in_rule__TopLevelCS__Group__312830 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TopLevelCS__OwnedImportsAssignment_3_in_rule__TopLevelCS__Group__3__Impl12857 = new BitSet(new long[]{0x0000000040000002L});
-        public static final BitSet FOLLOW_rule__TopLevelCS__Group__4__Impl_in_rule__TopLevelCS__Group__412888 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TopLevelCS__OwnedPackagesAssignment_4_in_rule__TopLevelCS__Group__4__Impl12915 = new BitSet(new long[]{0x0000004000000002L});
-        public static final BitSet FOLLOW_rule__TopLevelCS__Group_1__0__Impl_in_rule__TopLevelCS__Group_1__012956 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L});
-        public static final BitSet FOLLOW_rule__TopLevelCS__Group_1__1_in_rule__TopLevelCS__Group_1__012959 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_35_in_rule__TopLevelCS__Group_1__0__Impl12987 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TopLevelCS__Group_1__1__Impl_in_rule__TopLevelCS__Group_1__113018 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__TopLevelCS__Group_1__1__Impl13045 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SIGNED__Group__0__Impl_in_rule__SIGNED__Group__013078 = new BitSet(new long[]{0x0000000000000010L});
-        public static final BitSet FOLLOW_rule__SIGNED__Group__1_in_rule__SIGNED__Group__013081 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_61_in_rule__SIGNED__Group__0__Impl13110 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SIGNED__Group__1__Impl_in_rule__SIGNED__Group__113143 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_INT_in_rule__SIGNED__Group__1__Impl13170 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group__0__Impl_in_rule__InvariantConstraintCS__Group__013203 = new BitSet(new long[]{0x0200000000000000L});
-        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group__1_in_rule__InvariantConstraintCS__Group__013206 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__InvariantConstraintCS__IsCallableAssignment_0_in_rule__InvariantConstraintCS__Group__0__Impl13233 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group__1__Impl_in_rule__InvariantConstraintCS__Group__113264 = new BitSet(new long[]{0x1FBFFFFFFFFE0180L,0x0000000200000000L});
-        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group__2_in_rule__InvariantConstraintCS__Group__113267 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__InvariantConstraintCS__StereotypeAssignment_1_in_rule__InvariantConstraintCS__Group__1__Impl13294 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group__2__Impl_in_rule__InvariantConstraintCS__Group__213324 = new BitSet(new long[]{0x1FBFFFFFFFFE0180L,0x0000000200000000L});
-        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group__3_in_rule__InvariantConstraintCS__Group__213327 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group_2__0_in_rule__InvariantConstraintCS__Group__2__Impl13354 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group__3__Impl_in_rule__InvariantConstraintCS__Group__313385 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Alternatives_3_in_rule__InvariantConstraintCS__Group__3__Impl13412 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group_2__0__Impl_in_rule__InvariantConstraintCS__Group_2__013450 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L});
-        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group_2__1_in_rule__InvariantConstraintCS__Group_2__013453 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__InvariantConstraintCS__NameAssignment_2_0_in_rule__InvariantConstraintCS__Group_2__0__Impl13480 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group_2__1__Impl_in_rule__InvariantConstraintCS__Group_2__113510 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group_2_1__0_in_rule__InvariantConstraintCS__Group_2__1__Impl13537 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group_2_1__0__Impl_in_rule__InvariantConstraintCS__Group_2_1__013572 = new BitSet(new long[]{0xFF9FFFFFFFFE03B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group_2_1__1_in_rule__InvariantConstraintCS__Group_2_1__013575 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_95_in_rule__InvariantConstraintCS__Group_2_1__0__Impl13603 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group_2_1__1__Impl_in_rule__InvariantConstraintCS__Group_2_1__113634 = new BitSet(new long[]{0x0000000000000000L,0x0000000100000000L});
-        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group_2_1__2_in_rule__InvariantConstraintCS__Group_2_1__113637 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__InvariantConstraintCS__OwnedMessageSpecificationAssignment_2_1_1_in_rule__InvariantConstraintCS__Group_2_1__1__Impl13664 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group_2_1__2__Impl_in_rule__InvariantConstraintCS__Group_2_1__213694 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_96_in_rule__InvariantConstraintCS__Group_2_1__2__Impl13722 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group_3_0__0__Impl_in_rule__InvariantConstraintCS__Group_3_0__013759 = new BitSet(new long[]{0xFFBFFFFFFFFE03B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group_3_0__1_in_rule__InvariantConstraintCS__Group_3_0__013762 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_97_in_rule__InvariantConstraintCS__Group_3_0__0__Impl13790 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group_3_0__1__Impl_in_rule__InvariantConstraintCS__Group_3_0__113821 = new BitSet(new long[]{0xFFBFFFFFFFFE03B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group_3_0__2_in_rule__InvariantConstraintCS__Group_3_0__113824 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__InvariantConstraintCS__OwnedSpecificationAssignment_3_0_1_in_rule__InvariantConstraintCS__Group_3_0__1__Impl13851 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group_3_0__2__Impl_in_rule__InvariantConstraintCS__Group_3_0__213882 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_53_in_rule__InvariantConstraintCS__Group_3_0__2__Impl13910 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__Group__0__Impl_in_rule__PostconditionConstraintCS__Group__013947 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L,0x0000000200000000L});
-        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__Group__1_in_rule__PostconditionConstraintCS__Group__013950 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__StereotypeAssignment_0_in_rule__PostconditionConstraintCS__Group__0__Impl13977 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__Group__1__Impl_in_rule__PostconditionConstraintCS__Group__114007 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L,0x0000000200000000L});
-        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__Group__2_in_rule__PostconditionConstraintCS__Group__114010 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__Group_1__0_in_rule__PostconditionConstraintCS__Group__1__Impl14037 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__Group__2__Impl_in_rule__PostconditionConstraintCS__Group__214068 = new BitSet(new long[]{0xFFBFFFFFFFFE03B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__Group__3_in_rule__PostconditionConstraintCS__Group__214071 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_97_in_rule__PostconditionConstraintCS__Group__2__Impl14099 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__Group__3__Impl_in_rule__PostconditionConstraintCS__Group__314130 = new BitSet(new long[]{0xFFBFFFFFFFFE03B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__Group__4_in_rule__PostconditionConstraintCS__Group__314133 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__OwnedSpecificationAssignment_3_in_rule__PostconditionConstraintCS__Group__3__Impl14160 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__Group__4__Impl_in_rule__PostconditionConstraintCS__Group__414191 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_53_in_rule__PostconditionConstraintCS__Group__4__Impl14219 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__Group_1__0__Impl_in_rule__PostconditionConstraintCS__Group_1__014260 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L});
-        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__Group_1__1_in_rule__PostconditionConstraintCS__Group_1__014263 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__NameAssignment_1_0_in_rule__PostconditionConstraintCS__Group_1__0__Impl14290 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__Group_1__1__Impl_in_rule__PostconditionConstraintCS__Group_1__114320 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__Group_1_1__0_in_rule__PostconditionConstraintCS__Group_1__1__Impl14347 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__Group_1_1__0__Impl_in_rule__PostconditionConstraintCS__Group_1_1__014382 = new BitSet(new long[]{0xFF9FFFFFFFFE03B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__Group_1_1__1_in_rule__PostconditionConstraintCS__Group_1_1__014385 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_95_in_rule__PostconditionConstraintCS__Group_1_1__0__Impl14413 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__Group_1_1__1__Impl_in_rule__PostconditionConstraintCS__Group_1_1__114444 = new BitSet(new long[]{0x0000000000000000L,0x0000000100000000L});
-        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__Group_1_1__2_in_rule__PostconditionConstraintCS__Group_1_1__114447 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1_in_rule__PostconditionConstraintCS__Group_1_1__1__Impl14474 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__Group_1_1__2__Impl_in_rule__PostconditionConstraintCS__Group_1_1__214504 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_96_in_rule__PostconditionConstraintCS__Group_1_1__2__Impl14532 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__Group__0__Impl_in_rule__PreconditionConstraintCS__Group__014569 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L,0x0000000200000000L});
-        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__Group__1_in_rule__PreconditionConstraintCS__Group__014572 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__StereotypeAssignment_0_in_rule__PreconditionConstraintCS__Group__0__Impl14599 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__Group__1__Impl_in_rule__PreconditionConstraintCS__Group__114629 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L,0x0000000200000000L});
-        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__Group__2_in_rule__PreconditionConstraintCS__Group__114632 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__Group_1__0_in_rule__PreconditionConstraintCS__Group__1__Impl14659 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__Group__2__Impl_in_rule__PreconditionConstraintCS__Group__214690 = new BitSet(new long[]{0xFFBFFFFFFFFE03B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__Group__3_in_rule__PreconditionConstraintCS__Group__214693 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_97_in_rule__PreconditionConstraintCS__Group__2__Impl14721 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__Group__3__Impl_in_rule__PreconditionConstraintCS__Group__314752 = new BitSet(new long[]{0xFFBFFFFFFFFE03B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__Group__4_in_rule__PreconditionConstraintCS__Group__314755 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__OwnedSpecificationAssignment_3_in_rule__PreconditionConstraintCS__Group__3__Impl14782 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__Group__4__Impl_in_rule__PreconditionConstraintCS__Group__414813 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_53_in_rule__PreconditionConstraintCS__Group__4__Impl14841 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__Group_1__0__Impl_in_rule__PreconditionConstraintCS__Group_1__014882 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L});
-        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__Group_1__1_in_rule__PreconditionConstraintCS__Group_1__014885 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__NameAssignment_1_0_in_rule__PreconditionConstraintCS__Group_1__0__Impl14912 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__Group_1__1__Impl_in_rule__PreconditionConstraintCS__Group_1__114942 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__Group_1_1__0_in_rule__PreconditionConstraintCS__Group_1__1__Impl14969 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__Group_1_1__0__Impl_in_rule__PreconditionConstraintCS__Group_1_1__015004 = new BitSet(new long[]{0xFF9FFFFFFFFE03B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__Group_1_1__1_in_rule__PreconditionConstraintCS__Group_1_1__015007 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_95_in_rule__PreconditionConstraintCS__Group_1_1__0__Impl15035 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__Group_1_1__1__Impl_in_rule__PreconditionConstraintCS__Group_1_1__115066 = new BitSet(new long[]{0x0000000000000000L,0x0000000100000000L});
-        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__Group_1_1__2_in_rule__PreconditionConstraintCS__Group_1_1__115069 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1_in_rule__PreconditionConstraintCS__Group_1_1__1__Impl15096 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__Group_1_1__2__Impl_in_rule__PreconditionConstraintCS__Group_1_1__215126 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_96_in_rule__PreconditionConstraintCS__Group_1_1__2__Impl15154 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AnnotationCS__Group__0__Impl_in_rule__AnnotationCS__Group__015191 = new BitSet(new long[]{0x0080000000000000L});
-        public static final BitSet FOLLOW_rule__AnnotationCS__Group__1_in_rule__AnnotationCS__Group__015194 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AnnotationCS__Group__1__Impl_in_rule__AnnotationCS__Group__115252 = new BitSet(new long[]{0x1FBFFFFFFFFE01A0L,0x0000000880000000L});
-        public static final BitSet FOLLOW_rule__AnnotationCS__Group__2_in_rule__AnnotationCS__Group__115255 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_55_in_rule__AnnotationCS__Group__1__Impl15283 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AnnotationCS__Group__2__Impl_in_rule__AnnotationCS__Group__215314 = new BitSet(new long[]{0x1FBFFFFFFFFE01A0L,0x0000000880000000L});
-        public static final BitSet FOLLOW_rule__AnnotationCS__Group__3_in_rule__AnnotationCS__Group__215317 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AnnotationCS__NameAssignment_2_in_rule__AnnotationCS__Group__2__Impl15344 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AnnotationCS__Group__3__Impl_in_rule__AnnotationCS__Group__315375 = new BitSet(new long[]{0x1FBFFFFFFFFE01A0L,0x0000000880000000L});
-        public static final BitSet FOLLOW_rule__AnnotationCS__Group__4_in_rule__AnnotationCS__Group__315378 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AnnotationCS__Group_3__0_in_rule__AnnotationCS__Group__3__Impl15405 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AnnotationCS__Group__4__Impl_in_rule__AnnotationCS__Group__415436 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AnnotationCS__Alternatives_4_in_rule__AnnotationCS__Group__4__Impl15463 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AnnotationCS__Group_3__0__Impl_in_rule__AnnotationCS__Group_3__015503 = new BitSet(new long[]{0x1F9FFFFFFFFE01A0L});
-        public static final BitSet FOLLOW_rule__AnnotationCS__Group_3__1_in_rule__AnnotationCS__Group_3__015506 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_95_in_rule__AnnotationCS__Group_3__0__Impl15534 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AnnotationCS__Group_3__1__Impl_in_rule__AnnotationCS__Group_3__115565 = new BitSet(new long[]{0x0000000000000000L,0x0000000500000000L});
-        public static final BitSet FOLLOW_rule__AnnotationCS__Group_3__2_in_rule__AnnotationCS__Group_3__115568 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AnnotationCS__OwnedDetailsAssignment_3_1_in_rule__AnnotationCS__Group_3__1__Impl15595 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AnnotationCS__Group_3__2__Impl_in_rule__AnnotationCS__Group_3__215625 = new BitSet(new long[]{0x0000000000000000L,0x0000000500000000L});
-        public static final BitSet FOLLOW_rule__AnnotationCS__Group_3__3_in_rule__AnnotationCS__Group_3__215628 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AnnotationCS__Group_3_2__0_in_rule__AnnotationCS__Group_3__2__Impl15655 = new BitSet(new long[]{0x0000000000000002L,0x0000000400000000L});
-        public static final BitSet FOLLOW_rule__AnnotationCS__Group_3__3__Impl_in_rule__AnnotationCS__Group_3__315686 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_96_in_rule__AnnotationCS__Group_3__3__Impl15714 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AnnotationCS__Group_3_2__0__Impl_in_rule__AnnotationCS__Group_3_2__015753 = new BitSet(new long[]{0x1F9FFFFFFFFE01A0L});
-        public static final BitSet FOLLOW_rule__AnnotationCS__Group_3_2__1_in_rule__AnnotationCS__Group_3_2__015756 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_98_in_rule__AnnotationCS__Group_3_2__0__Impl15784 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AnnotationCS__Group_3_2__1__Impl_in_rule__AnnotationCS__Group_3_2__115815 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AnnotationCS__OwnedDetailsAssignment_3_2_1_in_rule__AnnotationCS__Group_3_2__1__Impl15842 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AnnotationCS__Group_4_0__0__Impl_in_rule__AnnotationCS__Group_4_0__015876 = new BitSet(new long[]{0x159FFFFFFFFE0180L});
-        public static final BitSet FOLLOW_rule__AnnotationCS__Group_4_0__1_in_rule__AnnotationCS__Group_4_0__015879 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_99_in_rule__AnnotationCS__Group_4_0__0__Impl15907 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AnnotationCS__Group_4_0__1__Impl_in_rule__AnnotationCS__Group_4_0__115938 = new BitSet(new long[]{0x0000000000000000L,0x0000001000000000L});
-        public static final BitSet FOLLOW_rule__AnnotationCS__Group_4_0__2_in_rule__AnnotationCS__Group_4_0__115941 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AnnotationCS__Alternatives_4_0_1_in_rule__AnnotationCS__Group_4_0__1__Impl15970 = new BitSet(new long[]{0x159FFFFFFFFE0182L});
-        public static final BitSet FOLLOW_rule__AnnotationCS__Alternatives_4_0_1_in_rule__AnnotationCS__Group_4_0__1__Impl15982 = new BitSet(new long[]{0x159FFFFFFFFE0182L});
-        public static final BitSet FOLLOW_rule__AnnotationCS__Group_4_0__2__Impl_in_rule__AnnotationCS__Group_4_0__216015 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_100_in_rule__AnnotationCS__Group_4_0__2__Impl16043 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group__0__Impl_in_rule__AttributeCS__Group__016080 = new BitSet(new long[]{0x0000400001040000L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group__1_in_rule__AttributeCS__Group__016083 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Alternatives_0_in_rule__AttributeCS__Group__0__Impl16110 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group__1__Impl_in_rule__AttributeCS__Group__116141 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group__2_in_rule__AttributeCS__Group__116144 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_18_in_rule__AttributeCS__Group__1__Impl16172 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group__2__Impl_in_rule__AttributeCS__Group__216203 = new BitSet(new long[]{0x0020000000000000L,0x0000000A00000040L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group__3_in_rule__AttributeCS__Group__216206 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__NameAssignment_2_in_rule__AttributeCS__Group__2__Impl16233 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group__3__Impl_in_rule__AttributeCS__Group__316263 = new BitSet(new long[]{0x0020000000000000L,0x0000000A00000040L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group__4_in_rule__AttributeCS__Group__316266 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_3__0_in_rule__AttributeCS__Group__3__Impl16293 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group__4__Impl_in_rule__AttributeCS__Group__416324 = new BitSet(new long[]{0x0020000000000000L,0x0000000A00000040L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group__5_in_rule__AttributeCS__Group__416327 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_4__0_in_rule__AttributeCS__Group__4__Impl16354 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group__5__Impl_in_rule__AttributeCS__Group__516385 = new BitSet(new long[]{0x0020000000000000L,0x0000000A00000040L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group__6_in_rule__AttributeCS__Group__516388 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_5__0_in_rule__AttributeCS__Group__5__Impl16415 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group__6__Impl_in_rule__AttributeCS__Group__616446 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Alternatives_6_in_rule__AttributeCS__Group__6__Impl16473 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_0_0__0__Impl_in_rule__AttributeCS__Group_0_0__016517 = new BitSet(new long[]{0x0000000001000000L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_0_0__1_in_rule__AttributeCS__Group_0_0__016520 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__QualifiersAssignment_0_0_0_in_rule__AttributeCS__Group_0_0__0__Impl16547 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_0_0__1__Impl_in_rule__AttributeCS__Group_0_0__116577 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__QualifiersAssignment_0_0_1_in_rule__AttributeCS__Group_0_0__1__Impl16604 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_0_1__0__Impl_in_rule__AttributeCS__Group_0_1__016639 = new BitSet(new long[]{0x0000400000000000L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_0_1__1_in_rule__AttributeCS__Group_0_1__016642 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__QualifiersAssignment_0_1_0_in_rule__AttributeCS__Group_0_1__0__Impl16669 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_0_1__1__Impl_in_rule__AttributeCS__Group_0_1__116699 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__QualifiersAssignment_0_1_1_in_rule__AttributeCS__Group_0_1__1__Impl16726 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_3__0__Impl_in_rule__AttributeCS__Group_3__016761 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00410E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_3__1_in_rule__AttributeCS__Group_3__016764 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_97_in_rule__AttributeCS__Group_3__0__Impl16792 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_3__1__Impl_in_rule__AttributeCS__Group_3__116823 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__OwnedTypeAssignment_3_1_in_rule__AttributeCS__Group_3__1__Impl16850 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_4__0__Impl_in_rule__AttributeCS__Group_4__016884 = new BitSet(new long[]{0x0000000000000020L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_4__1_in_rule__AttributeCS__Group_4__016887 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_70_in_rule__AttributeCS__Group_4__0__Impl16915 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_4__1__Impl_in_rule__AttributeCS__Group_4__116946 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__DefaultAssignment_4_1_in_rule__AttributeCS__Group_4__1__Impl16973 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_5__0__Impl_in_rule__AttributeCS__Group_5__017007 = new BitSet(new long[]{0x001E082024000000L,0xFF00000000000000L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_5__1_in_rule__AttributeCS__Group_5__017010 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_99_in_rule__AttributeCS__Group_5__0__Impl17038 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_5__1__Impl_in_rule__AttributeCS__Group_5__117069 = new BitSet(new long[]{0x0000000000000000L,0x0000001000000000L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_5__2_in_rule__AttributeCS__Group_5__117072 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_1__0_in_rule__AttributeCS__Group_5__1__Impl17101 = new BitSet(new long[]{0x001E082024000002L,0xFF00000000000000L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_1__0_in_rule__AttributeCS__Group_5__1__Impl17113 = new BitSet(new long[]{0x001E082024000002L,0xFF00000000000000L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_5__2__Impl_in_rule__AttributeCS__Group_5__217146 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_100_in_rule__AttributeCS__Group_5__2__Impl17174 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_1__0__Impl_in_rule__AttributeCS__Group_5_1__017211 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_1__1_in_rule__AttributeCS__Group_5_1__017214 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Alternatives_5_1_0_in_rule__AttributeCS__Group_5_1__0__Impl17241 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_1__1__Impl_in_rule__AttributeCS__Group_5_1__117271 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_98_in_rule__AttributeCS__Group_5_1__1__Impl17300 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0__0__Impl_in_rule__AttributeCS__Group_6_0__017337 = new BitSet(new long[]{0x1180000082000000L,0x0000001000000000L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0__1_in_rule__AttributeCS__Group_6_0__017340 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_99_in_rule__AttributeCS__Group_6_0__0__Impl17368 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0__1__Impl_in_rule__AttributeCS__Group_6_0__117399 = new BitSet(new long[]{0x1180000082000000L,0x0000001000000000L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0__2_in_rule__AttributeCS__Group_6_0__117402 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Alternatives_6_0_1_in_rule__AttributeCS__Group_6_0__1__Impl17429 = new BitSet(new long[]{0x1180000082000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0__2__Impl_in_rule__AttributeCS__Group_6_0__217460 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_100_in_rule__AttributeCS__Group_6_0__2__Impl17488 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_1__0__Impl_in_rule__AttributeCS__Group_6_0_1_1__017525 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L,0x0000000200000000L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_1__1_in_rule__AttributeCS__Group_6_0_1_1__017528 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_25_in_rule__AttributeCS__Group_6_0_1_1__0__Impl17556 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_1__1__Impl_in_rule__AttributeCS__Group_6_0_1_1__117587 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L,0x0000000200000000L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_1__2_in_rule__AttributeCS__Group_6_0_1_1__117590 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__AttributeCS__Group_6_0_1_1__1__Impl17618 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_1__2__Impl_in_rule__AttributeCS__Group_6_0_1_1__217649 = new BitSet(new long[]{0xFFBFFFFFFFFE03B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_1__3_in_rule__AttributeCS__Group_6_0_1_1__217652 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_97_in_rule__AttributeCS__Group_6_0_1_1__2__Impl17680 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_1__3__Impl_in_rule__AttributeCS__Group_6_0_1_1__317711 = new BitSet(new long[]{0xFFBFFFFFFFFE03B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_1__4_in_rule__AttributeCS__Group_6_0_1_1__317714 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_1_3_in_rule__AttributeCS__Group_6_0_1_1__3__Impl17741 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_1__4__Impl_in_rule__AttributeCS__Group_6_0_1_1__417772 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_53_in_rule__AttributeCS__Group_6_0_1_1__4__Impl17800 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_2__0__Impl_in_rule__AttributeCS__Group_6_0_1_2__017841 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L,0x0000000200000000L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_2__1_in_rule__AttributeCS__Group_6_0_1_2__017844 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_31_in_rule__AttributeCS__Group_6_0_1_2__0__Impl17872 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_2__1__Impl_in_rule__AttributeCS__Group_6_0_1_2__117903 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L,0x0000000200000000L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_2__2_in_rule__AttributeCS__Group_6_0_1_2__117906 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__AttributeCS__Group_6_0_1_2__1__Impl17934 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_2__2__Impl_in_rule__AttributeCS__Group_6_0_1_2__217965 = new BitSet(new long[]{0xFFBFFFFFFFFE03B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_2__3_in_rule__AttributeCS__Group_6_0_1_2__217968 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_97_in_rule__AttributeCS__Group_6_0_1_2__2__Impl17996 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_2__3__Impl_in_rule__AttributeCS__Group_6_0_1_2__318027 = new BitSet(new long[]{0xFFBFFFFFFFFE03B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_2__4_in_rule__AttributeCS__Group_6_0_1_2__318030 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_2_3_in_rule__AttributeCS__Group_6_0_1_2__3__Impl18057 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_2__4__Impl_in_rule__AttributeCS__Group_6_0_1_2__418088 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_53_in_rule__AttributeCS__Group_6_0_1_2__4__Impl18116 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DataTypeCS__Group__0__Impl_in_rule__DataTypeCS__Group__018157 = new BitSet(new long[]{0x0000020000800000L});
-        public static final BitSet FOLLOW_rule__DataTypeCS__Group__1_in_rule__DataTypeCS__Group__018160 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DataTypeCS__IsPrimitiveAssignment_0_in_rule__DataTypeCS__Group__0__Impl18187 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DataTypeCS__Group__1__Impl_in_rule__DataTypeCS__Group__118218 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L});
-        public static final BitSet FOLLOW_rule__DataTypeCS__Group__2_in_rule__DataTypeCS__Group__118221 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_23_in_rule__DataTypeCS__Group__1__Impl18249 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DataTypeCS__Group__2__Impl_in_rule__DataTypeCS__Group__218280 = new BitSet(new long[]{0x0020000000000000L,0x0000000A80000008L});
-        public static final BitSet FOLLOW_rule__DataTypeCS__Group__3_in_rule__DataTypeCS__Group__218283 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DataTypeCS__NameAssignment_2_in_rule__DataTypeCS__Group__2__Impl18310 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DataTypeCS__Group__3__Impl_in_rule__DataTypeCS__Group__318340 = new BitSet(new long[]{0x0020000000000000L,0x0000000A80000008L});
-        public static final BitSet FOLLOW_rule__DataTypeCS__Group__4_in_rule__DataTypeCS__Group__318343 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DataTypeCS__OwnedSignatureAssignment_3_in_rule__DataTypeCS__Group__3__Impl18370 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DataTypeCS__Group__4__Impl_in_rule__DataTypeCS__Group__418401 = new BitSet(new long[]{0x0020000000000000L,0x0000000A80000008L});
-        public static final BitSet FOLLOW_rule__DataTypeCS__Group__5_in_rule__DataTypeCS__Group__418404 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DataTypeCS__Group_4__0_in_rule__DataTypeCS__Group__4__Impl18431 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DataTypeCS__Group__5__Impl_in_rule__DataTypeCS__Group__518462 = new BitSet(new long[]{0x0020000000000000L,0x0000000A80000008L});
-        public static final BitSet FOLLOW_rule__DataTypeCS__Group__6_in_rule__DataTypeCS__Group__518465 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DataTypeCS__Group_5__0_in_rule__DataTypeCS__Group__5__Impl18492 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DataTypeCS__Group__6__Impl_in_rule__DataTypeCS__Group__618523 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DataTypeCS__Alternatives_6_in_rule__DataTypeCS__Group__6__Impl18550 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DataTypeCS__Group_4__0__Impl_in_rule__DataTypeCS__Group_4__018594 = new BitSet(new long[]{0x0000000000000020L});
-        public static final BitSet FOLLOW_rule__DataTypeCS__Group_4__1_in_rule__DataTypeCS__Group_4__018597 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_97_in_rule__DataTypeCS__Group_4__0__Impl18625 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DataTypeCS__Group_4__1__Impl_in_rule__DataTypeCS__Group_4__118656 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DataTypeCS__InstanceClassNameAssignment_4_1_in_rule__DataTypeCS__Group_4__1__Impl18683 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DataTypeCS__Group_5__0__Impl_in_rule__DataTypeCS__Group_5__018717 = new BitSet(new long[]{0x0840000000000000L,0x0000001000000000L});
-        public static final BitSet FOLLOW_rule__DataTypeCS__Group_5__1_in_rule__DataTypeCS__Group_5__018720 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_99_in_rule__DataTypeCS__Group_5__0__Impl18748 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DataTypeCS__Group_5__1__Impl_in_rule__DataTypeCS__Group_5__118779 = new BitSet(new long[]{0x0840000000000000L,0x0000001000000000L});
-        public static final BitSet FOLLOW_rule__DataTypeCS__Group_5__2_in_rule__DataTypeCS__Group_5__118782 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DataTypeCS__Alternatives_5_1_in_rule__DataTypeCS__Group_5__1__Impl18809 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DataTypeCS__Group_5__2__Impl_in_rule__DataTypeCS__Group_5__218840 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_100_in_rule__DataTypeCS__Group_5__2__Impl18868 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DataTypeCS__Group_6_0__0__Impl_in_rule__DataTypeCS__Group_6_0__018905 = new BitSet(new long[]{0x1380000000100000L,0x0000001000000000L});
-        public static final BitSet FOLLOW_rule__DataTypeCS__Group_6_0__1_in_rule__DataTypeCS__Group_6_0__018908 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_99_in_rule__DataTypeCS__Group_6_0__0__Impl18936 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DataTypeCS__Group_6_0__1__Impl_in_rule__DataTypeCS__Group_6_0__118967 = new BitSet(new long[]{0x1380000000100000L,0x0000001000000000L});
-        public static final BitSet FOLLOW_rule__DataTypeCS__Group_6_0__2_in_rule__DataTypeCS__Group_6_0__118970 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DataTypeCS__Alternatives_6_0_1_in_rule__DataTypeCS__Group_6_0__1__Impl18997 = new BitSet(new long[]{0x1380000000100002L});
-        public static final BitSet FOLLOW_rule__DataTypeCS__Group_6_0__2__Impl_in_rule__DataTypeCS__Group_6_0__219028 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_100_in_rule__DataTypeCS__Group_6_0__2__Impl19056 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DetailCS__Group__0__Impl_in_rule__DetailCS__Group__019093 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
-        public static final BitSet FOLLOW_rule__DetailCS__Group__1_in_rule__DetailCS__Group__019096 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DetailCS__NameAssignment_0_in_rule__DetailCS__Group__0__Impl19123 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DetailCS__Group__1__Impl_in_rule__DetailCS__Group__119153 = new BitSet(new long[]{0x0000000000000060L});
-        public static final BitSet FOLLOW_rule__DetailCS__Group__2_in_rule__DetailCS__Group__119156 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_70_in_rule__DetailCS__Group__1__Impl19184 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DetailCS__Group__2__Impl_in_rule__DetailCS__Group__219215 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DetailCS__ValuesAssignment_2_in_rule__DetailCS__Group__2__Impl19242 = new BitSet(new long[]{0x0000000000000062L});
-        public static final BitSet FOLLOW_rule__DocumentationCS__Group__0__Impl_in_rule__DocumentationCS__Group__019279 = new BitSet(new long[]{0x0100000000000000L});
-        public static final BitSet FOLLOW_rule__DocumentationCS__Group__1_in_rule__DocumentationCS__Group__019282 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DocumentationCS__Group__1__Impl_in_rule__DocumentationCS__Group__119340 = new BitSet(new long[]{0x0020000000000020L,0x0000000080000000L});
-        public static final BitSet FOLLOW_rule__DocumentationCS__Group__2_in_rule__DocumentationCS__Group__119343 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_56_in_rule__DocumentationCS__Group__1__Impl19371 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DocumentationCS__Group__2__Impl_in_rule__DocumentationCS__Group__219402 = new BitSet(new long[]{0x0020000000000020L,0x0000000080000000L});
-        public static final BitSet FOLLOW_rule__DocumentationCS__Group__3_in_rule__DocumentationCS__Group__219405 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DocumentationCS__ValueAssignment_2_in_rule__DocumentationCS__Group__2__Impl19432 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DocumentationCS__Group__3__Impl_in_rule__DocumentationCS__Group__319463 = new BitSet(new long[]{0x0020000000000020L,0x0000000080000000L});
-        public static final BitSet FOLLOW_rule__DocumentationCS__Group__4_in_rule__DocumentationCS__Group__319466 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DocumentationCS__Group_3__0_in_rule__DocumentationCS__Group__3__Impl19493 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DocumentationCS__Group__4__Impl_in_rule__DocumentationCS__Group__419524 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_53_in_rule__DocumentationCS__Group__4__Impl19552 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DocumentationCS__Group_3__0__Impl_in_rule__DocumentationCS__Group_3__019593 = new BitSet(new long[]{0x1F9FFFFFFFFE01A0L});
-        public static final BitSet FOLLOW_rule__DocumentationCS__Group_3__1_in_rule__DocumentationCS__Group_3__019596 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_95_in_rule__DocumentationCS__Group_3__0__Impl19624 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DocumentationCS__Group_3__1__Impl_in_rule__DocumentationCS__Group_3__119655 = new BitSet(new long[]{0x0000000000000000L,0x0000000500000000L});
-        public static final BitSet FOLLOW_rule__DocumentationCS__Group_3__2_in_rule__DocumentationCS__Group_3__119658 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DocumentationCS__OwnedDetailsAssignment_3_1_in_rule__DocumentationCS__Group_3__1__Impl19685 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DocumentationCS__Group_3__2__Impl_in_rule__DocumentationCS__Group_3__219715 = new BitSet(new long[]{0x0000000000000000L,0x0000000500000000L});
-        public static final BitSet FOLLOW_rule__DocumentationCS__Group_3__3_in_rule__DocumentationCS__Group_3__219718 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DocumentationCS__Group_3_2__0_in_rule__DocumentationCS__Group_3__2__Impl19745 = new BitSet(new long[]{0x0000000000000002L,0x0000000400000000L});
-        public static final BitSet FOLLOW_rule__DocumentationCS__Group_3__3__Impl_in_rule__DocumentationCS__Group_3__319776 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_96_in_rule__DocumentationCS__Group_3__3__Impl19804 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DocumentationCS__Group_3_2__0__Impl_in_rule__DocumentationCS__Group_3_2__019843 = new BitSet(new long[]{0x1F9FFFFFFFFE01A0L});
-        public static final BitSet FOLLOW_rule__DocumentationCS__Group_3_2__1_in_rule__DocumentationCS__Group_3_2__019846 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_98_in_rule__DocumentationCS__Group_3_2__0__Impl19874 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DocumentationCS__Group_3_2__1__Impl_in_rule__DocumentationCS__Group_3_2__119905 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DocumentationCS__OwnedDetailsAssignment_3_2_1_in_rule__DocumentationCS__Group_3_2__1__Impl19932 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationCS__Group__0__Impl_in_rule__EnumerationCS__Group__019966 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L});
-        public static final BitSet FOLLOW_rule__EnumerationCS__Group__1_in_rule__EnumerationCS__Group__019969 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_27_in_rule__EnumerationCS__Group__0__Impl19997 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationCS__Group__1__Impl_in_rule__EnumerationCS__Group__120028 = new BitSet(new long[]{0x0020000000000000L,0x0000000A80000008L});
-        public static final BitSet FOLLOW_rule__EnumerationCS__Group__2_in_rule__EnumerationCS__Group__120031 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationCS__NameAssignment_1_in_rule__EnumerationCS__Group__1__Impl20058 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationCS__Group__2__Impl_in_rule__EnumerationCS__Group__220088 = new BitSet(new long[]{0x0020000000000000L,0x0000000A80000008L});
-        public static final BitSet FOLLOW_rule__EnumerationCS__Group__3_in_rule__EnumerationCS__Group__220091 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationCS__OwnedSignatureAssignment_2_in_rule__EnumerationCS__Group__2__Impl20118 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationCS__Group__3__Impl_in_rule__EnumerationCS__Group__320149 = new BitSet(new long[]{0x0020000000000000L,0x0000000A80000008L});
-        public static final BitSet FOLLOW_rule__EnumerationCS__Group__4_in_rule__EnumerationCS__Group__320152 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationCS__Group_3__0_in_rule__EnumerationCS__Group__3__Impl20179 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationCS__Group__4__Impl_in_rule__EnumerationCS__Group__420210 = new BitSet(new long[]{0x0020000000000000L,0x0000000A80000008L});
-        public static final BitSet FOLLOW_rule__EnumerationCS__Group__5_in_rule__EnumerationCS__Group__420213 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationCS__Group_4__0_in_rule__EnumerationCS__Group__4__Impl20240 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationCS__Group__5__Impl_in_rule__EnumerationCS__Group__520271 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationCS__Alternatives_5_in_rule__EnumerationCS__Group__5__Impl20298 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationCS__Group_3__0__Impl_in_rule__EnumerationCS__Group_3__020340 = new BitSet(new long[]{0x0000000000000020L});
-        public static final BitSet FOLLOW_rule__EnumerationCS__Group_3__1_in_rule__EnumerationCS__Group_3__020343 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_97_in_rule__EnumerationCS__Group_3__0__Impl20371 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationCS__Group_3__1__Impl_in_rule__EnumerationCS__Group_3__120402 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationCS__InstanceClassNameAssignment_3_1_in_rule__EnumerationCS__Group_3__1__Impl20429 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationCS__Group_4__0__Impl_in_rule__EnumerationCS__Group_4__020463 = new BitSet(new long[]{0x0840000000000000L,0x0000001000000000L});
-        public static final BitSet FOLLOW_rule__EnumerationCS__Group_4__1_in_rule__EnumerationCS__Group_4__020466 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_99_in_rule__EnumerationCS__Group_4__0__Impl20494 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationCS__Group_4__1__Impl_in_rule__EnumerationCS__Group_4__120525 = new BitSet(new long[]{0x0840000000000000L,0x0000001000000000L});
-        public static final BitSet FOLLOW_rule__EnumerationCS__Group_4__2_in_rule__EnumerationCS__Group_4__120528 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationCS__Alternatives_4_1_in_rule__EnumerationCS__Group_4__1__Impl20555 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationCS__Group_4__2__Impl_in_rule__EnumerationCS__Group_4__220586 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_100_in_rule__EnumerationCS__Group_4__2__Impl20614 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationCS__Group_5_0__0__Impl_in_rule__EnumerationCS__Group_5_0__020651 = new BitSet(new long[]{0x179FFFFFFFFE0180L,0x0000001000000000L});
-        public static final BitSet FOLLOW_rule__EnumerationCS__Group_5_0__1_in_rule__EnumerationCS__Group_5_0__020654 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_99_in_rule__EnumerationCS__Group_5_0__0__Impl20682 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationCS__Group_5_0__1__Impl_in_rule__EnumerationCS__Group_5_0__120713 = new BitSet(new long[]{0x179FFFFFFFFE0180L,0x0000001000000000L});
-        public static final BitSet FOLLOW_rule__EnumerationCS__Group_5_0__2_in_rule__EnumerationCS__Group_5_0__120716 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationCS__Alternatives_5_0_1_in_rule__EnumerationCS__Group_5_0__1__Impl20743 = new BitSet(new long[]{0x179FFFFFFFFE0182L});
-        public static final BitSet FOLLOW_rule__EnumerationCS__Group_5_0__2__Impl_in_rule__EnumerationCS__Group_5_0__220774 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_100_in_rule__EnumerationCS__Group_5_0__2__Impl20802 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Group__0__Impl_in_rule__EnumerationLiteralCS__Group__020839 = new BitSet(new long[]{0x0020000000000000L,0x0000000800000040L});
-        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Group__1_in_rule__EnumerationLiteralCS__Group__020842 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Alternatives_0_in_rule__EnumerationLiteralCS__Group__0__Impl20869 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Group__1__Impl_in_rule__EnumerationLiteralCS__Group__120899 = new BitSet(new long[]{0x0020000000000000L,0x0000000800000040L});
-        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Group__2_in_rule__EnumerationLiteralCS__Group__120902 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Group_1__0_in_rule__EnumerationLiteralCS__Group__1__Impl20929 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Group__2__Impl_in_rule__EnumerationLiteralCS__Group__220960 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Alternatives_2_in_rule__EnumerationLiteralCS__Group__2__Impl20987 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Group_0_0__0__Impl_in_rule__EnumerationLiteralCS__Group_0_0__021023 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L});
-        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Group_0_0__1_in_rule__EnumerationLiteralCS__Group_0_0__021026 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_58_in_rule__EnumerationLiteralCS__Group_0_0__0__Impl21054 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Group_0_0__1__Impl_in_rule__EnumerationLiteralCS__Group_0_0__121085 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__NameAssignment_0_0_1_in_rule__EnumerationLiteralCS__Group_0_0__1__Impl21112 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Group_1__0__Impl_in_rule__EnumerationLiteralCS__Group_1__021146 = new BitSet(new long[]{0x2000000000000010L});
-        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Group_1__1_in_rule__EnumerationLiteralCS__Group_1__021149 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_70_in_rule__EnumerationLiteralCS__Group_1__0__Impl21177 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Group_1__1__Impl_in_rule__EnumerationLiteralCS__Group_1__121208 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__ValueAssignment_1_1_in_rule__EnumerationLiteralCS__Group_1__1__Impl21235 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Group_2_0__0__Impl_in_rule__EnumerationLiteralCS__Group_2_0__021269 = new BitSet(new long[]{0x1180000000000000L,0x0000001000000000L});
-        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Group_2_0__1_in_rule__EnumerationLiteralCS__Group_2_0__021272 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_99_in_rule__EnumerationLiteralCS__Group_2_0__0__Impl21300 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Group_2_0__1__Impl_in_rule__EnumerationLiteralCS__Group_2_0__121331 = new BitSet(new long[]{0x1180000000000000L,0x0000001000000000L});
-        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Group_2_0__2_in_rule__EnumerationLiteralCS__Group_2_0__121334 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__OwnedAnnotationsAssignment_2_0_1_in_rule__EnumerationLiteralCS__Group_2_0__1__Impl21361 = new BitSet(new long[]{0x1180000000000002L});
-        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Group_2_0__2__Impl_in_rule__EnumerationLiteralCS__Group_2_0__221392 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_100_in_rule__EnumerationLiteralCS__Group_2_0__2__Impl21420 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ImportCS__Group__0__Impl_in_rule__ImportCS__Group__021457 = new BitSet(new long[]{0x1F9FFFFFFFFE01A0L});
-        public static final BitSet FOLLOW_rule__ImportCS__Group__1_in_rule__ImportCS__Group__021460 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_30_in_rule__ImportCS__Group__0__Impl21488 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ImportCS__Group__1__Impl_in_rule__ImportCS__Group__121519 = new BitSet(new long[]{0x1F9FFFFFFFFE01A0L});
-        public static final BitSet FOLLOW_rule__ImportCS__Group__2_in_rule__ImportCS__Group__121522 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ImportCS__Group_1__0_in_rule__ImportCS__Group__1__Impl21549 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ImportCS__Group__2__Impl_in_rule__ImportCS__Group__221580 = new BitSet(new long[]{0x0020000000000000L,0x0000000000000000L,0x0000000000000001L});
-        public static final BitSet FOLLOW_rule__ImportCS__Group__3_in_rule__ImportCS__Group__221583 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ImportCS__OwnedPathNameAssignment_2_in_rule__ImportCS__Group__2__Impl21610 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ImportCS__Group__3__Impl_in_rule__ImportCS__Group__321640 = new BitSet(new long[]{0x0020000000000000L,0x0000000000000000L,0x0000000000000001L});
-        public static final BitSet FOLLOW_rule__ImportCS__Group__4_in_rule__ImportCS__Group__321643 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ImportCS__IsAllAssignment_3_in_rule__ImportCS__Group__3__Impl21670 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ImportCS__Group__4__Impl_in_rule__ImportCS__Group__421701 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_53_in_rule__ImportCS__Group__4__Impl21729 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ImportCS__Group_1__0__Impl_in_rule__ImportCS__Group_1__021770 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
-        public static final BitSet FOLLOW_rule__ImportCS__Group_1__1_in_rule__ImportCS__Group_1__021773 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ImportCS__NameAssignment_1_0_in_rule__ImportCS__Group_1__0__Impl21800 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ImportCS__Group_1__1__Impl_in_rule__ImportCS__Group_1__121830 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_97_in_rule__ImportCS__Group_1__1__Impl21858 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LibraryCS__Group__0__Impl_in_rule__LibraryCS__Group__021893 = new BitSet(new long[]{0x1F9FFFFFFFFE01A0L});
-        public static final BitSet FOLLOW_rule__LibraryCS__Group__1_in_rule__LibraryCS__Group__021896 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_34_in_rule__LibraryCS__Group__0__Impl21924 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LibraryCS__Group__1__Impl_in_rule__LibraryCS__Group__121955 = new BitSet(new long[]{0x1F9FFFFFFFFE01A0L});
-        public static final BitSet FOLLOW_rule__LibraryCS__Group__2_in_rule__LibraryCS__Group__121958 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LibraryCS__Group_1__0_in_rule__LibraryCS__Group__1__Impl21985 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__IsDerivedAssignment_5_0_1_0_0_in_rule__AttributeCS__Alternatives_5_0_1_07552 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_54_in_rule__AttributeCS__Alternatives_5_0_1_07571 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__IsIdAssignment_5_1_0_0_in_rule__AttributeCS__Alternatives_5_1_07605 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_55_in_rule__AttributeCS__Alternatives_5_1_07624 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__IsOrderedAssignment_5_2_0_0_in_rule__AttributeCS__Alternatives_5_2_07658 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_56_in_rule__AttributeCS__Alternatives_5_2_07677 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__IsReadonlyAssignment_5_3_0_0_in_rule__AttributeCS__Alternatives_5_3_07711 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_57_in_rule__AttributeCS__Alternatives_5_3_07730 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__IsTransientAssignment_5_4_0_0_in_rule__AttributeCS__Alternatives_5_4_07764 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_58_in_rule__AttributeCS__Alternatives_5_4_07783 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__IsNotUniqueAssignment_5_5_0_0_in_rule__AttributeCS__Alternatives_5_5_07817 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_50_in_rule__AttributeCS__Alternatives_5_5_07836 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__IsUnsettableAssignment_5_6_0_0_in_rule__AttributeCS__Alternatives_5_6_07870 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_59_in_rule__AttributeCS__Alternatives_5_6_07889 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__IsVolatileAssignment_5_7_0_0_0_in_rule__AttributeCS__Alternatives_5_7_0_07923 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_60_in_rule__AttributeCS__Alternatives_5_7_0_07942 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0__0_in_rule__AttributeCS__Alternatives_67976 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_53_in_rule__AttributeCS__Alternatives_67995 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__OwnedAnnotationsAssignment_6_0_1_0_in_rule__AttributeCS__Alternatives_6_0_18029 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_1__0_in_rule__AttributeCS__Alternatives_6_0_18047 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_2__0_in_rule__AttributeCS__Alternatives_6_0_18065 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStructuredClassCS_in_rule__ClassCS__Alternatives8098 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleDataTypeCS_in_rule__ClassCS__Alternatives8115 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEnumerationCS_in_rule__ClassCS__Alternatives8132 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DataTypeCS__IsSerializableAssignment_5_1_0_in_rule__DataTypeCS__Alternatives_5_18164 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_61_in_rule__DataTypeCS__Alternatives_5_18183 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DataTypeCS__Group_6_0__0_in_rule__DataTypeCS__Alternatives_68217 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_53_in_rule__DataTypeCS__Alternatives_68236 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DataTypeCS__OwnedAnnotationsAssignment_6_0_1_0_in_rule__DataTypeCS__Alternatives_6_0_18270 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DataTypeCS__OwnedConstraintsAssignment_6_0_1_1_in_rule__DataTypeCS__Alternatives_6_0_18288 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__DetailCS__NameAlternatives_0_08321 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_rule__DetailCS__NameAlternatives_0_08338 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_rule__DetailCS__ValuesAlternatives_2_08370 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ML_SINGLE_QUOTED_STRING_in_rule__DetailCS__ValuesAlternatives_2_08387 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationCS__IsSerializableAssignment_4_1_0_in_rule__EnumerationCS__Alternatives_4_18419 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_61_in_rule__EnumerationCS__Alternatives_4_18438 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationCS__Group_5_0__0_in_rule__EnumerationCS__Alternatives_58472 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_53_in_rule__EnumerationCS__Alternatives_58491 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationCS__OwnedAnnotationsAssignment_5_0_1_0_in_rule__EnumerationCS__Alternatives_5_0_18525 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationCS__OwnedLiteralsAssignment_5_0_1_1_in_rule__EnumerationCS__Alternatives_5_0_18543 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationCS__OwnedConstraintsAssignment_5_0_1_2_in_rule__EnumerationCS__Alternatives_5_0_18561 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Group_0_0__0_in_rule__EnumerationLiteralCS__Alternatives_08594 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__NameAssignment_0_1_in_rule__EnumerationLiteralCS__Alternatives_08612 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Group_2_0__0_in_rule__EnumerationLiteralCS__Alternatives_28645 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_53_in_rule__EnumerationLiteralCS__Alternatives_28664 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleClassCS_in_rule__ModelElementCS__Alternatives8698 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEnumerationLiteralCS_in_rule__ModelElementCS__Alternatives8715 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleOperationCS_in_rule__ModelElementCS__Alternatives8732 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePackageCS_in_rule__ModelElementCS__Alternatives8749 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStructuralFeatureCS_in_rule__ModelElementCS__Alternatives8766 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__IsDerivedAssignment_9_0_1_0_0_in_rule__OperationCS__Alternatives_9_0_1_08798 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_54_in_rule__OperationCS__Alternatives_9_0_1_08817 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__IsOrderedAssignment_9_1_0_0_in_rule__OperationCS__Alternatives_9_1_08851 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_56_in_rule__OperationCS__Alternatives_9_1_08870 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__IsNotUniqueAssignment_9_2_0_0_0_in_rule__OperationCS__Alternatives_9_2_0_08904 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_50_in_rule__OperationCS__Alternatives_9_2_0_08923 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_10_0__0_in_rule__OperationCS__Alternatives_108957 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_53_in_rule__OperationCS__Alternatives_108976 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__OwnedAnnotationsAssignment_10_0_1_0_in_rule__OperationCS__Alternatives_10_0_19010 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__OwnedPreconditionsAssignment_10_0_1_1_in_rule__OperationCS__Alternatives_10_0_19028 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_10_0_1_2__0_in_rule__OperationCS__Alternatives_10_0_19046 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__OwnedPostconditionsAssignment_10_0_1_3_in_rule__OperationCS__Alternatives_10_0_19064 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PackageCS__Group_4_0__0_in_rule__PackageCS__Alternatives_49097 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_53_in_rule__PackageCS__Alternatives_49116 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PackageCS__OwnedAnnotationsAssignment_4_0_1_0_in_rule__PackageCS__Alternatives_4_0_19150 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PackageCS__OwnedPackagesAssignment_4_0_1_1_in_rule__PackageCS__Alternatives_4_0_19168 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PackageCS__OwnedClassesAssignment_4_0_1_2_in_rule__PackageCS__Alternatives_4_0_19186 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__IsOrderedAssignment_2_0_1_0_0_in_rule__ParameterCS__Alternatives_2_0_1_09219 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_56_in_rule__ParameterCS__Alternatives_2_0_1_09238 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__IsNotUniqueAssignment_2_1_0_0_0_in_rule__ParameterCS__Alternatives_2_1_0_09272 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_50_in_rule__ParameterCS__Alternatives_2_1_0_09291 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__IsComposesAssignment_6_0_1_0_0_in_rule__ReferenceCS__Alternatives_6_0_1_09325 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_62_in_rule__ReferenceCS__Alternatives_6_0_1_09344 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__IsDerivedAssignment_6_1_0_0_in_rule__ReferenceCS__Alternatives_6_1_09378 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_54_in_rule__ReferenceCS__Alternatives_6_1_09397 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__IsOrderedAssignment_6_2_0_0_in_rule__ReferenceCS__Alternatives_6_2_09431 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_56_in_rule__ReferenceCS__Alternatives_6_2_09450 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__IsReadonlyAssignment_6_3_0_0_in_rule__ReferenceCS__Alternatives_6_3_09484 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_57_in_rule__ReferenceCS__Alternatives_6_3_09503 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__IsResolveAssignment_6_4_0_0_in_rule__ReferenceCS__Alternatives_6_4_09537 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_63_in_rule__ReferenceCS__Alternatives_6_4_09556 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__IsTransientAssignment_6_5_0_0_in_rule__ReferenceCS__Alternatives_6_5_09590 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_58_in_rule__ReferenceCS__Alternatives_6_5_09609 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__IsNotUniqueAssignment_6_6_0_0_in_rule__ReferenceCS__Alternatives_6_6_09643 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_50_in_rule__ReferenceCS__Alternatives_6_6_09662 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__IsUnsettableAssignment_6_7_0_0_in_rule__ReferenceCS__Alternatives_6_7_09696 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_59_in_rule__ReferenceCS__Alternatives_6_7_09715 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__IsVolatileAssignment_6_8_0_0_0_in_rule__ReferenceCS__Alternatives_6_8_0_09749 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_60_in_rule__ReferenceCS__Alternatives_6_8_0_09768 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0__0_in_rule__ReferenceCS__Alternatives_79802 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_53_in_rule__ReferenceCS__Alternatives_79821 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__OwnedAnnotationsAssignment_7_0_1_0_in_rule__ReferenceCS__Alternatives_7_0_19855 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_1__0_in_rule__ReferenceCS__Alternatives_7_0_19873 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_2__0_in_rule__ReferenceCS__Alternatives_7_0_19891 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_3__0_in_rule__ReferenceCS__Alternatives_7_0_19909 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SpecificationCS__OwnedExpressionAssignment_0_in_rule__SpecificationCS__Alternatives9942 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SpecificationCS__ExprStringAssignment_1_in_rule__SpecificationCS__Alternatives9960 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_7_0__0_in_rule__StructuredClassCS__Alternatives_79993 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_53_in_rule__StructuredClassCS__Alternatives_710012 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__OwnedAnnotationsAssignment_7_0_1_0_in_rule__StructuredClassCS__Alternatives_7_0_110046 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__OwnedOperationsAssignment_7_0_1_1_in_rule__StructuredClassCS__Alternatives_7_0_110064 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__OwnedPropertiesAssignment_7_0_1_2_in_rule__StructuredClassCS__Alternatives_7_0_110082 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__OwnedConstraintsAssignment_7_0_1_3_in_rule__StructuredClassCS__Alternatives_7_0_110100 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAttributeCS_in_rule__StructuralFeatureCS__Alternatives10133 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleReferenceCS_in_rule__StructuralFeatureCS__Alternatives10150 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SysMLCS__Group_2_0__0_in_rule__SysMLCS__Alternatives_210182 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SysMLCS__Group_2_1__0_in_rule__SysMLCS__Alternatives_210200 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_0__0_in_rule__TemplateBindingCS__Alternatives10234 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_1__0_in_rule__TemplateBindingCS__Alternatives10252 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_0__0_in_rule__TemplateSignatureCS__Alternatives10285 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_1__0_in_rule__TemplateSignatureCS__Alternatives10303 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypeLiteralCS_in_rule__TypedRefCS__Alternatives10336 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypedTypeRefCS_in_rule__TypedRefCS__Alternatives10353 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEnumerationLiteralName_in_rule__UnrestrictedName__Alternatives10385 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_64_in_rule__UnrestrictedName__Alternatives10403 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_65_in_rule__UnrestrictedName__Alternatives10423 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_66_in_rule__UnrestrictedName__Alternatives10443 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_67_in_rule__UnrestrictedName__Alternatives10463 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_68_in_rule__UnrestrictedName__Alternatives10483 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_69_in_rule__UnrestrictedName__Alternatives10503 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_70_in_rule__EssentialOCLUnaryOperatorName__Alternatives10539 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_71_in_rule__EssentialOCLUnaryOperatorName__Alternatives10559 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_72_in_rule__EssentialOCLInfixOperatorName__Alternatives10594 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_73_in_rule__EssentialOCLInfixOperatorName__Alternatives10614 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_74_in_rule__EssentialOCLInfixOperatorName__Alternatives10634 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_70_in_rule__EssentialOCLInfixOperatorName__Alternatives10654 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_75_in_rule__EssentialOCLInfixOperatorName__Alternatives10674 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_76_in_rule__EssentialOCLInfixOperatorName__Alternatives10694 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_77_in_rule__EssentialOCLInfixOperatorName__Alternatives10714 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_78_in_rule__EssentialOCLInfixOperatorName__Alternatives10734 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_79_in_rule__EssentialOCLInfixOperatorName__Alternatives10754 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_80_in_rule__EssentialOCLInfixOperatorName__Alternatives10774 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_81_in_rule__EssentialOCLInfixOperatorName__Alternatives10794 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_82_in_rule__EssentialOCLInfixOperatorName__Alternatives10814 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_83_in_rule__EssentialOCLInfixOperatorName__Alternatives10834 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_84_in_rule__EssentialOCLInfixOperatorName__Alternatives10854 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_85_in_rule__EssentialOCLNavigationOperatorName__Alternatives10889 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_86_in_rule__EssentialOCLNavigationOperatorName__Alternatives10909 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_87_in_rule__EssentialOCLNavigationOperatorName__Alternatives10929 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_88_in_rule__EssentialOCLNavigationOperatorName__Alternatives10949 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleInfixOperatorName_in_rule__BinaryOperatorName__Alternatives10983 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleNavigationOperatorName_in_rule__BinaryOperatorName__Alternatives11000 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__EssentialOCLUnreservedName__Alternatives11032 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleCollectionTypeIdentifier_in_rule__EssentialOCLUnreservedName__Alternatives11049 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePrimitiveTypeIdentifier_in_rule__EssentialOCLUnreservedName__Alternatives11066 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_89_in_rule__EssentialOCLUnreservedName__Alternatives11084 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__URIFirstPathElementCS__ReferredElementAssignment_0_in_rule__URIFirstPathElementCS__Alternatives11118 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__URIFirstPathElementCS__Group_1__0_in_rule__URIFirstPathElementCS__Alternatives11136 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_90_in_rule__PrimitiveTypeIdentifier__Alternatives11170 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_91_in_rule__PrimitiveTypeIdentifier__Alternatives11190 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_92_in_rule__PrimitiveTypeIdentifier__Alternatives11210 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_93_in_rule__PrimitiveTypeIdentifier__Alternatives11230 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_94_in_rule__PrimitiveTypeIdentifier__Alternatives11250 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_95_in_rule__PrimitiveTypeIdentifier__Alternatives11270 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_96_in_rule__PrimitiveTypeIdentifier__Alternatives11290 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_97_in_rule__PrimitiveTypeIdentifier__Alternatives11310 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_98_in_rule__CollectionTypeIdentifier__Alternatives11345 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_99_in_rule__CollectionTypeIdentifier__Alternatives11365 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_100_in_rule__CollectionTypeIdentifier__Alternatives11385 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_101_in_rule__CollectionTypeIdentifier__Alternatives11405 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_102_in_rule__CollectionTypeIdentifier__Alternatives11425 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionLiteralPartCS__Group_0__0_in_rule__CollectionLiteralPartCS__Alternatives11459 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionLiteralPartCS__OwnedExpressionAssignment_1_in_rule__CollectionLiteralPartCS__Alternatives11477 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleExpCS_in_rule__ConstructorPartCS__OwnedInitExpressionAlternatives_2_011510 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePatternExpCS_in_rule__ConstructorPartCS__OwnedInitExpressionAlternatives_2_011527 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleNumberLiteralExpCS_in_rule__PrimitiveLiteralExpCS__Alternatives11559 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStringLiteralExpCS_in_rule__PrimitiveLiteralExpCS__Alternatives11576 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleBooleanLiteralExpCS_in_rule__PrimitiveLiteralExpCS__Alternatives11593 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnlimitedNaturalLiteralExpCS_in_rule__PrimitiveLiteralExpCS__Alternatives11610 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleInvalidLiteralExpCS_in_rule__PrimitiveLiteralExpCS__Alternatives11627 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleNullLiteralExpCS_in_rule__PrimitiveLiteralExpCS__Alternatives11644 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BooleanLiteralExpCS__SymbolAssignment_0_in_rule__BooleanLiteralExpCS__Alternatives11676 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BooleanLiteralExpCS__SymbolAssignment_1_in_rule__BooleanLiteralExpCS__Alternatives11694 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePrimitiveTypeCS_in_rule__TypeLiteralCS__Alternatives11727 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleCollectionTypeCS_in_rule__TypeLiteralCS__Alternatives11744 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTupleTypeCS_in_rule__TypeLiteralCS__Alternatives11761 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypeNameExpCS_in_rule__TypeExpCS__Alternatives_011793 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypeLiteralCS_in_rule__TypeExpCS__Alternatives_011810 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleCollectionPatternCS_in_rule__TypeExpCS__Alternatives_011827 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ExpCS__Group_0__0_in_rule__ExpCS__Alternatives11859 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePrefixedLetExpCS_in_rule__ExpCS__Alternatives11877 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PrefixedLetExpCS__Group_0__0_in_rule__PrefixedLetExpCS__Alternatives11909 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleLetExpCS_in_rule__PrefixedLetExpCS__Alternatives11927 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PrefixedPrimaryExpCS__Group_0__0_in_rule__PrefixedPrimaryExpCS__Alternatives11959 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePrimaryExpCS_in_rule__PrefixedPrimaryExpCS__Alternatives11977 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleNestedExpCS_in_rule__PrimaryExpCS__Alternatives12009 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleIfExpCS_in_rule__PrimaryExpCS__Alternatives12026 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSelfExpCS_in_rule__PrimaryExpCS__Alternatives12043 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePrimitiveLiteralExpCS_in_rule__PrimaryExpCS__Alternatives12060 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTupleLiteralExpCS_in_rule__PrimaryExpCS__Alternatives12077 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleCollectionLiteralExpCS_in_rule__PrimaryExpCS__Alternatives12094 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleLambdaLiteralExpCS_in_rule__PrimaryExpCS__Alternatives12111 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypeLiteralExpCS_in_rule__PrimaryExpCS__Alternatives12128 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleNameExpCS_in_rule__PrimaryExpCS__Alternatives12145 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CurlyBracketedClauseCS__Group_2_0__0_in_rule__CurlyBracketedClauseCS__Alternatives_212177 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CurlyBracketedClauseCS__ValueAssignment_2_1_in_rule__CurlyBracketedClauseCS__Alternatives_212196 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_0__0_in_rule__NavigatingArgCS__Alternatives12229 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_1__0_in_rule__NavigatingArgCS__Alternatives12247 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_0_1_0__0_in_rule__NavigatingArgCS__Alternatives_0_112280 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_0_1_1__0_in_rule__NavigatingArgCS__Alternatives_0_112298 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group_2_0__0_in_rule__NavigatingCommaArgCS__Alternatives_212331 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group_2_1__0_in_rule__NavigatingCommaArgCS__Alternatives_212349 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleExpCS_in_rule__IfExpCS__OwnedConditionAlternatives_1_012382 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePatternExpCS_in_rule__IfExpCS__OwnedConditionAlternatives_1_012399 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleMultiplicityBoundsCS_in_rule__MultiplicityCS__Alternatives_112431 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleMultiplicityStringCS_in_rule__MultiplicityCS__Alternatives_112448 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_72_in_rule__MultiplicityStringCS__StringBoundsAlternatives_012481 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_74_in_rule__MultiplicityStringCS__StringBoundsAlternatives_012501 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_103_in_rule__MultiplicityStringCS__StringBoundsAlternatives_012521 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypeParameterCS__Group_1_0__0_in_rule__TypeParameterCS__Alternatives_112555 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypeParameterCS__Group_1_1__0_in_rule__TypeParameterCS__Alternatives_112573 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypedRefCS_in_rule__TypeRefCS__Alternatives12606 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleWildcardTypeRefCS_in_rule__TypeRefCS__Alternatives12623 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WildcardTypeRefCS__Group_2_0__0_in_rule__WildcardTypeRefCS__Alternatives_212655 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WildcardTypeRefCS__Group_2_1__0_in_rule__WildcardTypeRefCS__Alternatives_212673 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_SIMPLE_ID_in_rule__ID__Alternatives12706 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ESCAPED_ID_in_rule__ID__Alternatives12723 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_INT_in_rule__UPPER__Alternatives12755 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_72_in_rule__UPPER__Alternatives12773 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TopLevelCS__Group__0__Impl_in_rule__TopLevelCS__Group__012805 = new BitSet(new long[]{0x0000004C40000000L});
+        public static final BitSet FOLLOW_rule__TopLevelCS__Group__1_in_rule__TopLevelCS__Group__012808 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TopLevelCS__Group__1__Impl_in_rule__TopLevelCS__Group__112866 = new BitSet(new long[]{0x0000004C40000000L});
+        public static final BitSet FOLLOW_rule__TopLevelCS__Group__2_in_rule__TopLevelCS__Group__112869 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TopLevelCS__Group_1__0_in_rule__TopLevelCS__Group__1__Impl12896 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TopLevelCS__Group__2__Impl_in_rule__TopLevelCS__Group__212927 = new BitSet(new long[]{0x0000004C40000000L});
+        public static final BitSet FOLLOW_rule__TopLevelCS__Group__3_in_rule__TopLevelCS__Group__212930 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TopLevelCS__OwnedLibrariesAssignment_2_in_rule__TopLevelCS__Group__2__Impl12957 = new BitSet(new long[]{0x0000000400000002L});
+        public static final BitSet FOLLOW_rule__TopLevelCS__Group__3__Impl_in_rule__TopLevelCS__Group__312988 = new BitSet(new long[]{0x0000004C40000000L});
+        public static final BitSet FOLLOW_rule__TopLevelCS__Group__4_in_rule__TopLevelCS__Group__312991 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TopLevelCS__OwnedImportsAssignment_3_in_rule__TopLevelCS__Group__3__Impl13018 = new BitSet(new long[]{0x0000000040000002L});
+        public static final BitSet FOLLOW_rule__TopLevelCS__Group__4__Impl_in_rule__TopLevelCS__Group__413049 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TopLevelCS__OwnedPackagesAssignment_4_in_rule__TopLevelCS__Group__4__Impl13076 = new BitSet(new long[]{0x0000004000000002L});
+        public static final BitSet FOLLOW_rule__TopLevelCS__Group_1__0__Impl_in_rule__TopLevelCS__Group_1__013117 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000000000000003FL});
+        public static final BitSet FOLLOW_rule__TopLevelCS__Group_1__1_in_rule__TopLevelCS__Group_1__013120 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_35_in_rule__TopLevelCS__Group_1__0__Impl13148 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TopLevelCS__Group_1__1__Impl_in_rule__TopLevelCS__Group_1__113179 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__TopLevelCS__Group_1__1__Impl13206 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SIGNED__Group__0__Impl_in_rule__SIGNED__Group__013239 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__SIGNED__Group__1_in_rule__SIGNED__Group__013242 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_70_in_rule__SIGNED__Group__0__Impl13271 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SIGNED__Group__1__Impl_in_rule__SIGNED__Group__113304 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_INT_in_rule__SIGNED__Group__1__Impl13331 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group__0__Impl_in_rule__InvariantConstraintCS__Group__013364 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
+        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group__1_in_rule__InvariantConstraintCS__Group__013367 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__InvariantConstraintCS__IsCallableAssignment_0_in_rule__InvariantConstraintCS__Group__0__Impl13394 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group__1__Impl_in_rule__InvariantConstraintCS__Group__113425 = new BitSet(new long[]{0x003FFFFFFFFE0180L,0x000004000000003FL});
+        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group__2_in_rule__InvariantConstraintCS__Group__113428 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__InvariantConstraintCS__StereotypeAssignment_1_in_rule__InvariantConstraintCS__Group__1__Impl13455 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group__2__Impl_in_rule__InvariantConstraintCS__Group__213485 = new BitSet(new long[]{0x003FFFFFFFFE0180L,0x000004000000003FL});
+        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group__3_in_rule__InvariantConstraintCS__Group__213488 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group_2__0_in_rule__InvariantConstraintCS__Group__2__Impl13515 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group__3__Impl_in_rule__InvariantConstraintCS__Group__313546 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Alternatives_3_in_rule__InvariantConstraintCS__Group__3__Impl13573 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group_2__0__Impl_in_rule__InvariantConstraintCS__Group_2__013611 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
+        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group_2__1_in_rule__InvariantConstraintCS__Group_2__013614 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__InvariantConstraintCS__NameAssignment_2_0_in_rule__InvariantConstraintCS__Group_2__0__Impl13641 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group_2__1__Impl_in_rule__InvariantConstraintCS__Group_2__113671 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group_2_1__0_in_rule__InvariantConstraintCS__Group_2__1__Impl13698 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group_2_1__0__Impl_in_rule__InvariantConstraintCS__Group_2_1__013733 = new BitSet(new long[]{0x001FFFFFFFFE03B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group_2_1__1_in_rule__InvariantConstraintCS__Group_2_1__013736 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_104_in_rule__InvariantConstraintCS__Group_2_1__0__Impl13764 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group_2_1__1__Impl_in_rule__InvariantConstraintCS__Group_2_1__113795 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L});
+        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group_2_1__2_in_rule__InvariantConstraintCS__Group_2_1__113798 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__InvariantConstraintCS__OwnedMessageSpecificationAssignment_2_1_1_in_rule__InvariantConstraintCS__Group_2_1__1__Impl13825 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group_2_1__2__Impl_in_rule__InvariantConstraintCS__Group_2_1__213855 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_105_in_rule__InvariantConstraintCS__Group_2_1__2__Impl13883 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group_3_0__0__Impl_in_rule__InvariantConstraintCS__Group_3_0__013920 = new BitSet(new long[]{0x003FFFFFFFFE03B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group_3_0__1_in_rule__InvariantConstraintCS__Group_3_0__013923 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_106_in_rule__InvariantConstraintCS__Group_3_0__0__Impl13951 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group_3_0__1__Impl_in_rule__InvariantConstraintCS__Group_3_0__113982 = new BitSet(new long[]{0x003FFFFFFFFE03B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group_3_0__2_in_rule__InvariantConstraintCS__Group_3_0__113985 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__InvariantConstraintCS__OwnedSpecificationAssignment_3_0_1_in_rule__InvariantConstraintCS__Group_3_0__1__Impl14012 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__InvariantConstraintCS__Group_3_0__2__Impl_in_rule__InvariantConstraintCS__Group_3_0__214043 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_53_in_rule__InvariantConstraintCS__Group_3_0__2__Impl14071 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__Group__0__Impl_in_rule__PostconditionConstraintCS__Group__014108 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000004000000003FL});
+        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__Group__1_in_rule__PostconditionConstraintCS__Group__014111 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__StereotypeAssignment_0_in_rule__PostconditionConstraintCS__Group__0__Impl14138 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__Group__1__Impl_in_rule__PostconditionConstraintCS__Group__114168 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000004000000003FL});
+        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__Group__2_in_rule__PostconditionConstraintCS__Group__114171 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__Group_1__0_in_rule__PostconditionConstraintCS__Group__1__Impl14198 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__Group__2__Impl_in_rule__PostconditionConstraintCS__Group__214229 = new BitSet(new long[]{0x003FFFFFFFFE03B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__Group__3_in_rule__PostconditionConstraintCS__Group__214232 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_106_in_rule__PostconditionConstraintCS__Group__2__Impl14260 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__Group__3__Impl_in_rule__PostconditionConstraintCS__Group__314291 = new BitSet(new long[]{0x003FFFFFFFFE03B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__Group__4_in_rule__PostconditionConstraintCS__Group__314294 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__OwnedSpecificationAssignment_3_in_rule__PostconditionConstraintCS__Group__3__Impl14321 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__Group__4__Impl_in_rule__PostconditionConstraintCS__Group__414352 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_53_in_rule__PostconditionConstraintCS__Group__4__Impl14380 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__Group_1__0__Impl_in_rule__PostconditionConstraintCS__Group_1__014421 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
+        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__Group_1__1_in_rule__PostconditionConstraintCS__Group_1__014424 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__NameAssignment_1_0_in_rule__PostconditionConstraintCS__Group_1__0__Impl14451 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__Group_1__1__Impl_in_rule__PostconditionConstraintCS__Group_1__114481 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__Group_1_1__0_in_rule__PostconditionConstraintCS__Group_1__1__Impl14508 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__Group_1_1__0__Impl_in_rule__PostconditionConstraintCS__Group_1_1__014543 = new BitSet(new long[]{0x001FFFFFFFFE03B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__Group_1_1__1_in_rule__PostconditionConstraintCS__Group_1_1__014546 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_104_in_rule__PostconditionConstraintCS__Group_1_1__0__Impl14574 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__Group_1_1__1__Impl_in_rule__PostconditionConstraintCS__Group_1_1__114605 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L});
+        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__Group_1_1__2_in_rule__PostconditionConstraintCS__Group_1_1__114608 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1_in_rule__PostconditionConstraintCS__Group_1_1__1__Impl14635 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PostconditionConstraintCS__Group_1_1__2__Impl_in_rule__PostconditionConstraintCS__Group_1_1__214665 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_105_in_rule__PostconditionConstraintCS__Group_1_1__2__Impl14693 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__Group__0__Impl_in_rule__PreconditionConstraintCS__Group__014730 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000004000000003FL});
+        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__Group__1_in_rule__PreconditionConstraintCS__Group__014733 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__StereotypeAssignment_0_in_rule__PreconditionConstraintCS__Group__0__Impl14760 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__Group__1__Impl_in_rule__PreconditionConstraintCS__Group__114790 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000004000000003FL});
+        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__Group__2_in_rule__PreconditionConstraintCS__Group__114793 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__Group_1__0_in_rule__PreconditionConstraintCS__Group__1__Impl14820 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__Group__2__Impl_in_rule__PreconditionConstraintCS__Group__214851 = new BitSet(new long[]{0x003FFFFFFFFE03B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__Group__3_in_rule__PreconditionConstraintCS__Group__214854 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_106_in_rule__PreconditionConstraintCS__Group__2__Impl14882 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__Group__3__Impl_in_rule__PreconditionConstraintCS__Group__314913 = new BitSet(new long[]{0x003FFFFFFFFE03B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__Group__4_in_rule__PreconditionConstraintCS__Group__314916 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__OwnedSpecificationAssignment_3_in_rule__PreconditionConstraintCS__Group__3__Impl14943 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__Group__4__Impl_in_rule__PreconditionConstraintCS__Group__414974 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_53_in_rule__PreconditionConstraintCS__Group__4__Impl15002 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__Group_1__0__Impl_in_rule__PreconditionConstraintCS__Group_1__015043 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
+        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__Group_1__1_in_rule__PreconditionConstraintCS__Group_1__015046 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__NameAssignment_1_0_in_rule__PreconditionConstraintCS__Group_1__0__Impl15073 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__Group_1__1__Impl_in_rule__PreconditionConstraintCS__Group_1__115103 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__Group_1_1__0_in_rule__PreconditionConstraintCS__Group_1__1__Impl15130 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__Group_1_1__0__Impl_in_rule__PreconditionConstraintCS__Group_1_1__015165 = new BitSet(new long[]{0x001FFFFFFFFE03B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__Group_1_1__1_in_rule__PreconditionConstraintCS__Group_1_1__015168 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_104_in_rule__PreconditionConstraintCS__Group_1_1__0__Impl15196 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__Group_1_1__1__Impl_in_rule__PreconditionConstraintCS__Group_1_1__115227 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L});
+        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__Group_1_1__2_in_rule__PreconditionConstraintCS__Group_1_1__115230 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_1_in_rule__PreconditionConstraintCS__Group_1_1__1__Impl15257 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PreconditionConstraintCS__Group_1_1__2__Impl_in_rule__PreconditionConstraintCS__Group_1_1__215287 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_105_in_rule__PreconditionConstraintCS__Group_1_1__2__Impl15315 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AnnotationCS__Group__0__Impl_in_rule__AnnotationCS__Group__015352 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
+        public static final BitSet FOLLOW_rule__AnnotationCS__Group__1_in_rule__AnnotationCS__Group__015355 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AnnotationCS__Group__1__Impl_in_rule__AnnotationCS__Group__115413 = new BitSet(new long[]{0x003FFFFFFFFE01A0L,0x000011000000003FL});
+        public static final BitSet FOLLOW_rule__AnnotationCS__Group__2_in_rule__AnnotationCS__Group__115416 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_64_in_rule__AnnotationCS__Group__1__Impl15444 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AnnotationCS__Group__2__Impl_in_rule__AnnotationCS__Group__215475 = new BitSet(new long[]{0x003FFFFFFFFE01A0L,0x000011000000003FL});
+        public static final BitSet FOLLOW_rule__AnnotationCS__Group__3_in_rule__AnnotationCS__Group__215478 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AnnotationCS__NameAssignment_2_in_rule__AnnotationCS__Group__2__Impl15505 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AnnotationCS__Group__3__Impl_in_rule__AnnotationCS__Group__315536 = new BitSet(new long[]{0x003FFFFFFFFE01A0L,0x000011000000003FL});
+        public static final BitSet FOLLOW_rule__AnnotationCS__Group__4_in_rule__AnnotationCS__Group__315539 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AnnotationCS__Group_3__0_in_rule__AnnotationCS__Group__3__Impl15566 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AnnotationCS__Group__4__Impl_in_rule__AnnotationCS__Group__415597 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AnnotationCS__Alternatives_4_in_rule__AnnotationCS__Group__4__Impl15624 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AnnotationCS__Group_3__0__Impl_in_rule__AnnotationCS__Group_3__015664 = new BitSet(new long[]{0x001FFFFFFFFE01A0L,0x000000000000003FL});
+        public static final BitSet FOLLOW_rule__AnnotationCS__Group_3__1_in_rule__AnnotationCS__Group_3__015667 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_104_in_rule__AnnotationCS__Group_3__0__Impl15695 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AnnotationCS__Group_3__1__Impl_in_rule__AnnotationCS__Group_3__115726 = new BitSet(new long[]{0x0000000000000000L,0x00000A0000000000L});
+        public static final BitSet FOLLOW_rule__AnnotationCS__Group_3__2_in_rule__AnnotationCS__Group_3__115729 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AnnotationCS__OwnedDetailsAssignment_3_1_in_rule__AnnotationCS__Group_3__1__Impl15756 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AnnotationCS__Group_3__2__Impl_in_rule__AnnotationCS__Group_3__215786 = new BitSet(new long[]{0x0000000000000000L,0x00000A0000000000L});
+        public static final BitSet FOLLOW_rule__AnnotationCS__Group_3__3_in_rule__AnnotationCS__Group_3__215789 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AnnotationCS__Group_3_2__0_in_rule__AnnotationCS__Group_3__2__Impl15816 = new BitSet(new long[]{0x0000000000000002L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__AnnotationCS__Group_3__3__Impl_in_rule__AnnotationCS__Group_3__315847 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_105_in_rule__AnnotationCS__Group_3__3__Impl15875 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AnnotationCS__Group_3_2__0__Impl_in_rule__AnnotationCS__Group_3_2__015914 = new BitSet(new long[]{0x001FFFFFFFFE01A0L,0x000000000000003FL});
+        public static final BitSet FOLLOW_rule__AnnotationCS__Group_3_2__1_in_rule__AnnotationCS__Group_3_2__015917 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__AnnotationCS__Group_3_2__0__Impl15945 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AnnotationCS__Group_3_2__1__Impl_in_rule__AnnotationCS__Group_3_2__115976 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AnnotationCS__OwnedDetailsAssignment_3_2_1_in_rule__AnnotationCS__Group_3_2__1__Impl16003 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AnnotationCS__Group_4_0__0__Impl_in_rule__AnnotationCS__Group_4_0__016037 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000000000000002BL});
+        public static final BitSet FOLLOW_rule__AnnotationCS__Group_4_0__1_in_rule__AnnotationCS__Group_4_0__016040 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_108_in_rule__AnnotationCS__Group_4_0__0__Impl16068 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AnnotationCS__Group_4_0__1__Impl_in_rule__AnnotationCS__Group_4_0__116099 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000000L});
+        public static final BitSet FOLLOW_rule__AnnotationCS__Group_4_0__2_in_rule__AnnotationCS__Group_4_0__116102 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AnnotationCS__Alternatives_4_0_1_in_rule__AnnotationCS__Group_4_0__1__Impl16131 = new BitSet(new long[]{0x001FFFFFFFFE0182L,0x000000000000002BL});
+        public static final BitSet FOLLOW_rule__AnnotationCS__Alternatives_4_0_1_in_rule__AnnotationCS__Group_4_0__1__Impl16143 = new BitSet(new long[]{0x001FFFFFFFFE0182L,0x000000000000002BL});
+        public static final BitSet FOLLOW_rule__AnnotationCS__Group_4_0__2__Impl_in_rule__AnnotationCS__Group_4_0__216176 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_109_in_rule__AnnotationCS__Group_4_0__2__Impl16204 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group__0__Impl_in_rule__AttributeCS__Group__016241 = new BitSet(new long[]{0x0000000000040000L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group__1_in_rule__AttributeCS__Group__016244 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__UnorderedGroup_0_in_rule__AttributeCS__Group__0__Impl16271 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group__1__Impl_in_rule__AttributeCS__Group__116301 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000000000000003FL});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group__2_in_rule__AttributeCS__Group__116304 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_rule__AttributeCS__Group__1__Impl16332 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group__2__Impl_in_rule__AttributeCS__Group__216363 = new BitSet(new long[]{0x1FBE082020000000L,0x0000340000008000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group__3_in_rule__AttributeCS__Group__216366 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__NameAssignment_2_in_rule__AttributeCS__Group__2__Impl16393 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group__3__Impl_in_rule__AttributeCS__Group__316423 = new BitSet(new long[]{0x1FBE082020000000L,0x0000340000008000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group__4_in_rule__AttributeCS__Group__316426 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_3__0_in_rule__AttributeCS__Group__3__Impl16453 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group__4__Impl_in_rule__AttributeCS__Group__416484 = new BitSet(new long[]{0x1FBE082020000000L,0x0000340000008000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group__5_in_rule__AttributeCS__Group__416487 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_4__0_in_rule__AttributeCS__Group__4__Impl16514 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group__5__Impl_in_rule__AttributeCS__Group__516545 = new BitSet(new long[]{0x1FBE082020000000L,0x0000340000008000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group__6_in_rule__AttributeCS__Group__516548 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__UnorderedGroup_5_in_rule__AttributeCS__Group__5__Impl16575 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group__6__Impl_in_rule__AttributeCS__Group__616606 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Alternatives_6_in_rule__AttributeCS__Group__6__Impl16633 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_3__0__Impl_in_rule__AttributeCS__Group_3__016677 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0x821C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_3__1_in_rule__AttributeCS__Group_3__016680 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_106_in_rule__AttributeCS__Group_3__0__Impl16708 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_3__1__Impl_in_rule__AttributeCS__Group_3__116739 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__OwnedTypeAssignment_3_1_in_rule__AttributeCS__Group_3__1__Impl16766 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_4__0__Impl_in_rule__AttributeCS__Group_4__016800 = new BitSet(new long[]{0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_4__1_in_rule__AttributeCS__Group_4__016803 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_79_in_rule__AttributeCS__Group_4__0__Impl16831 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_4__1__Impl_in_rule__AttributeCS__Group_4__116862 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__DefaultAssignment_4_1_in_rule__AttributeCS__Group_4__1__Impl16889 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_0__0__Impl_in_rule__AttributeCS__Group_5_0__016923 = new BitSet(new long[]{0x0040000004000000L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_0__1_in_rule__AttributeCS__Group_5_0__016926 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_108_in_rule__AttributeCS__Group_5_0__0__Impl16954 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_0__1__Impl_in_rule__AttributeCS__Group_5_0__116985 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_0_1__0_in_rule__AttributeCS__Group_5_0__1__Impl17012 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_0_1__0__Impl_in_rule__AttributeCS__Group_5_0_1__017047 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_0_1__1_in_rule__AttributeCS__Group_5_0_1__017050 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Alternatives_5_0_1_0_in_rule__AttributeCS__Group_5_0_1__0__Impl17077 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_0_1__1__Impl_in_rule__AttributeCS__Group_5_0_1__117107 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__AttributeCS__Group_5_0_1__1__Impl17136 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_1__0__Impl_in_rule__AttributeCS__Group_5_1__017173 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_1__1_in_rule__AttributeCS__Group_5_1__017176 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Alternatives_5_1_0_in_rule__AttributeCS__Group_5_1__0__Impl17203 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_1__1__Impl_in_rule__AttributeCS__Group_5_1__117233 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__AttributeCS__Group_5_1__1__Impl17262 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_2__0__Impl_in_rule__AttributeCS__Group_5_2__017299 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_2__1_in_rule__AttributeCS__Group_5_2__017302 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Alternatives_5_2_0_in_rule__AttributeCS__Group_5_2__0__Impl17329 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_2__1__Impl_in_rule__AttributeCS__Group_5_2__117359 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__AttributeCS__Group_5_2__1__Impl17388 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_3__0__Impl_in_rule__AttributeCS__Group_5_3__017425 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_3__1_in_rule__AttributeCS__Group_5_3__017428 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Alternatives_5_3_0_in_rule__AttributeCS__Group_5_3__0__Impl17455 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_3__1__Impl_in_rule__AttributeCS__Group_5_3__117485 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__AttributeCS__Group_5_3__1__Impl17514 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_4__0__Impl_in_rule__AttributeCS__Group_5_4__017551 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_4__1_in_rule__AttributeCS__Group_5_4__017554 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Alternatives_5_4_0_in_rule__AttributeCS__Group_5_4__0__Impl17581 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_4__1__Impl_in_rule__AttributeCS__Group_5_4__117611 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__AttributeCS__Group_5_4__1__Impl17640 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_5__0__Impl_in_rule__AttributeCS__Group_5_5__017677 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_5__1_in_rule__AttributeCS__Group_5_5__017680 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Alternatives_5_5_0_in_rule__AttributeCS__Group_5_5__0__Impl17707 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_5__1__Impl_in_rule__AttributeCS__Group_5_5__117737 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__AttributeCS__Group_5_5__1__Impl17766 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_6__0__Impl_in_rule__AttributeCS__Group_5_6__017803 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_6__1_in_rule__AttributeCS__Group_5_6__017806 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Alternatives_5_6_0_in_rule__AttributeCS__Group_5_6__0__Impl17833 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_6__1__Impl_in_rule__AttributeCS__Group_5_6__117863 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__AttributeCS__Group_5_6__1__Impl17892 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_7__0__Impl_in_rule__AttributeCS__Group_5_7__017929 = new BitSet(new long[]{0x1F9E082020000000L,0x0000300000000000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_7__1_in_rule__AttributeCS__Group_5_7__017932 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_7_0__0_in_rule__AttributeCS__Group_5_7__0__Impl17959 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_7__1__Impl_in_rule__AttributeCS__Group_5_7__117990 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_109_in_rule__AttributeCS__Group_5_7__1__Impl18018 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_7_0__0__Impl_in_rule__AttributeCS__Group_5_7_0__018053 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_7_0__1_in_rule__AttributeCS__Group_5_7_0__018056 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Alternatives_5_7_0_0_in_rule__AttributeCS__Group_5_7_0__0__Impl18083 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_7_0__1__Impl_in_rule__AttributeCS__Group_5_7_0__118113 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__AttributeCS__Group_5_7_0__1__Impl18142 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0__0__Impl_in_rule__AttributeCS__Group_6_0__018179 = new BitSet(new long[]{0x0000000082000000L,0x0000200000000023L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0__1_in_rule__AttributeCS__Group_6_0__018182 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_108_in_rule__AttributeCS__Group_6_0__0__Impl18210 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0__1__Impl_in_rule__AttributeCS__Group_6_0__118241 = new BitSet(new long[]{0x0000000082000000L,0x0000200000000023L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0__2_in_rule__AttributeCS__Group_6_0__118244 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Alternatives_6_0_1_in_rule__AttributeCS__Group_6_0__1__Impl18271 = new BitSet(new long[]{0x0000000082000002L,0x0000000000000023L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0__2__Impl_in_rule__AttributeCS__Group_6_0__218302 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_109_in_rule__AttributeCS__Group_6_0__2__Impl18330 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_1__0__Impl_in_rule__AttributeCS__Group_6_0_1_1__018367 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000004000000003FL});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_1__1_in_rule__AttributeCS__Group_6_0_1_1__018370 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_25_in_rule__AttributeCS__Group_6_0_1_1__0__Impl18398 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_1__1__Impl_in_rule__AttributeCS__Group_6_0_1_1__118429 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000004000000003FL});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_1__2_in_rule__AttributeCS__Group_6_0_1_1__118432 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__AttributeCS__Group_6_0_1_1__1__Impl18460 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_1__2__Impl_in_rule__AttributeCS__Group_6_0_1_1__218491 = new BitSet(new long[]{0x003FFFFFFFFE03B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_1__3_in_rule__AttributeCS__Group_6_0_1_1__218494 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_106_in_rule__AttributeCS__Group_6_0_1_1__2__Impl18522 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_1__3__Impl_in_rule__AttributeCS__Group_6_0_1_1__318553 = new BitSet(new long[]{0x003FFFFFFFFE03B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_1__4_in_rule__AttributeCS__Group_6_0_1_1__318556 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_1_3_in_rule__AttributeCS__Group_6_0_1_1__3__Impl18583 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_1__4__Impl_in_rule__AttributeCS__Group_6_0_1_1__418614 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_53_in_rule__AttributeCS__Group_6_0_1_1__4__Impl18642 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_2__0__Impl_in_rule__AttributeCS__Group_6_0_1_2__018683 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000004000000003FL});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_2__1_in_rule__AttributeCS__Group_6_0_1_2__018686 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_31_in_rule__AttributeCS__Group_6_0_1_2__0__Impl18714 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_2__1__Impl_in_rule__AttributeCS__Group_6_0_1_2__118745 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000004000000003FL});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_2__2_in_rule__AttributeCS__Group_6_0_1_2__118748 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__AttributeCS__Group_6_0_1_2__1__Impl18776 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_2__2__Impl_in_rule__AttributeCS__Group_6_0_1_2__218807 = new BitSet(new long[]{0x003FFFFFFFFE03B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_2__3_in_rule__AttributeCS__Group_6_0_1_2__218810 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_106_in_rule__AttributeCS__Group_6_0_1_2__2__Impl18838 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_2__3__Impl_in_rule__AttributeCS__Group_6_0_1_2__318869 = new BitSet(new long[]{0x003FFFFFFFFE03B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_2__4_in_rule__AttributeCS__Group_6_0_1_2__318872 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_2_3_in_rule__AttributeCS__Group_6_0_1_2__3__Impl18899 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_6_0_1_2__4__Impl_in_rule__AttributeCS__Group_6_0_1_2__418930 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_53_in_rule__AttributeCS__Group_6_0_1_2__4__Impl18958 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DataTypeCS__Group__0__Impl_in_rule__DataTypeCS__Group__018999 = new BitSet(new long[]{0x0000020000800000L});
+        public static final BitSet FOLLOW_rule__DataTypeCS__Group__1_in_rule__DataTypeCS__Group__019002 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DataTypeCS__IsPrimitiveAssignment_0_in_rule__DataTypeCS__Group__0__Impl19029 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DataTypeCS__Group__1__Impl_in_rule__DataTypeCS__Group__119060 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000000000000003FL});
+        public static final BitSet FOLLOW_rule__DataTypeCS__Group__2_in_rule__DataTypeCS__Group__119063 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_23_in_rule__DataTypeCS__Group__1__Impl19091 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DataTypeCS__Group__2__Impl_in_rule__DataTypeCS__Group__219122 = new BitSet(new long[]{0x0020000000000000L,0x0000150000001000L});
+        public static final BitSet FOLLOW_rule__DataTypeCS__Group__3_in_rule__DataTypeCS__Group__219125 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DataTypeCS__NameAssignment_2_in_rule__DataTypeCS__Group__2__Impl19152 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DataTypeCS__Group__3__Impl_in_rule__DataTypeCS__Group__319182 = new BitSet(new long[]{0x0020000000000000L,0x0000150000001000L});
+        public static final BitSet FOLLOW_rule__DataTypeCS__Group__4_in_rule__DataTypeCS__Group__319185 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DataTypeCS__OwnedSignatureAssignment_3_in_rule__DataTypeCS__Group__3__Impl19212 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DataTypeCS__Group__4__Impl_in_rule__DataTypeCS__Group__419243 = new BitSet(new long[]{0x0020000000000000L,0x0000150000001000L});
+        public static final BitSet FOLLOW_rule__DataTypeCS__Group__5_in_rule__DataTypeCS__Group__419246 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DataTypeCS__Group_4__0_in_rule__DataTypeCS__Group__4__Impl19273 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DataTypeCS__Group__5__Impl_in_rule__DataTypeCS__Group__519304 = new BitSet(new long[]{0x0020000000000000L,0x0000150000001000L});
+        public static final BitSet FOLLOW_rule__DataTypeCS__Group__6_in_rule__DataTypeCS__Group__519307 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DataTypeCS__Group_5__0_in_rule__DataTypeCS__Group__5__Impl19334 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DataTypeCS__Group__6__Impl_in_rule__DataTypeCS__Group__619365 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DataTypeCS__Alternatives_6_in_rule__DataTypeCS__Group__6__Impl19392 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DataTypeCS__Group_4__0__Impl_in_rule__DataTypeCS__Group_4__019436 = new BitSet(new long[]{0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__DataTypeCS__Group_4__1_in_rule__DataTypeCS__Group_4__019439 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_106_in_rule__DataTypeCS__Group_4__0__Impl19467 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DataTypeCS__Group_4__1__Impl_in_rule__DataTypeCS__Group_4__119498 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DataTypeCS__InstanceClassNameAssignment_4_1_in_rule__DataTypeCS__Group_4__1__Impl19525 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DataTypeCS__Group_5__0__Impl_in_rule__DataTypeCS__Group_5__019559 = new BitSet(new long[]{0x2000000000000000L,0x0000200000000010L});
+        public static final BitSet FOLLOW_rule__DataTypeCS__Group_5__1_in_rule__DataTypeCS__Group_5__019562 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_108_in_rule__DataTypeCS__Group_5__0__Impl19590 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DataTypeCS__Group_5__1__Impl_in_rule__DataTypeCS__Group_5__119621 = new BitSet(new long[]{0x2000000000000000L,0x0000200000000010L});
+        public static final BitSet FOLLOW_rule__DataTypeCS__Group_5__2_in_rule__DataTypeCS__Group_5__119624 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DataTypeCS__Alternatives_5_1_in_rule__DataTypeCS__Group_5__1__Impl19651 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DataTypeCS__Group_5__2__Impl_in_rule__DataTypeCS__Group_5__219682 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_109_in_rule__DataTypeCS__Group_5__2__Impl19710 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DataTypeCS__Group_6_0__0__Impl_in_rule__DataTypeCS__Group_6_0__019747 = new BitSet(new long[]{0x0000000000100000L,0x0000200000000027L});
+        public static final BitSet FOLLOW_rule__DataTypeCS__Group_6_0__1_in_rule__DataTypeCS__Group_6_0__019750 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_108_in_rule__DataTypeCS__Group_6_0__0__Impl19778 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DataTypeCS__Group_6_0__1__Impl_in_rule__DataTypeCS__Group_6_0__119809 = new BitSet(new long[]{0x0000000000100000L,0x0000200000000027L});
+        public static final BitSet FOLLOW_rule__DataTypeCS__Group_6_0__2_in_rule__DataTypeCS__Group_6_0__119812 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DataTypeCS__Alternatives_6_0_1_in_rule__DataTypeCS__Group_6_0__1__Impl19839 = new BitSet(new long[]{0x0000000000100002L,0x0000000000000027L});
+        public static final BitSet FOLLOW_rule__DataTypeCS__Group_6_0__2__Impl_in_rule__DataTypeCS__Group_6_0__219870 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_109_in_rule__DataTypeCS__Group_6_0__2__Impl19898 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DetailCS__Group__0__Impl_in_rule__DetailCS__Group__019935 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008000L});
+        public static final BitSet FOLLOW_rule__DetailCS__Group__1_in_rule__DetailCS__Group__019938 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DetailCS__NameAssignment_0_in_rule__DetailCS__Group__0__Impl19965 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DetailCS__Group__1__Impl_in_rule__DetailCS__Group__119995 = new BitSet(new long[]{0x0000000000000060L});
+        public static final BitSet FOLLOW_rule__DetailCS__Group__2_in_rule__DetailCS__Group__119998 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_79_in_rule__DetailCS__Group__1__Impl20026 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DetailCS__Group__2__Impl_in_rule__DetailCS__Group__220057 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DetailCS__ValuesAssignment_2_in_rule__DetailCS__Group__2__Impl20084 = new BitSet(new long[]{0x0000000000000062L});
+        public static final BitSet FOLLOW_rule__DocumentationCS__Group__0__Impl_in_rule__DocumentationCS__Group__020121 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DocumentationCS__Group__1_in_rule__DocumentationCS__Group__020124 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DocumentationCS__Group__1__Impl_in_rule__DocumentationCS__Group__120182 = new BitSet(new long[]{0x0020000000000020L,0x0000010000000000L});
+        public static final BitSet FOLLOW_rule__DocumentationCS__Group__2_in_rule__DocumentationCS__Group__120185 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_65_in_rule__DocumentationCS__Group__1__Impl20213 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DocumentationCS__Group__2__Impl_in_rule__DocumentationCS__Group__220244 = new BitSet(new long[]{0x0020000000000020L,0x0000010000000000L});
+        public static final BitSet FOLLOW_rule__DocumentationCS__Group__3_in_rule__DocumentationCS__Group__220247 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DocumentationCS__ValueAssignment_2_in_rule__DocumentationCS__Group__2__Impl20274 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DocumentationCS__Group__3__Impl_in_rule__DocumentationCS__Group__320305 = new BitSet(new long[]{0x0020000000000020L,0x0000010000000000L});
+        public static final BitSet FOLLOW_rule__DocumentationCS__Group__4_in_rule__DocumentationCS__Group__320308 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DocumentationCS__Group_3__0_in_rule__DocumentationCS__Group__3__Impl20335 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DocumentationCS__Group__4__Impl_in_rule__DocumentationCS__Group__420366 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_53_in_rule__DocumentationCS__Group__4__Impl20394 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DocumentationCS__Group_3__0__Impl_in_rule__DocumentationCS__Group_3__020435 = new BitSet(new long[]{0x001FFFFFFFFE01A0L,0x000000000000003FL});
+        public static final BitSet FOLLOW_rule__DocumentationCS__Group_3__1_in_rule__DocumentationCS__Group_3__020438 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_104_in_rule__DocumentationCS__Group_3__0__Impl20466 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DocumentationCS__Group_3__1__Impl_in_rule__DocumentationCS__Group_3__120497 = new BitSet(new long[]{0x0000000000000000L,0x00000A0000000000L});
+        public static final BitSet FOLLOW_rule__DocumentationCS__Group_3__2_in_rule__DocumentationCS__Group_3__120500 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DocumentationCS__OwnedDetailsAssignment_3_1_in_rule__DocumentationCS__Group_3__1__Impl20527 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DocumentationCS__Group_3__2__Impl_in_rule__DocumentationCS__Group_3__220557 = new BitSet(new long[]{0x0000000000000000L,0x00000A0000000000L});
+        public static final BitSet FOLLOW_rule__DocumentationCS__Group_3__3_in_rule__DocumentationCS__Group_3__220560 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DocumentationCS__Group_3_2__0_in_rule__DocumentationCS__Group_3__2__Impl20587 = new BitSet(new long[]{0x0000000000000002L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__DocumentationCS__Group_3__3__Impl_in_rule__DocumentationCS__Group_3__320618 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_105_in_rule__DocumentationCS__Group_3__3__Impl20646 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DocumentationCS__Group_3_2__0__Impl_in_rule__DocumentationCS__Group_3_2__020685 = new BitSet(new long[]{0x001FFFFFFFFE01A0L,0x000000000000003FL});
+        public static final BitSet FOLLOW_rule__DocumentationCS__Group_3_2__1_in_rule__DocumentationCS__Group_3_2__020688 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__DocumentationCS__Group_3_2__0__Impl20716 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DocumentationCS__Group_3_2__1__Impl_in_rule__DocumentationCS__Group_3_2__120747 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DocumentationCS__OwnedDetailsAssignment_3_2_1_in_rule__DocumentationCS__Group_3_2__1__Impl20774 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationCS__Group__0__Impl_in_rule__EnumerationCS__Group__020808 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000000000000003FL});
+        public static final BitSet FOLLOW_rule__EnumerationCS__Group__1_in_rule__EnumerationCS__Group__020811 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_27_in_rule__EnumerationCS__Group__0__Impl20839 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationCS__Group__1__Impl_in_rule__EnumerationCS__Group__120870 = new BitSet(new long[]{0x0020000000000000L,0x0000150000001000L});
+        public static final BitSet FOLLOW_rule__EnumerationCS__Group__2_in_rule__EnumerationCS__Group__120873 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationCS__NameAssignment_1_in_rule__EnumerationCS__Group__1__Impl20900 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationCS__Group__2__Impl_in_rule__EnumerationCS__Group__220930 = new BitSet(new long[]{0x0020000000000000L,0x0000150000001000L});
+        public static final BitSet FOLLOW_rule__EnumerationCS__Group__3_in_rule__EnumerationCS__Group__220933 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationCS__OwnedSignatureAssignment_2_in_rule__EnumerationCS__Group__2__Impl20960 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationCS__Group__3__Impl_in_rule__EnumerationCS__Group__320991 = new BitSet(new long[]{0x0020000000000000L,0x0000150000001000L});
+        public static final BitSet FOLLOW_rule__EnumerationCS__Group__4_in_rule__EnumerationCS__Group__320994 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationCS__Group_3__0_in_rule__EnumerationCS__Group__3__Impl21021 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationCS__Group__4__Impl_in_rule__EnumerationCS__Group__421052 = new BitSet(new long[]{0x0020000000000000L,0x0000150000001000L});
+        public static final BitSet FOLLOW_rule__EnumerationCS__Group__5_in_rule__EnumerationCS__Group__421055 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationCS__Group_4__0_in_rule__EnumerationCS__Group__4__Impl21082 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationCS__Group__5__Impl_in_rule__EnumerationCS__Group__521113 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationCS__Alternatives_5_in_rule__EnumerationCS__Group__5__Impl21140 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationCS__Group_3__0__Impl_in_rule__EnumerationCS__Group_3__021182 = new BitSet(new long[]{0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__EnumerationCS__Group_3__1_in_rule__EnumerationCS__Group_3__021185 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_106_in_rule__EnumerationCS__Group_3__0__Impl21213 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationCS__Group_3__1__Impl_in_rule__EnumerationCS__Group_3__121244 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationCS__InstanceClassNameAssignment_3_1_in_rule__EnumerationCS__Group_3__1__Impl21271 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationCS__Group_4__0__Impl_in_rule__EnumerationCS__Group_4__021305 = new BitSet(new long[]{0x2000000000000000L,0x0000200000000010L});
+        public static final BitSet FOLLOW_rule__EnumerationCS__Group_4__1_in_rule__EnumerationCS__Group_4__021308 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_108_in_rule__EnumerationCS__Group_4__0__Impl21336 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationCS__Group_4__1__Impl_in_rule__EnumerationCS__Group_4__121367 = new BitSet(new long[]{0x2000000000000000L,0x0000200000000010L});
+        public static final BitSet FOLLOW_rule__EnumerationCS__Group_4__2_in_rule__EnumerationCS__Group_4__121370 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationCS__Alternatives_4_1_in_rule__EnumerationCS__Group_4__1__Impl21397 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationCS__Group_4__2__Impl_in_rule__EnumerationCS__Group_4__221428 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_109_in_rule__EnumerationCS__Group_4__2__Impl21456 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationCS__Group_5_0__0__Impl_in_rule__EnumerationCS__Group_5_0__021493 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000020000000002FL});
+        public static final BitSet FOLLOW_rule__EnumerationCS__Group_5_0__1_in_rule__EnumerationCS__Group_5_0__021496 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_108_in_rule__EnumerationCS__Group_5_0__0__Impl21524 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationCS__Group_5_0__1__Impl_in_rule__EnumerationCS__Group_5_0__121555 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000020000000002FL});
+        public static final BitSet FOLLOW_rule__EnumerationCS__Group_5_0__2_in_rule__EnumerationCS__Group_5_0__121558 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationCS__Alternatives_5_0_1_in_rule__EnumerationCS__Group_5_0__1__Impl21585 = new BitSet(new long[]{0x001FFFFFFFFE0182L,0x000000000000002FL});
+        public static final BitSet FOLLOW_rule__EnumerationCS__Group_5_0__2__Impl_in_rule__EnumerationCS__Group_5_0__221616 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_109_in_rule__EnumerationCS__Group_5_0__2__Impl21644 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Group__0__Impl_in_rule__EnumerationLiteralCS__Group__021681 = new BitSet(new long[]{0x0020000000000000L,0x0000100000008000L});
+        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Group__1_in_rule__EnumerationLiteralCS__Group__021684 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Alternatives_0_in_rule__EnumerationLiteralCS__Group__0__Impl21711 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Group__1__Impl_in_rule__EnumerationLiteralCS__Group__121741 = new BitSet(new long[]{0x0020000000000000L,0x0000100000008000L});
+        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Group__2_in_rule__EnumerationLiteralCS__Group__121744 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Group_1__0_in_rule__EnumerationLiteralCS__Group__1__Impl21771 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Group__2__Impl_in_rule__EnumerationLiteralCS__Group__221802 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Alternatives_2_in_rule__EnumerationLiteralCS__Group__2__Impl21829 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Group_0_0__0__Impl_in_rule__EnumerationLiteralCS__Group_0_0__021865 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000000000000003FL});
+        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Group_0_0__1_in_rule__EnumerationLiteralCS__Group_0_0__021868 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_67_in_rule__EnumerationLiteralCS__Group_0_0__0__Impl21896 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Group_0_0__1__Impl_in_rule__EnumerationLiteralCS__Group_0_0__121927 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__NameAssignment_0_0_1_in_rule__EnumerationLiteralCS__Group_0_0__1__Impl21954 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Group_1__0__Impl_in_rule__EnumerationLiteralCS__Group_1__021988 = new BitSet(new long[]{0x0000000000000010L,0x0000000000000040L});
+        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Group_1__1_in_rule__EnumerationLiteralCS__Group_1__021991 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_79_in_rule__EnumerationLiteralCS__Group_1__0__Impl22019 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Group_1__1__Impl_in_rule__EnumerationLiteralCS__Group_1__122050 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__ValueAssignment_1_1_in_rule__EnumerationLiteralCS__Group_1__1__Impl22077 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Group_2_0__0__Impl_in_rule__EnumerationLiteralCS__Group_2_0__022111 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000023L});
+        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Group_2_0__1_in_rule__EnumerationLiteralCS__Group_2_0__022114 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_108_in_rule__EnumerationLiteralCS__Group_2_0__0__Impl22142 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Group_2_0__1__Impl_in_rule__EnumerationLiteralCS__Group_2_0__122173 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000023L});
+        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Group_2_0__2_in_rule__EnumerationLiteralCS__Group_2_0__122176 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__OwnedAnnotationsAssignment_2_0_1_in_rule__EnumerationLiteralCS__Group_2_0__1__Impl22203 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000023L});
+        public static final BitSet FOLLOW_rule__EnumerationLiteralCS__Group_2_0__2__Impl_in_rule__EnumerationLiteralCS__Group_2_0__222234 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_109_in_rule__EnumerationLiteralCS__Group_2_0__2__Impl22262 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ImportCS__Group__0__Impl_in_rule__ImportCS__Group__022299 = new BitSet(new long[]{0x001FFFFFFFFE01A0L,0x000000000000003FL});
+        public static final BitSet FOLLOW_rule__ImportCS__Group__1_in_rule__ImportCS__Group__022302 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_30_in_rule__ImportCS__Group__0__Impl22330 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ImportCS__Group__1__Impl_in_rule__ImportCS__Group__122361 = new BitSet(new long[]{0x001FFFFFFFFE01A0L,0x000000000000003FL});
+        public static final BitSet FOLLOW_rule__ImportCS__Group__2_in_rule__ImportCS__Group__122364 = new BitSet(new long[]{0x0000000000000002L});
     }
 
     private static class FollowSets001 {
-        public static final BitSet FOLLOW_rule__LibraryCS__Group__2__Impl_in_rule__LibraryCS__Group__222016 = new BitSet(new long[]{0x0020000000000000L});
-        public static final BitSet FOLLOW_rule__LibraryCS__Group__3_in_rule__LibraryCS__Group__222019 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LibraryCS__ReferredPackageAssignment_2_in_rule__LibraryCS__Group__2__Impl22046 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LibraryCS__Group__3__Impl_in_rule__LibraryCS__Group__322076 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_53_in_rule__LibraryCS__Group__3__Impl22104 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LibraryCS__Group_1__0__Impl_in_rule__LibraryCS__Group_1__022143 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
-        public static final BitSet FOLLOW_rule__LibraryCS__Group_1__1_in_rule__LibraryCS__Group_1__022146 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LibraryCS__NameAssignment_1_0_in_rule__LibraryCS__Group_1__0__Impl22173 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LibraryCS__Group_1__1__Impl_in_rule__LibraryCS__Group_1__122203 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_97_in_rule__LibraryCS__Group_1__1__Impl22231 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ModelElementRefCS__Group__0__Impl_in_rule__ModelElementRefCS__Group__022266 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00410E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__ModelElementRefCS__Group__1_in_rule__ModelElementRefCS__Group__022269 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_44_in_rule__ModelElementRefCS__Group__0__Impl22297 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ModelElementRefCS__Group__1__Impl_in_rule__ModelElementRefCS__Group__122328 = new BitSet(new long[]{0x0020000000000000L});
-        public static final BitSet FOLLOW_rule__ModelElementRefCS__Group__2_in_rule__ModelElementRefCS__Group__122331 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ModelElementRefCS__OwnedPathNameAssignment_1_in_rule__ModelElementRefCS__Group__1__Impl22358 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ModelElementRefCS__Group__2__Impl_in_rule__ModelElementRefCS__Group__222388 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_53_in_rule__ModelElementRefCS__Group__2__Impl22416 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group__0__Impl_in_rule__OperationCS__Group__022453 = new BitSet(new long[]{0x0000401001000000L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group__1_in_rule__OperationCS__Group__022456 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Alternatives_0_in_rule__OperationCS__Group__0__Impl22483 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group__1__Impl_in_rule__OperationCS__Group__122514 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L,0x0000000080000008L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group__2_in_rule__OperationCS__Group__122517 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_36_in_rule__OperationCS__Group__1__Impl22545 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group__2__Impl_in_rule__OperationCS__Group__222576 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L,0x0000000080000008L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group__3_in_rule__OperationCS__Group__222579 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__OwnedSignatureAssignment_2_in_rule__OperationCS__Group__2__Impl22606 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group__3__Impl_in_rule__OperationCS__Group__322637 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group__4_in_rule__OperationCS__Group__322640 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__NameAssignment_3_in_rule__OperationCS__Group__3__Impl22667 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group__4__Impl_in_rule__OperationCS__Group__422697 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L,0x0000000100000000L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group__5_in_rule__OperationCS__Group__422700 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_95_in_rule__OperationCS__Group__4__Impl22728 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group__5__Impl_in_rule__OperationCS__Group__522759 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L,0x0000000100000000L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group__6_in_rule__OperationCS__Group__522762 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_5__0_in_rule__OperationCS__Group__5__Impl22789 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group__6__Impl_in_rule__OperationCS__Group__622820 = new BitSet(new long[]{0x0021000000000000L,0x0000000A00000000L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group__7_in_rule__OperationCS__Group__622823 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_96_in_rule__OperationCS__Group__6__Impl22851 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group__7__Impl_in_rule__OperationCS__Group__722882 = new BitSet(new long[]{0x0021000000000000L,0x0000000A00000000L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group__8_in_rule__OperationCS__Group__722885 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_7__0_in_rule__OperationCS__Group__7__Impl22912 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group__8__Impl_in_rule__OperationCS__Group__822943 = new BitSet(new long[]{0x0021000000000000L,0x0000000A00000000L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group__9_in_rule__OperationCS__Group__822946 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_8__0_in_rule__OperationCS__Group__8__Impl22973 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group__9__Impl_in_rule__OperationCS__Group__923004 = new BitSet(new long[]{0x0021000000000000L,0x0000000A00000000L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group__10_in_rule__OperationCS__Group__923007 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_9__0_in_rule__OperationCS__Group__9__Impl23034 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group__10__Impl_in_rule__OperationCS__Group__1023065 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Alternatives_10_in_rule__OperationCS__Group__10__Impl23092 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_0_0__0__Impl_in_rule__OperationCS__Group_0_0__023144 = new BitSet(new long[]{0x0000000001000000L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_0_0__1_in_rule__OperationCS__Group_0_0__023147 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__QualifiersAssignment_0_0_0_in_rule__OperationCS__Group_0_0__0__Impl23174 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_0_0__1__Impl_in_rule__OperationCS__Group_0_0__123204 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__QualifiersAssignment_0_0_1_in_rule__OperationCS__Group_0_0__1__Impl23231 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_0_1__0__Impl_in_rule__OperationCS__Group_0_1__023266 = new BitSet(new long[]{0x0000400000000000L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_0_1__1_in_rule__OperationCS__Group_0_1__023269 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__QualifiersAssignment_0_1_0_in_rule__OperationCS__Group_0_1__0__Impl23296 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_0_1__1__Impl_in_rule__OperationCS__Group_0_1__123326 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__QualifiersAssignment_0_1_1_in_rule__OperationCS__Group_0_1__1__Impl23353 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_5__0__Impl_in_rule__OperationCS__Group_5__023388 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_5__1_in_rule__OperationCS__Group_5__023391 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__OwnedParametersAssignment_5_0_in_rule__OperationCS__Group_5__0__Impl23418 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_5__1__Impl_in_rule__OperationCS__Group_5__123448 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_5_1__0_in_rule__OperationCS__Group_5__1__Impl23475 = new BitSet(new long[]{0x0000000000000002L,0x0000000400000000L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_5_1__0__Impl_in_rule__OperationCS__Group_5_1__023510 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_5_1__1_in_rule__OperationCS__Group_5_1__023513 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_98_in_rule__OperationCS__Group_5_1__0__Impl23541 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_5_1__1__Impl_in_rule__OperationCS__Group_5_1__123572 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__OwnedParametersAssignment_5_1_1_in_rule__OperationCS__Group_5_1__1__Impl23599 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_7__0__Impl_in_rule__OperationCS__Group_7__023633 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00410E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_7__1_in_rule__OperationCS__Group_7__023636 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_97_in_rule__OperationCS__Group_7__0__Impl23664 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_7__1__Impl_in_rule__OperationCS__Group_7__123695 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__OwnedTypeAssignment_7_1_in_rule__OperationCS__Group_7__1__Impl23722 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_8__0__Impl_in_rule__OperationCS__Group_8__023756 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00410E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_8__1_in_rule__OperationCS__Group_8__023759 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_48_in_rule__OperationCS__Group_8__0__Impl23787 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_8__1__Impl_in_rule__OperationCS__Group_8__123818 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_8__2_in_rule__OperationCS__Group_8__123821 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__OwnedExceptionsAssignment_8_1_in_rule__OperationCS__Group_8__1__Impl23848 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_8__2__Impl_in_rule__OperationCS__Group_8__223878 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_8_2__0_in_rule__OperationCS__Group_8__2__Impl23905 = new BitSet(new long[]{0x0000000000000002L,0x0000000400000000L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_8_2__0__Impl_in_rule__OperationCS__Group_8_2__023942 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00410E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_8_2__1_in_rule__OperationCS__Group_8_2__023945 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_98_in_rule__OperationCS__Group_8_2__0__Impl23973 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_8_2__1__Impl_in_rule__OperationCS__Group_8_2__124004 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__OwnedExceptionsAssignment_8_2_1_in_rule__OperationCS__Group_8_2__1__Impl24031 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_9__0__Impl_in_rule__OperationCS__Group_9__024065 = new BitSet(new long[]{0x0004002004000000L,0x2500000000000000L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_9__1_in_rule__OperationCS__Group_9__024068 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_99_in_rule__OperationCS__Group_9__0__Impl24096 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_9__1__Impl_in_rule__OperationCS__Group_9__124127 = new BitSet(new long[]{0x0000000000000000L,0x0000001000000000L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_9__2_in_rule__OperationCS__Group_9__124130 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_9_1__0_in_rule__OperationCS__Group_9__1__Impl24159 = new BitSet(new long[]{0x0004002004000002L,0x2500000000000000L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_9_1__0_in_rule__OperationCS__Group_9__1__Impl24171 = new BitSet(new long[]{0x0004002004000002L,0x2500000000000000L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_9__2__Impl_in_rule__OperationCS__Group_9__224204 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_100_in_rule__OperationCS__Group_9__2__Impl24232 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_9_1__0__Impl_in_rule__OperationCS__Group_9_1__024269 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_9_1__1_in_rule__OperationCS__Group_9_1__024272 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Alternatives_9_1_0_in_rule__OperationCS__Group_9_1__0__Impl24299 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_9_1__1__Impl_in_rule__OperationCS__Group_9_1__124329 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_98_in_rule__OperationCS__Group_9_1__1__Impl24358 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_10_0__0__Impl_in_rule__OperationCS__Group_10_0__024395 = new BitSet(new long[]{0x1180018000080000L,0x0000001000000000L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_10_0__1_in_rule__OperationCS__Group_10_0__024398 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_99_in_rule__OperationCS__Group_10_0__0__Impl24426 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_10_0__1__Impl_in_rule__OperationCS__Group_10_0__124457 = new BitSet(new long[]{0x1180018000080000L,0x0000001000000000L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_10_0__2_in_rule__OperationCS__Group_10_0__124460 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Alternatives_10_0_1_in_rule__OperationCS__Group_10_0__1__Impl24487 = new BitSet(new long[]{0x1180018000080002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_10_0__2__Impl_in_rule__OperationCS__Group_10_0__224518 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_100_in_rule__OperationCS__Group_10_0__2__Impl24546 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_10_0_1_2__0__Impl_in_rule__OperationCS__Group_10_0_1_2__024583 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L,0x0000000200000000L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_10_0_1_2__1_in_rule__OperationCS__Group_10_0_1_2__024586 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_19_in_rule__OperationCS__Group_10_0_1_2__0__Impl24614 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_10_0_1_2__1__Impl_in_rule__OperationCS__Group_10_0_1_2__124645 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L,0x0000000200000000L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_10_0_1_2__2_in_rule__OperationCS__Group_10_0_1_2__124648 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__OperationCS__Group_10_0_1_2__1__Impl24676 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_10_0_1_2__2__Impl_in_rule__OperationCS__Group_10_0_1_2__224707 = new BitSet(new long[]{0xFFBFFFFFFFFE03B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_10_0_1_2__3_in_rule__OperationCS__Group_10_0_1_2__224710 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_97_in_rule__OperationCS__Group_10_0_1_2__2__Impl24738 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_10_0_1_2__3__Impl_in_rule__OperationCS__Group_10_0_1_2__324769 = new BitSet(new long[]{0xFFBFFFFFFFFE03B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_10_0_1_2__4_in_rule__OperationCS__Group_10_0_1_2__324772 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__OwnedBodyExpressionsAssignment_10_0_1_2_3_in_rule__OperationCS__Group_10_0_1_2__3__Impl24799 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__OperationCS__Group_10_0_1_2__4__Impl_in_rule__OperationCS__Group_10_0_1_2__424830 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_53_in_rule__OperationCS__Group_10_0_1_2__4__Impl24858 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PackageCS__Group__0__Impl_in_rule__PackageCS__Group__024899 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L});
-        public static final BitSet FOLLOW_rule__PackageCS__Group__1_in_rule__PackageCS__Group__024902 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_38_in_rule__PackageCS__Group__0__Impl24930 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PackageCS__Group__1__Impl_in_rule__PackageCS__Group__124961 = new BitSet(new long[]{0x0020000000000000L,0x0000000A00000040L});
-        public static final BitSet FOLLOW_rule__PackageCS__Group__2_in_rule__PackageCS__Group__124964 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PackageCS__NameAssignment_1_in_rule__PackageCS__Group__1__Impl24991 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PackageCS__Group__2__Impl_in_rule__PackageCS__Group__225021 = new BitSet(new long[]{0x0020000000000000L,0x0000000A00000040L});
-        public static final BitSet FOLLOW_rule__PackageCS__Group__3_in_rule__PackageCS__Group__225024 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PackageCS__Group_2__0_in_rule__PackageCS__Group__2__Impl25051 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PackageCS__Group__3__Impl_in_rule__PackageCS__Group__325082 = new BitSet(new long[]{0x0020000000000000L,0x0000000A00000040L});
-        public static final BitSet FOLLOW_rule__PackageCS__Group__4_in_rule__PackageCS__Group__325085 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PackageCS__Group_3__0_in_rule__PackageCS__Group__3__Impl25112 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PackageCS__Group__4__Impl_in_rule__PackageCS__Group__425143 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PackageCS__Alternatives_4_in_rule__PackageCS__Group__4__Impl25170 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PackageCS__Group_2__0__Impl_in_rule__PackageCS__Group_2__025210 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L});
-        public static final BitSet FOLLOW_rule__PackageCS__Group_2__1_in_rule__PackageCS__Group_2__025213 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_97_in_rule__PackageCS__Group_2__0__Impl25241 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PackageCS__Group_2__1__Impl_in_rule__PackageCS__Group_2__125272 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PackageCS__NsPrefixAssignment_2_1_in_rule__PackageCS__Group_2__1__Impl25299 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PackageCS__Group_3__0__Impl_in_rule__PackageCS__Group_3__025333 = new BitSet(new long[]{0x1F9FFFFFFFFE01A0L});
-        public static final BitSet FOLLOW_rule__PackageCS__Group_3__1_in_rule__PackageCS__Group_3__025336 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_70_in_rule__PackageCS__Group_3__0__Impl25364 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PackageCS__Group_3__1__Impl_in_rule__PackageCS__Group_3__125395 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PackageCS__NsURIAssignment_3_1_in_rule__PackageCS__Group_3__1__Impl25422 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PackageCS__Group_4_0__0__Impl_in_rule__PackageCS__Group_4_0__025456 = new BitSet(new long[]{0x1180024008A20000L,0x0000001000000000L});
-        public static final BitSet FOLLOW_rule__PackageCS__Group_4_0__1_in_rule__PackageCS__Group_4_0__025459 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_99_in_rule__PackageCS__Group_4_0__0__Impl25487 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PackageCS__Group_4_0__1__Impl_in_rule__PackageCS__Group_4_0__125518 = new BitSet(new long[]{0x1180024008A20000L,0x0000001000000000L});
-        public static final BitSet FOLLOW_rule__PackageCS__Group_4_0__2_in_rule__PackageCS__Group_4_0__125521 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PackageCS__Alternatives_4_0_1_in_rule__PackageCS__Group_4_0__1__Impl25548 = new BitSet(new long[]{0x1180024008A20002L});
-        public static final BitSet FOLLOW_rule__PackageCS__Group_4_0__2__Impl_in_rule__PackageCS__Group_4_0__225579 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_100_in_rule__PackageCS__Group_4_0__2__Impl25607 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ParameterCS__Group__0__Impl_in_rule__ParameterCS__Group__025644 = new BitSet(new long[]{0x0000000000000000L,0x0000000A00000000L});
-        public static final BitSet FOLLOW_rule__ParameterCS__Group__1_in_rule__ParameterCS__Group__025647 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ParameterCS__NameAssignment_0_in_rule__ParameterCS__Group__0__Impl25674 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ParameterCS__Group__1__Impl_in_rule__ParameterCS__Group__125704 = new BitSet(new long[]{0x0000000000000000L,0x0000000A00000000L});
-        public static final BitSet FOLLOW_rule__ParameterCS__Group__2_in_rule__ParameterCS__Group__125707 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ParameterCS__Group_1__0_in_rule__ParameterCS__Group__1__Impl25734 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ParameterCS__Group__2__Impl_in_rule__ParameterCS__Group__225765 = new BitSet(new long[]{0x0000000000000000L,0x0000000A00000000L});
-        public static final BitSet FOLLOW_rule__ParameterCS__Group__3_in_rule__ParameterCS__Group__225768 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ParameterCS__Group_2__0_in_rule__ParameterCS__Group__2__Impl25795 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ParameterCS__Group__3__Impl_in_rule__ParameterCS__Group__325826 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ParameterCS__Group_3__0_in_rule__ParameterCS__Group__3__Impl25853 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ParameterCS__Group_1__0__Impl_in_rule__ParameterCS__Group_1__025892 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00410E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__ParameterCS__Group_1__1_in_rule__ParameterCS__Group_1__025895 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_97_in_rule__ParameterCS__Group_1__0__Impl25923 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ParameterCS__Group_1__1__Impl_in_rule__ParameterCS__Group_1__125954 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ParameterCS__OwnedTypeAssignment_1_1_in_rule__ParameterCS__Group_1__1__Impl25981 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ParameterCS__Group_2__0__Impl_in_rule__ParameterCS__Group_2__026015 = new BitSet(new long[]{0x0004002000000000L,0x2400000000000000L});
-        public static final BitSet FOLLOW_rule__ParameterCS__Group_2__1_in_rule__ParameterCS__Group_2__026018 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_99_in_rule__ParameterCS__Group_2__0__Impl26046 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ParameterCS__Group_2__1__Impl_in_rule__ParameterCS__Group_2__126077 = new BitSet(new long[]{0x0000000000000000L,0x0000001000000000L});
-        public static final BitSet FOLLOW_rule__ParameterCS__Group_2__2_in_rule__ParameterCS__Group_2__126080 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ParameterCS__Group_2_1__0_in_rule__ParameterCS__Group_2__1__Impl26109 = new BitSet(new long[]{0x0004002000000002L,0x2400000000000000L});
-        public static final BitSet FOLLOW_rule__ParameterCS__Group_2_1__0_in_rule__ParameterCS__Group_2__1__Impl26121 = new BitSet(new long[]{0x0004002000000002L,0x2400000000000000L});
-        public static final BitSet FOLLOW_rule__ParameterCS__Group_2__2__Impl_in_rule__ParameterCS__Group_2__226154 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_100_in_rule__ParameterCS__Group_2__2__Impl26182 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ParameterCS__Group_2_1__0__Impl_in_rule__ParameterCS__Group_2_1__026219 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L});
-        public static final BitSet FOLLOW_rule__ParameterCS__Group_2_1__1_in_rule__ParameterCS__Group_2_1__026222 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ParameterCS__Alternatives_2_1_0_in_rule__ParameterCS__Group_2_1__0__Impl26249 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ParameterCS__Group_2_1__1__Impl_in_rule__ParameterCS__Group_2_1__126279 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_98_in_rule__ParameterCS__Group_2_1__1__Impl26308 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ParameterCS__Group_3__0__Impl_in_rule__ParameterCS__Group_3__026345 = new BitSet(new long[]{0x1180000000000000L,0x0000001000000000L});
-        public static final BitSet FOLLOW_rule__ParameterCS__Group_3__1_in_rule__ParameterCS__Group_3__026348 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_99_in_rule__ParameterCS__Group_3__0__Impl26376 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ParameterCS__Group_3__1__Impl_in_rule__ParameterCS__Group_3__126407 = new BitSet(new long[]{0x1180000000000000L,0x0000001000000000L});
-        public static final BitSet FOLLOW_rule__ParameterCS__Group_3__2_in_rule__ParameterCS__Group_3__126410 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ParameterCS__OwnedAnnotationsAssignment_3_1_in_rule__ParameterCS__Group_3__1__Impl26437 = new BitSet(new long[]{0x1180000000000002L});
-        public static final BitSet FOLLOW_rule__ParameterCS__Group_3__2__Impl_in_rule__ParameterCS__Group_3__226468 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_100_in_rule__ParameterCS__Group_3__2__Impl26496 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group__0__Impl_in_rule__ReferenceCS__Group__026533 = new BitSet(new long[]{0x041FFFFFFFFE0180L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group__1_in_rule__ReferenceCS__Group__026536 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Alternatives_0_in_rule__ReferenceCS__Group__0__Impl26563 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group__1__Impl_in_rule__ReferenceCS__Group__126594 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group__2_in_rule__ReferenceCS__Group__126597 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_42_in_rule__ReferenceCS__Group__1__Impl26625 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group__2__Impl_in_rule__ReferenceCS__Group__226656 = new BitSet(new long[]{0x0020000000000000L,0x0000002A00000040L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group__3_in_rule__ReferenceCS__Group__226659 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__NameAssignment_2_in_rule__ReferenceCS__Group__2__Impl26686 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group__3__Impl_in_rule__ReferenceCS__Group__326716 = new BitSet(new long[]{0x0020000000000000L,0x0000002A00000040L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group__4_in_rule__ReferenceCS__Group__326719 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_3__0_in_rule__ReferenceCS__Group__3__Impl26746 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group__4__Impl_in_rule__ReferenceCS__Group__426777 = new BitSet(new long[]{0x0020000000000000L,0x0000002A00000040L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group__5_in_rule__ReferenceCS__Group__426780 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_4__0_in_rule__ReferenceCS__Group__4__Impl26807 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group__5__Impl_in_rule__ReferenceCS__Group__526838 = new BitSet(new long[]{0x0020000000000000L,0x0000002A00000040L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group__6_in_rule__ReferenceCS__Group__526841 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_5__0_in_rule__ReferenceCS__Group__5__Impl26868 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group__6__Impl_in_rule__ReferenceCS__Group__626899 = new BitSet(new long[]{0x0020000000000000L,0x0000002A00000040L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group__7_in_rule__ReferenceCS__Group__626902 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6__0_in_rule__ReferenceCS__Group__6__Impl26929 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group__7__Impl_in_rule__ReferenceCS__Group__726960 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Alternatives_7_in_rule__ReferenceCS__Group__7__Impl26987 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_0_0__0__Impl_in_rule__ReferenceCS__Group_0_0__027033 = new BitSet(new long[]{0x0000000001000000L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_0_0__1_in_rule__ReferenceCS__Group_0_0__027036 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__QualifiersAssignment_0_0_0_in_rule__ReferenceCS__Group_0_0__0__Impl27063 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_0_0__1__Impl_in_rule__ReferenceCS__Group_0_0__127093 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__QualifiersAssignment_0_0_1_in_rule__ReferenceCS__Group_0_0__1__Impl27120 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_0_1__0__Impl_in_rule__ReferenceCS__Group_0_1__027155 = new BitSet(new long[]{0x0000400000000000L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_0_1__1_in_rule__ReferenceCS__Group_0_1__027158 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__QualifiersAssignment_0_1_0_in_rule__ReferenceCS__Group_0_1__0__Impl27185 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_0_1__1__Impl_in_rule__ReferenceCS__Group_0_1__127215 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__QualifiersAssignment_0_1_1_in_rule__ReferenceCS__Group_0_1__1__Impl27242 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_3__0__Impl_in_rule__ReferenceCS__Group_3__027277 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_3__1_in_rule__ReferenceCS__Group_3__027280 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_101_in_rule__ReferenceCS__Group_3__0__Impl27308 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_3__1__Impl_in_rule__ReferenceCS__Group_3__127339 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__ReferredOppositeAssignment_3_1_in_rule__ReferenceCS__Group_3__1__Impl27366 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_4__0__Impl_in_rule__ReferenceCS__Group_4__027400 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00410E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_4__1_in_rule__ReferenceCS__Group_4__027403 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_97_in_rule__ReferenceCS__Group_4__0__Impl27431 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_4__1__Impl_in_rule__ReferenceCS__Group_4__127462 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__OwnedTypeAssignment_4_1_in_rule__ReferenceCS__Group_4__1__Impl27489 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_5__0__Impl_in_rule__ReferenceCS__Group_5__027523 = new BitSet(new long[]{0x0000000000000020L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_5__1_in_rule__ReferenceCS__Group_5__027526 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_70_in_rule__ReferenceCS__Group_5__0__Impl27554 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_5__1__Impl_in_rule__ReferenceCS__Group_5__127585 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__DefaultAssignment_5_1_in_rule__ReferenceCS__Group_5__1__Impl27612 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6__0__Impl_in_rule__ReferenceCS__Group_6__027646 = new BitSet(new long[]{0x001E282004400000L,0xFD00000000000000L,0x0000000000000006L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6__1_in_rule__ReferenceCS__Group_6__027649 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_99_in_rule__ReferenceCS__Group_6__0__Impl27677 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6__1__Impl_in_rule__ReferenceCS__Group_6__127708 = new BitSet(new long[]{0x0000000000000000L,0x0000001000000000L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6__2_in_rule__ReferenceCS__Group_6__127711 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_1__0_in_rule__ReferenceCS__Group_6__1__Impl27740 = new BitSet(new long[]{0x001E282004400002L,0xFD00000000000000L,0x0000000000000006L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_1__0_in_rule__ReferenceCS__Group_6__1__Impl27752 = new BitSet(new long[]{0x001E282004400002L,0xFD00000000000000L,0x0000000000000006L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6__2__Impl_in_rule__ReferenceCS__Group_6__227785 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_100_in_rule__ReferenceCS__Group_6__2__Impl27813 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_1__0__Impl_in_rule__ReferenceCS__Group_6_1__027850 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_1__1_in_rule__ReferenceCS__Group_6_1__027853 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Alternatives_6_1_0_in_rule__ReferenceCS__Group_6_1__0__Impl27880 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_1__1__Impl_in_rule__ReferenceCS__Group_6_1__127910 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_98_in_rule__ReferenceCS__Group_6_1__1__Impl27939 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0__0__Impl_in_rule__ReferenceCS__Group_7_0__027976 = new BitSet(new long[]{0x1180000282000000L,0x0000001000000000L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0__1_in_rule__ReferenceCS__Group_7_0__027979 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_99_in_rule__ReferenceCS__Group_7_0__0__Impl28007 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0__1__Impl_in_rule__ReferenceCS__Group_7_0__128038 = new BitSet(new long[]{0x1180000282000000L,0x0000001000000000L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0__2_in_rule__ReferenceCS__Group_7_0__128041 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Alternatives_7_0_1_in_rule__ReferenceCS__Group_7_0__1__Impl28068 = new BitSet(new long[]{0x1180000282000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0__2__Impl_in_rule__ReferenceCS__Group_7_0__228099 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_100_in_rule__ReferenceCS__Group_7_0__2__Impl28127 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_1__0__Impl_in_rule__ReferenceCS__Group_7_0_1_1__028164 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_1__1_in_rule__ReferenceCS__Group_7_0_1_1__028167 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_33_in_rule__ReferenceCS__Group_7_0_1_1__0__Impl28195 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_1__1__Impl_in_rule__ReferenceCS__Group_7_0_1_1__128226 = new BitSet(new long[]{0x0020000000000000L,0x0000000400000000L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_1__2_in_rule__ReferenceCS__Group_7_0_1_1__128229 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_1_in_rule__ReferenceCS__Group_7_0_1_1__1__Impl28256 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_1__2__Impl_in_rule__ReferenceCS__Group_7_0_1_1__228286 = new BitSet(new long[]{0x0020000000000000L,0x0000000400000000L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_1__3_in_rule__ReferenceCS__Group_7_0_1_1__228289 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_1_2__0_in_rule__ReferenceCS__Group_7_0_1_1__2__Impl28316 = new BitSet(new long[]{0x0000000000000002L,0x0000000400000000L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_1__3__Impl_in_rule__ReferenceCS__Group_7_0_1_1__328347 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_53_in_rule__ReferenceCS__Group_7_0_1_1__3__Impl28375 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_1_2__0__Impl_in_rule__ReferenceCS__Group_7_0_1_1_2__028414 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_1_2__1_in_rule__ReferenceCS__Group_7_0_1_1_2__028417 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_98_in_rule__ReferenceCS__Group_7_0_1_1_2__0__Impl28445 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_1_2__1__Impl_in_rule__ReferenceCS__Group_7_0_1_1_2__128476 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_2_1_in_rule__ReferenceCS__Group_7_0_1_1_2__1__Impl28503 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_2__0__Impl_in_rule__ReferenceCS__Group_7_0_1_2__028537 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L,0x0000000200000000L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_2__1_in_rule__ReferenceCS__Group_7_0_1_2__028540 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_25_in_rule__ReferenceCS__Group_7_0_1_2__0__Impl28568 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_2__1__Impl_in_rule__ReferenceCS__Group_7_0_1_2__128599 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L,0x0000000200000000L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_2__2_in_rule__ReferenceCS__Group_7_0_1_2__128602 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__ReferenceCS__Group_7_0_1_2__1__Impl28630 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_2__2__Impl_in_rule__ReferenceCS__Group_7_0_1_2__228661 = new BitSet(new long[]{0xFFBFFFFFFFFE03B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_2__3_in_rule__ReferenceCS__Group_7_0_1_2__228664 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_97_in_rule__ReferenceCS__Group_7_0_1_2__2__Impl28692 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_2__3__Impl_in_rule__ReferenceCS__Group_7_0_1_2__328723 = new BitSet(new long[]{0xFFBFFFFFFFFE03B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_2__4_in_rule__ReferenceCS__Group_7_0_1_2__328726 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_2_3_in_rule__ReferenceCS__Group_7_0_1_2__3__Impl28753 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_2__4__Impl_in_rule__ReferenceCS__Group_7_0_1_2__428784 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_53_in_rule__ReferenceCS__Group_7_0_1_2__4__Impl28812 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_3__0__Impl_in_rule__ReferenceCS__Group_7_0_1_3__028853 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L,0x0000000200000000L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_3__1_in_rule__ReferenceCS__Group_7_0_1_3__028856 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_31_in_rule__ReferenceCS__Group_7_0_1_3__0__Impl28884 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_3__1__Impl_in_rule__ReferenceCS__Group_7_0_1_3__128915 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L,0x0000000200000000L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_3__2_in_rule__ReferenceCS__Group_7_0_1_3__128918 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__ReferenceCS__Group_7_0_1_3__1__Impl28946 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_3__2__Impl_in_rule__ReferenceCS__Group_7_0_1_3__228977 = new BitSet(new long[]{0xFFBFFFFFFFFE03B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_3__3_in_rule__ReferenceCS__Group_7_0_1_3__228980 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_97_in_rule__ReferenceCS__Group_7_0_1_3__2__Impl29008 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_3__3__Impl_in_rule__ReferenceCS__Group_7_0_1_3__329039 = new BitSet(new long[]{0xFFBFFFFFFFFE03B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_3__4_in_rule__ReferenceCS__Group_7_0_1_3__329042 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_3_3_in_rule__ReferenceCS__Group_7_0_1_3__3__Impl29069 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_3__4__Impl_in_rule__ReferenceCS__Group_7_0_1_3__429100 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_53_in_rule__ReferenceCS__Group_7_0_1_3__4__Impl29128 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group__0__Impl_in_rule__StructuredClassCS__Group__029169 = new BitSet(new long[]{0x0000000000220000L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group__1_in_rule__StructuredClassCS__Group__029172 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__IsAbstractAssignment_0_in_rule__StructuredClassCS__Group__0__Impl29199 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group__1__Impl_in_rule__StructuredClassCS__Group__129230 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group__2_in_rule__StructuredClassCS__Group__129233 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_21_in_rule__StructuredClassCS__Group__1__Impl29261 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group__2__Impl_in_rule__StructuredClassCS__Group__229292 = new BitSet(new long[]{0x0020000010000000L,0x0000000A80000008L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group__3_in_rule__StructuredClassCS__Group__229295 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__NameAssignment_2_in_rule__StructuredClassCS__Group__2__Impl29322 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group__3__Impl_in_rule__StructuredClassCS__Group__329352 = new BitSet(new long[]{0x0020000010000000L,0x0000000A80000008L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group__4_in_rule__StructuredClassCS__Group__329355 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__OwnedSignatureAssignment_3_in_rule__StructuredClassCS__Group__3__Impl29382 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group__4__Impl_in_rule__StructuredClassCS__Group__429413 = new BitSet(new long[]{0x0020000010000000L,0x0000000A80000008L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group__5_in_rule__StructuredClassCS__Group__429416 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_4__0_in_rule__StructuredClassCS__Group__4__Impl29443 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group__5__Impl_in_rule__StructuredClassCS__Group__529474 = new BitSet(new long[]{0x0020000010000000L,0x0000000A80000008L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group__6_in_rule__StructuredClassCS__Group__529477 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_5__0_in_rule__StructuredClassCS__Group__5__Impl29504 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group__6__Impl_in_rule__StructuredClassCS__Group__629535 = new BitSet(new long[]{0x0020000010000000L,0x0000000A80000008L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group__7_in_rule__StructuredClassCS__Group__629538 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_6__0_in_rule__StructuredClassCS__Group__6__Impl29565 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group__7__Impl_in_rule__StructuredClassCS__Group__729596 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Alternatives_7_in_rule__StructuredClassCS__Group__7__Impl29623 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_4__0__Impl_in_rule__StructuredClassCS__Group_4__029669 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00410E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_4__1_in_rule__StructuredClassCS__Group_4__029672 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_28_in_rule__StructuredClassCS__Group_4__0__Impl29700 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_4__1__Impl_in_rule__StructuredClassCS__Group_4__129731 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_4__2_in_rule__StructuredClassCS__Group_4__129734 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__OwnedSuperTypesAssignment_4_1_in_rule__StructuredClassCS__Group_4__1__Impl29761 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_4__2__Impl_in_rule__StructuredClassCS__Group_4__229791 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_4_2__0_in_rule__StructuredClassCS__Group_4__2__Impl29818 = new BitSet(new long[]{0x0000000000000002L,0x0000000400000000L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_4_2__0__Impl_in_rule__StructuredClassCS__Group_4_2__029855 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00410E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_4_2__1_in_rule__StructuredClassCS__Group_4_2__029858 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_98_in_rule__StructuredClassCS__Group_4_2__0__Impl29886 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_4_2__1__Impl_in_rule__StructuredClassCS__Group_4_2__129917 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__OwnedSuperTypesAssignment_4_2_1_in_rule__StructuredClassCS__Group_4_2__1__Impl29944 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_5__0__Impl_in_rule__StructuredClassCS__Group_5__029978 = new BitSet(new long[]{0x0000000000000020L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_5__1_in_rule__StructuredClassCS__Group_5__029981 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_97_in_rule__StructuredClassCS__Group_5__0__Impl30009 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_5__1__Impl_in_rule__StructuredClassCS__Group_5__130040 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__InstanceClassNameAssignment_5_1_in_rule__StructuredClassCS__Group_5__1__Impl30067 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_6__0__Impl_in_rule__StructuredClassCS__Group_6__030101 = new BitSet(new long[]{0x0000000100000000L,0x0000001000000000L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_6__1_in_rule__StructuredClassCS__Group_6__030104 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_99_in_rule__StructuredClassCS__Group_6__0__Impl30132 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_6__1__Impl_in_rule__StructuredClassCS__Group_6__130163 = new BitSet(new long[]{0x0000000100000000L,0x0000001000000000L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_6__2_in_rule__StructuredClassCS__Group_6__130166 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__IsInterfaceAssignment_6_1_in_rule__StructuredClassCS__Group_6__1__Impl30193 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_6__2__Impl_in_rule__StructuredClassCS__Group_6__230224 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_100_in_rule__StructuredClassCS__Group_6__2__Impl30252 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_7_0__0__Impl_in_rule__StructuredClassCS__Group_7_0__030289 = new BitSet(new long[]{0x179FFFFFFFFE0180L,0x0000001000000000L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_7_0__1_in_rule__StructuredClassCS__Group_7_0__030292 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_99_in_rule__StructuredClassCS__Group_7_0__0__Impl30320 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_7_0__1__Impl_in_rule__StructuredClassCS__Group_7_0__130351 = new BitSet(new long[]{0x179FFFFFFFFE0180L,0x0000001000000000L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_7_0__2_in_rule__StructuredClassCS__Group_7_0__130354 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Alternatives_7_0_1_in_rule__StructuredClassCS__Group_7_0__1__Impl30381 = new BitSet(new long[]{0x179FFFFFFFFE0182L});
-        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_7_0__2__Impl_in_rule__StructuredClassCS__Group_7_0__230412 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_100_in_rule__StructuredClassCS__Group_7_0__2__Impl30440 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SysMLCS__Group__0__Impl_in_rule__SysMLCS__Group__030477 = new BitSet(new long[]{0x1180000000000000L});
-        public static final BitSet FOLLOW_rule__SysMLCS__Group__1_in_rule__SysMLCS__Group__030480 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SysMLCS__Group__1__Impl_in_rule__SysMLCS__Group__130538 = new BitSet(new long[]{0x1F9FFFFFFFFE01A0L,0x0000000800000000L});
-        public static final BitSet FOLLOW_rule__SysMLCS__Group__2_in_rule__SysMLCS__Group__130541 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_60_in_rule__SysMLCS__Group__1__Impl30569 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SysMLCS__Group__2__Impl_in_rule__SysMLCS__Group__230600 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SysMLCS__Alternatives_2_in_rule__SysMLCS__Group__2__Impl30627 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SysMLCS__Group_2_0__0__Impl_in_rule__SysMLCS__Group_2_0__030663 = new BitSet(new long[]{0x0020000000000000L});
-        public static final BitSet FOLLOW_rule__SysMLCS__Group_2_0__1_in_rule__SysMLCS__Group_2_0__030666 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SysMLCS__OwnedDetailsAssignment_2_0_0_in_rule__SysMLCS__Group_2_0__0__Impl30693 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SysMLCS__Group_2_0__1__Impl_in_rule__SysMLCS__Group_2_0__130723 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_53_in_rule__SysMLCS__Group_2_0__1__Impl30751 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SysMLCS__Group_2_1__0__Impl_in_rule__SysMLCS__Group_2_1__030786 = new BitSet(new long[]{0x1F9FFFFFFFFE01A0L,0x0000001000000000L});
-        public static final BitSet FOLLOW_rule__SysMLCS__Group_2_1__1_in_rule__SysMLCS__Group_2_1__030789 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_99_in_rule__SysMLCS__Group_2_1__0__Impl30817 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SysMLCS__Group_2_1__1__Impl_in_rule__SysMLCS__Group_2_1__130848 = new BitSet(new long[]{0x1F9FFFFFFFFE01A0L,0x0000001000000000L});
-        public static final BitSet FOLLOW_rule__SysMLCS__Group_2_1__2_in_rule__SysMLCS__Group_2_1__130851 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SysMLCS__Group_2_1_1__0_in_rule__SysMLCS__Group_2_1__1__Impl30878 = new BitSet(new long[]{0x1F9FFFFFFFFE01A2L});
-        public static final BitSet FOLLOW_rule__SysMLCS__Group_2_1__2__Impl_in_rule__SysMLCS__Group_2_1__230909 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_100_in_rule__SysMLCS__Group_2_1__2__Impl30937 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SysMLCS__Group_2_1_1__0__Impl_in_rule__SysMLCS__Group_2_1_1__030974 = new BitSet(new long[]{0x0020000000000000L});
-        public static final BitSet FOLLOW_rule__SysMLCS__Group_2_1_1__1_in_rule__SysMLCS__Group_2_1_1__030977 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SysMLCS__OwnedDetailsAssignment_2_1_1_0_in_rule__SysMLCS__Group_2_1_1__0__Impl31004 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SysMLCS__Group_2_1_1__1__Impl_in_rule__SysMLCS__Group_2_1_1__131034 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_53_in_rule__SysMLCS__Group_2_1_1__1__Impl31062 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypedMultiplicityRefCS__Group__0__Impl_in_rule__TypedMultiplicityRefCS__Group__031097 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000000L});
-        public static final BitSet FOLLOW_rule__TypedMultiplicityRefCS__Group__1_in_rule__TypedMultiplicityRefCS__Group__031100 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypedRefCS_in_rule__TypedMultiplicityRefCS__Group__0__Impl31127 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypedMultiplicityRefCS__Group__1__Impl_in_rule__TypedMultiplicityRefCS__Group__131156 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypedMultiplicityRefCS__OwnedMultiplicityAssignment_1_in_rule__TypedMultiplicityRefCS__Group__1__Impl31183 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_0__0__Impl_in_rule__TemplateBindingCS__Group_0__031218 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00410E00FFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_0__1_in_rule__TemplateBindingCS__Group_0__031221 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_95_in_rule__TemplateBindingCS__Group_0__0__Impl31249 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_0__1__Impl_in_rule__TemplateBindingCS__Group_0__131280 = new BitSet(new long[]{0x0000000000000000L,0x0000000500000000L});
-        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_0__2_in_rule__TemplateBindingCS__Group_0__131283 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_1_in_rule__TemplateBindingCS__Group_0__1__Impl31310 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_0__2__Impl_in_rule__TemplateBindingCS__Group_0__231340 = new BitSet(new long[]{0x0000000000000000L,0x0000000500000000L});
-        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_0__3_in_rule__TemplateBindingCS__Group_0__231343 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_0_2__0_in_rule__TemplateBindingCS__Group_0__2__Impl31370 = new BitSet(new long[]{0x0000000000000002L,0x0000000400000000L});
-        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_0__3__Impl_in_rule__TemplateBindingCS__Group_0__331401 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_96_in_rule__TemplateBindingCS__Group_0__3__Impl31429 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_0_2__0__Impl_in_rule__TemplateBindingCS__Group_0_2__031468 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00410E00FFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_0_2__1_in_rule__TemplateBindingCS__Group_0_2__031471 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_98_in_rule__TemplateBindingCS__Group_0_2__0__Impl31499 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_0_2__1__Impl_in_rule__TemplateBindingCS__Group_0_2__131530 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_2_1_in_rule__TemplateBindingCS__Group_0_2__1__Impl31557 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_1__0__Impl_in_rule__TemplateBindingCS__Group_1__031591 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00410E00FFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_1__1_in_rule__TemplateBindingCS__Group_1__031594 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_67_in_rule__TemplateBindingCS__Group_1__0__Impl31622 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_1__1__Impl_in_rule__TemplateBindingCS__Group_1__131653 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000004L});
-        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_1__2_in_rule__TemplateBindingCS__Group_1__131656 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_1_in_rule__TemplateBindingCS__Group_1__1__Impl31683 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_1__2__Impl_in_rule__TemplateBindingCS__Group_1__231713 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000004L});
-        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_1__3_in_rule__TemplateBindingCS__Group_1__231716 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_1_2__0_in_rule__TemplateBindingCS__Group_1__2__Impl31743 = new BitSet(new long[]{0x0000000000000002L,0x0000000400000000L});
-        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_1__3__Impl_in_rule__TemplateBindingCS__Group_1__331774 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_66_in_rule__TemplateBindingCS__Group_1__3__Impl31802 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_1_2__0__Impl_in_rule__TemplateBindingCS__Group_1_2__031841 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00410E00FFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_1_2__1_in_rule__TemplateBindingCS__Group_1_2__031844 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_98_in_rule__TemplateBindingCS__Group_1_2__0__Impl31872 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_1_2__1__Impl_in_rule__TemplateBindingCS__Group_1_2__131903 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_2_1_in_rule__TemplateBindingCS__Group_1_2__1__Impl31930 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_0__0__Impl_in_rule__TemplateSignatureCS__Group_0__031964 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L});
-        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_0__1_in_rule__TemplateSignatureCS__Group_0__031967 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_95_in_rule__TemplateSignatureCS__Group_0__0__Impl31995 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_0__1__Impl_in_rule__TemplateSignatureCS__Group_0__132026 = new BitSet(new long[]{0x0000000000000000L,0x0000000500000000L});
-        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_0__2_in_rule__TemplateSignatureCS__Group_0__132029 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TemplateSignatureCS__OwnedParametersAssignment_0_1_in_rule__TemplateSignatureCS__Group_0__1__Impl32056 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_0__2__Impl_in_rule__TemplateSignatureCS__Group_0__232086 = new BitSet(new long[]{0x0000000000000000L,0x0000000500000000L});
-        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_0__3_in_rule__TemplateSignatureCS__Group_0__232089 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_0_2__0_in_rule__TemplateSignatureCS__Group_0__2__Impl32116 = new BitSet(new long[]{0x0000000000000002L,0x0000000400000000L});
-        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_0__3__Impl_in_rule__TemplateSignatureCS__Group_0__332147 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_96_in_rule__TemplateSignatureCS__Group_0__3__Impl32175 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_0_2__0__Impl_in_rule__TemplateSignatureCS__Group_0_2__032214 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L});
-        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_0_2__1_in_rule__TemplateSignatureCS__Group_0_2__032217 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_98_in_rule__TemplateSignatureCS__Group_0_2__0__Impl32245 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_0_2__1__Impl_in_rule__TemplateSignatureCS__Group_0_2__132276 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TemplateSignatureCS__OwnedParametersAssignment_0_2_1_in_rule__TemplateSignatureCS__Group_0_2__1__Impl32303 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_1__0__Impl_in_rule__TemplateSignatureCS__Group_1__032337 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L});
-        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_1__1_in_rule__TemplateSignatureCS__Group_1__032340 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_67_in_rule__TemplateSignatureCS__Group_1__0__Impl32368 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_1__1__Impl_in_rule__TemplateSignatureCS__Group_1__132399 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000004L});
-        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_1__2_in_rule__TemplateSignatureCS__Group_1__132402 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TemplateSignatureCS__OwnedParametersAssignment_1_1_in_rule__TemplateSignatureCS__Group_1__1__Impl32429 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_1__2__Impl_in_rule__TemplateSignatureCS__Group_1__232459 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000004L});
-        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_1__3_in_rule__TemplateSignatureCS__Group_1__232462 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_1_2__0_in_rule__TemplateSignatureCS__Group_1__2__Impl32489 = new BitSet(new long[]{0x0000000000000002L,0x0000000400000000L});
-        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_1__3__Impl_in_rule__TemplateSignatureCS__Group_1__332520 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_66_in_rule__TemplateSignatureCS__Group_1__3__Impl32548 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_1_2__0__Impl_in_rule__TemplateSignatureCS__Group_1_2__032587 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L});
-        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_1_2__1_in_rule__TemplateSignatureCS__Group_1_2__032590 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_98_in_rule__TemplateSignatureCS__Group_1_2__0__Impl32618 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_1_2__1__Impl_in_rule__TemplateSignatureCS__Group_1_2__132649 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TemplateSignatureCS__OwnedParametersAssignment_1_2_1_in_rule__TemplateSignatureCS__Group_1_2__1__Impl32676 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__URIPathNameCS__Group__0__Impl_in_rule__URIPathNameCS__Group__032710 = new BitSet(new long[]{0x0000000000000000L,0x0000004000000000L});
-        public static final BitSet FOLLOW_rule__URIPathNameCS__Group__1_in_rule__URIPathNameCS__Group__032713 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__URIPathNameCS__OwnedPathElementsAssignment_0_in_rule__URIPathNameCS__Group__0__Impl32740 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__URIPathNameCS__Group__1__Impl_in_rule__URIPathNameCS__Group__132770 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__URIPathNameCS__Group_1__0_in_rule__URIPathNameCS__Group__1__Impl32797 = new BitSet(new long[]{0x0000000000000002L,0x0000004000000000L});
-        public static final BitSet FOLLOW_rule__URIPathNameCS__Group_1__0__Impl_in_rule__URIPathNameCS__Group_1__032832 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L,0x000000003FFF0000L});
-        public static final BitSet FOLLOW_rule__URIPathNameCS__Group_1__1_in_rule__URIPathNameCS__Group_1__032835 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_102_in_rule__URIPathNameCS__Group_1__0__Impl32863 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__URIPathNameCS__Group_1__1__Impl_in_rule__URIPathNameCS__Group_1__132894 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__URIPathNameCS__OwnedPathElementsAssignment_1_1_in_rule__URIPathNameCS__Group_1__1__Impl32921 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__URIFirstPathElementCS__Group_1__0__Impl_in_rule__URIFirstPathElementCS__Group_1__032955 = new BitSet(new long[]{0x1F9FFFFFFFFE01A0L});
-        public static final BitSet FOLLOW_rule__URIFirstPathElementCS__Group_1__1_in_rule__URIFirstPathElementCS__Group_1__032958 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__URIFirstPathElementCS__Group_1__1__Impl_in_rule__URIFirstPathElementCS__Group_1__133016 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__URIFirstPathElementCS__ReferredElementAssignment_1_1_in_rule__URIFirstPathElementCS__Group_1__1__Impl33043 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionTypeCS__Group__0__Impl_in_rule__CollectionTypeCS__Group__033077 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L});
-        public static final BitSet FOLLOW_rule__CollectionTypeCS__Group__1_in_rule__CollectionTypeCS__Group__033080 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionTypeCS__NameAssignment_0_in_rule__CollectionTypeCS__Group__0__Impl33107 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionTypeCS__Group__1__Impl_in_rule__CollectionTypeCS__Group__133137 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionTypeCS__Group_1__0_in_rule__CollectionTypeCS__Group__1__Impl33164 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionTypeCS__Group_1__0__Impl_in_rule__CollectionTypeCS__Group_1__033199 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00410E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__CollectionTypeCS__Group_1__1_in_rule__CollectionTypeCS__Group_1__033202 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_95_in_rule__CollectionTypeCS__Group_1__0__Impl33230 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionTypeCS__Group_1__1__Impl_in_rule__CollectionTypeCS__Group_1__133261 = new BitSet(new long[]{0x0000000000000000L,0x0000000100000000L});
-        public static final BitSet FOLLOW_rule__CollectionTypeCS__Group_1__2_in_rule__CollectionTypeCS__Group_1__133264 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionTypeCS__OwnedTypeAssignment_1_1_in_rule__CollectionTypeCS__Group_1__1__Impl33291 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionTypeCS__Group_1__2__Impl_in_rule__CollectionTypeCS__Group_1__233321 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_96_in_rule__CollectionTypeCS__Group_1__2__Impl33349 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TupleTypeCS__Group__0__Impl_in_rule__TupleTypeCS__Group__033386 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L});
-        public static final BitSet FOLLOW_rule__TupleTypeCS__Group__1_in_rule__TupleTypeCS__Group__033389 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TupleTypeCS__NameAssignment_0_in_rule__TupleTypeCS__Group__0__Impl33416 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TupleTypeCS__Group__1__Impl_in_rule__TupleTypeCS__Group__133446 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1__0_in_rule__TupleTypeCS__Group__1__Impl33473 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1__0__Impl_in_rule__TupleTypeCS__Group_1__033508 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L,0x0000000100000000L});
-        public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1__1_in_rule__TupleTypeCS__Group_1__033511 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_95_in_rule__TupleTypeCS__Group_1__0__Impl33539 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1__1__Impl_in_rule__TupleTypeCS__Group_1__133570 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L,0x0000000100000000L});
-        public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1__2_in_rule__TupleTypeCS__Group_1__133573 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1_1__0_in_rule__TupleTypeCS__Group_1__1__Impl33600 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1__2__Impl_in_rule__TupleTypeCS__Group_1__233631 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_96_in_rule__TupleTypeCS__Group_1__2__Impl33659 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1_1__0__Impl_in_rule__TupleTypeCS__Group_1_1__033696 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L});
-        public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1_1__1_in_rule__TupleTypeCS__Group_1_1__033699 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TupleTypeCS__OwnedPartsAssignment_1_1_0_in_rule__TupleTypeCS__Group_1_1__0__Impl33726 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1_1__1__Impl_in_rule__TupleTypeCS__Group_1_1__133756 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1_1_1__0_in_rule__TupleTypeCS__Group_1_1__1__Impl33783 = new BitSet(new long[]{0x0000000000000002L,0x0000000400000000L});
-        public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1_1_1__0__Impl_in_rule__TupleTypeCS__Group_1_1_1__033818 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L});
-        public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1_1_1__1_in_rule__TupleTypeCS__Group_1_1_1__033821 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_98_in_rule__TupleTypeCS__Group_1_1_1__0__Impl33849 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1_1_1__1__Impl_in_rule__TupleTypeCS__Group_1_1_1__133880 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1_in_rule__TupleTypeCS__Group_1_1_1__1__Impl33907 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TuplePartCS__Group__0__Impl_in_rule__TuplePartCS__Group__033941 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
-        public static final BitSet FOLLOW_rule__TuplePartCS__Group__1_in_rule__TuplePartCS__Group__033944 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TuplePartCS__NameAssignment_0_in_rule__TuplePartCS__Group__0__Impl33971 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TuplePartCS__Group__1__Impl_in_rule__TuplePartCS__Group__134001 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00410E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__TuplePartCS__Group__2_in_rule__TuplePartCS__Group__134004 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_97_in_rule__TuplePartCS__Group__1__Impl34032 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TuplePartCS__Group__2__Impl_in_rule__TuplePartCS__Group__234063 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TuplePartCS__OwnedTypeAssignment_2_in_rule__TuplePartCS__Group__2__Impl34090 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group__0__Impl_in_rule__CollectionLiteralExpCS__Group__034126 = new BitSet(new long[]{0x0000000000000000L,0x0000000800000000L});
-        public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group__1_in_rule__CollectionLiteralExpCS__Group__034129 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__OwnedTypeAssignment_0_in_rule__CollectionLiteralExpCS__Group__0__Impl34156 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group__1__Impl_in_rule__CollectionLiteralExpCS__Group__134186 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00610E12BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group__2_in_rule__CollectionLiteralExpCS__Group__134189 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_99_in_rule__CollectionLiteralExpCS__Group__1__Impl34217 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group__2__Impl_in_rule__CollectionLiteralExpCS__Group__234248 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00610E12BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group__3_in_rule__CollectionLiteralExpCS__Group__234251 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group_2__0_in_rule__CollectionLiteralExpCS__Group__2__Impl34278 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group__3__Impl_in_rule__CollectionLiteralExpCS__Group__334309 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_100_in_rule__CollectionLiteralExpCS__Group__3__Impl34337 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group_2__0__Impl_in_rule__CollectionLiteralExpCS__Group_2__034376 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L});
-        public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group_2__1_in_rule__CollectionLiteralExpCS__Group_2__034379 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0_in_rule__CollectionLiteralExpCS__Group_2__0__Impl34406 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group_2__1__Impl_in_rule__CollectionLiteralExpCS__Group_2__134436 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group_2_1__0_in_rule__CollectionLiteralExpCS__Group_2__1__Impl34463 = new BitSet(new long[]{0x0000000000000002L,0x0000000400000000L});
-        public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group_2_1__0__Impl_in_rule__CollectionLiteralExpCS__Group_2_1__034498 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00610E02BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group_2_1__1_in_rule__CollectionLiteralExpCS__Group_2_1__034501 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_98_in_rule__CollectionLiteralExpCS__Group_2_1__0__Impl34529 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group_2_1__1__Impl_in_rule__CollectionLiteralExpCS__Group_2_1__134560 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1_in_rule__CollectionLiteralExpCS__Group_2_1__1__Impl34587 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionLiteralPartCS__Group_0__0__Impl_in_rule__CollectionLiteralPartCS__Group_0__034621 = new BitSet(new long[]{0x0000000000000000L,0x0000008000000000L});
-        public static final BitSet FOLLOW_rule__CollectionLiteralPartCS__Group_0__1_in_rule__CollectionLiteralPartCS__Group_0__034624 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionLiteralPartCS__OwnedExpressionAssignment_0_0_in_rule__CollectionLiteralPartCS__Group_0__0__Impl34651 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionLiteralPartCS__Group_0__1__Impl_in_rule__CollectionLiteralPartCS__Group_0__134681 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionLiteralPartCS__Group_0_1__0_in_rule__CollectionLiteralPartCS__Group_0__1__Impl34708 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionLiteralPartCS__Group_0_1__0__Impl_in_rule__CollectionLiteralPartCS__Group_0_1__034743 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__CollectionLiteralPartCS__Group_0_1__1_in_rule__CollectionLiteralPartCS__Group_0_1__034746 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_103_in_rule__CollectionLiteralPartCS__Group_0_1__0__Impl34774 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionLiteralPartCS__Group_0_1__1__Impl_in_rule__CollectionLiteralPartCS__Group_0_1__134805 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionLiteralPartCS__OwnedLastExpressionAssignment_0_1_1_in_rule__CollectionLiteralPartCS__Group_0_1__1__Impl34832 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group__0__Impl_in_rule__CollectionPatternCS__Group__034866 = new BitSet(new long[]{0x0000000000000000L,0x0000000800000000L});
-        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group__1_in_rule__CollectionPatternCS__Group__034869 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionPatternCS__OwnedTypeAssignment_0_in_rule__CollectionPatternCS__Group__0__Impl34896 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group__1__Impl_in_rule__CollectionPatternCS__Group__134926 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00610E12BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group__2_in_rule__CollectionPatternCS__Group__134929 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_99_in_rule__CollectionPatternCS__Group__1__Impl34957 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group__2__Impl_in_rule__CollectionPatternCS__Group__234988 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00610E12BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group__3_in_rule__CollectionPatternCS__Group__234991 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group_2__0_in_rule__CollectionPatternCS__Group__2__Impl35018 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group__3__Impl_in_rule__CollectionPatternCS__Group__335049 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_100_in_rule__CollectionPatternCS__Group__3__Impl35077 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group_2__0__Impl_in_rule__CollectionPatternCS__Group_2__035116 = new BitSet(new long[]{0x0000000000000000L,0x0000010400000000L});
-        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group_2__1_in_rule__CollectionPatternCS__Group_2__035119 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionPatternCS__OwnedPartsAssignment_2_0_in_rule__CollectionPatternCS__Group_2__0__Impl35146 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group_2__1__Impl_in_rule__CollectionPatternCS__Group_2__135176 = new BitSet(new long[]{0x0000000000000000L,0x0000010400000000L});
-        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group_2__2_in_rule__CollectionPatternCS__Group_2__135179 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group_2_1__0_in_rule__CollectionPatternCS__Group_2__1__Impl35206 = new BitSet(new long[]{0x0000000000000002L,0x0000000400000000L});
-        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group_2__2__Impl_in_rule__CollectionPatternCS__Group_2__235237 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group_2_2__0_in_rule__CollectionPatternCS__Group_2__2__Impl35264 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group_2_1__0__Impl_in_rule__CollectionPatternCS__Group_2_1__035300 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00610E02BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group_2_1__1_in_rule__CollectionPatternCS__Group_2_1__035303 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_98_in_rule__CollectionPatternCS__Group_2_1__0__Impl35331 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group_2_1__1__Impl_in_rule__CollectionPatternCS__Group_2_1__135362 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionPatternCS__OwnedPartsAssignment_2_1_1_in_rule__CollectionPatternCS__Group_2_1__1__Impl35389 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group_2_2__0__Impl_in_rule__CollectionPatternCS__Group_2_2__035423 = new BitSet(new long[]{0x0000000000000180L});
-        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group_2_2__1_in_rule__CollectionPatternCS__Group_2_2__035426 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_104_in_rule__CollectionPatternCS__Group_2_2__0__Impl35454 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group_2_2__1__Impl_in_rule__CollectionPatternCS__Group_2_2__135485 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionPatternCS__RestVariableNameAssignment_2_2_1_in_rule__CollectionPatternCS__Group_2_2__1__Impl35512 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ConstructorPartCS__Group__0__Impl_in_rule__ConstructorPartCS__Group__035546 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
-        public static final BitSet FOLLOW_rule__ConstructorPartCS__Group__1_in_rule__ConstructorPartCS__Group__035549 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ConstructorPartCS__ReferredPropertyAssignment_0_in_rule__ConstructorPartCS__Group__0__Impl35576 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ConstructorPartCS__Group__1__Impl_in_rule__ConstructorPartCS__Group__135606 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00610E02BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__ConstructorPartCS__Group__2_in_rule__ConstructorPartCS__Group__135609 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_70_in_rule__ConstructorPartCS__Group__1__Impl35637 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ConstructorPartCS__Group__2__Impl_in_rule__ConstructorPartCS__Group__235668 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ConstructorPartCS__OwnedInitExpressionAssignment_2_in_rule__ConstructorPartCS__Group__2__Impl35695 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PatternExpCS__Group__0__Impl_in_rule__PatternExpCS__Group__035731 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00610E02BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__PatternExpCS__Group__1_in_rule__PatternExpCS__Group__035734 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PatternExpCS__PatternVariableNameAssignment_0_in_rule__PatternExpCS__Group__0__Impl35761 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PatternExpCS__Group__1__Impl_in_rule__PatternExpCS__Group__135792 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00410E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__PatternExpCS__Group__2_in_rule__PatternExpCS__Group__135795 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_97_in_rule__PatternExpCS__Group__1__Impl35823 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PatternExpCS__Group__2__Impl_in_rule__PatternExpCS__Group__235854 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PatternExpCS__OwnedPatternTypeAssignment_2_in_rule__PatternExpCS__Group__2__Impl35881 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LambdaLiteralExpCS__Group__0__Impl_in_rule__LambdaLiteralExpCS__Group__035917 = new BitSet(new long[]{0x0000000000000000L,0x0000000800000000L});
-        public static final BitSet FOLLOW_rule__LambdaLiteralExpCS__Group__1_in_rule__LambdaLiteralExpCS__Group__035920 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_105_in_rule__LambdaLiteralExpCS__Group__0__Impl35948 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LambdaLiteralExpCS__Group__1__Impl_in_rule__LambdaLiteralExpCS__Group__135979 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__LambdaLiteralExpCS__Group__2_in_rule__LambdaLiteralExpCS__Group__135982 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_99_in_rule__LambdaLiteralExpCS__Group__1__Impl36010 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LambdaLiteralExpCS__Group__2__Impl_in_rule__LambdaLiteralExpCS__Group__236041 = new BitSet(new long[]{0x0000000000000000L,0x0000001000000000L});
-        public static final BitSet FOLLOW_rule__LambdaLiteralExpCS__Group__3_in_rule__LambdaLiteralExpCS__Group__236044 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LambdaLiteralExpCS__OwnedExpressionCSAssignment_2_in_rule__LambdaLiteralExpCS__Group__2__Impl36071 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LambdaLiteralExpCS__Group__3__Impl_in_rule__LambdaLiteralExpCS__Group__336101 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_100_in_rule__LambdaLiteralExpCS__Group__3__Impl36129 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group__0__Impl_in_rule__TupleLiteralExpCS__Group__036168 = new BitSet(new long[]{0x0000000000000000L,0x0000000800000000L});
-        public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group__1_in_rule__TupleLiteralExpCS__Group__036171 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_80_in_rule__TupleLiteralExpCS__Group__0__Impl36199 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group__1__Impl_in_rule__TupleLiteralExpCS__Group__136230 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L});
-        public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group__2_in_rule__TupleLiteralExpCS__Group__136233 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_99_in_rule__TupleLiteralExpCS__Group__1__Impl36261 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group__2__Impl_in_rule__TupleLiteralExpCS__Group__236292 = new BitSet(new long[]{0x0000000000000000L,0x0000001400000000L});
-        public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group__3_in_rule__TupleLiteralExpCS__Group__236295 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TupleLiteralExpCS__OwnedPartsAssignment_2_in_rule__TupleLiteralExpCS__Group__2__Impl36322 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group__3__Impl_in_rule__TupleLiteralExpCS__Group__336352 = new BitSet(new long[]{0x0000000000000000L,0x0000001400000000L});
-        public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group__4_in_rule__TupleLiteralExpCS__Group__336355 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group_3__0_in_rule__TupleLiteralExpCS__Group__3__Impl36382 = new BitSet(new long[]{0x0000000000000002L,0x0000000400000000L});
-        public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group__4__Impl_in_rule__TupleLiteralExpCS__Group__436413 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_100_in_rule__TupleLiteralExpCS__Group__4__Impl36441 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group_3__0__Impl_in_rule__TupleLiteralExpCS__Group_3__036482 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L});
-        public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group_3__1_in_rule__TupleLiteralExpCS__Group_3__036485 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_98_in_rule__TupleLiteralExpCS__Group_3__0__Impl36513 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group_3__1__Impl_in_rule__TupleLiteralExpCS__Group_3__136544 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1_in_rule__TupleLiteralExpCS__Group_3__1__Impl36571 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TupleLiteralPartCS__Group__0__Impl_in_rule__TupleLiteralPartCS__Group__036605 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000040L});
-        public static final BitSet FOLLOW_rule__TupleLiteralPartCS__Group__1_in_rule__TupleLiteralPartCS__Group__036608 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TupleLiteralPartCS__NameAssignment_0_in_rule__TupleLiteralPartCS__Group__0__Impl36635 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TupleLiteralPartCS__Group__1__Impl_in_rule__TupleLiteralPartCS__Group__136665 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000040L});
-        public static final BitSet FOLLOW_rule__TupleLiteralPartCS__Group__2_in_rule__TupleLiteralPartCS__Group__136668 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TupleLiteralPartCS__Group_1__0_in_rule__TupleLiteralPartCS__Group__1__Impl36695 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TupleLiteralPartCS__Group__2__Impl_in_rule__TupleLiteralPartCS__Group__236726 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__TupleLiteralPartCS__Group__3_in_rule__TupleLiteralPartCS__Group__236729 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_70_in_rule__TupleLiteralPartCS__Group__2__Impl36757 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TupleLiteralPartCS__Group__3__Impl_in_rule__TupleLiteralPartCS__Group__336788 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TupleLiteralPartCS__OwnedInitExpressionAssignment_3_in_rule__TupleLiteralPartCS__Group__3__Impl36815 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TupleLiteralPartCS__Group_1__0__Impl_in_rule__TupleLiteralPartCS__Group_1__036853 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00410E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__TupleLiteralPartCS__Group_1__1_in_rule__TupleLiteralPartCS__Group_1__036856 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_97_in_rule__TupleLiteralPartCS__Group_1__0__Impl36884 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TupleLiteralPartCS__Group_1__1__Impl_in_rule__TupleLiteralPartCS__Group_1__136915 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1_in_rule__TupleLiteralPartCS__Group_1__1__Impl36942 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__UnlimitedNaturalLiteralExpCS__Group__0__Impl_in_rule__UnlimitedNaturalLiteralExpCS__Group__036976 = new BitSet(new long[]{0x8000000000000000L});
-        public static final BitSet FOLLOW_rule__UnlimitedNaturalLiteralExpCS__Group__1_in_rule__UnlimitedNaturalLiteralExpCS__Group__036979 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__UnlimitedNaturalLiteralExpCS__Group__1__Impl_in_rule__UnlimitedNaturalLiteralExpCS__Group__137037 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_63_in_rule__UnlimitedNaturalLiteralExpCS__Group__1__Impl37065 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__InvalidLiteralExpCS__Group__0__Impl_in_rule__InvalidLiteralExpCS__Group__037100 = new BitSet(new long[]{0x0000000000000000L,0x0000040000000000L});
-        public static final BitSet FOLLOW_rule__InvalidLiteralExpCS__Group__1_in_rule__InvalidLiteralExpCS__Group__037103 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__InvalidLiteralExpCS__Group__1__Impl_in_rule__InvalidLiteralExpCS__Group__137161 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_106_in_rule__InvalidLiteralExpCS__Group__1__Impl37189 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NullLiteralExpCS__Group__0__Impl_in_rule__NullLiteralExpCS__Group__037224 = new BitSet(new long[]{0x8000000000000030L,0x00000C0000000000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__NullLiteralExpCS__Group__1_in_rule__NullLiteralExpCS__Group__037227 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NullLiteralExpCS__Group__1__Impl_in_rule__NullLiteralExpCS__Group__137285 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_107_in_rule__NullLiteralExpCS__Group__1__Impl37313 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypeLiteralWithMultiplicityCS__Group__0__Impl_in_rule__TypeLiteralWithMultiplicityCS__Group__037348 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000000L});
-        public static final BitSet FOLLOW_rule__TypeLiteralWithMultiplicityCS__Group__1_in_rule__TypeLiteralWithMultiplicityCS__Group__037351 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypeLiteralCS_in_rule__TypeLiteralWithMultiplicityCS__Group__0__Impl37378 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypeLiteralWithMultiplicityCS__Group__1__Impl_in_rule__TypeLiteralWithMultiplicityCS__Group__137407 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypeLiteralWithMultiplicityCS__OwnedMultiplicityAssignment_1_in_rule__TypeLiteralWithMultiplicityCS__Group__1__Impl37434 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypeNameExpCS__Group__0__Impl_in_rule__TypeNameExpCS__Group__037469 = new BitSet(new long[]{0x0000000000000000L,0x0000000800000000L});
-        public static final BitSet FOLLOW_rule__TypeNameExpCS__Group__1_in_rule__TypeNameExpCS__Group__037472 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypeNameExpCS__OwnedPathNameAssignment_0_in_rule__TypeNameExpCS__Group__0__Impl37499 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypeNameExpCS__Group__1__Impl_in_rule__TypeNameExpCS__Group__137529 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypeNameExpCS__Group_1__0_in_rule__TypeNameExpCS__Group__1__Impl37556 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypeNameExpCS__Group_1__0__Impl_in_rule__TypeNameExpCS__Group_1__037591 = new BitSet(new long[]{0x0000000000000000L,0x0000000800000000L});
-        public static final BitSet FOLLOW_rule__TypeNameExpCS__Group_1__1_in_rule__TypeNameExpCS__Group_1__037594 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypeNameExpCS__OwnedCurlyBracketedClauseAssignment_1_0_in_rule__TypeNameExpCS__Group_1__0__Impl37621 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypeNameExpCS__Group_1__1__Impl_in_rule__TypeNameExpCS__Group_1__137651 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypeNameExpCS__Group_1_1__0_in_rule__TypeNameExpCS__Group_1__1__Impl37678 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypeNameExpCS__Group_1_1__0__Impl_in_rule__TypeNameExpCS__Group_1_1__037713 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__TypeNameExpCS__Group_1_1__1_in_rule__TypeNameExpCS__Group_1_1__037716 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_99_in_rule__TypeNameExpCS__Group_1_1__0__Impl37744 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypeNameExpCS__Group_1_1__1__Impl_in_rule__TypeNameExpCS__Group_1_1__137775 = new BitSet(new long[]{0x0000000000000000L,0x0000001000000000L});
-        public static final BitSet FOLLOW_rule__TypeNameExpCS__Group_1_1__2_in_rule__TypeNameExpCS__Group_1_1__137778 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypeNameExpCS__OwnedPatternGuardAssignment_1_1_1_in_rule__TypeNameExpCS__Group_1_1__1__Impl37805 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypeNameExpCS__Group_1_1__2__Impl_in_rule__TypeNameExpCS__Group_1_1__237835 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_100_in_rule__TypeNameExpCS__Group_1_1__2__Impl37863 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypeExpCS__Group__0__Impl_in_rule__TypeExpCS__Group__037900 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000000L});
-        public static final BitSet FOLLOW_rule__TypeExpCS__Group__1_in_rule__TypeExpCS__Group__037903 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypeExpCS__Alternatives_0_in_rule__TypeExpCS__Group__0__Impl37930 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypeExpCS__Group__1__Impl_in_rule__TypeExpCS__Group__137960 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypeExpCS__OwnedMultiplicityAssignment_1_in_rule__TypeExpCS__Group__1__Impl37987 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ExpCS__Group_0__0__Impl_in_rule__ExpCS__Group_0__038022 = new BitSet(new long[]{0xA000000000000000L,0x000000000000FFFFL});
-        public static final BitSet FOLLOW_rule__ExpCS__Group_0__1_in_rule__ExpCS__Group_0__038025 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePrefixedPrimaryExpCS_in_rule__ExpCS__Group_0__0__Impl38052 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ExpCS__Group_0__1__Impl_in_rule__ExpCS__Group_0__138081 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ExpCS__Group_0_1__0_in_rule__ExpCS__Group_0__1__Impl38108 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ExpCS__Group_0_1__0__Impl_in_rule__ExpCS__Group_0_1__038143 = new BitSet(new long[]{0xA000000000000000L,0x000000000000FFFFL});
-        public static final BitSet FOLLOW_rule__ExpCS__Group_0_1__1_in_rule__ExpCS__Group_0_1__038146 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ExpCS__Group_0_1__1__Impl_in_rule__ExpCS__Group_0_1__138204 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__ExpCS__Group_0_1__2_in_rule__ExpCS__Group_0_1__138207 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ExpCS__NameAssignment_0_1_1_in_rule__ExpCS__Group_0_1__1__Impl38234 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ExpCS__Group_0_1__2__Impl_in_rule__ExpCS__Group_0_1__238264 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ExpCS__OwnedRightAssignment_0_1_2_in_rule__ExpCS__Group_0_1__2__Impl38291 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PrefixedLetExpCS__Group_0__0__Impl_in_rule__PrefixedLetExpCS__Group_0__038327 = new BitSet(new long[]{0x6000000000000000L});
-        public static final BitSet FOLLOW_rule__PrefixedLetExpCS__Group_0__1_in_rule__PrefixedLetExpCS__Group_0__038330 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PrefixedLetExpCS__Group_0__1__Impl_in_rule__PrefixedLetExpCS__Group_0__138388 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__PrefixedLetExpCS__Group_0__2_in_rule__PrefixedLetExpCS__Group_0__138391 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PrefixedLetExpCS__NameAssignment_0_1_in_rule__PrefixedLetExpCS__Group_0__1__Impl38418 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PrefixedLetExpCS__Group_0__2__Impl_in_rule__PrefixedLetExpCS__Group_0__238448 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PrefixedLetExpCS__OwnedRightAssignment_0_2_in_rule__PrefixedLetExpCS__Group_0__2__Impl38475 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PrefixedPrimaryExpCS__Group_0__0__Impl_in_rule__PrefixedPrimaryExpCS__Group_0__038511 = new BitSet(new long[]{0x6000000000000000L});
-        public static final BitSet FOLLOW_rule__PrefixedPrimaryExpCS__Group_0__1_in_rule__PrefixedPrimaryExpCS__Group_0__038514 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PrefixedPrimaryExpCS__Group_0__1__Impl_in_rule__PrefixedPrimaryExpCS__Group_0__138572 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00410E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__PrefixedPrimaryExpCS__Group_0__2_in_rule__PrefixedPrimaryExpCS__Group_0__138575 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PrefixedPrimaryExpCS__NameAssignment_0_1_in_rule__PrefixedPrimaryExpCS__Group_0__1__Impl38602 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PrefixedPrimaryExpCS__Group_0__2__Impl_in_rule__PrefixedPrimaryExpCS__Group_0__238632 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PrefixedPrimaryExpCS__OwnedRightAssignment_0_2_in_rule__PrefixedPrimaryExpCS__Group_0__2__Impl38659 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NameExpCS__Group__0__Impl_in_rule__NameExpCS__Group__038695 = new BitSet(new long[]{0x0000000000000000L,0x0000200880000000L,0x0000000000000020L});
-        public static final BitSet FOLLOW_rule__NameExpCS__Group__1_in_rule__NameExpCS__Group__038698 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NameExpCS__OwnedPathNameAssignment_0_in_rule__NameExpCS__Group__0__Impl38725 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NameExpCS__Group__1__Impl_in_rule__NameExpCS__Group__138755 = new BitSet(new long[]{0x0000000000000000L,0x0000200880000000L,0x0000000000000020L});
-        public static final BitSet FOLLOW_rule__NameExpCS__Group__2_in_rule__NameExpCS__Group__138758 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NameExpCS__OwnedSquareBracketedClausesAssignment_1_in_rule__NameExpCS__Group__1__Impl38785 = new BitSet(new long[]{0x0000000000000002L,0x0000200000000000L});
-        public static final BitSet FOLLOW_rule__NameExpCS__Group__2__Impl_in_rule__NameExpCS__Group__238816 = new BitSet(new long[]{0x0000000000000000L,0x0000200880000000L,0x0000000000000020L});
-        public static final BitSet FOLLOW_rule__NameExpCS__Group__3_in_rule__NameExpCS__Group__238819 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NameExpCS__OwnedRoundBracketedClauseAssignment_2_in_rule__NameExpCS__Group__2__Impl38846 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NameExpCS__Group__3__Impl_in_rule__NameExpCS__Group__338877 = new BitSet(new long[]{0x0000000000000000L,0x0000200880000000L,0x0000000000000020L});
-        public static final BitSet FOLLOW_rule__NameExpCS__Group__4_in_rule__NameExpCS__Group__338880 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NameExpCS__OwnedCurlyBracketedClauseAssignment_3_in_rule__NameExpCS__Group__3__Impl38907 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NameExpCS__Group__4__Impl_in_rule__NameExpCS__Group__438938 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NameExpCS__Group_4__0_in_rule__NameExpCS__Group__4__Impl38965 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NameExpCS__Group_4__0__Impl_in_rule__NameExpCS__Group_4__039006 = new BitSet(new long[]{0x0000000000000000L,0x0000100000000000L});
-        public static final BitSet FOLLOW_rule__NameExpCS__Group_4__1_in_rule__NameExpCS__Group_4__039009 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NameExpCS__IsPreAssignment_4_0_in_rule__NameExpCS__Group_4__0__Impl39036 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NameExpCS__Group_4__1__Impl_in_rule__NameExpCS__Group_4__139066 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_108_in_rule__NameExpCS__Group_4__1__Impl39094 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CurlyBracketedClauseCS__Group__0__Impl_in_rule__CurlyBracketedClauseCS__Group__039129 = new BitSet(new long[]{0x0000000000000000L,0x0000000800000000L});
-        public static final BitSet FOLLOW_rule__CurlyBracketedClauseCS__Group__1_in_rule__CurlyBracketedClauseCS__Group__039132 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CurlyBracketedClauseCS__Group__1__Impl_in_rule__CurlyBracketedClauseCS__Group__139190 = new BitSet(new long[]{0x1F9FFFFFFFFE01A0L});
-        public static final BitSet FOLLOW_rule__CurlyBracketedClauseCS__Group__2_in_rule__CurlyBracketedClauseCS__Group__139193 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_99_in_rule__CurlyBracketedClauseCS__Group__1__Impl39221 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CurlyBracketedClauseCS__Group__2__Impl_in_rule__CurlyBracketedClauseCS__Group__239252 = new BitSet(new long[]{0x0000000000000000L,0x0000001000000000L});
-        public static final BitSet FOLLOW_rule__CurlyBracketedClauseCS__Group__3_in_rule__CurlyBracketedClauseCS__Group__239255 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CurlyBracketedClauseCS__Alternatives_2_in_rule__CurlyBracketedClauseCS__Group__2__Impl39282 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CurlyBracketedClauseCS__Group__3__Impl_in_rule__CurlyBracketedClauseCS__Group__339312 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_100_in_rule__CurlyBracketedClauseCS__Group__3__Impl39340 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CurlyBracketedClauseCS__Group_2_0__0__Impl_in_rule__CurlyBracketedClauseCS__Group_2_0__039379 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L});
-        public static final BitSet FOLLOW_rule__CurlyBracketedClauseCS__Group_2_0__1_in_rule__CurlyBracketedClauseCS__Group_2_0__039382 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_0_in_rule__CurlyBracketedClauseCS__Group_2_0__0__Impl39409 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CurlyBracketedClauseCS__Group_2_0__1__Impl_in_rule__CurlyBracketedClauseCS__Group_2_0__139439 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CurlyBracketedClauseCS__Group_2_0_1__0_in_rule__CurlyBracketedClauseCS__Group_2_0__1__Impl39466 = new BitSet(new long[]{0x0000000000000002L,0x0000000400000000L});
-        public static final BitSet FOLLOW_rule__CurlyBracketedClauseCS__Group_2_0_1__0__Impl_in_rule__CurlyBracketedClauseCS__Group_2_0_1__039501 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L});
-        public static final BitSet FOLLOW_rule__CurlyBracketedClauseCS__Group_2_0_1__1_in_rule__CurlyBracketedClauseCS__Group_2_0_1__039504 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_98_in_rule__CurlyBracketedClauseCS__Group_2_0_1__0__Impl39532 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CurlyBracketedClauseCS__Group_2_0_1__1__Impl_in_rule__CurlyBracketedClauseCS__Group_2_0_1__139563 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_1_1_in_rule__CurlyBracketedClauseCS__Group_2_0_1__1__Impl39590 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group__0__Impl_in_rule__RoundBracketedClauseCS__Group__039624 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L});
-        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group__1_in_rule__RoundBracketedClauseCS__Group__039627 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group__1__Impl_in_rule__RoundBracketedClauseCS__Group__139685 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00610E03BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group__2_in_rule__RoundBracketedClauseCS__Group__139688 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_95_in_rule__RoundBracketedClauseCS__Group__1__Impl39716 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group__2__Impl_in_rule__RoundBracketedClauseCS__Group__239747 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00610E03BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group__3_in_rule__RoundBracketedClauseCS__Group__239750 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group_2__0_in_rule__RoundBracketedClauseCS__Group__2__Impl39777 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group__3__Impl_in_rule__RoundBracketedClauseCS__Group__339808 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_96_in_rule__RoundBracketedClauseCS__Group__3__Impl39836 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group_2__0__Impl_in_rule__RoundBracketedClauseCS__Group_2__039875 = new BitSet(new long[]{0x0020000000000000L,0x0000000400000000L,0x0000000000000040L});
-        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group_2__1_in_rule__RoundBracketedClauseCS__Group_2__039878 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_0_in_rule__RoundBracketedClauseCS__Group_2__0__Impl39905 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group_2__1__Impl_in_rule__RoundBracketedClauseCS__Group_2__139935 = new BitSet(new long[]{0x0020000000000000L,0x0000000400000000L,0x0000000000000040L});
-        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group_2__2_in_rule__RoundBracketedClauseCS__Group_2__139938 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_1_in_rule__RoundBracketedClauseCS__Group_2__1__Impl39965 = new BitSet(new long[]{0x0000000000000002L,0x0000000400000000L});
-        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group_2__2__Impl_in_rule__RoundBracketedClauseCS__Group_2__239996 = new BitSet(new long[]{0x0020000000000000L,0x0000000400000000L,0x0000000000000040L});
-        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group_2__3_in_rule__RoundBracketedClauseCS__Group_2__239999 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group_2_2__0_in_rule__RoundBracketedClauseCS__Group_2__2__Impl40026 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group_2__3__Impl_in_rule__RoundBracketedClauseCS__Group_2__340057 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group_2_3__0_in_rule__RoundBracketedClauseCS__Group_2__3__Impl40084 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000040L});
-        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group_2_2__0__Impl_in_rule__RoundBracketedClauseCS__Group_2_2__040123 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L});
-        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group_2_2__1_in_rule__RoundBracketedClauseCS__Group_2_2__040126 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_0_in_rule__RoundBracketedClauseCS__Group_2_2__0__Impl40153 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group_2_2__1__Impl_in_rule__RoundBracketedClauseCS__Group_2_2__140183 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_1_in_rule__RoundBracketedClauseCS__Group_2_2__1__Impl40210 = new BitSet(new long[]{0x0000000000000002L,0x0000000400000000L});
-        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group_2_3__0__Impl_in_rule__RoundBracketedClauseCS__Group_2_3__040245 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L});
-        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group_2_3__1_in_rule__RoundBracketedClauseCS__Group_2_3__040248 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_0_in_rule__RoundBracketedClauseCS__Group_2_3__0__Impl40275 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group_2_3__1__Impl_in_rule__RoundBracketedClauseCS__Group_2_3__140305 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_1_in_rule__RoundBracketedClauseCS__Group_2_3__1__Impl40332 = new BitSet(new long[]{0x0000000000000002L,0x0000000400000000L});
-        public static final BitSet FOLLOW_rule__SquareBracketedClauseCS__Group__0__Impl_in_rule__SquareBracketedClauseCS__Group__040367 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__SquareBracketedClauseCS__Group__1_in_rule__SquareBracketedClauseCS__Group__040370 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_109_in_rule__SquareBracketedClauseCS__Group__0__Impl40398 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SquareBracketedClauseCS__Group__1__Impl_in_rule__SquareBracketedClauseCS__Group__140429 = new BitSet(new long[]{0x0000000000000000L,0x0000400400000000L});
-        public static final BitSet FOLLOW_rule__SquareBracketedClauseCS__Group__2_in_rule__SquareBracketedClauseCS__Group__140432 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SquareBracketedClauseCS__OwnedTermsAssignment_1_in_rule__SquareBracketedClauseCS__Group__1__Impl40459 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SquareBracketedClauseCS__Group__2__Impl_in_rule__SquareBracketedClauseCS__Group__240489 = new BitSet(new long[]{0x0000000000000000L,0x0000400400000000L});
-        public static final BitSet FOLLOW_rule__SquareBracketedClauseCS__Group__3_in_rule__SquareBracketedClauseCS__Group__240492 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SquareBracketedClauseCS__Group_2__0_in_rule__SquareBracketedClauseCS__Group__2__Impl40519 = new BitSet(new long[]{0x0000000000000002L,0x0000000400000000L});
-        public static final BitSet FOLLOW_rule__SquareBracketedClauseCS__Group__3__Impl_in_rule__SquareBracketedClauseCS__Group__340550 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_110_in_rule__SquareBracketedClauseCS__Group__3__Impl40578 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SquareBracketedClauseCS__Group_2__0__Impl_in_rule__SquareBracketedClauseCS__Group_2__040617 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__SquareBracketedClauseCS__Group_2__1_in_rule__SquareBracketedClauseCS__Group_2__040620 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_98_in_rule__SquareBracketedClauseCS__Group_2__0__Impl40648 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SquareBracketedClauseCS__Group_2__1__Impl_in_rule__SquareBracketedClauseCS__Group_2__140679 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SquareBracketedClauseCS__OwnedTermsAssignment_2_1_in_rule__SquareBracketedClauseCS__Group_2__1__Impl40706 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_0__0__Impl_in_rule__NavigatingArgCS__Group_0__040740 = new BitSet(new long[]{0x0000000000000000L,0x0000800200000000L});
-        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_0__1_in_rule__NavigatingArgCS__Group_0__040743 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingArgCS__OwnedNameExpressionAssignment_0_0_in_rule__NavigatingArgCS__Group_0__0__Impl40770 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_0__1__Impl_in_rule__NavigatingArgCS__Group_0__140800 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingArgCS__Alternatives_0_1_in_rule__NavigatingArgCS__Group_0__1__Impl40827 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_0_1_0__0__Impl_in_rule__NavigatingArgCS__Group_0_1_0__040862 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00410E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_0_1_0__1_in_rule__NavigatingArgCS__Group_0_1_0__040865 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_97_in_rule__NavigatingArgCS__Group_0_1_0__0__Impl40893 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_0_1_0__1__Impl_in_rule__NavigatingArgCS__Group_0_1_0__140924 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
-        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_0_1_0__2_in_rule__NavigatingArgCS__Group_0_1_0__140927 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingArgCS__OwnedTypeAssignment_0_1_0_1_in_rule__NavigatingArgCS__Group_0_1_0__1__Impl40954 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_0_1_0__2__Impl_in_rule__NavigatingArgCS__Group_0_1_0__240984 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_0_1_0_2__0_in_rule__NavigatingArgCS__Group_0_1_0__2__Impl41011 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_0_1_0_2__0__Impl_in_rule__NavigatingArgCS__Group_0_1_0_2__041048 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_0_1_0_2__1_in_rule__NavigatingArgCS__Group_0_1_0_2__041051 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_70_in_rule__NavigatingArgCS__Group_0_1_0_2__0__Impl41079 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_0_1_0_2__1__Impl_in_rule__NavigatingArgCS__Group_0_1_0_2__141110 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_0_2_1_in_rule__NavigatingArgCS__Group_0_1_0_2__1__Impl41137 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_0_1_1__0__Impl_in_rule__NavigatingArgCS__Group_0_1_1__041171 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_0_1_1__1_in_rule__NavigatingArgCS__Group_0_1_1__041174 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_111_in_rule__NavigatingArgCS__Group_0_1_1__0__Impl41202 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_0_1_1__1__Impl_in_rule__NavigatingArgCS__Group_0_1_1__141233 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_1_1_in_rule__NavigatingArgCS__Group_0_1_1__1__Impl41260 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_1__0__Impl_in_rule__NavigatingArgCS__Group_1__041294 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00410E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_1__1_in_rule__NavigatingArgCS__Group_1__041297 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_97_in_rule__NavigatingArgCS__Group_1__0__Impl41325 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_1__1__Impl_in_rule__NavigatingArgCS__Group_1__141356 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingArgCS__OwnedTypeAssignment_1_1_in_rule__NavigatingArgCS__Group_1__1__Impl41383 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group__0__Impl_in_rule__NavigatingBarArgCS__Group__041417 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group__1_in_rule__NavigatingBarArgCS__Group__041420 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingBarArgCS__PrefixAssignment_0_in_rule__NavigatingBarArgCS__Group__0__Impl41447 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group__1__Impl_in_rule__NavigatingBarArgCS__Group__141477 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
-        public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group__2_in_rule__NavigatingBarArgCS__Group__141480 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingBarArgCS__OwnedNameExpressionAssignment_1_in_rule__NavigatingBarArgCS__Group__1__Impl41507 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group__2__Impl_in_rule__NavigatingBarArgCS__Group__241537 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group_2__0_in_rule__NavigatingBarArgCS__Group__2__Impl41564 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group_2__0__Impl_in_rule__NavigatingBarArgCS__Group_2__041601 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00410E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group_2__1_in_rule__NavigatingBarArgCS__Group_2__041604 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_97_in_rule__NavigatingBarArgCS__Group_2__0__Impl41632 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group_2__1__Impl_in_rule__NavigatingBarArgCS__Group_2__141663 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
-        public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group_2__2_in_rule__NavigatingBarArgCS__Group_2__141666 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1_in_rule__NavigatingBarArgCS__Group_2__1__Impl41693 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group_2__2__Impl_in_rule__NavigatingBarArgCS__Group_2__241723 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group_2_2__0_in_rule__NavigatingBarArgCS__Group_2__2__Impl41750 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group_2_2__0__Impl_in_rule__NavigatingBarArgCS__Group_2_2__041787 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group_2_2__1_in_rule__NavigatingBarArgCS__Group_2_2__041790 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_70_in_rule__NavigatingBarArgCS__Group_2_2__0__Impl41818 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group_2_2__1__Impl_in_rule__NavigatingBarArgCS__Group_2_2__141849 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingBarArgCS__OwnedInitExpressionAssignment_2_2_1_in_rule__NavigatingBarArgCS__Group_2_2__1__Impl41876 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group__0__Impl_in_rule__NavigatingCommaArgCS__Group__041910 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group__1_in_rule__NavigatingCommaArgCS__Group__041913 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__PrefixAssignment_0_in_rule__NavigatingCommaArgCS__Group__0__Impl41940 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group__1__Impl_in_rule__NavigatingCommaArgCS__Group__141970 = new BitSet(new long[]{0x0000000000000000L,0x0000800200000000L});
-        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group__2_in_rule__NavigatingCommaArgCS__Group__141973 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__OwnedNameExpressionAssignment_1_in_rule__NavigatingCommaArgCS__Group__1__Impl42000 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group__2__Impl_in_rule__NavigatingCommaArgCS__Group__242030 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Alternatives_2_in_rule__NavigatingCommaArgCS__Group__2__Impl42057 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group_2_0__0__Impl_in_rule__NavigatingCommaArgCS__Group_2_0__042094 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00410E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group_2_0__1_in_rule__NavigatingCommaArgCS__Group_2_0__042097 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_97_in_rule__NavigatingCommaArgCS__Group_2_0__0__Impl42125 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group_2_0__1__Impl_in_rule__NavigatingCommaArgCS__Group_2_0__142156 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
-        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group_2_0__2_in_rule__NavigatingCommaArgCS__Group_2_0__142159 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_0_1_in_rule__NavigatingCommaArgCS__Group_2_0__1__Impl42186 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group_2_0__2__Impl_in_rule__NavigatingCommaArgCS__Group_2_0__242216 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group_2_0_2__0_in_rule__NavigatingCommaArgCS__Group_2_0__2__Impl42243 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group_2_0_2__0__Impl_in_rule__NavigatingCommaArgCS__Group_2_0_2__042280 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group_2_0_2__1_in_rule__NavigatingCommaArgCS__Group_2_0_2__042283 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_70_in_rule__NavigatingCommaArgCS__Group_2_0_2__0__Impl42311 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group_2_0_2__1__Impl_in_rule__NavigatingCommaArgCS__Group_2_0_2__142342 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_0_2_1_in_rule__NavigatingCommaArgCS__Group_2_0_2__1__Impl42369 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group_2_1__0__Impl_in_rule__NavigatingCommaArgCS__Group_2_1__042403 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group_2_1__1_in_rule__NavigatingCommaArgCS__Group_2_1__042406 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_111_in_rule__NavigatingCommaArgCS__Group_2_1__0__Impl42434 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group_2_1__1__Impl_in_rule__NavigatingCommaArgCS__Group_2_1__142465 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_1_1_in_rule__NavigatingCommaArgCS__Group_2_1__1__Impl42492 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group__0__Impl_in_rule__NavigatingSemiArgCS__Group__042526 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group__1_in_rule__NavigatingSemiArgCS__Group__042529 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__PrefixAssignment_0_in_rule__NavigatingSemiArgCS__Group__0__Impl42556 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group__1__Impl_in_rule__NavigatingSemiArgCS__Group__142586 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
-        public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group__2_in_rule__NavigatingSemiArgCS__Group__142589 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__OwnedNameExpressionAssignment_1_in_rule__NavigatingSemiArgCS__Group__1__Impl42616 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group__2__Impl_in_rule__NavigatingSemiArgCS__Group__242646 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group_2__0_in_rule__NavigatingSemiArgCS__Group__2__Impl42673 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group_2__0__Impl_in_rule__NavigatingSemiArgCS__Group_2__042710 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00410E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group_2__1_in_rule__NavigatingSemiArgCS__Group_2__042713 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_97_in_rule__NavigatingSemiArgCS__Group_2__0__Impl42741 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group_2__1__Impl_in_rule__NavigatingSemiArgCS__Group_2__142772 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
-        public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group_2__2_in_rule__NavigatingSemiArgCS__Group_2__142775 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1_in_rule__NavigatingSemiArgCS__Group_2__1__Impl42802 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group_2__2__Impl_in_rule__NavigatingSemiArgCS__Group_2__242832 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group_2_2__0_in_rule__NavigatingSemiArgCS__Group_2__2__Impl42859 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group_2_2__0__Impl_in_rule__NavigatingSemiArgCS__Group_2_2__042896 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group_2_2__1_in_rule__NavigatingSemiArgCS__Group_2_2__042899 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_70_in_rule__NavigatingSemiArgCS__Group_2_2__0__Impl42927 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group_2_2__1__Impl_in_rule__NavigatingSemiArgCS__Group_2_2__142958 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__OwnedInitExpressionAssignment_2_2_1_in_rule__NavigatingSemiArgCS__Group_2_2__1__Impl42985 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__IfExpCS__Group__0__Impl_in_rule__IfExpCS__Group__043019 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00610E02BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__IfExpCS__Group__1_in_rule__IfExpCS__Group__043022 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_112_in_rule__IfExpCS__Group__0__Impl43050 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__IfExpCS__Group__1__Impl_in_rule__IfExpCS__Group__143081 = new BitSet(new long[]{0x0000000000000000L,0x0002000000000000L});
-        public static final BitSet FOLLOW_rule__IfExpCS__Group__2_in_rule__IfExpCS__Group__143084 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__IfExpCS__OwnedConditionAssignment_1_in_rule__IfExpCS__Group__1__Impl43111 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__IfExpCS__Group__2__Impl_in_rule__IfExpCS__Group__243141 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__IfExpCS__Group__3_in_rule__IfExpCS__Group__243144 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_113_in_rule__IfExpCS__Group__2__Impl43172 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__IfExpCS__Group__3__Impl_in_rule__IfExpCS__Group__343203 = new BitSet(new long[]{0x0000000000000000L,0x0014000000000000L});
-        public static final BitSet FOLLOW_rule__IfExpCS__Group__4_in_rule__IfExpCS__Group__343206 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__IfExpCS__OwnedThenExpressionAssignment_3_in_rule__IfExpCS__Group__3__Impl43233 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__IfExpCS__Group__4__Impl_in_rule__IfExpCS__Group__443263 = new BitSet(new long[]{0x0000000000000000L,0x0014000000000000L});
-        public static final BitSet FOLLOW_rule__IfExpCS__Group__5_in_rule__IfExpCS__Group__443266 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__IfExpCS__OwnedIfThenExpressionsAssignment_4_in_rule__IfExpCS__Group__4__Impl43293 = new BitSet(new long[]{0x0000000000000002L,0x0010000000000000L});
-        public static final BitSet FOLLOW_rule__IfExpCS__Group__5__Impl_in_rule__IfExpCS__Group__543324 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__IfExpCS__Group__6_in_rule__IfExpCS__Group__543327 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_114_in_rule__IfExpCS__Group__5__Impl43355 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__IfExpCS__Group__6__Impl_in_rule__IfExpCS__Group__643386 = new BitSet(new long[]{0x0000000000000000L,0x0008000000000000L});
-        public static final BitSet FOLLOW_rule__IfExpCS__Group__7_in_rule__IfExpCS__Group__643389 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__IfExpCS__OwnedElseExpressionAssignment_6_in_rule__IfExpCS__Group__6__Impl43416 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__IfExpCS__Group__7__Impl_in_rule__IfExpCS__Group__743446 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_115_in_rule__IfExpCS__Group__7__Impl43474 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ElseIfThenExpCS__Group__0__Impl_in_rule__ElseIfThenExpCS__Group__043521 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__ElseIfThenExpCS__Group__1_in_rule__ElseIfThenExpCS__Group__043524 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_116_in_rule__ElseIfThenExpCS__Group__0__Impl43552 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ElseIfThenExpCS__Group__1__Impl_in_rule__ElseIfThenExpCS__Group__143583 = new BitSet(new long[]{0x0000000000000000L,0x0002000000000000L});
-        public static final BitSet FOLLOW_rule__ElseIfThenExpCS__Group__2_in_rule__ElseIfThenExpCS__Group__143586 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ElseIfThenExpCS__OwnedConditionAssignment_1_in_rule__ElseIfThenExpCS__Group__1__Impl43613 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ElseIfThenExpCS__Group__2__Impl_in_rule__ElseIfThenExpCS__Group__243643 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__ElseIfThenExpCS__Group__3_in_rule__ElseIfThenExpCS__Group__243646 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_113_in_rule__ElseIfThenExpCS__Group__2__Impl43674 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ElseIfThenExpCS__Group__3__Impl_in_rule__ElseIfThenExpCS__Group__343705 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ElseIfThenExpCS__OwnedThenExpressionAssignment_3_in_rule__ElseIfThenExpCS__Group__3__Impl43732 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LetExpCS__Group__0__Impl_in_rule__LetExpCS__Group__043770 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L});
-        public static final BitSet FOLLOW_rule__LetExpCS__Group__1_in_rule__LetExpCS__Group__043773 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_117_in_rule__LetExpCS__Group__0__Impl43801 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LetExpCS__Group__1__Impl_in_rule__LetExpCS__Group__143832 = new BitSet(new long[]{0x0000000000000000L,0x0000800400000000L});
-        public static final BitSet FOLLOW_rule__LetExpCS__Group__2_in_rule__LetExpCS__Group__143835 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LetExpCS__OwnedVariablesAssignment_1_in_rule__LetExpCS__Group__1__Impl43862 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LetExpCS__Group__2__Impl_in_rule__LetExpCS__Group__243892 = new BitSet(new long[]{0x0000000000000000L,0x0000800400000000L});
-        public static final BitSet FOLLOW_rule__LetExpCS__Group__3_in_rule__LetExpCS__Group__243895 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LetExpCS__Group_2__0_in_rule__LetExpCS__Group__2__Impl43922 = new BitSet(new long[]{0x0000000000000002L,0x0000000400000000L});
-        public static final BitSet FOLLOW_rule__LetExpCS__Group__3__Impl_in_rule__LetExpCS__Group__343953 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__LetExpCS__Group__4_in_rule__LetExpCS__Group__343956 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_111_in_rule__LetExpCS__Group__3__Impl43984 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LetExpCS__Group__4__Impl_in_rule__LetExpCS__Group__444015 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LetExpCS__OwnedInExpressionAssignment_4_in_rule__LetExpCS__Group__4__Impl44042 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LetExpCS__Group_2__0__Impl_in_rule__LetExpCS__Group_2__044082 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L});
-        public static final BitSet FOLLOW_rule__LetExpCS__Group_2__1_in_rule__LetExpCS__Group_2__044085 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_98_in_rule__LetExpCS__Group_2__0__Impl44113 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LetExpCS__Group_2__1__Impl_in_rule__LetExpCS__Group_2__144144 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LetExpCS__OwnedVariablesAssignment_2_1_in_rule__LetExpCS__Group_2__1__Impl44171 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LetVariableCS__Group__0__Impl_in_rule__LetVariableCS__Group__044205 = new BitSet(new long[]{0x0000000000000000L,0x0000000280000040L});
-        public static final BitSet FOLLOW_rule__LetVariableCS__Group__1_in_rule__LetVariableCS__Group__044208 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LetVariableCS__NameAssignment_0_in_rule__LetVariableCS__Group__0__Impl44235 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LetVariableCS__Group__1__Impl_in_rule__LetVariableCS__Group__144265 = new BitSet(new long[]{0x0000000000000000L,0x0000000280000040L});
-        public static final BitSet FOLLOW_rule__LetVariableCS__Group__2_in_rule__LetVariableCS__Group__144268 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LetVariableCS__OwnedRoundBracketedClauseAssignment_1_in_rule__LetVariableCS__Group__1__Impl44295 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LetVariableCS__Group__2__Impl_in_rule__LetVariableCS__Group__244326 = new BitSet(new long[]{0x0000000000000000L,0x0000000280000040L});
-        public static final BitSet FOLLOW_rule__LetVariableCS__Group__3_in_rule__LetVariableCS__Group__244329 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LetVariableCS__Group_2__0_in_rule__LetVariableCS__Group__2__Impl44356 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LetVariableCS__Group__3__Impl_in_rule__LetVariableCS__Group__344387 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__LetVariableCS__Group__4_in_rule__LetVariableCS__Group__344390 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_70_in_rule__LetVariableCS__Group__3__Impl44418 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LetVariableCS__Group__4__Impl_in_rule__LetVariableCS__Group__444449 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LetVariableCS__OwnedInitExpressionAssignment_4_in_rule__LetVariableCS__Group__4__Impl44476 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LetVariableCS__Group_2__0__Impl_in_rule__LetVariableCS__Group_2__044516 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00410E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__LetVariableCS__Group_2__1_in_rule__LetVariableCS__Group_2__044519 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_97_in_rule__LetVariableCS__Group_2__0__Impl44547 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LetVariableCS__Group_2__1__Impl_in_rule__LetVariableCS__Group_2__144578 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__LetVariableCS__OwnedTypeAssignment_2_1_in_rule__LetVariableCS__Group_2__1__Impl44605 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NestedExpCS__Group__0__Impl_in_rule__NestedExpCS__Group__044639 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00610E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__NestedExpCS__Group__1_in_rule__NestedExpCS__Group__044642 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_95_in_rule__NestedExpCS__Group__0__Impl44670 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NestedExpCS__Group__1__Impl_in_rule__NestedExpCS__Group__144701 = new BitSet(new long[]{0x0000000000000000L,0x0000000100000000L});
-        public static final BitSet FOLLOW_rule__NestedExpCS__Group__2_in_rule__NestedExpCS__Group__144704 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NestedExpCS__OwnedExpressionAssignment_1_in_rule__NestedExpCS__Group__1__Impl44731 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__NestedExpCS__Group__2__Impl_in_rule__NestedExpCS__Group__244761 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_96_in_rule__NestedExpCS__Group__2__Impl44789 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SelfExpCS__Group__0__Impl_in_rule__SelfExpCS__Group__044826 = new BitSet(new long[]{0x0000000000000000L,0x0040000000000000L});
-        public static final BitSet FOLLOW_rule__SelfExpCS__Group__1_in_rule__SelfExpCS__Group__044829 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SelfExpCS__Group__1__Impl_in_rule__SelfExpCS__Group__144887 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_118_in_rule__SelfExpCS__Group__1__Impl44915 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__MultiplicityBoundsCS__Group__0__Impl_in_rule__MultiplicityBoundsCS__Group__044950 = new BitSet(new long[]{0x0000000000000000L,0x0000008000000000L});
-        public static final BitSet FOLLOW_rule__MultiplicityBoundsCS__Group__1_in_rule__MultiplicityBoundsCS__Group__044953 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__MultiplicityBoundsCS__LowerBoundAssignment_0_in_rule__MultiplicityBoundsCS__Group__0__Impl44980 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__MultiplicityBoundsCS__Group__1__Impl_in_rule__MultiplicityBoundsCS__Group__145010 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__MultiplicityBoundsCS__Group_1__0_in_rule__MultiplicityBoundsCS__Group__1__Impl45037 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__MultiplicityBoundsCS__Group_1__0__Impl_in_rule__MultiplicityBoundsCS__Group_1__045072 = new BitSet(new long[]{0x8000000000000010L});
-        public static final BitSet FOLLOW_rule__MultiplicityBoundsCS__Group_1__1_in_rule__MultiplicityBoundsCS__Group_1__045075 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_103_in_rule__MultiplicityBoundsCS__Group_1__0__Impl45103 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__MultiplicityBoundsCS__Group_1__1__Impl_in_rule__MultiplicityBoundsCS__Group_1__145134 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1_in_rule__MultiplicityBoundsCS__Group_1__1__Impl45161 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__MultiplicityCS__Group__0__Impl_in_rule__MultiplicityCS__Group__045195 = new BitSet(new long[]{0x8000000000000010L,0x0000000040000002L});
-        public static final BitSet FOLLOW_rule__MultiplicityCS__Group__1_in_rule__MultiplicityCS__Group__045198 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_109_in_rule__MultiplicityCS__Group__0__Impl45226 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__MultiplicityCS__Group__1__Impl_in_rule__MultiplicityCS__Group__145257 = new BitSet(new long[]{0x0000000000000000L,0x0000400000000000L});
-        public static final BitSet FOLLOW_rule__MultiplicityCS__Group__2_in_rule__MultiplicityCS__Group__145260 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__MultiplicityCS__Alternatives_1_in_rule__MultiplicityCS__Group__1__Impl45287 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__MultiplicityCS__Group__2__Impl_in_rule__MultiplicityCS__Group__245317 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_110_in_rule__MultiplicityCS__Group__2__Impl45345 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PathNameCS__Group__0__Impl_in_rule__PathNameCS__Group__045382 = new BitSet(new long[]{0x0000000000000000L,0x0000004000000000L});
-        public static final BitSet FOLLOW_rule__PathNameCS__Group__1_in_rule__PathNameCS__Group__045385 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PathNameCS__OwnedPathElementsAssignment_0_in_rule__PathNameCS__Group__0__Impl45412 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PathNameCS__Group__1__Impl_in_rule__PathNameCS__Group__145442 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PathNameCS__Group_1__0_in_rule__PathNameCS__Group__1__Impl45469 = new BitSet(new long[]{0x0000000000000002L,0x0000004000000000L});
-        public static final BitSet FOLLOW_rule__PathNameCS__Group_1__0__Impl_in_rule__PathNameCS__Group_1__045504 = new BitSet(new long[]{0x1F9FFFFFFFFE0180L,0x000000003FFF0000L});
-        public static final BitSet FOLLOW_rule__PathNameCS__Group_1__1_in_rule__PathNameCS__Group_1__045507 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_102_in_rule__PathNameCS__Group_1__0__Impl45535 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PathNameCS__Group_1__1__Impl_in_rule__PathNameCS__Group_1__145566 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PathNameCS__OwnedPathElementsAssignment_1_1_in_rule__PathNameCS__Group_1__1__Impl45593 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypeParameterCS__Group__0__Impl_in_rule__TypeParameterCS__Group__045627 = new BitSet(new long[]{0x0000800010000000L});
+        public static final BitSet FOLLOW_rule__ImportCS__Group_1__0_in_rule__ImportCS__Group__1__Impl22391 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ImportCS__Group__2__Impl_in_rule__ImportCS__Group__222422 = new BitSet(new long[]{0x0020000000000000L,0x0000000000000000L,0x0000000000000004L});
+        public static final BitSet FOLLOW_rule__ImportCS__Group__3_in_rule__ImportCS__Group__222425 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ImportCS__OwnedPathNameAssignment_2_in_rule__ImportCS__Group__2__Impl22452 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ImportCS__Group__3__Impl_in_rule__ImportCS__Group__322482 = new BitSet(new long[]{0x0020000000000000L,0x0000000000000000L,0x0000000000000004L});
+        public static final BitSet FOLLOW_rule__ImportCS__Group__4_in_rule__ImportCS__Group__322485 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ImportCS__IsAllAssignment_3_in_rule__ImportCS__Group__3__Impl22512 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ImportCS__Group__4__Impl_in_rule__ImportCS__Group__422543 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_53_in_rule__ImportCS__Group__4__Impl22571 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ImportCS__Group_1__0__Impl_in_rule__ImportCS__Group_1__022612 = new BitSet(new long[]{0x0000000000000000L,0x0000040000000000L});
+        public static final BitSet FOLLOW_rule__ImportCS__Group_1__1_in_rule__ImportCS__Group_1__022615 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ImportCS__NameAssignment_1_0_in_rule__ImportCS__Group_1__0__Impl22642 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ImportCS__Group_1__1__Impl_in_rule__ImportCS__Group_1__122672 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_106_in_rule__ImportCS__Group_1__1__Impl22700 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LibraryCS__Group__0__Impl_in_rule__LibraryCS__Group__022735 = new BitSet(new long[]{0x001FFFFFFFFE01A0L,0x000000000000003FL});
+        public static final BitSet FOLLOW_rule__LibraryCS__Group__1_in_rule__LibraryCS__Group__022738 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_34_in_rule__LibraryCS__Group__0__Impl22766 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LibraryCS__Group__1__Impl_in_rule__LibraryCS__Group__122797 = new BitSet(new long[]{0x001FFFFFFFFE01A0L,0x000000000000003FL});
+        public static final BitSet FOLLOW_rule__LibraryCS__Group__2_in_rule__LibraryCS__Group__122800 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LibraryCS__Group_1__0_in_rule__LibraryCS__Group__1__Impl22827 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LibraryCS__Group__2__Impl_in_rule__LibraryCS__Group__222858 = new BitSet(new long[]{0x0020000000000000L});
+        public static final BitSet FOLLOW_rule__LibraryCS__Group__3_in_rule__LibraryCS__Group__222861 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LibraryCS__ReferredPackageAssignment_2_in_rule__LibraryCS__Group__2__Impl22888 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LibraryCS__Group__3__Impl_in_rule__LibraryCS__Group__322918 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_53_in_rule__LibraryCS__Group__3__Impl22946 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LibraryCS__Group_1__0__Impl_in_rule__LibraryCS__Group_1__022985 = new BitSet(new long[]{0x0000000000000000L,0x0000040000000000L});
+        public static final BitSet FOLLOW_rule__LibraryCS__Group_1__1_in_rule__LibraryCS__Group_1__022988 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LibraryCS__NameAssignment_1_0_in_rule__LibraryCS__Group_1__0__Impl23015 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LibraryCS__Group_1__1__Impl_in_rule__LibraryCS__Group_1__123045 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_106_in_rule__LibraryCS__Group_1__1__Impl23073 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ModelElementRefCS__Group__0__Impl_in_rule__ModelElementRefCS__Group__023108 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0x821C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__ModelElementRefCS__Group__1_in_rule__ModelElementRefCS__Group__023111 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_44_in_rule__ModelElementRefCS__Group__0__Impl23139 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ModelElementRefCS__Group__1__Impl_in_rule__ModelElementRefCS__Group__123170 = new BitSet(new long[]{0x0020000000000000L});
+        public static final BitSet FOLLOW_rule__ModelElementRefCS__Group__2_in_rule__ModelElementRefCS__Group__123173 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ModelElementRefCS__OwnedPathNameAssignment_1_in_rule__ModelElementRefCS__Group__1__Impl23200 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ModelElementRefCS__Group__2__Impl_in_rule__ModelElementRefCS__Group__223230 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_53_in_rule__ModelElementRefCS__Group__2__Impl23258 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group__0__Impl_in_rule__OperationCS__Group__023295 = new BitSet(new long[]{0x0000001000000000L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group__1_in_rule__OperationCS__Group__023298 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__UnorderedGroup_0_in_rule__OperationCS__Group__0__Impl23325 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group__1__Impl_in_rule__OperationCS__Group__123355 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000001000000103FL});
+        public static final BitSet FOLLOW_rule__OperationCS__Group__2_in_rule__OperationCS__Group__123358 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_36_in_rule__OperationCS__Group__1__Impl23386 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group__2__Impl_in_rule__OperationCS__Group__223417 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000001000000103FL});
+        public static final BitSet FOLLOW_rule__OperationCS__Group__3_in_rule__OperationCS__Group__223420 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__OwnedSignatureAssignment_2_in_rule__OperationCS__Group__2__Impl23447 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group__3__Impl_in_rule__OperationCS__Group__323478 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group__4_in_rule__OperationCS__Group__323481 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__NameAssignment_3_in_rule__OperationCS__Group__3__Impl23508 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group__4__Impl_in_rule__OperationCS__Group__423538 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000002000000003FL});
+        public static final BitSet FOLLOW_rule__OperationCS__Group__5_in_rule__OperationCS__Group__423541 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_104_in_rule__OperationCS__Group__4__Impl23569 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group__5__Impl_in_rule__OperationCS__Group__523600 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000002000000003FL});
+        public static final BitSet FOLLOW_rule__OperationCS__Group__6_in_rule__OperationCS__Group__523603 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_5__0_in_rule__OperationCS__Group__5__Impl23630 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group__6__Impl_in_rule__OperationCS__Group__623661 = new BitSet(new long[]{0x0125002000000000L,0x0000340000000000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group__7_in_rule__OperationCS__Group__623664 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_105_in_rule__OperationCS__Group__6__Impl23692 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group__7__Impl_in_rule__OperationCS__Group__723723 = new BitSet(new long[]{0x0125002000000000L,0x0000340000000000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group__8_in_rule__OperationCS__Group__723726 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_7__0_in_rule__OperationCS__Group__7__Impl23753 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group__8__Impl_in_rule__OperationCS__Group__823784 = new BitSet(new long[]{0x0125002000000000L,0x0000340000000000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group__9_in_rule__OperationCS__Group__823787 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_8__0_in_rule__OperationCS__Group__8__Impl23814 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group__9__Impl_in_rule__OperationCS__Group__923845 = new BitSet(new long[]{0x0125002000000000L,0x0000340000000000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group__10_in_rule__OperationCS__Group__923848 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__UnorderedGroup_9_in_rule__OperationCS__Group__9__Impl23875 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group__10__Impl_in_rule__OperationCS__Group__1023906 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Alternatives_10_in_rule__OperationCS__Group__10__Impl23933 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_5__0__Impl_in_rule__OperationCS__Group_5__023985 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_5__1_in_rule__OperationCS__Group_5__023988 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__OwnedParametersAssignment_5_0_in_rule__OperationCS__Group_5__0__Impl24015 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_5__1__Impl_in_rule__OperationCS__Group_5__124045 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_5_1__0_in_rule__OperationCS__Group_5__1__Impl24072 = new BitSet(new long[]{0x0000000000000002L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_5_1__0__Impl_in_rule__OperationCS__Group_5_1__024107 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000000000000003FL});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_5_1__1_in_rule__OperationCS__Group_5_1__024110 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__OperationCS__Group_5_1__0__Impl24138 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_5_1__1__Impl_in_rule__OperationCS__Group_5_1__124169 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__OwnedParametersAssignment_5_1_1_in_rule__OperationCS__Group_5_1__1__Impl24196 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_7__0__Impl_in_rule__OperationCS__Group_7__024230 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0x821C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_7__1_in_rule__OperationCS__Group_7__024233 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_106_in_rule__OperationCS__Group_7__0__Impl24261 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_7__1__Impl_in_rule__OperationCS__Group_7__124292 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__OwnedTypeAssignment_7_1_in_rule__OperationCS__Group_7__1__Impl24319 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_8__0__Impl_in_rule__OperationCS__Group_8__024353 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0x821C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_8__1_in_rule__OperationCS__Group_8__024356 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_48_in_rule__OperationCS__Group_8__0__Impl24384 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_8__1__Impl_in_rule__OperationCS__Group_8__124415 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_8__2_in_rule__OperationCS__Group_8__124418 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__OwnedExceptionsAssignment_8_1_in_rule__OperationCS__Group_8__1__Impl24445 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_8__2__Impl_in_rule__OperationCS__Group_8__224475 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_8_2__0_in_rule__OperationCS__Group_8__2__Impl24502 = new BitSet(new long[]{0x0000000000000002L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_8_2__0__Impl_in_rule__OperationCS__Group_8_2__024539 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0x821C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_8_2__1_in_rule__OperationCS__Group_8_2__024542 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__OperationCS__Group_8_2__0__Impl24570 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_8_2__1__Impl_in_rule__OperationCS__Group_8_2__124601 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__OwnedExceptionsAssignment_8_2_1_in_rule__OperationCS__Group_8_2__1__Impl24628 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_9_0__0__Impl_in_rule__OperationCS__Group_9_0__024662 = new BitSet(new long[]{0x0040000004000000L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_9_0__1_in_rule__OperationCS__Group_9_0__024665 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_108_in_rule__OperationCS__Group_9_0__0__Impl24693 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_9_0__1__Impl_in_rule__OperationCS__Group_9_0__124724 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_9_0_1__0_in_rule__OperationCS__Group_9_0__1__Impl24751 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_9_0_1__0__Impl_in_rule__OperationCS__Group_9_0_1__024786 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_9_0_1__1_in_rule__OperationCS__Group_9_0_1__024789 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Alternatives_9_0_1_0_in_rule__OperationCS__Group_9_0_1__0__Impl24816 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_9_0_1__1__Impl_in_rule__OperationCS__Group_9_0_1__124846 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__OperationCS__Group_9_0_1__1__Impl24875 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_9_1__0__Impl_in_rule__OperationCS__Group_9_1__024912 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_9_1__1_in_rule__OperationCS__Group_9_1__024915 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Alternatives_9_1_0_in_rule__OperationCS__Group_9_1__0__Impl24942 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_9_1__1__Impl_in_rule__OperationCS__Group_9_1__124972 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__OperationCS__Group_9_1__1__Impl25001 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_9_2__0__Impl_in_rule__OperationCS__Group_9_2__025038 = new BitSet(new long[]{0x0104002000000000L,0x0000300000000000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_9_2__1_in_rule__OperationCS__Group_9_2__025041 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_9_2_0__0_in_rule__OperationCS__Group_9_2__0__Impl25068 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_9_2__1__Impl_in_rule__OperationCS__Group_9_2__125099 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_109_in_rule__OperationCS__Group_9_2__1__Impl25127 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_9_2_0__0__Impl_in_rule__OperationCS__Group_9_2_0__025162 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_9_2_0__1_in_rule__OperationCS__Group_9_2_0__025165 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Alternatives_9_2_0_0_in_rule__OperationCS__Group_9_2_0__0__Impl25192 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_9_2_0__1__Impl_in_rule__OperationCS__Group_9_2_0__125222 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__OperationCS__Group_9_2_0__1__Impl25251 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_10_0__0__Impl_in_rule__OperationCS__Group_10_0__025288 = new BitSet(new long[]{0x0000018000080000L,0x0000200000000023L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_10_0__1_in_rule__OperationCS__Group_10_0__025291 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_108_in_rule__OperationCS__Group_10_0__0__Impl25319 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_10_0__1__Impl_in_rule__OperationCS__Group_10_0__125350 = new BitSet(new long[]{0x0000018000080000L,0x0000200000000023L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_10_0__2_in_rule__OperationCS__Group_10_0__125353 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Alternatives_10_0_1_in_rule__OperationCS__Group_10_0__1__Impl25380 = new BitSet(new long[]{0x0000018000080002L,0x0000000000000023L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_10_0__2__Impl_in_rule__OperationCS__Group_10_0__225411 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_109_in_rule__OperationCS__Group_10_0__2__Impl25439 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_10_0_1_2__0__Impl_in_rule__OperationCS__Group_10_0_1_2__025476 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000004000000003FL});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_10_0_1_2__1_in_rule__OperationCS__Group_10_0_1_2__025479 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_19_in_rule__OperationCS__Group_10_0_1_2__0__Impl25507 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_10_0_1_2__1__Impl_in_rule__OperationCS__Group_10_0_1_2__125538 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000004000000003FL});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_10_0_1_2__2_in_rule__OperationCS__Group_10_0_1_2__125541 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__OperationCS__Group_10_0_1_2__1__Impl25569 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_10_0_1_2__2__Impl_in_rule__OperationCS__Group_10_0_1_2__225600 = new BitSet(new long[]{0x003FFFFFFFFE03B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_10_0_1_2__3_in_rule__OperationCS__Group_10_0_1_2__225603 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_106_in_rule__OperationCS__Group_10_0_1_2__2__Impl25631 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_10_0_1_2__3__Impl_in_rule__OperationCS__Group_10_0_1_2__325662 = new BitSet(new long[]{0x003FFFFFFFFE03B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_10_0_1_2__4_in_rule__OperationCS__Group_10_0_1_2__325665 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__OwnedBodyExpressionsAssignment_10_0_1_2_3_in_rule__OperationCS__Group_10_0_1_2__3__Impl25692 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_10_0_1_2__4__Impl_in_rule__OperationCS__Group_10_0_1_2__425723 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_53_in_rule__OperationCS__Group_10_0_1_2__4__Impl25751 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PackageCS__Group__0__Impl_in_rule__PackageCS__Group__025792 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000000000000003FL});
+        public static final BitSet FOLLOW_rule__PackageCS__Group__1_in_rule__PackageCS__Group__025795 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_38_in_rule__PackageCS__Group__0__Impl25823 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PackageCS__Group__1__Impl_in_rule__PackageCS__Group__125854 = new BitSet(new long[]{0x0020000000000000L,0x0000140000008000L});
+        public static final BitSet FOLLOW_rule__PackageCS__Group__2_in_rule__PackageCS__Group__125857 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PackageCS__NameAssignment_1_in_rule__PackageCS__Group__1__Impl25884 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PackageCS__Group__2__Impl_in_rule__PackageCS__Group__225914 = new BitSet(new long[]{0x0020000000000000L,0x0000140000008000L});
+        public static final BitSet FOLLOW_rule__PackageCS__Group__3_in_rule__PackageCS__Group__225917 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PackageCS__Group_2__0_in_rule__PackageCS__Group__2__Impl25944 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PackageCS__Group__3__Impl_in_rule__PackageCS__Group__325975 = new BitSet(new long[]{0x0020000000000000L,0x0000140000008000L});
+        public static final BitSet FOLLOW_rule__PackageCS__Group__4_in_rule__PackageCS__Group__325978 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PackageCS__Group_3__0_in_rule__PackageCS__Group__3__Impl26005 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PackageCS__Group__4__Impl_in_rule__PackageCS__Group__426036 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PackageCS__Alternatives_4_in_rule__PackageCS__Group__4__Impl26063 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PackageCS__Group_2__0__Impl_in_rule__PackageCS__Group_2__026103 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000000000000003FL});
+        public static final BitSet FOLLOW_rule__PackageCS__Group_2__1_in_rule__PackageCS__Group_2__026106 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_106_in_rule__PackageCS__Group_2__0__Impl26134 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PackageCS__Group_2__1__Impl_in_rule__PackageCS__Group_2__126165 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PackageCS__NsPrefixAssignment_2_1_in_rule__PackageCS__Group_2__1__Impl26192 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PackageCS__Group_3__0__Impl_in_rule__PackageCS__Group_3__026226 = new BitSet(new long[]{0x001FFFFFFFFE01A0L,0x000000000000003FL});
+        public static final BitSet FOLLOW_rule__PackageCS__Group_3__1_in_rule__PackageCS__Group_3__026229 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_79_in_rule__PackageCS__Group_3__0__Impl26257 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PackageCS__Group_3__1__Impl_in_rule__PackageCS__Group_3__126288 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PackageCS__NsURIAssignment_3_1_in_rule__PackageCS__Group_3__1__Impl26315 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PackageCS__Group_4_0__0__Impl_in_rule__PackageCS__Group_4_0__026349 = new BitSet(new long[]{0x0000024008A20000L,0x0000200000000023L});
+        public static final BitSet FOLLOW_rule__PackageCS__Group_4_0__1_in_rule__PackageCS__Group_4_0__026352 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_108_in_rule__PackageCS__Group_4_0__0__Impl26380 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PackageCS__Group_4_0__1__Impl_in_rule__PackageCS__Group_4_0__126411 = new BitSet(new long[]{0x0000024008A20000L,0x0000200000000023L});
+        public static final BitSet FOLLOW_rule__PackageCS__Group_4_0__2_in_rule__PackageCS__Group_4_0__126414 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PackageCS__Alternatives_4_0_1_in_rule__PackageCS__Group_4_0__1__Impl26441 = new BitSet(new long[]{0x0000024008A20002L,0x0000000000000023L});
+        public static final BitSet FOLLOW_rule__PackageCS__Group_4_0__2__Impl_in_rule__PackageCS__Group_4_0__226472 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_109_in_rule__PackageCS__Group_4_0__2__Impl26500 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__Group__0__Impl_in_rule__ParameterCS__Group__026537 = new BitSet(new long[]{0x0004000000000000L,0x0000340000000000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__Group__1_in_rule__ParameterCS__Group__026540 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__NameAssignment_0_in_rule__ParameterCS__Group__0__Impl26567 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__Group__1__Impl_in_rule__ParameterCS__Group__126597 = new BitSet(new long[]{0x0004000000000000L,0x0000340000000000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__Group__2_in_rule__ParameterCS__Group__126600 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__Group_1__0_in_rule__ParameterCS__Group__1__Impl26627 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__Group__2__Impl_in_rule__ParameterCS__Group__226658 = new BitSet(new long[]{0x0004000000000000L,0x0000340000000000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__Group__3_in_rule__ParameterCS__Group__226661 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__UnorderedGroup_2_in_rule__ParameterCS__Group__2__Impl26688 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__Group__3__Impl_in_rule__ParameterCS__Group__326719 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__Group_3__0_in_rule__ParameterCS__Group__3__Impl26746 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__Group_1__0__Impl_in_rule__ParameterCS__Group_1__026785 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0x821C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__ParameterCS__Group_1__1_in_rule__ParameterCS__Group_1__026788 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_106_in_rule__ParameterCS__Group_1__0__Impl26816 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__Group_1__1__Impl_in_rule__ParameterCS__Group_1__126847 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__OwnedTypeAssignment_1_1_in_rule__ParameterCS__Group_1__1__Impl26874 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__Group_2_0__0__Impl_in_rule__ParameterCS__Group_2_0__026908 = new BitSet(new long[]{0x0100002000000000L});
+        public static final BitSet FOLLOW_rule__ParameterCS__Group_2_0__1_in_rule__ParameterCS__Group_2_0__026911 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_108_in_rule__ParameterCS__Group_2_0__0__Impl26939 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__Group_2_0__1__Impl_in_rule__ParameterCS__Group_2_0__126970 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__Group_2_0_1__0_in_rule__ParameterCS__Group_2_0__1__Impl26997 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__Group_2_0_1__0__Impl_in_rule__ParameterCS__Group_2_0_1__027032 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__ParameterCS__Group_2_0_1__1_in_rule__ParameterCS__Group_2_0_1__027035 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__Alternatives_2_0_1_0_in_rule__ParameterCS__Group_2_0_1__0__Impl27062 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__Group_2_0_1__1__Impl_in_rule__ParameterCS__Group_2_0_1__127092 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__ParameterCS__Group_2_0_1__1__Impl27121 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__Group_2_1__0__Impl_in_rule__ParameterCS__Group_2_1__027158 = new BitSet(new long[]{0x0004000000000000L,0x0000300000000000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__Group_2_1__1_in_rule__ParameterCS__Group_2_1__027161 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__Group_2_1_0__0_in_rule__ParameterCS__Group_2_1__0__Impl27188 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__Group_2_1__1__Impl_in_rule__ParameterCS__Group_2_1__127219 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_109_in_rule__ParameterCS__Group_2_1__1__Impl27247 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__Group_2_1_0__0__Impl_in_rule__ParameterCS__Group_2_1_0__027282 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__ParameterCS__Group_2_1_0__1_in_rule__ParameterCS__Group_2_1_0__027285 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__Alternatives_2_1_0_0_in_rule__ParameterCS__Group_2_1_0__0__Impl27312 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__Group_2_1_0__1__Impl_in_rule__ParameterCS__Group_2_1_0__127342 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__ParameterCS__Group_2_1_0__1__Impl27371 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__Group_3__0__Impl_in_rule__ParameterCS__Group_3__027408 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000023L});
+        public static final BitSet FOLLOW_rule__ParameterCS__Group_3__1_in_rule__ParameterCS__Group_3__027411 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_108_in_rule__ParameterCS__Group_3__0__Impl27439 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__Group_3__1__Impl_in_rule__ParameterCS__Group_3__127470 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000023L});
+        public static final BitSet FOLLOW_rule__ParameterCS__Group_3__2_in_rule__ParameterCS__Group_3__127473 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__OwnedAnnotationsAssignment_3_1_in_rule__ParameterCS__Group_3__1__Impl27500 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000023L});
+        public static final BitSet FOLLOW_rule__ParameterCS__Group_3__2__Impl_in_rule__ParameterCS__Group_3__227531 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_109_in_rule__ParameterCS__Group_3__2__Impl27559 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group__0__Impl_in_rule__ReferenceCS__Group__027596 = new BitSet(new long[]{0x0000040000000000L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group__1_in_rule__ReferenceCS__Group__027599 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__UnorderedGroup_0_in_rule__ReferenceCS__Group__0__Impl27626 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group__1__Impl_in_rule__ReferenceCS__Group__127656 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000000000000003FL});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group__2_in_rule__ReferenceCS__Group__127659 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_42_in_rule__ReferenceCS__Group__1__Impl27687 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group__2__Impl_in_rule__ReferenceCS__Group__227718 = new BitSet(new long[]{0x9F7E282004000000L,0x0000740000008000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group__3_in_rule__ReferenceCS__Group__227721 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__NameAssignment_2_in_rule__ReferenceCS__Group__2__Impl27748 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group__3__Impl_in_rule__ReferenceCS__Group__327778 = new BitSet(new long[]{0x9F7E282004000000L,0x0000740000008000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group__4_in_rule__ReferenceCS__Group__327781 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_3__0_in_rule__ReferenceCS__Group__3__Impl27808 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group__4__Impl_in_rule__ReferenceCS__Group__427839 = new BitSet(new long[]{0x9F7E282004000000L,0x0000740000008000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group__5_in_rule__ReferenceCS__Group__427842 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_4__0_in_rule__ReferenceCS__Group__4__Impl27869 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group__5__Impl_in_rule__ReferenceCS__Group__527900 = new BitSet(new long[]{0x9F7E282004000000L,0x0000740000008000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group__6_in_rule__ReferenceCS__Group__527903 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_5__0_in_rule__ReferenceCS__Group__5__Impl27930 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group__6__Impl_in_rule__ReferenceCS__Group__627961 = new BitSet(new long[]{0x9F7E282004000000L,0x0000740000008000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group__7_in_rule__ReferenceCS__Group__627964 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__UnorderedGroup_6_in_rule__ReferenceCS__Group__6__Impl27991 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group__7__Impl_in_rule__ReferenceCS__Group__728022 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Alternatives_7_in_rule__ReferenceCS__Group__7__Impl28049 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_3__0__Impl_in_rule__ReferenceCS__Group_3__028095 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000000000000003FL});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_3__1_in_rule__ReferenceCS__Group_3__028098 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_110_in_rule__ReferenceCS__Group_3__0__Impl28126 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_3__1__Impl_in_rule__ReferenceCS__Group_3__128157 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__ReferredOppositeAssignment_3_1_in_rule__ReferenceCS__Group_3__1__Impl28184 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_4__0__Impl_in_rule__ReferenceCS__Group_4__028218 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0x821C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_4__1_in_rule__ReferenceCS__Group_4__028221 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_106_in_rule__ReferenceCS__Group_4__0__Impl28249 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_4__1__Impl_in_rule__ReferenceCS__Group_4__128280 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__OwnedTypeAssignment_4_1_in_rule__ReferenceCS__Group_4__1__Impl28307 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_5__0__Impl_in_rule__ReferenceCS__Group_5__028341 = new BitSet(new long[]{0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_5__1_in_rule__ReferenceCS__Group_5__028344 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_79_in_rule__ReferenceCS__Group_5__0__Impl28372 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_5__1__Impl_in_rule__ReferenceCS__Group_5__128403 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__DefaultAssignment_5_1_in_rule__ReferenceCS__Group_5__1__Impl28430 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_0__0__Impl_in_rule__ReferenceCS__Group_6_0__028464 = new BitSet(new long[]{0x4000000000400000L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_0__1_in_rule__ReferenceCS__Group_6_0__028467 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_108_in_rule__ReferenceCS__Group_6_0__0__Impl28495 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_0__1__Impl_in_rule__ReferenceCS__Group_6_0__128526 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_0_1__0_in_rule__ReferenceCS__Group_6_0__1__Impl28553 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_0_1__0__Impl_in_rule__ReferenceCS__Group_6_0_1__028588 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_0_1__1_in_rule__ReferenceCS__Group_6_0_1__028591 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Alternatives_6_0_1_0_in_rule__ReferenceCS__Group_6_0_1__0__Impl28618 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_0_1__1__Impl_in_rule__ReferenceCS__Group_6_0_1__128648 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__ReferenceCS__Group_6_0_1__1__Impl28677 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_1__0__Impl_in_rule__ReferenceCS__Group_6_1__028714 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_1__1_in_rule__ReferenceCS__Group_6_1__028717 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Alternatives_6_1_0_in_rule__ReferenceCS__Group_6_1__0__Impl28744 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_1__1__Impl_in_rule__ReferenceCS__Group_6_1__128774 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__ReferenceCS__Group_6_1__1__Impl28803 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_2__0__Impl_in_rule__ReferenceCS__Group_6_2__028840 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_2__1_in_rule__ReferenceCS__Group_6_2__028843 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Alternatives_6_2_0_in_rule__ReferenceCS__Group_6_2__0__Impl28870 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_2__1__Impl_in_rule__ReferenceCS__Group_6_2__128900 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__ReferenceCS__Group_6_2__1__Impl28929 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_3__0__Impl_in_rule__ReferenceCS__Group_6_3__028966 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_3__1_in_rule__ReferenceCS__Group_6_3__028969 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Alternatives_6_3_0_in_rule__ReferenceCS__Group_6_3__0__Impl28996 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_3__1__Impl_in_rule__ReferenceCS__Group_6_3__129026 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__ReferenceCS__Group_6_3__1__Impl29055 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_4__0__Impl_in_rule__ReferenceCS__Group_6_4__029092 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_4__1_in_rule__ReferenceCS__Group_6_4__029095 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Alternatives_6_4_0_in_rule__ReferenceCS__Group_6_4__0__Impl29122 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_4__1__Impl_in_rule__ReferenceCS__Group_6_4__129152 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__ReferenceCS__Group_6_4__1__Impl29181 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_5__0__Impl_in_rule__ReferenceCS__Group_6_5__029218 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_5__1_in_rule__ReferenceCS__Group_6_5__029221 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Alternatives_6_5_0_in_rule__ReferenceCS__Group_6_5__0__Impl29248 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_5__1__Impl_in_rule__ReferenceCS__Group_6_5__129278 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__ReferenceCS__Group_6_5__1__Impl29307 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_6__0__Impl_in_rule__ReferenceCS__Group_6_6__029344 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_6__1_in_rule__ReferenceCS__Group_6_6__029347 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Alternatives_6_6_0_in_rule__ReferenceCS__Group_6_6__0__Impl29374 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_6__1__Impl_in_rule__ReferenceCS__Group_6_6__129404 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__ReferenceCS__Group_6_6__1__Impl29433 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_7__0__Impl_in_rule__ReferenceCS__Group_6_7__029470 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_7__1_in_rule__ReferenceCS__Group_6_7__029473 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Alternatives_6_7_0_in_rule__ReferenceCS__Group_6_7__0__Impl29500 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_7__1__Impl_in_rule__ReferenceCS__Group_6_7__129530 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__ReferenceCS__Group_6_7__1__Impl29559 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_8__0__Impl_in_rule__ReferenceCS__Group_6_8__029596 = new BitSet(new long[]{0x9F5E282004000000L,0x0000300000000000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_8__1_in_rule__ReferenceCS__Group_6_8__029599 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_8_0__0_in_rule__ReferenceCS__Group_6_8__0__Impl29626 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_8__1__Impl_in_rule__ReferenceCS__Group_6_8__129657 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_109_in_rule__ReferenceCS__Group_6_8__1__Impl29685 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_8_0__0__Impl_in_rule__ReferenceCS__Group_6_8_0__029720 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_8_0__1_in_rule__ReferenceCS__Group_6_8_0__029723 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Alternatives_6_8_0_0_in_rule__ReferenceCS__Group_6_8_0__0__Impl29750 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_8_0__1__Impl_in_rule__ReferenceCS__Group_6_8_0__129780 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__ReferenceCS__Group_6_8_0__1__Impl29809 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0__0__Impl_in_rule__ReferenceCS__Group_7_0__029846 = new BitSet(new long[]{0x0000000282000000L,0x0000200000000023L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0__1_in_rule__ReferenceCS__Group_7_0__029849 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_108_in_rule__ReferenceCS__Group_7_0__0__Impl29877 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0__1__Impl_in_rule__ReferenceCS__Group_7_0__129908 = new BitSet(new long[]{0x0000000282000000L,0x0000200000000023L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0__2_in_rule__ReferenceCS__Group_7_0__129911 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Alternatives_7_0_1_in_rule__ReferenceCS__Group_7_0__1__Impl29938 = new BitSet(new long[]{0x0000000282000002L,0x0000000000000023L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0__2__Impl_in_rule__ReferenceCS__Group_7_0__229969 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_109_in_rule__ReferenceCS__Group_7_0__2__Impl29997 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_1__0__Impl_in_rule__ReferenceCS__Group_7_0_1_1__030034 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000000000000003FL});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_1__1_in_rule__ReferenceCS__Group_7_0_1_1__030037 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_33_in_rule__ReferenceCS__Group_7_0_1_1__0__Impl30065 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_1__1__Impl_in_rule__ReferenceCS__Group_7_0_1_1__130096 = new BitSet(new long[]{0x0020000000000000L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_1__2_in_rule__ReferenceCS__Group_7_0_1_1__130099 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_1_in_rule__ReferenceCS__Group_7_0_1_1__1__Impl30126 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_1__2__Impl_in_rule__ReferenceCS__Group_7_0_1_1__230156 = new BitSet(new long[]{0x0020000000000000L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_1__3_in_rule__ReferenceCS__Group_7_0_1_1__230159 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_1_2__0_in_rule__ReferenceCS__Group_7_0_1_1__2__Impl30186 = new BitSet(new long[]{0x0000000000000002L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_1__3__Impl_in_rule__ReferenceCS__Group_7_0_1_1__330217 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_53_in_rule__ReferenceCS__Group_7_0_1_1__3__Impl30245 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_1_2__0__Impl_in_rule__ReferenceCS__Group_7_0_1_1_2__030284 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000000000000003FL});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_1_2__1_in_rule__ReferenceCS__Group_7_0_1_1_2__030287 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__ReferenceCS__Group_7_0_1_1_2__0__Impl30315 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_1_2__1__Impl_in_rule__ReferenceCS__Group_7_0_1_1_2__130346 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_2_1_in_rule__ReferenceCS__Group_7_0_1_1_2__1__Impl30373 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_2__0__Impl_in_rule__ReferenceCS__Group_7_0_1_2__030407 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000004000000003FL});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_2__1_in_rule__ReferenceCS__Group_7_0_1_2__030410 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_25_in_rule__ReferenceCS__Group_7_0_1_2__0__Impl30438 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_2__1__Impl_in_rule__ReferenceCS__Group_7_0_1_2__130469 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000004000000003FL});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_2__2_in_rule__ReferenceCS__Group_7_0_1_2__130472 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__ReferenceCS__Group_7_0_1_2__1__Impl30500 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_2__2__Impl_in_rule__ReferenceCS__Group_7_0_1_2__230531 = new BitSet(new long[]{0x003FFFFFFFFE03B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_2__3_in_rule__ReferenceCS__Group_7_0_1_2__230534 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_106_in_rule__ReferenceCS__Group_7_0_1_2__2__Impl30562 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_2__3__Impl_in_rule__ReferenceCS__Group_7_0_1_2__330593 = new BitSet(new long[]{0x003FFFFFFFFE03B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_2__4_in_rule__ReferenceCS__Group_7_0_1_2__330596 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_2_3_in_rule__ReferenceCS__Group_7_0_1_2__3__Impl30623 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_2__4__Impl_in_rule__ReferenceCS__Group_7_0_1_2__430654 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_53_in_rule__ReferenceCS__Group_7_0_1_2__4__Impl30682 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_3__0__Impl_in_rule__ReferenceCS__Group_7_0_1_3__030723 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000004000000003FL});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_3__1_in_rule__ReferenceCS__Group_7_0_1_3__030726 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_31_in_rule__ReferenceCS__Group_7_0_1_3__0__Impl30754 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_3__1__Impl_in_rule__ReferenceCS__Group_7_0_1_3__130785 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000004000000003FL});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_3__2_in_rule__ReferenceCS__Group_7_0_1_3__130788 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__ReferenceCS__Group_7_0_1_3__1__Impl30816 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_3__2__Impl_in_rule__ReferenceCS__Group_7_0_1_3__230847 = new BitSet(new long[]{0x003FFFFFFFFE03B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_3__3_in_rule__ReferenceCS__Group_7_0_1_3__230850 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_106_in_rule__ReferenceCS__Group_7_0_1_3__2__Impl30878 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_3__3__Impl_in_rule__ReferenceCS__Group_7_0_1_3__330909 = new BitSet(new long[]{0x003FFFFFFFFE03B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_3__4_in_rule__ReferenceCS__Group_7_0_1_3__330912 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_3_3_in_rule__ReferenceCS__Group_7_0_1_3__3__Impl30939 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_7_0_1_3__4__Impl_in_rule__ReferenceCS__Group_7_0_1_3__430970 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_53_in_rule__ReferenceCS__Group_7_0_1_3__4__Impl30998 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group__0__Impl_in_rule__StructuredClassCS__Group__031039 = new BitSet(new long[]{0x0000000000220000L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group__1_in_rule__StructuredClassCS__Group__031042 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__IsAbstractAssignment_0_in_rule__StructuredClassCS__Group__0__Impl31069 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group__1__Impl_in_rule__StructuredClassCS__Group__131100 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000000000000003FL});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group__2_in_rule__StructuredClassCS__Group__131103 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__StructuredClassCS__Group__1__Impl31131 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group__2__Impl_in_rule__StructuredClassCS__Group__231162 = new BitSet(new long[]{0x0020000010000000L,0x0000150000001000L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group__3_in_rule__StructuredClassCS__Group__231165 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__NameAssignment_2_in_rule__StructuredClassCS__Group__2__Impl31192 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group__3__Impl_in_rule__StructuredClassCS__Group__331222 = new BitSet(new long[]{0x0020000010000000L,0x0000150000001000L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group__4_in_rule__StructuredClassCS__Group__331225 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__OwnedSignatureAssignment_3_in_rule__StructuredClassCS__Group__3__Impl31252 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group__4__Impl_in_rule__StructuredClassCS__Group__431283 = new BitSet(new long[]{0x0020000010000000L,0x0000150000001000L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group__5_in_rule__StructuredClassCS__Group__431286 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_4__0_in_rule__StructuredClassCS__Group__4__Impl31313 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group__5__Impl_in_rule__StructuredClassCS__Group__531344 = new BitSet(new long[]{0x0020000010000000L,0x0000150000001000L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group__6_in_rule__StructuredClassCS__Group__531347 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_5__0_in_rule__StructuredClassCS__Group__5__Impl31374 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group__6__Impl_in_rule__StructuredClassCS__Group__631405 = new BitSet(new long[]{0x0020000010000000L,0x0000150000001000L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group__7_in_rule__StructuredClassCS__Group__631408 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_6__0_in_rule__StructuredClassCS__Group__6__Impl31435 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group__7__Impl_in_rule__StructuredClassCS__Group__731466 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Alternatives_7_in_rule__StructuredClassCS__Group__7__Impl31493 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_4__0__Impl_in_rule__StructuredClassCS__Group_4__031539 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0x821C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_4__1_in_rule__StructuredClassCS__Group_4__031542 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_28_in_rule__StructuredClassCS__Group_4__0__Impl31570 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_4__1__Impl_in_rule__StructuredClassCS__Group_4__131601 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_4__2_in_rule__StructuredClassCS__Group_4__131604 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__OwnedSuperTypesAssignment_4_1_in_rule__StructuredClassCS__Group_4__1__Impl31631 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_4__2__Impl_in_rule__StructuredClassCS__Group_4__231661 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_4_2__0_in_rule__StructuredClassCS__Group_4__2__Impl31688 = new BitSet(new long[]{0x0000000000000002L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_4_2__0__Impl_in_rule__StructuredClassCS__Group_4_2__031725 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0x821C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_4_2__1_in_rule__StructuredClassCS__Group_4_2__031728 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__StructuredClassCS__Group_4_2__0__Impl31756 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_4_2__1__Impl_in_rule__StructuredClassCS__Group_4_2__131787 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__OwnedSuperTypesAssignment_4_2_1_in_rule__StructuredClassCS__Group_4_2__1__Impl31814 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_5__0__Impl_in_rule__StructuredClassCS__Group_5__031848 = new BitSet(new long[]{0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_5__1_in_rule__StructuredClassCS__Group_5__031851 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_106_in_rule__StructuredClassCS__Group_5__0__Impl31879 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_5__1__Impl_in_rule__StructuredClassCS__Group_5__131910 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__InstanceClassNameAssignment_5_1_in_rule__StructuredClassCS__Group_5__1__Impl31937 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_6__0__Impl_in_rule__StructuredClassCS__Group_6__031971 = new BitSet(new long[]{0x0000000100000000L,0x0000200000000000L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_6__1_in_rule__StructuredClassCS__Group_6__031974 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_108_in_rule__StructuredClassCS__Group_6__0__Impl32002 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_6__1__Impl_in_rule__StructuredClassCS__Group_6__132033 = new BitSet(new long[]{0x0000000100000000L,0x0000200000000000L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_6__2_in_rule__StructuredClassCS__Group_6__132036 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__IsInterfaceAssignment_6_1_in_rule__StructuredClassCS__Group_6__1__Impl32063 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_6__2__Impl_in_rule__StructuredClassCS__Group_6__232094 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_109_in_rule__StructuredClassCS__Group_6__2__Impl32122 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_7_0__0__Impl_in_rule__StructuredClassCS__Group_7_0__032159 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000020000000002FL});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_7_0__1_in_rule__StructuredClassCS__Group_7_0__032162 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_108_in_rule__StructuredClassCS__Group_7_0__0__Impl32190 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_7_0__1__Impl_in_rule__StructuredClassCS__Group_7_0__132221 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000020000000002FL});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_7_0__2_in_rule__StructuredClassCS__Group_7_0__132224 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Alternatives_7_0_1_in_rule__StructuredClassCS__Group_7_0__1__Impl32251 = new BitSet(new long[]{0x001FFFFFFFFE0182L,0x000000000000002FL});
+        public static final BitSet FOLLOW_rule__StructuredClassCS__Group_7_0__2__Impl_in_rule__StructuredClassCS__Group_7_0__232282 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_109_in_rule__StructuredClassCS__Group_7_0__2__Impl32310 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SysMLCS__Group__0__Impl_in_rule__SysMLCS__Group__032347 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000023L});
+        public static final BitSet FOLLOW_rule__SysMLCS__Group__1_in_rule__SysMLCS__Group__032350 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SysMLCS__Group__1__Impl_in_rule__SysMLCS__Group__132408 = new BitSet(new long[]{0x001FFFFFFFFE01A0L,0x000010000000003FL});
+        public static final BitSet FOLLOW_rule__SysMLCS__Group__2_in_rule__SysMLCS__Group__132411 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_69_in_rule__SysMLCS__Group__1__Impl32439 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SysMLCS__Group__2__Impl_in_rule__SysMLCS__Group__232470 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SysMLCS__Alternatives_2_in_rule__SysMLCS__Group__2__Impl32497 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SysMLCS__Group_2_0__0__Impl_in_rule__SysMLCS__Group_2_0__032533 = new BitSet(new long[]{0x0020000000000000L});
+        public static final BitSet FOLLOW_rule__SysMLCS__Group_2_0__1_in_rule__SysMLCS__Group_2_0__032536 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SysMLCS__OwnedDetailsAssignment_2_0_0_in_rule__SysMLCS__Group_2_0__0__Impl32563 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SysMLCS__Group_2_0__1__Impl_in_rule__SysMLCS__Group_2_0__132593 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_53_in_rule__SysMLCS__Group_2_0__1__Impl32621 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SysMLCS__Group_2_1__0__Impl_in_rule__SysMLCS__Group_2_1__032656 = new BitSet(new long[]{0x001FFFFFFFFE01A0L,0x000020000000003FL});
+        public static final BitSet FOLLOW_rule__SysMLCS__Group_2_1__1_in_rule__SysMLCS__Group_2_1__032659 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_108_in_rule__SysMLCS__Group_2_1__0__Impl32687 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SysMLCS__Group_2_1__1__Impl_in_rule__SysMLCS__Group_2_1__132718 = new BitSet(new long[]{0x001FFFFFFFFE01A0L,0x000020000000003FL});
+        public static final BitSet FOLLOW_rule__SysMLCS__Group_2_1__2_in_rule__SysMLCS__Group_2_1__132721 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SysMLCS__Group_2_1_1__0_in_rule__SysMLCS__Group_2_1__1__Impl32748 = new BitSet(new long[]{0x001FFFFFFFFE01A2L,0x000000000000003FL});
+        public static final BitSet FOLLOW_rule__SysMLCS__Group_2_1__2__Impl_in_rule__SysMLCS__Group_2_1__232779 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_109_in_rule__SysMLCS__Group_2_1__2__Impl32807 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SysMLCS__Group_2_1_1__0__Impl_in_rule__SysMLCS__Group_2_1_1__032844 = new BitSet(new long[]{0x0020000000000000L});
+        public static final BitSet FOLLOW_rule__SysMLCS__Group_2_1_1__1_in_rule__SysMLCS__Group_2_1_1__032847 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SysMLCS__OwnedDetailsAssignment_2_1_1_0_in_rule__SysMLCS__Group_2_1_1__0__Impl32874 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SysMLCS__Group_2_1_1__1__Impl_in_rule__SysMLCS__Group_2_1_1__132904 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_53_in_rule__SysMLCS__Group_2_1_1__1__Impl32932 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypedMultiplicityRefCS__Group__0__Impl_in_rule__TypedMultiplicityRefCS__Group__032967 = new BitSet(new long[]{0x0000000000000000L,0x0040000000000000L});
+        public static final BitSet FOLLOW_rule__TypedMultiplicityRefCS__Group__1_in_rule__TypedMultiplicityRefCS__Group__032970 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypedRefCS_in_rule__TypedMultiplicityRefCS__Group__0__Impl32997 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypedMultiplicityRefCS__Group__1__Impl_in_rule__TypedMultiplicityRefCS__Group__133026 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypedMultiplicityRefCS__OwnedMultiplicityAssignment_1_in_rule__TypedMultiplicityRefCS__Group__1__Impl33053 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_0__0__Impl_in_rule__TemplateBindingCS__Group_0__033088 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0x821C01FFFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_0__1_in_rule__TemplateBindingCS__Group_0__033091 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_104_in_rule__TemplateBindingCS__Group_0__0__Impl33119 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_0__1__Impl_in_rule__TemplateBindingCS__Group_0__133150 = new BitSet(new long[]{0x0000000000000000L,0x00000A0000000000L});
+        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_0__2_in_rule__TemplateBindingCS__Group_0__133153 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_1_in_rule__TemplateBindingCS__Group_0__1__Impl33180 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_0__2__Impl_in_rule__TemplateBindingCS__Group_0__233210 = new BitSet(new long[]{0x0000000000000000L,0x00000A0000000000L});
+        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_0__3_in_rule__TemplateBindingCS__Group_0__233213 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_0_2__0_in_rule__TemplateBindingCS__Group_0__2__Impl33240 = new BitSet(new long[]{0x0000000000000002L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_0__3__Impl_in_rule__TemplateBindingCS__Group_0__333271 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_105_in_rule__TemplateBindingCS__Group_0__3__Impl33299 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_0_2__0__Impl_in_rule__TemplateBindingCS__Group_0_2__033338 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0x821C01FFFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_0_2__1_in_rule__TemplateBindingCS__Group_0_2__033341 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__TemplateBindingCS__Group_0_2__0__Impl33369 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_0_2__1__Impl_in_rule__TemplateBindingCS__Group_0_2__133400 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_2_1_in_rule__TemplateBindingCS__Group_0_2__1__Impl33427 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_1__0__Impl_in_rule__TemplateBindingCS__Group_1__033461 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0x821C01FFFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_1__1_in_rule__TemplateBindingCS__Group_1__033464 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_76_in_rule__TemplateBindingCS__Group_1__0__Impl33492 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_1__1__Impl_in_rule__TemplateBindingCS__Group_1__133523 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000800L});
+        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_1__2_in_rule__TemplateBindingCS__Group_1__133526 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_1_in_rule__TemplateBindingCS__Group_1__1__Impl33553 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_1__2__Impl_in_rule__TemplateBindingCS__Group_1__233583 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000800L});
+        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_1__3_in_rule__TemplateBindingCS__Group_1__233586 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_1_2__0_in_rule__TemplateBindingCS__Group_1__2__Impl33613 = new BitSet(new long[]{0x0000000000000002L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_1__3__Impl_in_rule__TemplateBindingCS__Group_1__333644 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_75_in_rule__TemplateBindingCS__Group_1__3__Impl33672 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_1_2__0__Impl_in_rule__TemplateBindingCS__Group_1_2__033711 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0x821C01FFFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_1_2__1_in_rule__TemplateBindingCS__Group_1_2__033714 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__TemplateBindingCS__Group_1_2__0__Impl33742 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TemplateBindingCS__Group_1_2__1__Impl_in_rule__TemplateBindingCS__Group_1_2__133773 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_2_1_in_rule__TemplateBindingCS__Group_1_2__1__Impl33800 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_0__0__Impl_in_rule__TemplateSignatureCS__Group_0__033834 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000000000000003FL});
+        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_0__1_in_rule__TemplateSignatureCS__Group_0__033837 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_104_in_rule__TemplateSignatureCS__Group_0__0__Impl33865 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_0__1__Impl_in_rule__TemplateSignatureCS__Group_0__133896 = new BitSet(new long[]{0x0000000000000000L,0x00000A0000000000L});
+        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_0__2_in_rule__TemplateSignatureCS__Group_0__133899 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TemplateSignatureCS__OwnedParametersAssignment_0_1_in_rule__TemplateSignatureCS__Group_0__1__Impl33926 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_0__2__Impl_in_rule__TemplateSignatureCS__Group_0__233956 = new BitSet(new long[]{0x0000000000000000L,0x00000A0000000000L});
+        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_0__3_in_rule__TemplateSignatureCS__Group_0__233959 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_0_2__0_in_rule__TemplateSignatureCS__Group_0__2__Impl33986 = new BitSet(new long[]{0x0000000000000002L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_0__3__Impl_in_rule__TemplateSignatureCS__Group_0__334017 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_105_in_rule__TemplateSignatureCS__Group_0__3__Impl34045 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_0_2__0__Impl_in_rule__TemplateSignatureCS__Group_0_2__034084 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000000000000003FL});
+        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_0_2__1_in_rule__TemplateSignatureCS__Group_0_2__034087 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__TemplateSignatureCS__Group_0_2__0__Impl34115 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_0_2__1__Impl_in_rule__TemplateSignatureCS__Group_0_2__134146 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TemplateSignatureCS__OwnedParametersAssignment_0_2_1_in_rule__TemplateSignatureCS__Group_0_2__1__Impl34173 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_1__0__Impl_in_rule__TemplateSignatureCS__Group_1__034207 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000000000000003FL});
+        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_1__1_in_rule__TemplateSignatureCS__Group_1__034210 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_76_in_rule__TemplateSignatureCS__Group_1__0__Impl34238 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_1__1__Impl_in_rule__TemplateSignatureCS__Group_1__134269 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000800L});
+        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_1__2_in_rule__TemplateSignatureCS__Group_1__134272 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TemplateSignatureCS__OwnedParametersAssignment_1_1_in_rule__TemplateSignatureCS__Group_1__1__Impl34299 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_1__2__Impl_in_rule__TemplateSignatureCS__Group_1__234329 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000800L});
+        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_1__3_in_rule__TemplateSignatureCS__Group_1__234332 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_1_2__0_in_rule__TemplateSignatureCS__Group_1__2__Impl34359 = new BitSet(new long[]{0x0000000000000002L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_1__3__Impl_in_rule__TemplateSignatureCS__Group_1__334390 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_75_in_rule__TemplateSignatureCS__Group_1__3__Impl34418 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_1_2__0__Impl_in_rule__TemplateSignatureCS__Group_1_2__034457 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000000000000003FL});
+        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_1_2__1_in_rule__TemplateSignatureCS__Group_1_2__034460 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__TemplateSignatureCS__Group_1_2__0__Impl34488 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TemplateSignatureCS__Group_1_2__1__Impl_in_rule__TemplateSignatureCS__Group_1_2__134519 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TemplateSignatureCS__OwnedParametersAssignment_1_2_1_in_rule__TemplateSignatureCS__Group_1_2__1__Impl34546 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__URIPathNameCS__Group__0__Impl_in_rule__URIPathNameCS__Group__034580 = new BitSet(new long[]{0x0000000000000000L,0x0000800000000000L});
+        public static final BitSet FOLLOW_rule__URIPathNameCS__Group__1_in_rule__URIPathNameCS__Group__034583 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__URIPathNameCS__OwnedPathElementsAssignment_0_in_rule__URIPathNameCS__Group__0__Impl34610 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__URIPathNameCS__Group__1__Impl_in_rule__URIPathNameCS__Group__134640 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__URIPathNameCS__Group_1__0_in_rule__URIPathNameCS__Group__1__Impl34667 = new BitSet(new long[]{0x0000000000000002L,0x0000800000000000L});
+        public static final BitSet FOLLOW_rule__URIPathNameCS__Group_1__0__Impl_in_rule__URIPathNameCS__Group_1__034702 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x0000007FFE00003FL});
+        public static final BitSet FOLLOW_rule__URIPathNameCS__Group_1__1_in_rule__URIPathNameCS__Group_1__034705 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_111_in_rule__URIPathNameCS__Group_1__0__Impl34733 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__URIPathNameCS__Group_1__1__Impl_in_rule__URIPathNameCS__Group_1__134764 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__URIPathNameCS__OwnedPathElementsAssignment_1_1_in_rule__URIPathNameCS__Group_1__1__Impl34791 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__URIFirstPathElementCS__Group_1__0__Impl_in_rule__URIFirstPathElementCS__Group_1__034825 = new BitSet(new long[]{0x001FFFFFFFFE01A0L,0x000000000000003FL});
+        public static final BitSet FOLLOW_rule__URIFirstPathElementCS__Group_1__1_in_rule__URIFirstPathElementCS__Group_1__034828 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__URIFirstPathElementCS__Group_1__1__Impl_in_rule__URIFirstPathElementCS__Group_1__134886 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__URIFirstPathElementCS__ReferredElementAssignment_1_1_in_rule__URIFirstPathElementCS__Group_1__1__Impl34913 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionTypeCS__Group__0__Impl_in_rule__CollectionTypeCS__Group__034947 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
+        public static final BitSet FOLLOW_rule__CollectionTypeCS__Group__1_in_rule__CollectionTypeCS__Group__034950 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionTypeCS__NameAssignment_0_in_rule__CollectionTypeCS__Group__0__Impl34977 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionTypeCS__Group__1__Impl_in_rule__CollectionTypeCS__Group__135007 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionTypeCS__Group_1__0_in_rule__CollectionTypeCS__Group__1__Impl35034 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionTypeCS__Group_1__0__Impl_in_rule__CollectionTypeCS__Group_1__035069 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0x821C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__CollectionTypeCS__Group_1__1_in_rule__CollectionTypeCS__Group_1__035072 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_104_in_rule__CollectionTypeCS__Group_1__0__Impl35100 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionTypeCS__Group_1__1__Impl_in_rule__CollectionTypeCS__Group_1__135131 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L});
+        public static final BitSet FOLLOW_rule__CollectionTypeCS__Group_1__2_in_rule__CollectionTypeCS__Group_1__135134 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionTypeCS__OwnedTypeAssignment_1_1_in_rule__CollectionTypeCS__Group_1__1__Impl35161 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionTypeCS__Group_1__2__Impl_in_rule__CollectionTypeCS__Group_1__235191 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_105_in_rule__CollectionTypeCS__Group_1__2__Impl35219 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TupleTypeCS__Group__0__Impl_in_rule__TupleTypeCS__Group__035256 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
+        public static final BitSet FOLLOW_rule__TupleTypeCS__Group__1_in_rule__TupleTypeCS__Group__035259 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TupleTypeCS__NameAssignment_0_in_rule__TupleTypeCS__Group__0__Impl35286 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TupleTypeCS__Group__1__Impl_in_rule__TupleTypeCS__Group__135316 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1__0_in_rule__TupleTypeCS__Group__1__Impl35343 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1__0__Impl_in_rule__TupleTypeCS__Group_1__035378 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000002000000003FL});
+        public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1__1_in_rule__TupleTypeCS__Group_1__035381 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_104_in_rule__TupleTypeCS__Group_1__0__Impl35409 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1__1__Impl_in_rule__TupleTypeCS__Group_1__135440 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000002000000003FL});
+        public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1__2_in_rule__TupleTypeCS__Group_1__135443 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1_1__0_in_rule__TupleTypeCS__Group_1__1__Impl35470 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1__2__Impl_in_rule__TupleTypeCS__Group_1__235501 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_105_in_rule__TupleTypeCS__Group_1__2__Impl35529 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1_1__0__Impl_in_rule__TupleTypeCS__Group_1_1__035566 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1_1__1_in_rule__TupleTypeCS__Group_1_1__035569 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TupleTypeCS__OwnedPartsAssignment_1_1_0_in_rule__TupleTypeCS__Group_1_1__0__Impl35596 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1_1__1__Impl_in_rule__TupleTypeCS__Group_1_1__135626 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1_1_1__0_in_rule__TupleTypeCS__Group_1_1__1__Impl35653 = new BitSet(new long[]{0x0000000000000002L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1_1_1__0__Impl_in_rule__TupleTypeCS__Group_1_1_1__035688 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000000000000003FL});
+        public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1_1_1__1_in_rule__TupleTypeCS__Group_1_1_1__035691 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__TupleTypeCS__Group_1_1_1__0__Impl35719 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TupleTypeCS__Group_1_1_1__1__Impl_in_rule__TupleTypeCS__Group_1_1_1__135750 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_1_in_rule__TupleTypeCS__Group_1_1_1__1__Impl35777 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TuplePartCS__Group__0__Impl_in_rule__TuplePartCS__Group__035811 = new BitSet(new long[]{0x0000000000000000L,0x0000040000000000L});
+        public static final BitSet FOLLOW_rule__TuplePartCS__Group__1_in_rule__TuplePartCS__Group__035814 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TuplePartCS__NameAssignment_0_in_rule__TuplePartCS__Group__0__Impl35841 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TuplePartCS__Group__1__Impl_in_rule__TuplePartCS__Group__135871 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0x821C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__TuplePartCS__Group__2_in_rule__TuplePartCS__Group__135874 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_106_in_rule__TuplePartCS__Group__1__Impl35902 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TuplePartCS__Group__2__Impl_in_rule__TuplePartCS__Group__235933 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TuplePartCS__OwnedTypeAssignment_2_in_rule__TuplePartCS__Group__2__Impl35960 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group__0__Impl_in_rule__CollectionLiteralExpCS__Group__035996 = new BitSet(new long[]{0x0000000000000000L,0x0000100000000000L});
+        public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group__1_in_rule__CollectionLiteralExpCS__Group__035999 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__OwnedTypeAssignment_0_in_rule__CollectionLiteralExpCS__Group__0__Impl36026 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group__1__Impl_in_rule__CollectionLiteralExpCS__Group__136056 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0xC21C257FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group__2_in_rule__CollectionLiteralExpCS__Group__136059 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_108_in_rule__CollectionLiteralExpCS__Group__1__Impl36087 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group__2__Impl_in_rule__CollectionLiteralExpCS__Group__236118 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0xC21C257FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group__3_in_rule__CollectionLiteralExpCS__Group__236121 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group_2__0_in_rule__CollectionLiteralExpCS__Group__2__Impl36148 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group__3__Impl_in_rule__CollectionLiteralExpCS__Group__336179 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_109_in_rule__CollectionLiteralExpCS__Group__3__Impl36207 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group_2__0__Impl_in_rule__CollectionLiteralExpCS__Group_2__036246 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group_2__1_in_rule__CollectionLiteralExpCS__Group_2__036249 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_0_in_rule__CollectionLiteralExpCS__Group_2__0__Impl36276 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group_2__1__Impl_in_rule__CollectionLiteralExpCS__Group_2__136306 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group_2_1__0_in_rule__CollectionLiteralExpCS__Group_2__1__Impl36333 = new BitSet(new long[]{0x0000000000000002L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group_2_1__0__Impl_in_rule__CollectionLiteralExpCS__Group_2_1__036368 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0xC21C057FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group_2_1__1_in_rule__CollectionLiteralExpCS__Group_2_1__036371 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__CollectionLiteralExpCS__Group_2_1__0__Impl36399 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__Group_2_1__1__Impl_in_rule__CollectionLiteralExpCS__Group_2_1__136430 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_1_in_rule__CollectionLiteralExpCS__Group_2_1__1__Impl36457 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionLiteralPartCS__Group_0__0__Impl_in_rule__CollectionLiteralPartCS__Group_0__036491 = new BitSet(new long[]{0x0000000000000000L,0x0001000000000000L});
+        public static final BitSet FOLLOW_rule__CollectionLiteralPartCS__Group_0__1_in_rule__CollectionLiteralPartCS__Group_0__036494 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionLiteralPartCS__OwnedExpressionAssignment_0_0_in_rule__CollectionLiteralPartCS__Group_0__0__Impl36521 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionLiteralPartCS__Group_0__1__Impl_in_rule__CollectionLiteralPartCS__Group_0__136551 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionLiteralPartCS__Group_0_1__0_in_rule__CollectionLiteralPartCS__Group_0__1__Impl36578 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionLiteralPartCS__Group_0_1__0__Impl_in_rule__CollectionLiteralPartCS__Group_0_1__036613 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__CollectionLiteralPartCS__Group_0_1__1_in_rule__CollectionLiteralPartCS__Group_0_1__036616 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_112_in_rule__CollectionLiteralPartCS__Group_0_1__0__Impl36644 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionLiteralPartCS__Group_0_1__1__Impl_in_rule__CollectionLiteralPartCS__Group_0_1__136675 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionLiteralPartCS__OwnedLastExpressionAssignment_0_1_1_in_rule__CollectionLiteralPartCS__Group_0_1__1__Impl36702 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group__0__Impl_in_rule__CollectionPatternCS__Group__036736 = new BitSet(new long[]{0x0000000000000000L,0x0000100000000000L});
+        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group__1_in_rule__CollectionPatternCS__Group__036739 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionPatternCS__OwnedTypeAssignment_0_in_rule__CollectionPatternCS__Group__0__Impl36766 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group__1__Impl_in_rule__CollectionPatternCS__Group__136796 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0xC21C257FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group__2_in_rule__CollectionPatternCS__Group__136799 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_108_in_rule__CollectionPatternCS__Group__1__Impl36827 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group__2__Impl_in_rule__CollectionPatternCS__Group__236858 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0xC21C257FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group__3_in_rule__CollectionPatternCS__Group__236861 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group_2__0_in_rule__CollectionPatternCS__Group__2__Impl36888 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group__3__Impl_in_rule__CollectionPatternCS__Group__336919 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_109_in_rule__CollectionPatternCS__Group__3__Impl36947 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group_2__0__Impl_in_rule__CollectionPatternCS__Group_2__036986 = new BitSet(new long[]{0x0000000000000000L,0x0002080000000000L});
+        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group_2__1_in_rule__CollectionPatternCS__Group_2__036989 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionPatternCS__OwnedPartsAssignment_2_0_in_rule__CollectionPatternCS__Group_2__0__Impl37016 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group_2__1__Impl_in_rule__CollectionPatternCS__Group_2__137046 = new BitSet(new long[]{0x0000000000000000L,0x0002080000000000L});
+        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group_2__2_in_rule__CollectionPatternCS__Group_2__137049 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group_2_1__0_in_rule__CollectionPatternCS__Group_2__1__Impl37076 = new BitSet(new long[]{0x0000000000000002L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group_2__2__Impl_in_rule__CollectionPatternCS__Group_2__237107 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group_2_2__0_in_rule__CollectionPatternCS__Group_2__2__Impl37134 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group_2_1__0__Impl_in_rule__CollectionPatternCS__Group_2_1__037170 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0xC21C057FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group_2_1__1_in_rule__CollectionPatternCS__Group_2_1__037173 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__CollectionPatternCS__Group_2_1__0__Impl37201 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group_2_1__1__Impl_in_rule__CollectionPatternCS__Group_2_1__137232 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionPatternCS__OwnedPartsAssignment_2_1_1_in_rule__CollectionPatternCS__Group_2_1__1__Impl37259 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group_2_2__0__Impl_in_rule__CollectionPatternCS__Group_2_2__037293 = new BitSet(new long[]{0x0000000000000180L});
+        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group_2_2__1_in_rule__CollectionPatternCS__Group_2_2__037296 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_113_in_rule__CollectionPatternCS__Group_2_2__0__Impl37324 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionPatternCS__Group_2_2__1__Impl_in_rule__CollectionPatternCS__Group_2_2__137355 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionPatternCS__RestVariableNameAssignment_2_2_1_in_rule__CollectionPatternCS__Group_2_2__1__Impl37382 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ConstructorPartCS__Group__0__Impl_in_rule__ConstructorPartCS__Group__037416 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008000L});
+        public static final BitSet FOLLOW_rule__ConstructorPartCS__Group__1_in_rule__ConstructorPartCS__Group__037419 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ConstructorPartCS__ReferredPropertyAssignment_0_in_rule__ConstructorPartCS__Group__0__Impl37446 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ConstructorPartCS__Group__1__Impl_in_rule__ConstructorPartCS__Group__137476 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0xC21C057FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__ConstructorPartCS__Group__2_in_rule__ConstructorPartCS__Group__137479 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_79_in_rule__ConstructorPartCS__Group__1__Impl37507 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ConstructorPartCS__Group__2__Impl_in_rule__ConstructorPartCS__Group__237538 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ConstructorPartCS__OwnedInitExpressionAssignment_2_in_rule__ConstructorPartCS__Group__2__Impl37565 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PatternExpCS__Group__0__Impl_in_rule__PatternExpCS__Group__037601 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0xC21C057FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__PatternExpCS__Group__1_in_rule__PatternExpCS__Group__037604 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PatternExpCS__PatternVariableNameAssignment_0_in_rule__PatternExpCS__Group__0__Impl37631 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PatternExpCS__Group__1__Impl_in_rule__PatternExpCS__Group__137662 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0x821C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__PatternExpCS__Group__2_in_rule__PatternExpCS__Group__137665 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_106_in_rule__PatternExpCS__Group__1__Impl37693 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PatternExpCS__Group__2__Impl_in_rule__PatternExpCS__Group__237724 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PatternExpCS__OwnedPatternTypeAssignment_2_in_rule__PatternExpCS__Group__2__Impl37751 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LambdaLiteralExpCS__Group__0__Impl_in_rule__LambdaLiteralExpCS__Group__037787 = new BitSet(new long[]{0x0000000000000000L,0x0000100000000000L});
+        public static final BitSet FOLLOW_rule__LambdaLiteralExpCS__Group__1_in_rule__LambdaLiteralExpCS__Group__037790 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_114_in_rule__LambdaLiteralExpCS__Group__0__Impl37818 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LambdaLiteralExpCS__Group__1__Impl_in_rule__LambdaLiteralExpCS__Group__137849 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__LambdaLiteralExpCS__Group__2_in_rule__LambdaLiteralExpCS__Group__137852 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_108_in_rule__LambdaLiteralExpCS__Group__1__Impl37880 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LambdaLiteralExpCS__Group__2__Impl_in_rule__LambdaLiteralExpCS__Group__237911 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000000L});
+        public static final BitSet FOLLOW_rule__LambdaLiteralExpCS__Group__3_in_rule__LambdaLiteralExpCS__Group__237914 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LambdaLiteralExpCS__OwnedExpressionCSAssignment_2_in_rule__LambdaLiteralExpCS__Group__2__Impl37941 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LambdaLiteralExpCS__Group__3__Impl_in_rule__LambdaLiteralExpCS__Group__337971 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_109_in_rule__LambdaLiteralExpCS__Group__3__Impl37999 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group__0__Impl_in_rule__TupleLiteralExpCS__Group__038038 = new BitSet(new long[]{0x0000000000000000L,0x0000100000000000L});
+        public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group__1_in_rule__TupleLiteralExpCS__Group__038041 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_89_in_rule__TupleLiteralExpCS__Group__0__Impl38069 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group__1__Impl_in_rule__TupleLiteralExpCS__Group__138100 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000000000000003FL});
+        public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group__2_in_rule__TupleLiteralExpCS__Group__138103 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_108_in_rule__TupleLiteralExpCS__Group__1__Impl38131 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group__2__Impl_in_rule__TupleLiteralExpCS__Group__238162 = new BitSet(new long[]{0x0000000000000000L,0x0000280000000000L});
+        public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group__3_in_rule__TupleLiteralExpCS__Group__238165 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TupleLiteralExpCS__OwnedPartsAssignment_2_in_rule__TupleLiteralExpCS__Group__2__Impl38192 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group__3__Impl_in_rule__TupleLiteralExpCS__Group__338222 = new BitSet(new long[]{0x0000000000000000L,0x0000280000000000L});
+        public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group__4_in_rule__TupleLiteralExpCS__Group__338225 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group_3__0_in_rule__TupleLiteralExpCS__Group__3__Impl38252 = new BitSet(new long[]{0x0000000000000002L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group__4__Impl_in_rule__TupleLiteralExpCS__Group__438283 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_109_in_rule__TupleLiteralExpCS__Group__4__Impl38311 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group_3__0__Impl_in_rule__TupleLiteralExpCS__Group_3__038352 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000000000000003FL});
+        public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group_3__1_in_rule__TupleLiteralExpCS__Group_3__038355 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__TupleLiteralExpCS__Group_3__0__Impl38383 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TupleLiteralExpCS__Group_3__1__Impl_in_rule__TupleLiteralExpCS__Group_3__138414 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TupleLiteralExpCS__OwnedPartsAssignment_3_1_in_rule__TupleLiteralExpCS__Group_3__1__Impl38441 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TupleLiteralPartCS__Group__0__Impl_in_rule__TupleLiteralPartCS__Group__038475 = new BitSet(new long[]{0x0000000000000000L,0x0000040000008000L});
+        public static final BitSet FOLLOW_rule__TupleLiteralPartCS__Group__1_in_rule__TupleLiteralPartCS__Group__038478 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TupleLiteralPartCS__NameAssignment_0_in_rule__TupleLiteralPartCS__Group__0__Impl38505 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TupleLiteralPartCS__Group__1__Impl_in_rule__TupleLiteralPartCS__Group__138535 = new BitSet(new long[]{0x0000000000000000L,0x0000040000008000L});
+        public static final BitSet FOLLOW_rule__TupleLiteralPartCS__Group__2_in_rule__TupleLiteralPartCS__Group__138538 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TupleLiteralPartCS__Group_1__0_in_rule__TupleLiteralPartCS__Group__1__Impl38565 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TupleLiteralPartCS__Group__2__Impl_in_rule__TupleLiteralPartCS__Group__238596 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__TupleLiteralPartCS__Group__3_in_rule__TupleLiteralPartCS__Group__238599 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_79_in_rule__TupleLiteralPartCS__Group__2__Impl38627 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TupleLiteralPartCS__Group__3__Impl_in_rule__TupleLiteralPartCS__Group__338658 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TupleLiteralPartCS__OwnedInitExpressionAssignment_3_in_rule__TupleLiteralPartCS__Group__3__Impl38685 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TupleLiteralPartCS__Group_1__0__Impl_in_rule__TupleLiteralPartCS__Group_1__038723 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0x821C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__TupleLiteralPartCS__Group_1__1_in_rule__TupleLiteralPartCS__Group_1__038726 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_106_in_rule__TupleLiteralPartCS__Group_1__0__Impl38754 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TupleLiteralPartCS__Group_1__1__Impl_in_rule__TupleLiteralPartCS__Group_1__138785 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TupleLiteralPartCS__OwnedTypeAssignment_1_1_in_rule__TupleLiteralPartCS__Group_1__1__Impl38812 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__UnlimitedNaturalLiteralExpCS__Group__0__Impl_in_rule__UnlimitedNaturalLiteralExpCS__Group__038846 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
+        public static final BitSet FOLLOW_rule__UnlimitedNaturalLiteralExpCS__Group__1_in_rule__UnlimitedNaturalLiteralExpCS__Group__038849 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__UnlimitedNaturalLiteralExpCS__Group__1__Impl_in_rule__UnlimitedNaturalLiteralExpCS__Group__138907 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_72_in_rule__UnlimitedNaturalLiteralExpCS__Group__1__Impl38935 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__InvalidLiteralExpCS__Group__0__Impl_in_rule__InvalidLiteralExpCS__Group__038970 = new BitSet(new long[]{0x0000000000000000L,0x0008000000000000L});
+        public static final BitSet FOLLOW_rule__InvalidLiteralExpCS__Group__1_in_rule__InvalidLiteralExpCS__Group__038973 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__InvalidLiteralExpCS__Group__1__Impl_in_rule__InvalidLiteralExpCS__Group__139031 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_115_in_rule__InvalidLiteralExpCS__Group__1__Impl39059 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NullLiteralExpCS__Group__0__Impl_in_rule__NullLiteralExpCS__Group__039094 = new BitSet(new long[]{0x0000000000000030L,0x0018000000000100L,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__NullLiteralExpCS__Group__1_in_rule__NullLiteralExpCS__Group__039097 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NullLiteralExpCS__Group__1__Impl_in_rule__NullLiteralExpCS__Group__139155 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_116_in_rule__NullLiteralExpCS__Group__1__Impl39183 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypeLiteralWithMultiplicityCS__Group__0__Impl_in_rule__TypeLiteralWithMultiplicityCS__Group__039218 = new BitSet(new long[]{0x0000000000000000L,0x0040000000000000L});
+        public static final BitSet FOLLOW_rule__TypeLiteralWithMultiplicityCS__Group__1_in_rule__TypeLiteralWithMultiplicityCS__Group__039221 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypeLiteralCS_in_rule__TypeLiteralWithMultiplicityCS__Group__0__Impl39248 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypeLiteralWithMultiplicityCS__Group__1__Impl_in_rule__TypeLiteralWithMultiplicityCS__Group__139277 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypeLiteralWithMultiplicityCS__OwnedMultiplicityAssignment_1_in_rule__TypeLiteralWithMultiplicityCS__Group__1__Impl39304 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypeNameExpCS__Group__0__Impl_in_rule__TypeNameExpCS__Group__039339 = new BitSet(new long[]{0x0000000000000000L,0x0000100000000000L});
+        public static final BitSet FOLLOW_rule__TypeNameExpCS__Group__1_in_rule__TypeNameExpCS__Group__039342 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypeNameExpCS__OwnedPathNameAssignment_0_in_rule__TypeNameExpCS__Group__0__Impl39369 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypeNameExpCS__Group__1__Impl_in_rule__TypeNameExpCS__Group__139399 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypeNameExpCS__Group_1__0_in_rule__TypeNameExpCS__Group__1__Impl39426 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypeNameExpCS__Group_1__0__Impl_in_rule__TypeNameExpCS__Group_1__039461 = new BitSet(new long[]{0x0000000000000000L,0x0000100000000000L});
+        public static final BitSet FOLLOW_rule__TypeNameExpCS__Group_1__1_in_rule__TypeNameExpCS__Group_1__039464 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypeNameExpCS__OwnedCurlyBracketedClauseAssignment_1_0_in_rule__TypeNameExpCS__Group_1__0__Impl39491 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypeNameExpCS__Group_1__1__Impl_in_rule__TypeNameExpCS__Group_1__139521 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypeNameExpCS__Group_1_1__0_in_rule__TypeNameExpCS__Group_1__1__Impl39548 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypeNameExpCS__Group_1_1__0__Impl_in_rule__TypeNameExpCS__Group_1_1__039583 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__TypeNameExpCS__Group_1_1__1_in_rule__TypeNameExpCS__Group_1_1__039586 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_108_in_rule__TypeNameExpCS__Group_1_1__0__Impl39614 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypeNameExpCS__Group_1_1__1__Impl_in_rule__TypeNameExpCS__Group_1_1__139645 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000000L});
+        public static final BitSet FOLLOW_rule__TypeNameExpCS__Group_1_1__2_in_rule__TypeNameExpCS__Group_1_1__139648 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypeNameExpCS__OwnedPatternGuardAssignment_1_1_1_in_rule__TypeNameExpCS__Group_1_1__1__Impl39675 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypeNameExpCS__Group_1_1__2__Impl_in_rule__TypeNameExpCS__Group_1_1__239705 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_109_in_rule__TypeNameExpCS__Group_1_1__2__Impl39733 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypeExpCS__Group__0__Impl_in_rule__TypeExpCS__Group__039770 = new BitSet(new long[]{0x0000000000000000L,0x0040000000000000L});
+        public static final BitSet FOLLOW_rule__TypeExpCS__Group__1_in_rule__TypeExpCS__Group__039773 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypeExpCS__Alternatives_0_in_rule__TypeExpCS__Group__0__Impl39800 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypeExpCS__Group__1__Impl_in_rule__TypeExpCS__Group__139830 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypeExpCS__OwnedMultiplicityAssignment_1_in_rule__TypeExpCS__Group__1__Impl39857 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ExpCS__Group_0__0__Impl_in_rule__ExpCS__Group_0__039892 = new BitSet(new long[]{0x0000000000000000L,0x0000000001FFFF40L});
+        public static final BitSet FOLLOW_rule__ExpCS__Group_0__1_in_rule__ExpCS__Group_0__039895 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePrefixedPrimaryExpCS_in_rule__ExpCS__Group_0__0__Impl39922 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ExpCS__Group_0__1__Impl_in_rule__ExpCS__Group_0__139951 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ExpCS__Group_0_1__0_in_rule__ExpCS__Group_0__1__Impl39978 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ExpCS__Group_0_1__0__Impl_in_rule__ExpCS__Group_0_1__040013 = new BitSet(new long[]{0x0000000000000000L,0x0000000001FFFF40L});
+        public static final BitSet FOLLOW_rule__ExpCS__Group_0_1__1_in_rule__ExpCS__Group_0_1__040016 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ExpCS__Group_0_1__1__Impl_in_rule__ExpCS__Group_0_1__140074 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__ExpCS__Group_0_1__2_in_rule__ExpCS__Group_0_1__140077 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ExpCS__NameAssignment_0_1_1_in_rule__ExpCS__Group_0_1__1__Impl40104 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ExpCS__Group_0_1__2__Impl_in_rule__ExpCS__Group_0_1__240134 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ExpCS__OwnedRightAssignment_0_1_2_in_rule__ExpCS__Group_0_1__2__Impl40161 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PrefixedLetExpCS__Group_0__0__Impl_in_rule__PrefixedLetExpCS__Group_0__040197 = new BitSet(new long[]{0x0000000000000000L,0x00000000000000C0L});
+        public static final BitSet FOLLOW_rule__PrefixedLetExpCS__Group_0__1_in_rule__PrefixedLetExpCS__Group_0__040200 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PrefixedLetExpCS__Group_0__1__Impl_in_rule__PrefixedLetExpCS__Group_0__140258 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__PrefixedLetExpCS__Group_0__2_in_rule__PrefixedLetExpCS__Group_0__140261 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PrefixedLetExpCS__NameAssignment_0_1_in_rule__PrefixedLetExpCS__Group_0__1__Impl40288 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PrefixedLetExpCS__Group_0__2__Impl_in_rule__PrefixedLetExpCS__Group_0__240318 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PrefixedLetExpCS__OwnedRightAssignment_0_2_in_rule__PrefixedLetExpCS__Group_0__2__Impl40345 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PrefixedPrimaryExpCS__Group_0__0__Impl_in_rule__PrefixedPrimaryExpCS__Group_0__040381 = new BitSet(new long[]{0x0000000000000000L,0x00000000000000C0L});
+        public static final BitSet FOLLOW_rule__PrefixedPrimaryExpCS__Group_0__1_in_rule__PrefixedPrimaryExpCS__Group_0__040384 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PrefixedPrimaryExpCS__Group_0__1__Impl_in_rule__PrefixedPrimaryExpCS__Group_0__140442 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0x821C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__PrefixedPrimaryExpCS__Group_0__2_in_rule__PrefixedPrimaryExpCS__Group_0__140445 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PrefixedPrimaryExpCS__NameAssignment_0_1_in_rule__PrefixedPrimaryExpCS__Group_0__1__Impl40472 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PrefixedPrimaryExpCS__Group_0__2__Impl_in_rule__PrefixedPrimaryExpCS__Group_0__240502 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PrefixedPrimaryExpCS__OwnedRightAssignment_0_2_in_rule__PrefixedPrimaryExpCS__Group_0__2__Impl40529 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NameExpCS__Group__0__Impl_in_rule__NameExpCS__Group__040565 = new BitSet(new long[]{0x0000000000000000L,0x0040110000000000L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__NameExpCS__Group__1_in_rule__NameExpCS__Group__040568 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NameExpCS__OwnedPathNameAssignment_0_in_rule__NameExpCS__Group__0__Impl40595 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NameExpCS__Group__1__Impl_in_rule__NameExpCS__Group__140625 = new BitSet(new long[]{0x0000000000000000L,0x0040110000000000L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__NameExpCS__Group__2_in_rule__NameExpCS__Group__140628 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NameExpCS__OwnedSquareBracketedClausesAssignment_1_in_rule__NameExpCS__Group__1__Impl40655 = new BitSet(new long[]{0x0000000000000002L,0x0040000000000000L});
+        public static final BitSet FOLLOW_rule__NameExpCS__Group__2__Impl_in_rule__NameExpCS__Group__240686 = new BitSet(new long[]{0x0000000000000000L,0x0040110000000000L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__NameExpCS__Group__3_in_rule__NameExpCS__Group__240689 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NameExpCS__OwnedRoundBracketedClauseAssignment_2_in_rule__NameExpCS__Group__2__Impl40716 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NameExpCS__Group__3__Impl_in_rule__NameExpCS__Group__340747 = new BitSet(new long[]{0x0000000000000000L,0x0040110000000000L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__NameExpCS__Group__4_in_rule__NameExpCS__Group__340750 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NameExpCS__OwnedCurlyBracketedClauseAssignment_3_in_rule__NameExpCS__Group__3__Impl40777 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NameExpCS__Group__4__Impl_in_rule__NameExpCS__Group__440808 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NameExpCS__Group_4__0_in_rule__NameExpCS__Group__4__Impl40835 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NameExpCS__Group_4__0__Impl_in_rule__NameExpCS__Group_4__040876 = new BitSet(new long[]{0x0000000000000000L,0x0020000000000000L});
+        public static final BitSet FOLLOW_rule__NameExpCS__Group_4__1_in_rule__NameExpCS__Group_4__040879 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NameExpCS__IsPreAssignment_4_0_in_rule__NameExpCS__Group_4__0__Impl40906 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NameExpCS__Group_4__1__Impl_in_rule__NameExpCS__Group_4__140936 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_117_in_rule__NameExpCS__Group_4__1__Impl40964 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CurlyBracketedClauseCS__Group__0__Impl_in_rule__CurlyBracketedClauseCS__Group__040999 = new BitSet(new long[]{0x0000000000000000L,0x0000100000000000L});
+        public static final BitSet FOLLOW_rule__CurlyBracketedClauseCS__Group__1_in_rule__CurlyBracketedClauseCS__Group__041002 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CurlyBracketedClauseCS__Group__1__Impl_in_rule__CurlyBracketedClauseCS__Group__141060 = new BitSet(new long[]{0x001FFFFFFFFE01A0L,0x000000000000003FL});
+        public static final BitSet FOLLOW_rule__CurlyBracketedClauseCS__Group__2_in_rule__CurlyBracketedClauseCS__Group__141063 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_108_in_rule__CurlyBracketedClauseCS__Group__1__Impl41091 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CurlyBracketedClauseCS__Group__2__Impl_in_rule__CurlyBracketedClauseCS__Group__241122 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000000L});
+        public static final BitSet FOLLOW_rule__CurlyBracketedClauseCS__Group__3_in_rule__CurlyBracketedClauseCS__Group__241125 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CurlyBracketedClauseCS__Alternatives_2_in_rule__CurlyBracketedClauseCS__Group__2__Impl41152 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CurlyBracketedClauseCS__Group__3__Impl_in_rule__CurlyBracketedClauseCS__Group__341182 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_109_in_rule__CurlyBracketedClauseCS__Group__3__Impl41210 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CurlyBracketedClauseCS__Group_2_0__0__Impl_in_rule__CurlyBracketedClauseCS__Group_2_0__041249 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__CurlyBracketedClauseCS__Group_2_0__1_in_rule__CurlyBracketedClauseCS__Group_2_0__041252 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_0_in_rule__CurlyBracketedClauseCS__Group_2_0__0__Impl41279 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CurlyBracketedClauseCS__Group_2_0__1__Impl_in_rule__CurlyBracketedClauseCS__Group_2_0__141309 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CurlyBracketedClauseCS__Group_2_0_1__0_in_rule__CurlyBracketedClauseCS__Group_2_0__1__Impl41336 = new BitSet(new long[]{0x0000000000000002L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__CurlyBracketedClauseCS__Group_2_0_1__0__Impl_in_rule__CurlyBracketedClauseCS__Group_2_0_1__041371 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000000000000003FL});
+        public static final BitSet FOLLOW_rule__CurlyBracketedClauseCS__Group_2_0_1__1_in_rule__CurlyBracketedClauseCS__Group_2_0_1__041374 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__CurlyBracketedClauseCS__Group_2_0_1__0__Impl41402 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CurlyBracketedClauseCS__Group_2_0_1__1__Impl_in_rule__CurlyBracketedClauseCS__Group_2_0_1__141433 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_1_1_in_rule__CurlyBracketedClauseCS__Group_2_0_1__1__Impl41460 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group__0__Impl_in_rule__RoundBracketedClauseCS__Group__041494 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
+        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group__1_in_rule__RoundBracketedClauseCS__Group__041497 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group__1__Impl_in_rule__RoundBracketedClauseCS__Group__141555 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0xC21C077FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group__2_in_rule__RoundBracketedClauseCS__Group__141558 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_104_in_rule__RoundBracketedClauseCS__Group__1__Impl41586 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group__2__Impl_in_rule__RoundBracketedClauseCS__Group__241617 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0xC21C077FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group__3_in_rule__RoundBracketedClauseCS__Group__241620 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group_2__0_in_rule__RoundBracketedClauseCS__Group__2__Impl41647 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group__3__Impl_in_rule__RoundBracketedClauseCS__Group__341678 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_105_in_rule__RoundBracketedClauseCS__Group__3__Impl41706 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group_2__0__Impl_in_rule__RoundBracketedClauseCS__Group_2__041745 = new BitSet(new long[]{0x0020000000000000L,0x0000080000000000L,0x0000000000000040L});
+        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group_2__1_in_rule__RoundBracketedClauseCS__Group_2__041748 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_0_in_rule__RoundBracketedClauseCS__Group_2__0__Impl41775 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group_2__1__Impl_in_rule__RoundBracketedClauseCS__Group_2__141805 = new BitSet(new long[]{0x0020000000000000L,0x0000080000000000L,0x0000000000000040L});
+        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group_2__2_in_rule__RoundBracketedClauseCS__Group_2__141808 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_1_in_rule__RoundBracketedClauseCS__Group_2__1__Impl41835 = new BitSet(new long[]{0x0000000000000002L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group_2__2__Impl_in_rule__RoundBracketedClauseCS__Group_2__241866 = new BitSet(new long[]{0x0020000000000000L,0x0000080000000000L,0x0000000000000040L});
+        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group_2__3_in_rule__RoundBracketedClauseCS__Group_2__241869 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group_2_2__0_in_rule__RoundBracketedClauseCS__Group_2__2__Impl41896 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group_2__3__Impl_in_rule__RoundBracketedClauseCS__Group_2__341927 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group_2_3__0_in_rule__RoundBracketedClauseCS__Group_2__3__Impl41954 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000040L});
+        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group_2_2__0__Impl_in_rule__RoundBracketedClauseCS__Group_2_2__041993 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group_2_2__1_in_rule__RoundBracketedClauseCS__Group_2_2__041996 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_0_in_rule__RoundBracketedClauseCS__Group_2_2__0__Impl42023 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group_2_2__1__Impl_in_rule__RoundBracketedClauseCS__Group_2_2__142053 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_1_in_rule__RoundBracketedClauseCS__Group_2_2__1__Impl42080 = new BitSet(new long[]{0x0000000000000002L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group_2_3__0__Impl_in_rule__RoundBracketedClauseCS__Group_2_3__042115 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group_2_3__1_in_rule__RoundBracketedClauseCS__Group_2_3__042118 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_0_in_rule__RoundBracketedClauseCS__Group_2_3__0__Impl42145 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__Group_2_3__1__Impl_in_rule__RoundBracketedClauseCS__Group_2_3__142175 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_1_in_rule__RoundBracketedClauseCS__Group_2_3__1__Impl42202 = new BitSet(new long[]{0x0000000000000002L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__SquareBracketedClauseCS__Group__0__Impl_in_rule__SquareBracketedClauseCS__Group__042237 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__SquareBracketedClauseCS__Group__1_in_rule__SquareBracketedClauseCS__Group__042240 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_118_in_rule__SquareBracketedClauseCS__Group__0__Impl42268 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SquareBracketedClauseCS__Group__1__Impl_in_rule__SquareBracketedClauseCS__Group__142299 = new BitSet(new long[]{0x0000000000000000L,0x0080080000000000L});
+        public static final BitSet FOLLOW_rule__SquareBracketedClauseCS__Group__2_in_rule__SquareBracketedClauseCS__Group__142302 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SquareBracketedClauseCS__OwnedTermsAssignment_1_in_rule__SquareBracketedClauseCS__Group__1__Impl42329 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SquareBracketedClauseCS__Group__2__Impl_in_rule__SquareBracketedClauseCS__Group__242359 = new BitSet(new long[]{0x0000000000000000L,0x0080080000000000L});
+        public static final BitSet FOLLOW_rule__SquareBracketedClauseCS__Group__3_in_rule__SquareBracketedClauseCS__Group__242362 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SquareBracketedClauseCS__Group_2__0_in_rule__SquareBracketedClauseCS__Group__2__Impl42389 = new BitSet(new long[]{0x0000000000000002L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__SquareBracketedClauseCS__Group__3__Impl_in_rule__SquareBracketedClauseCS__Group__342420 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_119_in_rule__SquareBracketedClauseCS__Group__3__Impl42448 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SquareBracketedClauseCS__Group_2__0__Impl_in_rule__SquareBracketedClauseCS__Group_2__042487 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__SquareBracketedClauseCS__Group_2__1_in_rule__SquareBracketedClauseCS__Group_2__042490 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__SquareBracketedClauseCS__Group_2__0__Impl42518 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SquareBracketedClauseCS__Group_2__1__Impl_in_rule__SquareBracketedClauseCS__Group_2__142549 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SquareBracketedClauseCS__OwnedTermsAssignment_2_1_in_rule__SquareBracketedClauseCS__Group_2__1__Impl42576 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_0__0__Impl_in_rule__NavigatingArgCS__Group_0__042610 = new BitSet(new long[]{0x0000000000000000L,0x0100040000000000L});
+        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_0__1_in_rule__NavigatingArgCS__Group_0__042613 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingArgCS__OwnedNameExpressionAssignment_0_0_in_rule__NavigatingArgCS__Group_0__0__Impl42640 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_0__1__Impl_in_rule__NavigatingArgCS__Group_0__142670 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingArgCS__Alternatives_0_1_in_rule__NavigatingArgCS__Group_0__1__Impl42697 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_0_1_0__0__Impl_in_rule__NavigatingArgCS__Group_0_1_0__042732 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0x821C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_0_1_0__1_in_rule__NavigatingArgCS__Group_0_1_0__042735 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_106_in_rule__NavigatingArgCS__Group_0_1_0__0__Impl42763 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_0_1_0__1__Impl_in_rule__NavigatingArgCS__Group_0_1_0__142794 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008000L});
+        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_0_1_0__2_in_rule__NavigatingArgCS__Group_0_1_0__142797 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingArgCS__OwnedTypeAssignment_0_1_0_1_in_rule__NavigatingArgCS__Group_0_1_0__1__Impl42824 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_0_1_0__2__Impl_in_rule__NavigatingArgCS__Group_0_1_0__242854 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_0_1_0_2__0_in_rule__NavigatingArgCS__Group_0_1_0__2__Impl42881 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_0_1_0_2__0__Impl_in_rule__NavigatingArgCS__Group_0_1_0_2__042918 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_0_1_0_2__1_in_rule__NavigatingArgCS__Group_0_1_0_2__042921 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_79_in_rule__NavigatingArgCS__Group_0_1_0_2__0__Impl42949 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_0_1_0_2__1__Impl_in_rule__NavigatingArgCS__Group_0_1_0_2__142980 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_0_2_1_in_rule__NavigatingArgCS__Group_0_1_0_2__1__Impl43007 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_0_1_1__0__Impl_in_rule__NavigatingArgCS__Group_0_1_1__043041 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_0_1_1__1_in_rule__NavigatingArgCS__Group_0_1_1__043044 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_120_in_rule__NavigatingArgCS__Group_0_1_1__0__Impl43072 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_0_1_1__1__Impl_in_rule__NavigatingArgCS__Group_0_1_1__143103 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_1_1_in_rule__NavigatingArgCS__Group_0_1_1__1__Impl43130 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_1__0__Impl_in_rule__NavigatingArgCS__Group_1__043164 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0x821C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_1__1_in_rule__NavigatingArgCS__Group_1__043167 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_106_in_rule__NavigatingArgCS__Group_1__0__Impl43195 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingArgCS__Group_1__1__Impl_in_rule__NavigatingArgCS__Group_1__143226 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingArgCS__OwnedTypeAssignment_1_1_in_rule__NavigatingArgCS__Group_1__1__Impl43253 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group__0__Impl_in_rule__NavigatingBarArgCS__Group__043287 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group__1_in_rule__NavigatingBarArgCS__Group__043290 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingBarArgCS__PrefixAssignment_0_in_rule__NavigatingBarArgCS__Group__0__Impl43317 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group__1__Impl_in_rule__NavigatingBarArgCS__Group__143347 = new BitSet(new long[]{0x0000000000000000L,0x0000040000000000L});
+        public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group__2_in_rule__NavigatingBarArgCS__Group__143350 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingBarArgCS__OwnedNameExpressionAssignment_1_in_rule__NavigatingBarArgCS__Group__1__Impl43377 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group__2__Impl_in_rule__NavigatingBarArgCS__Group__243407 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group_2__0_in_rule__NavigatingBarArgCS__Group__2__Impl43434 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group_2__0__Impl_in_rule__NavigatingBarArgCS__Group_2__043471 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0x821C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group_2__1_in_rule__NavigatingBarArgCS__Group_2__043474 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_106_in_rule__NavigatingBarArgCS__Group_2__0__Impl43502 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group_2__1__Impl_in_rule__NavigatingBarArgCS__Group_2__143533 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008000L});
+        public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group_2__2_in_rule__NavigatingBarArgCS__Group_2__143536 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingBarArgCS__OwnedTypeAssignment_2_1_in_rule__NavigatingBarArgCS__Group_2__1__Impl43563 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group_2__2__Impl_in_rule__NavigatingBarArgCS__Group_2__243593 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group_2_2__0_in_rule__NavigatingBarArgCS__Group_2__2__Impl43620 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group_2_2__0__Impl_in_rule__NavigatingBarArgCS__Group_2_2__043657 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group_2_2__1_in_rule__NavigatingBarArgCS__Group_2_2__043660 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_79_in_rule__NavigatingBarArgCS__Group_2_2__0__Impl43688 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingBarArgCS__Group_2_2__1__Impl_in_rule__NavigatingBarArgCS__Group_2_2__143719 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingBarArgCS__OwnedInitExpressionAssignment_2_2_1_in_rule__NavigatingBarArgCS__Group_2_2__1__Impl43746 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group__0__Impl_in_rule__NavigatingCommaArgCS__Group__043780 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group__1_in_rule__NavigatingCommaArgCS__Group__043783 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__PrefixAssignment_0_in_rule__NavigatingCommaArgCS__Group__0__Impl43810 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group__1__Impl_in_rule__NavigatingCommaArgCS__Group__143840 = new BitSet(new long[]{0x0000000000000000L,0x0100040000000000L});
+        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group__2_in_rule__NavigatingCommaArgCS__Group__143843 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__OwnedNameExpressionAssignment_1_in_rule__NavigatingCommaArgCS__Group__1__Impl43870 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group__2__Impl_in_rule__NavigatingCommaArgCS__Group__243900 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Alternatives_2_in_rule__NavigatingCommaArgCS__Group__2__Impl43927 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group_2_0__0__Impl_in_rule__NavigatingCommaArgCS__Group_2_0__043964 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0x821C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group_2_0__1_in_rule__NavigatingCommaArgCS__Group_2_0__043967 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_106_in_rule__NavigatingCommaArgCS__Group_2_0__0__Impl43995 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group_2_0__1__Impl_in_rule__NavigatingCommaArgCS__Group_2_0__144026 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008000L});
+        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group_2_0__2_in_rule__NavigatingCommaArgCS__Group_2_0__144029 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_0_1_in_rule__NavigatingCommaArgCS__Group_2_0__1__Impl44056 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group_2_0__2__Impl_in_rule__NavigatingCommaArgCS__Group_2_0__244086 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group_2_0_2__0_in_rule__NavigatingCommaArgCS__Group_2_0__2__Impl44113 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group_2_0_2__0__Impl_in_rule__NavigatingCommaArgCS__Group_2_0_2__044150 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group_2_0_2__1_in_rule__NavigatingCommaArgCS__Group_2_0_2__044153 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_79_in_rule__NavigatingCommaArgCS__Group_2_0_2__0__Impl44181 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group_2_0_2__1__Impl_in_rule__NavigatingCommaArgCS__Group_2_0_2__144212 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_0_2_1_in_rule__NavigatingCommaArgCS__Group_2_0_2__1__Impl44239 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group_2_1__0__Impl_in_rule__NavigatingCommaArgCS__Group_2_1__044273 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group_2_1__1_in_rule__NavigatingCommaArgCS__Group_2_1__044276 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_120_in_rule__NavigatingCommaArgCS__Group_2_1__0__Impl44304 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__Group_2_1__1__Impl_in_rule__NavigatingCommaArgCS__Group_2_1__144335 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_1_1_in_rule__NavigatingCommaArgCS__Group_2_1__1__Impl44362 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group__0__Impl_in_rule__NavigatingSemiArgCS__Group__044396 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group__1_in_rule__NavigatingSemiArgCS__Group__044399 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__PrefixAssignment_0_in_rule__NavigatingSemiArgCS__Group__0__Impl44426 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group__1__Impl_in_rule__NavigatingSemiArgCS__Group__144456 = new BitSet(new long[]{0x0000000000000000L,0x0000040000000000L});
+        public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group__2_in_rule__NavigatingSemiArgCS__Group__144459 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__OwnedNameExpressionAssignment_1_in_rule__NavigatingSemiArgCS__Group__1__Impl44486 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group__2__Impl_in_rule__NavigatingSemiArgCS__Group__244516 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group_2__0_in_rule__NavigatingSemiArgCS__Group__2__Impl44543 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group_2__0__Impl_in_rule__NavigatingSemiArgCS__Group_2__044580 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0x821C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group_2__1_in_rule__NavigatingSemiArgCS__Group_2__044583 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_106_in_rule__NavigatingSemiArgCS__Group_2__0__Impl44611 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group_2__1__Impl_in_rule__NavigatingSemiArgCS__Group_2__144642 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008000L});
+        public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group_2__2_in_rule__NavigatingSemiArgCS__Group_2__144645 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_1_in_rule__NavigatingSemiArgCS__Group_2__1__Impl44672 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group_2__2__Impl_in_rule__NavigatingSemiArgCS__Group_2__244702 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group_2_2__0_in_rule__NavigatingSemiArgCS__Group_2__2__Impl44729 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group_2_2__0__Impl_in_rule__NavigatingSemiArgCS__Group_2_2__044766 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group_2_2__1_in_rule__NavigatingSemiArgCS__Group_2_2__044769 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_79_in_rule__NavigatingSemiArgCS__Group_2_2__0__Impl44797 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__Group_2_2__1__Impl_in_rule__NavigatingSemiArgCS__Group_2_2__144828 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NavigatingSemiArgCS__OwnedInitExpressionAssignment_2_2_1_in_rule__NavigatingSemiArgCS__Group_2_2__1__Impl44855 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__IfExpCS__Group__0__Impl_in_rule__IfExpCS__Group__044889 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0xC21C057FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__IfExpCS__Group__1_in_rule__IfExpCS__Group__044892 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_121_in_rule__IfExpCS__Group__0__Impl44920 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__IfExpCS__Group__1__Impl_in_rule__IfExpCS__Group__144951 = new BitSet(new long[]{0x0000000000000000L,0x0400000000000000L});
+        public static final BitSet FOLLOW_rule__IfExpCS__Group__2_in_rule__IfExpCS__Group__144954 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__IfExpCS__OwnedConditionAssignment_1_in_rule__IfExpCS__Group__1__Impl44981 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__IfExpCS__Group__2__Impl_in_rule__IfExpCS__Group__245011 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__IfExpCS__Group__3_in_rule__IfExpCS__Group__245014 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_122_in_rule__IfExpCS__Group__2__Impl45042 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__IfExpCS__Group__3__Impl_in_rule__IfExpCS__Group__345073 = new BitSet(new long[]{0x0000000000000000L,0x2800000000000000L});
+        public static final BitSet FOLLOW_rule__IfExpCS__Group__4_in_rule__IfExpCS__Group__345076 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__IfExpCS__OwnedThenExpressionAssignment_3_in_rule__IfExpCS__Group__3__Impl45103 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__IfExpCS__Group__4__Impl_in_rule__IfExpCS__Group__445133 = new BitSet(new long[]{0x0000000000000000L,0x2800000000000000L});
+        public static final BitSet FOLLOW_rule__IfExpCS__Group__5_in_rule__IfExpCS__Group__445136 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__IfExpCS__OwnedIfThenExpressionsAssignment_4_in_rule__IfExpCS__Group__4__Impl45163 = new BitSet(new long[]{0x0000000000000002L,0x2000000000000000L});
+        public static final BitSet FOLLOW_rule__IfExpCS__Group__5__Impl_in_rule__IfExpCS__Group__545194 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__IfExpCS__Group__6_in_rule__IfExpCS__Group__545197 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_123_in_rule__IfExpCS__Group__5__Impl45225 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__IfExpCS__Group__6__Impl_in_rule__IfExpCS__Group__645256 = new BitSet(new long[]{0x0000000000000000L,0x1000000000000000L});
+        public static final BitSet FOLLOW_rule__IfExpCS__Group__7_in_rule__IfExpCS__Group__645259 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__IfExpCS__OwnedElseExpressionAssignment_6_in_rule__IfExpCS__Group__6__Impl45286 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__IfExpCS__Group__7__Impl_in_rule__IfExpCS__Group__745316 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_124_in_rule__IfExpCS__Group__7__Impl45344 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ElseIfThenExpCS__Group__0__Impl_in_rule__ElseIfThenExpCS__Group__045391 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__ElseIfThenExpCS__Group__1_in_rule__ElseIfThenExpCS__Group__045394 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_125_in_rule__ElseIfThenExpCS__Group__0__Impl45422 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ElseIfThenExpCS__Group__1__Impl_in_rule__ElseIfThenExpCS__Group__145453 = new BitSet(new long[]{0x0000000000000000L,0x0400000000000000L});
+        public static final BitSet FOLLOW_rule__ElseIfThenExpCS__Group__2_in_rule__ElseIfThenExpCS__Group__145456 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ElseIfThenExpCS__OwnedConditionAssignment_1_in_rule__ElseIfThenExpCS__Group__1__Impl45483 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ElseIfThenExpCS__Group__2__Impl_in_rule__ElseIfThenExpCS__Group__245513 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__ElseIfThenExpCS__Group__3_in_rule__ElseIfThenExpCS__Group__245516 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_122_in_rule__ElseIfThenExpCS__Group__2__Impl45544 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ElseIfThenExpCS__Group__3__Impl_in_rule__ElseIfThenExpCS__Group__345575 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ElseIfThenExpCS__OwnedThenExpressionAssignment_3_in_rule__ElseIfThenExpCS__Group__3__Impl45602 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LetExpCS__Group__0__Impl_in_rule__LetExpCS__Group__045640 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000000000000003FL});
+        public static final BitSet FOLLOW_rule__LetExpCS__Group__1_in_rule__LetExpCS__Group__045643 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_126_in_rule__LetExpCS__Group__0__Impl45671 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LetExpCS__Group__1__Impl_in_rule__LetExpCS__Group__145702 = new BitSet(new long[]{0x0000000000000000L,0x0100080000000000L});
+        public static final BitSet FOLLOW_rule__LetExpCS__Group__2_in_rule__LetExpCS__Group__145705 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LetExpCS__OwnedVariablesAssignment_1_in_rule__LetExpCS__Group__1__Impl45732 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LetExpCS__Group__2__Impl_in_rule__LetExpCS__Group__245762 = new BitSet(new long[]{0x0000000000000000L,0x0100080000000000L});
+        public static final BitSet FOLLOW_rule__LetExpCS__Group__3_in_rule__LetExpCS__Group__245765 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LetExpCS__Group_2__0_in_rule__LetExpCS__Group__2__Impl45792 = new BitSet(new long[]{0x0000000000000002L,0x0000080000000000L});
+        public static final BitSet FOLLOW_rule__LetExpCS__Group__3__Impl_in_rule__LetExpCS__Group__345823 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__LetExpCS__Group__4_in_rule__LetExpCS__Group__345826 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_120_in_rule__LetExpCS__Group__3__Impl45854 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LetExpCS__Group__4__Impl_in_rule__LetExpCS__Group__445885 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LetExpCS__OwnedInExpressionAssignment_4_in_rule__LetExpCS__Group__4__Impl45912 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LetExpCS__Group_2__0__Impl_in_rule__LetExpCS__Group_2__045952 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x000000000000003FL});
+        public static final BitSet FOLLOW_rule__LetExpCS__Group_2__1_in_rule__LetExpCS__Group_2__045955 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__LetExpCS__Group_2__0__Impl45983 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LetExpCS__Group_2__1__Impl_in_rule__LetExpCS__Group_2__146014 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LetExpCS__OwnedVariablesAssignment_2_1_in_rule__LetExpCS__Group_2__1__Impl46041 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LetVariableCS__Group__0__Impl_in_rule__LetVariableCS__Group__046075 = new BitSet(new long[]{0x0000000000000000L,0x0000050000008000L});
+        public static final BitSet FOLLOW_rule__LetVariableCS__Group__1_in_rule__LetVariableCS__Group__046078 = new BitSet(new long[]{0x0000000000000002L});
     }
 
     private static class FollowSets002 {
-        public static final BitSet FOLLOW_rule__TypeParameterCS__Group__1_in_rule__TypeParameterCS__Group__045630 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypeParameterCS__NameAssignment_0_in_rule__TypeParameterCS__Group__0__Impl45657 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypeParameterCS__Group__1__Impl_in_rule__TypeParameterCS__Group__145687 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypeParameterCS__Alternatives_1_in_rule__TypeParameterCS__Group__1__Impl45714 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypeParameterCS__Group_1_0__0__Impl_in_rule__TypeParameterCS__Group_1_0__045749 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00410E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__TypeParameterCS__Group_1_0__1_in_rule__TypeParameterCS__Group_1_0__045752 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_28_in_rule__TypeParameterCS__Group_1_0__0__Impl45780 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypeParameterCS__Group_1_0__1__Impl_in_rule__TypeParameterCS__Group_1_0__145811 = new BitSet(new long[]{0x0000000000000000L,0x0080000000000000L});
-        public static final BitSet FOLLOW_rule__TypeParameterCS__Group_1_0__2_in_rule__TypeParameterCS__Group_1_0__145814 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypeParameterCS__OwnedExtendsAssignment_1_0_1_in_rule__TypeParameterCS__Group_1_0__1__Impl45841 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypeParameterCS__Group_1_0__2__Impl_in_rule__TypeParameterCS__Group_1_0__245871 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypeParameterCS__Group_1_0_2__0_in_rule__TypeParameterCS__Group_1_0__2__Impl45898 = new BitSet(new long[]{0x0000000000000002L,0x0080000000000000L});
-        public static final BitSet FOLLOW_rule__TypeParameterCS__Group_1_0_2__0__Impl_in_rule__TypeParameterCS__Group_1_0_2__045935 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00410E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__TypeParameterCS__Group_1_0_2__1_in_rule__TypeParameterCS__Group_1_0_2__045938 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_119_in_rule__TypeParameterCS__Group_1_0_2__0__Impl45966 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypeParameterCS__Group_1_0_2__1__Impl_in_rule__TypeParameterCS__Group_1_0_2__145997 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypeParameterCS__OwnedExtendsAssignment_1_0_2_1_in_rule__TypeParameterCS__Group_1_0_2__1__Impl46024 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypeParameterCS__Group_1_1__0__Impl_in_rule__TypeParameterCS__Group_1_1__046058 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00410E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__TypeParameterCS__Group_1_1__1_in_rule__TypeParameterCS__Group_1_1__046061 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_47_in_rule__TypeParameterCS__Group_1_1__0__Impl46089 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypeParameterCS__Group_1_1__1__Impl_in_rule__TypeParameterCS__Group_1_1__146120 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypeParameterCS__OwnedSuperAssignment_1_1_1_in_rule__TypeParameterCS__Group_1_1__1__Impl46147 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypedTypeRefCS__Group__0__Impl_in_rule__TypedTypeRefCS__Group__046181 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000008L});
-        public static final BitSet FOLLOW_rule__TypedTypeRefCS__Group__1_in_rule__TypedTypeRefCS__Group__046184 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypedTypeRefCS__OwnedPathNameAssignment_0_in_rule__TypedTypeRefCS__Group__0__Impl46211 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypedTypeRefCS__Group__1__Impl_in_rule__TypedTypeRefCS__Group__146241 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__TypedTypeRefCS__OwnedBindingAssignment_1_in_rule__TypedTypeRefCS__Group__1__Impl46268 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WildcardTypeRefCS__Group__0__Impl_in_rule__WildcardTypeRefCS__Group__046303 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00410E00FFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__WildcardTypeRefCS__Group__1_in_rule__WildcardTypeRefCS__Group__046306 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WildcardTypeRefCS__Group__1__Impl_in_rule__WildcardTypeRefCS__Group__146364 = new BitSet(new long[]{0x0000800010000000L});
-        public static final BitSet FOLLOW_rule__WildcardTypeRefCS__Group__2_in_rule__WildcardTypeRefCS__Group__146367 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_94_in_rule__WildcardTypeRefCS__Group__1__Impl46395 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WildcardTypeRefCS__Group__2__Impl_in_rule__WildcardTypeRefCS__Group__246426 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WildcardTypeRefCS__Alternatives_2_in_rule__WildcardTypeRefCS__Group__2__Impl46453 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WildcardTypeRefCS__Group_2_0__0__Impl_in_rule__WildcardTypeRefCS__Group_2_0__046490 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00410E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__WildcardTypeRefCS__Group_2_0__1_in_rule__WildcardTypeRefCS__Group_2_0__046493 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_28_in_rule__WildcardTypeRefCS__Group_2_0__0__Impl46521 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WildcardTypeRefCS__Group_2_0__1__Impl_in_rule__WildcardTypeRefCS__Group_2_0__146552 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WildcardTypeRefCS__OwnedExtendsAssignment_2_0_1_in_rule__WildcardTypeRefCS__Group_2_0__1__Impl46579 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WildcardTypeRefCS__Group_2_1__0__Impl_in_rule__WildcardTypeRefCS__Group_2_1__046613 = new BitSet(new long[]{0xFF9FFFFFFFFE01B0L,0x00410E00BFFF0000L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rule__WildcardTypeRefCS__Group_2_1__1_in_rule__WildcardTypeRefCS__Group_2_1__046616 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_47_in_rule__WildcardTypeRefCS__Group_2_1__0__Impl46644 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WildcardTypeRefCS__Group_2_1__1__Impl_in_rule__WildcardTypeRefCS__Group_2_1__146675 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__WildcardTypeRefCS__OwnedSuperAssignment_2_1_1_in_rule__WildcardTypeRefCS__Group_2_1__1__Impl46702 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleLibraryCS_in_rule__TopLevelCS__OwnedLibrariesAssignment_246741 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleImportCS_in_rule__TopLevelCS__OwnedImportsAssignment_346772 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePackageCS_in_rule__TopLevelCS__OwnedPackagesAssignment_446803 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__InvariantConstraintCS__IsCallableAssignment_046839 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_57_in_rule__InvariantConstraintCS__StereotypeAssignment_146883 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__InvariantConstraintCS__NameAssignment_2_046922 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleSpecificationCS_in_rule__InvariantConstraintCS__OwnedMessageSpecificationAssignment_2_1_146953 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleSpecificationCS_in_rule__InvariantConstraintCS__OwnedSpecificationAssignment_3_0_146984 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_39_in_rule__PostconditionConstraintCS__StereotypeAssignment_047020 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__PostconditionConstraintCS__NameAssignment_1_047059 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleSpecificationCS_in_rule__PostconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_147090 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleSpecificationCS_in_rule__PostconditionConstraintCS__OwnedSpecificationAssignment_347121 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_40_in_rule__PreconditionConstraintCS__StereotypeAssignment_047157 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__PreconditionConstraintCS__NameAssignment_1_047196 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleSpecificationCS_in_rule__PreconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_147227 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleSpecificationCS_in_rule__PreconditionConstraintCS__OwnedSpecificationAssignment_347258 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AnnotationCS__NameAlternatives_2_0_in_rule__AnnotationCS__NameAssignment_247289 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleDetailCS_in_rule__AnnotationCS__OwnedDetailsAssignment_3_147322 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleDetailCS_in_rule__AnnotationCS__OwnedDetailsAssignment_3_2_147353 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAnnotationElementCS_in_rule__AnnotationCS__OwnedAnnotationsAssignment_4_0_1_047384 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleModelElementCS_in_rule__AnnotationCS__OwnedContentsAssignment_4_0_1_147415 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleModelElementRefCS_in_rule__AnnotationCS__OwnedReferencesAssignment_4_0_1_247446 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_46_in_rule__AttributeCS__QualifiersAssignment_0_0_047482 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_24_in_rule__AttributeCS__QualifiersAssignment_0_0_147526 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_24_in_rule__AttributeCS__QualifiersAssignment_0_1_047570 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_46_in_rule__AttributeCS__QualifiersAssignment_0_1_147614 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__AttributeCS__NameAssignment_247653 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypedMultiplicityRefCS_in_rule__AttributeCS__OwnedTypeAssignment_3_147684 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_rule__AttributeCS__DefaultAssignment_4_147715 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_26_in_rule__AttributeCS__QualifiersAssignment_5_1_0_047751 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_120_in_rule__AttributeCS__QualifiersAssignment_5_1_0_147795 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_29_in_rule__AttributeCS__QualifiersAssignment_5_1_0_247839 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_121_in_rule__AttributeCS__QualifiersAssignment_5_1_0_347883 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_37_in_rule__AttributeCS__QualifiersAssignment_5_1_0_447927 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_122_in_rule__AttributeCS__QualifiersAssignment_5_1_0_547971 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_43_in_rule__AttributeCS__QualifiersAssignment_5_1_0_648015 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_123_in_rule__AttributeCS__QualifiersAssignment_5_1_0_748059 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_49_in_rule__AttributeCS__QualifiersAssignment_5_1_0_848103 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_124_in_rule__AttributeCS__QualifiersAssignment_5_1_0_948147 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_50_in_rule__AttributeCS__QualifiersAssignment_5_1_0_1048191 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_125_in_rule__AttributeCS__QualifiersAssignment_5_1_0_1148235 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_51_in_rule__AttributeCS__QualifiersAssignment_5_1_0_1248279 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_126_in_rule__AttributeCS__QualifiersAssignment_5_1_0_1348323 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_52_in_rule__AttributeCS__QualifiersAssignment_5_1_0_1448367 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_127_in_rule__AttributeCS__QualifiersAssignment_5_1_0_1548411 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAnnotationElementCS_in_rule__AttributeCS__OwnedAnnotationsAssignment_6_0_1_048450 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleSpecificationCS_in_rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_1_348481 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleSpecificationCS_in_rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_2_348512 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_41_in_rule__DataTypeCS__IsPrimitiveAssignment_048548 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__DataTypeCS__NameAssignment_248587 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTemplateSignatureCS_in_rule__DataTypeCS__OwnedSignatureAssignment_348618 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_rule__DataTypeCS__InstanceClassNameAssignment_4_148649 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_59_in_rule__DataTypeCS__IsSerializableAssignment_5_1_048685 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAnnotationElementCS_in_rule__DataTypeCS__OwnedAnnotationsAssignment_6_0_1_048724 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleInvariantConstraintCS_in_rule__DataTypeCS__OwnedConstraintsAssignment_6_0_1_148755 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DetailCS__NameAlternatives_0_0_in_rule__DetailCS__NameAssignment_048786 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DetailCS__ValuesAlternatives_2_0_in_rule__DetailCS__ValuesAssignment_248819 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_rule__DocumentationCS__ValueAssignment_248852 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleDetailCS_in_rule__DocumentationCS__OwnedDetailsAssignment_3_148883 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleDetailCS_in_rule__DocumentationCS__OwnedDetailsAssignment_3_2_148914 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__EnumerationCS__NameAssignment_148945 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTemplateSignatureCS_in_rule__EnumerationCS__OwnedSignatureAssignment_248976 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_rule__EnumerationCS__InstanceClassNameAssignment_3_149007 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_59_in_rule__EnumerationCS__IsSerializableAssignment_4_1_049043 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAnnotationElementCS_in_rule__EnumerationCS__OwnedAnnotationsAssignment_5_0_1_049082 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEnumerationLiteralCS_in_rule__EnumerationCS__OwnedLiteralsAssignment_5_0_1_149113 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleInvariantConstraintCS_in_rule__EnumerationCS__OwnedConstraintsAssignment_5_0_1_249144 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__EnumerationLiteralCS__NameAssignment_0_0_149175 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEnumerationLiteralName_in_rule__EnumerationLiteralCS__NameAssignment_0_149206 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleSIGNED_in_rule__EnumerationLiteralCS__ValueAssignment_1_149237 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAnnotationElementCS_in_rule__EnumerationLiteralCS__OwnedAnnotationsAssignment_2_0_149268 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__ImportCS__NameAssignment_1_049299 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleURIPathNameCS_in_rule__ImportCS__OwnedPathNameAssignment_249330 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_128_in_rule__ImportCS__IsAllAssignment_349366 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__LibraryCS__NameAssignment_1_049405 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleURI_in_rule__LibraryCS__ReferredPackageAssignment_249440 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePathNameCS_in_rule__ModelElementRefCS__OwnedPathNameAssignment_149475 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_46_in_rule__OperationCS__QualifiersAssignment_0_0_049511 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_24_in_rule__OperationCS__QualifiersAssignment_0_0_149555 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_24_in_rule__OperationCS__QualifiersAssignment_0_1_049599 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_46_in_rule__OperationCS__QualifiersAssignment_0_1_149643 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTemplateSignatureCS_in_rule__OperationCS__OwnedSignatureAssignment_249682 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__OperationCS__NameAssignment_349713 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleParameterCS_in_rule__OperationCS__OwnedParametersAssignment_5_049744 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleParameterCS_in_rule__OperationCS__OwnedParametersAssignment_5_1_149775 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypedMultiplicityRefCS_in_rule__OperationCS__OwnedTypeAssignment_7_149806 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypedRefCS_in_rule__OperationCS__OwnedExceptionsAssignment_8_149837 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypedRefCS_in_rule__OperationCS__OwnedExceptionsAssignment_8_2_149868 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_26_in_rule__OperationCS__QualifiersAssignment_9_1_0_049904 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_120_in_rule__OperationCS__QualifiersAssignment_9_1_0_149948 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_37_in_rule__OperationCS__QualifiersAssignment_9_1_0_249992 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_122_in_rule__OperationCS__QualifiersAssignment_9_1_0_350036 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_50_in_rule__OperationCS__QualifiersAssignment_9_1_0_450080 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_125_in_rule__OperationCS__QualifiersAssignment_9_1_0_550124 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAnnotationElementCS_in_rule__OperationCS__OwnedAnnotationsAssignment_10_0_1_050163 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePreconditionConstraintCS_in_rule__OperationCS__OwnedPreconditionsAssignment_10_0_1_150194 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleSpecificationCS_in_rule__OperationCS__OwnedBodyExpressionsAssignment_10_0_1_2_350225 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePostconditionConstraintCS_in_rule__OperationCS__OwnedPostconditionsAssignment_10_0_1_350256 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__PackageCS__NameAssignment_150287 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__PackageCS__NsPrefixAssignment_2_150318 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleURI_in_rule__PackageCS__NsURIAssignment_3_150349 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAnnotationElementCS_in_rule__PackageCS__OwnedAnnotationsAssignment_4_0_1_050380 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePackageCS_in_rule__PackageCS__OwnedPackagesAssignment_4_0_1_150411 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleClassCS_in_rule__PackageCS__OwnedClassesAssignment_4_0_1_250442 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__ParameterCS__NameAssignment_050473 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypedMultiplicityRefCS_in_rule__ParameterCS__OwnedTypeAssignment_1_150504 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_37_in_rule__ParameterCS__QualifiersAssignment_2_1_0_050540 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_122_in_rule__ParameterCS__QualifiersAssignment_2_1_0_150584 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_50_in_rule__ParameterCS__QualifiersAssignment_2_1_0_250628 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_125_in_rule__ParameterCS__QualifiersAssignment_2_1_0_350672 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAnnotationElementCS_in_rule__ParameterCS__OwnedAnnotationsAssignment_3_150711 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_46_in_rule__ReferenceCS__QualifiersAssignment_0_0_050747 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_24_in_rule__ReferenceCS__QualifiersAssignment_0_0_150791 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_24_in_rule__ReferenceCS__QualifiersAssignment_0_1_050835 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_46_in_rule__ReferenceCS__QualifiersAssignment_0_1_150879 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__ReferenceCS__NameAssignment_250918 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__ReferenceCS__ReferredOppositeAssignment_3_150953 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypedMultiplicityRefCS_in_rule__ReferenceCS__OwnedTypeAssignment_4_150988 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_rule__ReferenceCS__DefaultAssignment_5_151019 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_22_in_rule__ReferenceCS__QualifiersAssignment_6_1_0_051055 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_129_in_rule__ReferenceCS__QualifiersAssignment_6_1_0_151099 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_26_in_rule__ReferenceCS__QualifiersAssignment_6_1_0_251143 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_120_in_rule__ReferenceCS__QualifiersAssignment_6_1_0_351187 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_37_in_rule__ReferenceCS__QualifiersAssignment_6_1_0_451231 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_122_in_rule__ReferenceCS__QualifiersAssignment_6_1_0_551275 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_43_in_rule__ReferenceCS__QualifiersAssignment_6_1_0_651319 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_123_in_rule__ReferenceCS__QualifiersAssignment_6_1_0_751363 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_45_in_rule__ReferenceCS__QualifiersAssignment_6_1_0_851407 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_130_in_rule__ReferenceCS__QualifiersAssignment_6_1_0_951451 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_49_in_rule__ReferenceCS__QualifiersAssignment_6_1_0_1051495 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_124_in_rule__ReferenceCS__QualifiersAssignment_6_1_0_1151539 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_50_in_rule__ReferenceCS__QualifiersAssignment_6_1_0_1251583 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_125_in_rule__ReferenceCS__QualifiersAssignment_6_1_0_1351627 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_51_in_rule__ReferenceCS__QualifiersAssignment_6_1_0_1451671 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_126_in_rule__ReferenceCS__QualifiersAssignment_6_1_0_1551715 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_52_in_rule__ReferenceCS__QualifiersAssignment_6_1_0_1651759 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_127_in_rule__ReferenceCS__QualifiersAssignment_6_1_0_1751803 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAnnotationElementCS_in_rule__ReferenceCS__OwnedAnnotationsAssignment_7_0_1_051842 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_151877 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_2_151916 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleSpecificationCS_in_rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_2_351951 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleSpecificationCS_in_rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_3_351982 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExpCS_in_rule__SpecificationCS__OwnedExpressionAssignment_052013 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_UNQUOTED_STRING_in_rule__SpecificationCS__ExprStringAssignment_152044 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__StructuredClassCS__IsAbstractAssignment_052080 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__StructuredClassCS__NameAssignment_252119 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTemplateSignatureCS_in_rule__StructuredClassCS__OwnedSignatureAssignment_352150 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypedRefCS_in_rule__StructuredClassCS__OwnedSuperTypesAssignment_4_152181 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypedRefCS_in_rule__StructuredClassCS__OwnedSuperTypesAssignment_4_2_152212 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_rule__StructuredClassCS__InstanceClassNameAssignment_5_152243 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_32_in_rule__StructuredClassCS__IsInterfaceAssignment_6_152279 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAnnotationElementCS_in_rule__StructuredClassCS__OwnedAnnotationsAssignment_7_0_1_052318 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleOperationCS_in_rule__StructuredClassCS__OwnedOperationsAssignment_7_0_1_152349 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStructuralFeatureCS_in_rule__StructuredClassCS__OwnedPropertiesAssignment_7_0_1_252380 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleInvariantConstraintCS_in_rule__StructuredClassCS__OwnedConstraintsAssignment_7_0_1_352411 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleDetailCS_in_rule__SysMLCS__OwnedDetailsAssignment_2_0_052442 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleDetailCS_in_rule__SysMLCS__OwnedDetailsAssignment_2_1_1_052473 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleMultiplicityCS_in_rule__TypedMultiplicityRefCS__OwnedMultiplicityAssignment_152504 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTemplateParameterSubstitutionCS_in_rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_152535 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTemplateParameterSubstitutionCS_in_rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_2_152566 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTemplateParameterSubstitutionCS_in_rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_152597 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTemplateParameterSubstitutionCS_in_rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_2_152628 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypeParameterCS_in_rule__TemplateSignatureCS__OwnedParametersAssignment_0_152659 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypeParameterCS_in_rule__TemplateSignatureCS__OwnedParametersAssignment_0_2_152690 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypeParameterCS_in_rule__TemplateSignatureCS__OwnedParametersAssignment_1_152721 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypeParameterCS_in_rule__TemplateSignatureCS__OwnedParametersAssignment_1_2_152752 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleURIFirstPathElementCS_in_rule__URIPathNameCS__OwnedPathElementsAssignment_052784 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNextPathElementCS_in_rule__URIPathNameCS__OwnedPathElementsAssignment_1_152815 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__URIFirstPathElementCS__ReferredElementAssignment_052850 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleURI_in_rule__URIFirstPathElementCS__ReferredElementAssignment_1_152889 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePrimitiveTypeIdentifier_in_rule__PrimitiveTypeCS__NameAssignment52924 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCollectionTypeIdentifier_in_rule__CollectionTypeCS__NameAssignment_052955 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypeExpCS_in_rule__CollectionTypeCS__OwnedTypeAssignment_1_152986 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_80_in_rule__TupleTypeCS__NameAssignment_053022 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTuplePartCS_in_rule__TupleTypeCS__OwnedPartsAssignment_1_1_053061 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTuplePartCS_in_rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_153092 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__TuplePartCS__NameAssignment_053123 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypeExpCS_in_rule__TuplePartCS__OwnedTypeAssignment_253154 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCollectionTypeCS_in_rule__CollectionLiteralExpCS__OwnedTypeAssignment_053185 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCollectionLiteralPartCS_in_rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_053216 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCollectionLiteralPartCS_in_rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_153247 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExpCS_in_rule__CollectionLiteralPartCS__OwnedExpressionAssignment_0_053278 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExpCS_in_rule__CollectionLiteralPartCS__OwnedLastExpressionAssignment_0_1_153309 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePatternExpCS_in_rule__CollectionLiteralPartCS__OwnedExpressionAssignment_153340 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCollectionTypeCS_in_rule__CollectionPatternCS__OwnedTypeAssignment_053371 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePatternExpCS_in_rule__CollectionPatternCS__OwnedPartsAssignment_2_053402 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePatternExpCS_in_rule__CollectionPatternCS__OwnedPartsAssignment_2_1_153433 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleIdentifier_in_rule__CollectionPatternCS__RestVariableNameAssignment_2_2_153464 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__ConstructorPartCS__ReferredPropertyAssignment_053499 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ConstructorPartCS__OwnedInitExpressionAlternatives_2_0_in_rule__ConstructorPartCS__OwnedInitExpressionAssignment_253534 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__PatternExpCS__PatternVariableNameAssignment_053567 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypeExpCS_in_rule__PatternExpCS__OwnedPatternTypeAssignment_253598 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExpCS_in_rule__LambdaLiteralExpCS__OwnedExpressionCSAssignment_253629 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTupleLiteralPartCS_in_rule__TupleLiteralExpCS__OwnedPartsAssignment_253660 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTupleLiteralPartCS_in_rule__TupleLiteralExpCS__OwnedPartsAssignment_3_153691 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__TupleLiteralPartCS__NameAssignment_053722 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypeExpCS_in_rule__TupleLiteralPartCS__OwnedTypeAssignment_1_153753 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExpCS_in_rule__TupleLiteralPartCS__OwnedInitExpressionAssignment_353784 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNUMBER_LITERAL_in_rule__NumberLiteralExpCS__SymbolAssignment53815 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStringLiteral_in_rule__StringLiteralExpCS__SegmentsAssignment53846 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_131_in_rule__BooleanLiteralExpCS__SymbolAssignment_053882 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_132_in_rule__BooleanLiteralExpCS__SymbolAssignment_153926 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleMultiplicityCS_in_rule__TypeLiteralWithMultiplicityCS__OwnedMultiplicityAssignment_153965 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypeLiteralWithMultiplicityCS_in_rule__TypeLiteralExpCS__OwnedTypeAssignment53996 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePathNameCS_in_rule__TypeNameExpCS__OwnedPathNameAssignment_054027 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCurlyBracketedClauseCS_in_rule__TypeNameExpCS__OwnedCurlyBracketedClauseAssignment_1_054058 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExpCS_in_rule__TypeNameExpCS__OwnedPatternGuardAssignment_1_1_154089 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleMultiplicityCS_in_rule__TypeExpCS__OwnedMultiplicityAssignment_154120 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBinaryOperatorName_in_rule__ExpCS__NameAssignment_0_1_154151 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExpCS_in_rule__ExpCS__OwnedRightAssignment_0_1_254182 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnaryOperatorName_in_rule__PrefixedLetExpCS__NameAssignment_0_154213 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePrefixedLetExpCS_in_rule__PrefixedLetExpCS__OwnedRightAssignment_0_254244 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnaryOperatorName_in_rule__PrefixedPrimaryExpCS__NameAssignment_0_154275 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePrefixedPrimaryExpCS_in_rule__PrefixedPrimaryExpCS__OwnedRightAssignment_0_254306 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePathNameCS_in_rule__NameExpCS__OwnedPathNameAssignment_054337 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleSquareBracketedClauseCS_in_rule__NameExpCS__OwnedSquareBracketedClausesAssignment_154368 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleRoundBracketedClauseCS_in_rule__NameExpCS__OwnedRoundBracketedClauseAssignment_254399 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCurlyBracketedClauseCS_in_rule__NameExpCS__OwnedCurlyBracketedClauseAssignment_354430 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_133_in_rule__NameExpCS__IsPreAssignment_4_054466 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleConstructorPartCS_in_rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_054505 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleConstructorPartCS_in_rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_1_154536 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStringLiteral_in_rule__CurlyBracketedClauseCS__ValueAssignment_2_154567 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNavigatingArgCS_in_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_054598 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNavigatingCommaArgCS_in_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_154629 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNavigatingSemiArgCS_in_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_054660 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNavigatingCommaArgCS_in_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_154691 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNavigatingBarArgCS_in_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_054722 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNavigatingCommaArgCS_in_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_154753 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExpCS_in_rule__SquareBracketedClauseCS__OwnedTermsAssignment_154784 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExpCS_in_rule__SquareBracketedClauseCS__OwnedTermsAssignment_2_154815 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNavigatingArgExpCS_in_rule__NavigatingArgCS__OwnedNameExpressionAssignment_0_054846 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypeExpCS_in_rule__NavigatingArgCS__OwnedTypeAssignment_0_1_0_154877 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExpCS_in_rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_0_2_154908 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExpCS_in_rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_1_154939 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypeExpCS_in_rule__NavigatingArgCS__OwnedTypeAssignment_1_154970 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_134_in_rule__NavigatingBarArgCS__PrefixAssignment_055006 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNavigatingArgExpCS_in_rule__NavigatingBarArgCS__OwnedNameExpressionAssignment_155045 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypeExpCS_in_rule__NavigatingBarArgCS__OwnedTypeAssignment_2_155076 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExpCS_in_rule__NavigatingBarArgCS__OwnedInitExpressionAssignment_2_2_155107 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_98_in_rule__NavigatingCommaArgCS__PrefixAssignment_055143 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNavigatingArgExpCS_in_rule__NavigatingCommaArgCS__OwnedNameExpressionAssignment_155182 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypeExpCS_in_rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_0_155213 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExpCS_in_rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_0_2_155244 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExpCS_in_rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_1_155275 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_53_in_rule__NavigatingSemiArgCS__PrefixAssignment_055311 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNavigatingArgExpCS_in_rule__NavigatingSemiArgCS__OwnedNameExpressionAssignment_155350 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypeExpCS_in_rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_155381 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExpCS_in_rule__NavigatingSemiArgCS__OwnedInitExpressionAssignment_2_2_155412 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__IfExpCS__OwnedConditionAlternatives_1_0_in_rule__IfExpCS__OwnedConditionAssignment_155443 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExpCS_in_rule__IfExpCS__OwnedThenExpressionAssignment_355476 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleElseIfThenExpCS_in_rule__IfExpCS__OwnedIfThenExpressionsAssignment_455507 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExpCS_in_rule__IfExpCS__OwnedElseExpressionAssignment_655538 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExpCS_in_rule__ElseIfThenExpCS__OwnedConditionAssignment_155569 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExpCS_in_rule__ElseIfThenExpCS__OwnedThenExpressionAssignment_355600 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleLetVariableCS_in_rule__LetExpCS__OwnedVariablesAssignment_155631 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleLetVariableCS_in_rule__LetExpCS__OwnedVariablesAssignment_2_155662 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExpCS_in_rule__LetExpCS__OwnedInExpressionAssignment_455693 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__LetVariableCS__NameAssignment_055724 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleRoundBracketedClauseCS_in_rule__LetVariableCS__OwnedRoundBracketedClauseAssignment_155755 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypeExpCS_in_rule__LetVariableCS__OwnedTypeAssignment_2_155786 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExpCS_in_rule__LetVariableCS__OwnedInitExpressionAssignment_455817 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExpCS_in_rule__NestedExpCS__OwnedExpressionAssignment_155848 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleLOWER_in_rule__MultiplicityBoundsCS__LowerBoundAssignment_055879 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUPPER_in_rule__MultiplicityBoundsCS__UpperBoundAssignment_1_155910 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__MultiplicityStringCS__StringBoundsAlternatives_0_in_rule__MultiplicityStringCS__StringBoundsAssignment55941 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleFirstPathElementCS_in_rule__PathNameCS__OwnedPathElementsAssignment_055974 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNextPathElementCS_in_rule__PathNameCS__OwnedPathElementsAssignment_1_156005 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__FirstPathElementCS__ReferredElementAssignment56040 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnreservedName_in_rule__NextPathElementCS__ReferredElementAssignment56079 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypeRefCS_in_rule__TemplateParameterSubstitutionCS__OwnedActualParameterAssignment56114 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__TypeParameterCS__NameAssignment_056145 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypedRefCS_in_rule__TypeParameterCS__OwnedExtendsAssignment_1_0_156176 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypedRefCS_in_rule__TypeParameterCS__OwnedExtendsAssignment_1_0_2_156207 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypedRefCS_in_rule__TypeParameterCS__OwnedSuperAssignment_1_1_156238 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePathNameCS_in_rule__TypedTypeRefCS__OwnedPathNameAssignment_056269 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTemplateBindingCS_in_rule__TypedTypeRefCS__OwnedBindingAssignment_156300 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypedRefCS_in_rule__WildcardTypeRefCS__OwnedExtendsAssignment_2_0_156331 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypedRefCS_in_rule__WildcardTypeRefCS__OwnedSuperAssignment_2_1_156362 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypeLiteralCS_in_synpred179_InternalOCLinEcore11649 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ExpCS__Group_0__0_in_synpred180_InternalOCLinEcore11698 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTupleLiteralExpCS_in_synpred187_InternalOCLinEcore11916 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCollectionLiteralExpCS_in_synpred188_InternalOCLinEcore11933 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypeLiteralExpCS_in_synpred190_InternalOCLinEcore11967 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LetVariableCS__NameAssignment_0_in_rule__LetVariableCS__Group__0__Impl46105 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LetVariableCS__Group__1__Impl_in_rule__LetVariableCS__Group__146135 = new BitSet(new long[]{0x0000000000000000L,0x0000050000008000L});
+        public static final BitSet FOLLOW_rule__LetVariableCS__Group__2_in_rule__LetVariableCS__Group__146138 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LetVariableCS__OwnedRoundBracketedClauseAssignment_1_in_rule__LetVariableCS__Group__1__Impl46165 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LetVariableCS__Group__2__Impl_in_rule__LetVariableCS__Group__246196 = new BitSet(new long[]{0x0000000000000000L,0x0000050000008000L});
+        public static final BitSet FOLLOW_rule__LetVariableCS__Group__3_in_rule__LetVariableCS__Group__246199 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LetVariableCS__Group_2__0_in_rule__LetVariableCS__Group__2__Impl46226 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LetVariableCS__Group__3__Impl_in_rule__LetVariableCS__Group__346257 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__LetVariableCS__Group__4_in_rule__LetVariableCS__Group__346260 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_79_in_rule__LetVariableCS__Group__3__Impl46288 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LetVariableCS__Group__4__Impl_in_rule__LetVariableCS__Group__446319 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LetVariableCS__OwnedInitExpressionAssignment_4_in_rule__LetVariableCS__Group__4__Impl46346 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LetVariableCS__Group_2__0__Impl_in_rule__LetVariableCS__Group_2__046386 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0x821C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__LetVariableCS__Group_2__1_in_rule__LetVariableCS__Group_2__046389 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_106_in_rule__LetVariableCS__Group_2__0__Impl46417 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LetVariableCS__Group_2__1__Impl_in_rule__LetVariableCS__Group_2__146448 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__LetVariableCS__OwnedTypeAssignment_2_1_in_rule__LetVariableCS__Group_2__1__Impl46475 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NestedExpCS__Group__0__Impl_in_rule__NestedExpCS__Group__046509 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0xC21C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__NestedExpCS__Group__1_in_rule__NestedExpCS__Group__046512 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_104_in_rule__NestedExpCS__Group__0__Impl46540 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NestedExpCS__Group__1__Impl_in_rule__NestedExpCS__Group__146571 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L});
+        public static final BitSet FOLLOW_rule__NestedExpCS__Group__2_in_rule__NestedExpCS__Group__146574 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NestedExpCS__OwnedExpressionAssignment_1_in_rule__NestedExpCS__Group__1__Impl46601 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__NestedExpCS__Group__2__Impl_in_rule__NestedExpCS__Group__246631 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_105_in_rule__NestedExpCS__Group__2__Impl46659 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SelfExpCS__Group__0__Impl_in_rule__SelfExpCS__Group__046696 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L});
+        public static final BitSet FOLLOW_rule__SelfExpCS__Group__1_in_rule__SelfExpCS__Group__046699 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SelfExpCS__Group__1__Impl_in_rule__SelfExpCS__Group__146757 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_127_in_rule__SelfExpCS__Group__1__Impl46785 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__MultiplicityBoundsCS__Group__0__Impl_in_rule__MultiplicityBoundsCS__Group__046820 = new BitSet(new long[]{0x0000000000000000L,0x0001000000000000L});
+        public static final BitSet FOLLOW_rule__MultiplicityBoundsCS__Group__1_in_rule__MultiplicityBoundsCS__Group__046823 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__MultiplicityBoundsCS__LowerBoundAssignment_0_in_rule__MultiplicityBoundsCS__Group__0__Impl46850 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__MultiplicityBoundsCS__Group__1__Impl_in_rule__MultiplicityBoundsCS__Group__146880 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__MultiplicityBoundsCS__Group_1__0_in_rule__MultiplicityBoundsCS__Group__1__Impl46907 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__MultiplicityBoundsCS__Group_1__0__Impl_in_rule__MultiplicityBoundsCS__Group_1__046942 = new BitSet(new long[]{0x0000000000000010L,0x0000000000000100L});
+        public static final BitSet FOLLOW_rule__MultiplicityBoundsCS__Group_1__1_in_rule__MultiplicityBoundsCS__Group_1__046945 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_112_in_rule__MultiplicityBoundsCS__Group_1__0__Impl46973 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__MultiplicityBoundsCS__Group_1__1__Impl_in_rule__MultiplicityBoundsCS__Group_1__147004 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__MultiplicityBoundsCS__UpperBoundAssignment_1_1_in_rule__MultiplicityBoundsCS__Group_1__1__Impl47031 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__MultiplicityCS__Group__0__Impl_in_rule__MultiplicityCS__Group__047065 = new BitSet(new long[]{0x0000000000000010L,0x0000008000000500L});
+        public static final BitSet FOLLOW_rule__MultiplicityCS__Group__1_in_rule__MultiplicityCS__Group__047068 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_118_in_rule__MultiplicityCS__Group__0__Impl47096 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__MultiplicityCS__Group__1__Impl_in_rule__MultiplicityCS__Group__147127 = new BitSet(new long[]{0x0000000000000000L,0x0080000000000000L});
+        public static final BitSet FOLLOW_rule__MultiplicityCS__Group__2_in_rule__MultiplicityCS__Group__147130 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__MultiplicityCS__Alternatives_1_in_rule__MultiplicityCS__Group__1__Impl47157 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__MultiplicityCS__Group__2__Impl_in_rule__MultiplicityCS__Group__247187 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_119_in_rule__MultiplicityCS__Group__2__Impl47215 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PathNameCS__Group__0__Impl_in_rule__PathNameCS__Group__047252 = new BitSet(new long[]{0x0000000000000000L,0x0000800000000000L});
+        public static final BitSet FOLLOW_rule__PathNameCS__Group__1_in_rule__PathNameCS__Group__047255 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PathNameCS__OwnedPathElementsAssignment_0_in_rule__PathNameCS__Group__0__Impl47282 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PathNameCS__Group__1__Impl_in_rule__PathNameCS__Group__147312 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PathNameCS__Group_1__0_in_rule__PathNameCS__Group__1__Impl47339 = new BitSet(new long[]{0x0000000000000002L,0x0000800000000000L});
+        public static final BitSet FOLLOW_rule__PathNameCS__Group_1__0__Impl_in_rule__PathNameCS__Group_1__047374 = new BitSet(new long[]{0x001FFFFFFFFE0180L,0x0000007FFE00003FL});
+        public static final BitSet FOLLOW_rule__PathNameCS__Group_1__1_in_rule__PathNameCS__Group_1__047377 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_111_in_rule__PathNameCS__Group_1__0__Impl47405 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PathNameCS__Group_1__1__Impl_in_rule__PathNameCS__Group_1__147436 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PathNameCS__OwnedPathElementsAssignment_1_1_in_rule__PathNameCS__Group_1__1__Impl47463 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypeParameterCS__Group__0__Impl_in_rule__TypeParameterCS__Group__047497 = new BitSet(new long[]{0x0000800010000000L});
+        public static final BitSet FOLLOW_rule__TypeParameterCS__Group__1_in_rule__TypeParameterCS__Group__047500 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypeParameterCS__NameAssignment_0_in_rule__TypeParameterCS__Group__0__Impl47527 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypeParameterCS__Group__1__Impl_in_rule__TypeParameterCS__Group__147557 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypeParameterCS__Alternatives_1_in_rule__TypeParameterCS__Group__1__Impl47584 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypeParameterCS__Group_1_0__0__Impl_in_rule__TypeParameterCS__Group_1_0__047619 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0x821C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__TypeParameterCS__Group_1_0__1_in_rule__TypeParameterCS__Group_1_0__047622 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_28_in_rule__TypeParameterCS__Group_1_0__0__Impl47650 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypeParameterCS__Group_1_0__1__Impl_in_rule__TypeParameterCS__Group_1_0__147681 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
+        public static final BitSet FOLLOW_rule__TypeParameterCS__Group_1_0__2_in_rule__TypeParameterCS__Group_1_0__147684 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypeParameterCS__OwnedExtendsAssignment_1_0_1_in_rule__TypeParameterCS__Group_1_0__1__Impl47711 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypeParameterCS__Group_1_0__2__Impl_in_rule__TypeParameterCS__Group_1_0__247741 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypeParameterCS__Group_1_0_2__0_in_rule__TypeParameterCS__Group_1_0__2__Impl47768 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000001L});
+        public static final BitSet FOLLOW_rule__TypeParameterCS__Group_1_0_2__0__Impl_in_rule__TypeParameterCS__Group_1_0_2__047805 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0x821C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__TypeParameterCS__Group_1_0_2__1_in_rule__TypeParameterCS__Group_1_0_2__047808 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_128_in_rule__TypeParameterCS__Group_1_0_2__0__Impl47836 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypeParameterCS__Group_1_0_2__1__Impl_in_rule__TypeParameterCS__Group_1_0_2__147867 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypeParameterCS__OwnedExtendsAssignment_1_0_2_1_in_rule__TypeParameterCS__Group_1_0_2__1__Impl47894 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypeParameterCS__Group_1_1__0__Impl_in_rule__TypeParameterCS__Group_1_1__047928 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0x821C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__TypeParameterCS__Group_1_1__1_in_rule__TypeParameterCS__Group_1_1__047931 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_47_in_rule__TypeParameterCS__Group_1_1__0__Impl47959 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypeParameterCS__Group_1_1__1__Impl_in_rule__TypeParameterCS__Group_1_1__147990 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypeParameterCS__OwnedSuperAssignment_1_1_1_in_rule__TypeParameterCS__Group_1_1__1__Impl48017 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypedTypeRefCS__Group__0__Impl_in_rule__TypedTypeRefCS__Group__048051 = new BitSet(new long[]{0x0000000000000000L,0x0000010000001000L});
+        public static final BitSet FOLLOW_rule__TypedTypeRefCS__Group__1_in_rule__TypedTypeRefCS__Group__048054 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypedTypeRefCS__OwnedPathNameAssignment_0_in_rule__TypedTypeRefCS__Group__0__Impl48081 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypedTypeRefCS__Group__1__Impl_in_rule__TypedTypeRefCS__Group__148111 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__TypedTypeRefCS__OwnedBindingAssignment_1_in_rule__TypedTypeRefCS__Group__1__Impl48138 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WildcardTypeRefCS__Group__0__Impl_in_rule__WildcardTypeRefCS__Group__048173 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0x821C01FFFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__WildcardTypeRefCS__Group__1_in_rule__WildcardTypeRefCS__Group__048176 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WildcardTypeRefCS__Group__1__Impl_in_rule__WildcardTypeRefCS__Group__148234 = new BitSet(new long[]{0x0000800010000000L});
+        public static final BitSet FOLLOW_rule__WildcardTypeRefCS__Group__2_in_rule__WildcardTypeRefCS__Group__148237 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_103_in_rule__WildcardTypeRefCS__Group__1__Impl48265 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WildcardTypeRefCS__Group__2__Impl_in_rule__WildcardTypeRefCS__Group__248296 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WildcardTypeRefCS__Alternatives_2_in_rule__WildcardTypeRefCS__Group__2__Impl48323 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WildcardTypeRefCS__Group_2_0__0__Impl_in_rule__WildcardTypeRefCS__Group_2_0__048360 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0x821C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__WildcardTypeRefCS__Group_2_0__1_in_rule__WildcardTypeRefCS__Group_2_0__048363 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_28_in_rule__WildcardTypeRefCS__Group_2_0__0__Impl48391 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WildcardTypeRefCS__Group_2_0__1__Impl_in_rule__WildcardTypeRefCS__Group_2_0__148422 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WildcardTypeRefCS__OwnedExtendsAssignment_2_0_1_in_rule__WildcardTypeRefCS__Group_2_0__1__Impl48449 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WildcardTypeRefCS__Group_2_1__0__Impl_in_rule__WildcardTypeRefCS__Group_2_1__048483 = new BitSet(new long[]{0x001FFFFFFFFE01B0L,0x821C017FFE0001FFL,0x0000000000000018L});
+        public static final BitSet FOLLOW_rule__WildcardTypeRefCS__Group_2_1__1_in_rule__WildcardTypeRefCS__Group_2_1__048486 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_47_in_rule__WildcardTypeRefCS__Group_2_1__0__Impl48514 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WildcardTypeRefCS__Group_2_1__1__Impl_in_rule__WildcardTypeRefCS__Group_2_1__148545 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__WildcardTypeRefCS__OwnedSuperAssignment_2_1_1_in_rule__WildcardTypeRefCS__Group_2_1__1__Impl48572 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__UnorderedGroup_0__0_in_rule__AttributeCS__UnorderedGroup_048607 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__IsStaticAssignment_0_0_in_rule__AttributeCS__UnorderedGroup_0__Impl48694 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__IsDefinitionAssignment_0_1_in_rule__AttributeCS__UnorderedGroup_0__Impl48785 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__UnorderedGroup_0__Impl_in_rule__AttributeCS__UnorderedGroup_0__048844 = new BitSet(new long[]{0x0000400001000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__UnorderedGroup_0__1_in_rule__AttributeCS__UnorderedGroup_0__048847 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__UnorderedGroup_0__Impl_in_rule__AttributeCS__UnorderedGroup_0__148872 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__UnorderedGroup_5__0_in_rule__AttributeCS__UnorderedGroup_548900 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_0__0_in_rule__AttributeCS__UnorderedGroup_5__Impl48989 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_1__0_in_rule__AttributeCS__UnorderedGroup_5__Impl49080 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_2__0_in_rule__AttributeCS__UnorderedGroup_5__Impl49171 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_3__0_in_rule__AttributeCS__UnorderedGroup_5__Impl49262 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_4__0_in_rule__AttributeCS__UnorderedGroup_5__Impl49353 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_5__0_in_rule__AttributeCS__UnorderedGroup_5__Impl49444 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_6__0_in_rule__AttributeCS__UnorderedGroup_5__Impl49535 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_7__0_in_rule__AttributeCS__UnorderedGroup_5__Impl49626 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__UnorderedGroup_5__Impl_in_rule__AttributeCS__UnorderedGroup_5__049685 = new BitSet(new long[]{0x1F9E082020000002L,0x0000300000000000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__UnorderedGroup_5__1_in_rule__AttributeCS__UnorderedGroup_5__049688 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__UnorderedGroup_5__Impl_in_rule__AttributeCS__UnorderedGroup_5__149713 = new BitSet(new long[]{0x1F9E082020000002L,0x0000300000000000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__UnorderedGroup_5__2_in_rule__AttributeCS__UnorderedGroup_5__149716 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__UnorderedGroup_5__Impl_in_rule__AttributeCS__UnorderedGroup_5__249741 = new BitSet(new long[]{0x1F9E082020000002L,0x0000300000000000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__UnorderedGroup_5__3_in_rule__AttributeCS__UnorderedGroup_5__249744 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__UnorderedGroup_5__Impl_in_rule__AttributeCS__UnorderedGroup_5__349769 = new BitSet(new long[]{0x1F9E082020000002L,0x0000300000000000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__UnorderedGroup_5__4_in_rule__AttributeCS__UnorderedGroup_5__349772 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__UnorderedGroup_5__Impl_in_rule__AttributeCS__UnorderedGroup_5__449797 = new BitSet(new long[]{0x1F9E082020000002L,0x0000300000000000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__UnorderedGroup_5__5_in_rule__AttributeCS__UnorderedGroup_5__449800 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__UnorderedGroup_5__Impl_in_rule__AttributeCS__UnorderedGroup_5__549825 = new BitSet(new long[]{0x1F9E082020000002L,0x0000300000000000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__UnorderedGroup_5__6_in_rule__AttributeCS__UnorderedGroup_5__549828 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__UnorderedGroup_5__Impl_in_rule__AttributeCS__UnorderedGroup_5__649853 = new BitSet(new long[]{0x1F9E082020000002L,0x0000300000000000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__UnorderedGroup_5__7_in_rule__AttributeCS__UnorderedGroup_5__649856 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__UnorderedGroup_5__Impl_in_rule__AttributeCS__UnorderedGroup_5__749881 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__UnorderedGroup_0__0_in_rule__OperationCS__UnorderedGroup_049921 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__IsStaticAssignment_0_0_in_rule__OperationCS__UnorderedGroup_0__Impl50008 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__IsDefinitionAssignment_0_1_in_rule__OperationCS__UnorderedGroup_0__Impl50099 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__UnorderedGroup_0__Impl_in_rule__OperationCS__UnorderedGroup_0__050158 = new BitSet(new long[]{0x0000400001000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__UnorderedGroup_0__1_in_rule__OperationCS__UnorderedGroup_0__050161 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__UnorderedGroup_0__Impl_in_rule__OperationCS__UnorderedGroup_0__150186 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__UnorderedGroup_9__0_in_rule__OperationCS__UnorderedGroup_950214 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_9_0__0_in_rule__OperationCS__UnorderedGroup_9__Impl50303 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_9_1__0_in_rule__OperationCS__UnorderedGroup_9__Impl50394 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_9_2__0_in_rule__OperationCS__UnorderedGroup_9__Impl50485 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__UnorderedGroup_9__Impl_in_rule__OperationCS__UnorderedGroup_9__050544 = new BitSet(new long[]{0x0104002000000002L,0x0000300000000000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__UnorderedGroup_9__1_in_rule__OperationCS__UnorderedGroup_9__050547 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__UnorderedGroup_9__Impl_in_rule__OperationCS__UnorderedGroup_9__150572 = new BitSet(new long[]{0x0104002000000002L,0x0000300000000000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__UnorderedGroup_9__2_in_rule__OperationCS__UnorderedGroup_9__150575 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__UnorderedGroup_9__Impl_in_rule__OperationCS__UnorderedGroup_9__250600 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__UnorderedGroup_2__0_in_rule__ParameterCS__UnorderedGroup_250630 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__Group_2_0__0_in_rule__ParameterCS__UnorderedGroup_2__Impl50719 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__Group_2_1__0_in_rule__ParameterCS__UnorderedGroup_2__Impl50810 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__UnorderedGroup_2__Impl_in_rule__ParameterCS__UnorderedGroup_2__050869 = new BitSet(new long[]{0x0004000000000002L,0x0000300000000000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__UnorderedGroup_2__1_in_rule__ParameterCS__UnorderedGroup_2__050872 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__UnorderedGroup_2__Impl_in_rule__ParameterCS__UnorderedGroup_2__150897 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__UnorderedGroup_0__0_in_rule__ReferenceCS__UnorderedGroup_050925 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__IsStaticAssignment_0_0_in_rule__ReferenceCS__UnorderedGroup_0__Impl51012 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__IsDefinitionAssignment_0_1_in_rule__ReferenceCS__UnorderedGroup_0__Impl51103 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__UnorderedGroup_0__Impl_in_rule__ReferenceCS__UnorderedGroup_0__051162 = new BitSet(new long[]{0x0000400001000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__UnorderedGroup_0__1_in_rule__ReferenceCS__UnorderedGroup_0__051165 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__UnorderedGroup_0__Impl_in_rule__ReferenceCS__UnorderedGroup_0__151190 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__UnorderedGroup_6__0_in_rule__ReferenceCS__UnorderedGroup_651218 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_0__0_in_rule__ReferenceCS__UnorderedGroup_6__Impl51307 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_1__0_in_rule__ReferenceCS__UnorderedGroup_6__Impl51398 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_2__0_in_rule__ReferenceCS__UnorderedGroup_6__Impl51489 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_3__0_in_rule__ReferenceCS__UnorderedGroup_6__Impl51580 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_4__0_in_rule__ReferenceCS__UnorderedGroup_6__Impl51671 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_5__0_in_rule__ReferenceCS__UnorderedGroup_6__Impl51762 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_6__0_in_rule__ReferenceCS__UnorderedGroup_6__Impl51853 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_7__0_in_rule__ReferenceCS__UnorderedGroup_6__Impl51944 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_8__0_in_rule__ReferenceCS__UnorderedGroup_6__Impl52035 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__UnorderedGroup_6__Impl_in_rule__ReferenceCS__UnorderedGroup_6__052094 = new BitSet(new long[]{0x9F5E282004000002L,0x0000300000000000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__UnorderedGroup_6__1_in_rule__ReferenceCS__UnorderedGroup_6__052097 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__UnorderedGroup_6__Impl_in_rule__ReferenceCS__UnorderedGroup_6__152122 = new BitSet(new long[]{0x9F5E282004000002L,0x0000300000000000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__UnorderedGroup_6__2_in_rule__ReferenceCS__UnorderedGroup_6__152125 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__UnorderedGroup_6__Impl_in_rule__ReferenceCS__UnorderedGroup_6__252150 = new BitSet(new long[]{0x9F5E282004000002L,0x0000300000000000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__UnorderedGroup_6__3_in_rule__ReferenceCS__UnorderedGroup_6__252153 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__UnorderedGroup_6__Impl_in_rule__ReferenceCS__UnorderedGroup_6__352178 = new BitSet(new long[]{0x9F5E282004000002L,0x0000300000000000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__UnorderedGroup_6__4_in_rule__ReferenceCS__UnorderedGroup_6__352181 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__UnorderedGroup_6__Impl_in_rule__ReferenceCS__UnorderedGroup_6__452206 = new BitSet(new long[]{0x9F5E282004000002L,0x0000300000000000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__UnorderedGroup_6__5_in_rule__ReferenceCS__UnorderedGroup_6__452209 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__UnorderedGroup_6__Impl_in_rule__ReferenceCS__UnorderedGroup_6__552234 = new BitSet(new long[]{0x9F5E282004000002L,0x0000300000000000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__UnorderedGroup_6__6_in_rule__ReferenceCS__UnorderedGroup_6__552237 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__UnorderedGroup_6__Impl_in_rule__ReferenceCS__UnorderedGroup_6__652262 = new BitSet(new long[]{0x9F5E282004000002L,0x0000300000000000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__UnorderedGroup_6__7_in_rule__ReferenceCS__UnorderedGroup_6__652265 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__UnorderedGroup_6__Impl_in_rule__ReferenceCS__UnorderedGroup_6__752290 = new BitSet(new long[]{0x9F5E282004000002L,0x0000300000000000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__UnorderedGroup_6__8_in_rule__ReferenceCS__UnorderedGroup_6__752293 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__UnorderedGroup_6__Impl_in_rule__ReferenceCS__UnorderedGroup_6__852318 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleLibraryCS_in_rule__TopLevelCS__OwnedLibrariesAssignment_252364 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleImportCS_in_rule__TopLevelCS__OwnedImportsAssignment_352395 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePackageCS_in_rule__TopLevelCS__OwnedPackagesAssignment_452426 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_20_in_rule__InvariantConstraintCS__IsCallableAssignment_052462 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_66_in_rule__InvariantConstraintCS__StereotypeAssignment_152506 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__InvariantConstraintCS__NameAssignment_2_052545 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSpecificationCS_in_rule__InvariantConstraintCS__OwnedMessageSpecificationAssignment_2_1_152576 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSpecificationCS_in_rule__InvariantConstraintCS__OwnedSpecificationAssignment_3_0_152607 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_39_in_rule__PostconditionConstraintCS__StereotypeAssignment_052643 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__PostconditionConstraintCS__NameAssignment_1_052682 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSpecificationCS_in_rule__PostconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_152713 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSpecificationCS_in_rule__PostconditionConstraintCS__OwnedSpecificationAssignment_352744 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_40_in_rule__PreconditionConstraintCS__StereotypeAssignment_052780 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__PreconditionConstraintCS__NameAssignment_1_052819 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSpecificationCS_in_rule__PreconditionConstraintCS__OwnedMessageSpecificationAssignment_1_1_152850 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSpecificationCS_in_rule__PreconditionConstraintCS__OwnedSpecificationAssignment_352881 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AnnotationCS__NameAlternatives_2_0_in_rule__AnnotationCS__NameAssignment_252912 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleDetailCS_in_rule__AnnotationCS__OwnedDetailsAssignment_3_152945 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleDetailCS_in_rule__AnnotationCS__OwnedDetailsAssignment_3_2_152976 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAnnotationElementCS_in_rule__AnnotationCS__OwnedAnnotationsAssignment_4_0_1_053007 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleModelElementCS_in_rule__AnnotationCS__OwnedContentsAssignment_4_0_1_153038 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleModelElementRefCS_in_rule__AnnotationCS__OwnedReferencesAssignment_4_0_1_253069 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_46_in_rule__AttributeCS__IsStaticAssignment_0_053105 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_24_in_rule__AttributeCS__IsDefinitionAssignment_0_153149 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__AttributeCS__NameAssignment_253188 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypedMultiplicityRefCS_in_rule__AttributeCS__OwnedTypeAssignment_3_153219 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_rule__AttributeCS__DefaultAssignment_4_153250 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_26_in_rule__AttributeCS__IsDerivedAssignment_5_0_1_0_053286 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_29_in_rule__AttributeCS__IsIdAssignment_5_1_0_053330 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_37_in_rule__AttributeCS__IsOrderedAssignment_5_2_0_053374 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_43_in_rule__AttributeCS__IsReadonlyAssignment_5_3_0_053418 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_49_in_rule__AttributeCS__IsTransientAssignment_5_4_0_053462 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_129_in_rule__AttributeCS__IsNotUniqueAssignment_5_5_0_053506 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_51_in_rule__AttributeCS__IsUnsettableAssignment_5_6_0_053550 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_52_in_rule__AttributeCS__IsVolatileAssignment_5_7_0_0_053594 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAnnotationElementCS_in_rule__AttributeCS__OwnedAnnotationsAssignment_6_0_1_053633 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSpecificationCS_in_rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_1_353664 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSpecificationCS_in_rule__AttributeCS__OwnedDefaultExpressionsAssignment_6_0_1_2_353695 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_41_in_rule__DataTypeCS__IsPrimitiveAssignment_053731 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__DataTypeCS__NameAssignment_253770 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTemplateSignatureCS_in_rule__DataTypeCS__OwnedSignatureAssignment_353801 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_rule__DataTypeCS__InstanceClassNameAssignment_4_153832 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_68_in_rule__DataTypeCS__IsSerializableAssignment_5_1_053868 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAnnotationElementCS_in_rule__DataTypeCS__OwnedAnnotationsAssignment_6_0_1_053907 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleInvariantConstraintCS_in_rule__DataTypeCS__OwnedConstraintsAssignment_6_0_1_153938 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DetailCS__NameAlternatives_0_0_in_rule__DetailCS__NameAssignment_053969 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DetailCS__ValuesAlternatives_2_0_in_rule__DetailCS__ValuesAssignment_254002 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_rule__DocumentationCS__ValueAssignment_254035 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleDetailCS_in_rule__DocumentationCS__OwnedDetailsAssignment_3_154066 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleDetailCS_in_rule__DocumentationCS__OwnedDetailsAssignment_3_2_154097 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__EnumerationCS__NameAssignment_154128 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTemplateSignatureCS_in_rule__EnumerationCS__OwnedSignatureAssignment_254159 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_rule__EnumerationCS__InstanceClassNameAssignment_3_154190 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_68_in_rule__EnumerationCS__IsSerializableAssignment_4_1_054226 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAnnotationElementCS_in_rule__EnumerationCS__OwnedAnnotationsAssignment_5_0_1_054265 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEnumerationLiteralCS_in_rule__EnumerationCS__OwnedLiteralsAssignment_5_0_1_154296 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleInvariantConstraintCS_in_rule__EnumerationCS__OwnedConstraintsAssignment_5_0_1_254327 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__EnumerationLiteralCS__NameAssignment_0_0_154358 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEnumerationLiteralName_in_rule__EnumerationLiteralCS__NameAssignment_0_154389 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSIGNED_in_rule__EnumerationLiteralCS__ValueAssignment_1_154420 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAnnotationElementCS_in_rule__EnumerationLiteralCS__OwnedAnnotationsAssignment_2_0_154451 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__ImportCS__NameAssignment_1_054482 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleURIPathNameCS_in_rule__ImportCS__OwnedPathNameAssignment_254513 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_130_in_rule__ImportCS__IsAllAssignment_354549 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__LibraryCS__NameAssignment_1_054588 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleURI_in_rule__LibraryCS__ReferredPackageAssignment_254623 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePathNameCS_in_rule__ModelElementRefCS__OwnedPathNameAssignment_154658 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_46_in_rule__OperationCS__IsStaticAssignment_0_054694 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_24_in_rule__OperationCS__IsDefinitionAssignment_0_154738 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTemplateSignatureCS_in_rule__OperationCS__OwnedSignatureAssignment_254777 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__OperationCS__NameAssignment_354808 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleParameterCS_in_rule__OperationCS__OwnedParametersAssignment_5_054839 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleParameterCS_in_rule__OperationCS__OwnedParametersAssignment_5_1_154870 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypedMultiplicityRefCS_in_rule__OperationCS__OwnedTypeAssignment_7_154901 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypedRefCS_in_rule__OperationCS__OwnedExceptionsAssignment_8_154932 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypedRefCS_in_rule__OperationCS__OwnedExceptionsAssignment_8_2_154963 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_26_in_rule__OperationCS__IsDerivedAssignment_9_0_1_0_054999 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_37_in_rule__OperationCS__IsOrderedAssignment_9_1_0_055043 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_129_in_rule__OperationCS__IsNotUniqueAssignment_9_2_0_0_055087 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAnnotationElementCS_in_rule__OperationCS__OwnedAnnotationsAssignment_10_0_1_055126 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePreconditionConstraintCS_in_rule__OperationCS__OwnedPreconditionsAssignment_10_0_1_155157 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSpecificationCS_in_rule__OperationCS__OwnedBodyExpressionsAssignment_10_0_1_2_355188 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePostconditionConstraintCS_in_rule__OperationCS__OwnedPostconditionsAssignment_10_0_1_355219 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__PackageCS__NameAssignment_155250 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__PackageCS__NsPrefixAssignment_2_155281 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleURI_in_rule__PackageCS__NsURIAssignment_3_155312 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAnnotationElementCS_in_rule__PackageCS__OwnedAnnotationsAssignment_4_0_1_055343 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePackageCS_in_rule__PackageCS__OwnedPackagesAssignment_4_0_1_155374 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleClassCS_in_rule__PackageCS__OwnedClassesAssignment_4_0_1_255405 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__ParameterCS__NameAssignment_055436 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypedMultiplicityRefCS_in_rule__ParameterCS__OwnedTypeAssignment_1_155467 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_37_in_rule__ParameterCS__IsOrderedAssignment_2_0_1_0_055503 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_129_in_rule__ParameterCS__IsNotUniqueAssignment_2_1_0_0_055547 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAnnotationElementCS_in_rule__ParameterCS__OwnedAnnotationsAssignment_3_155586 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_46_in_rule__ReferenceCS__IsStaticAssignment_0_055622 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_24_in_rule__ReferenceCS__IsDefinitionAssignment_0_155666 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__ReferenceCS__NameAssignment_255705 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__ReferenceCS__ReferredOppositeAssignment_3_155740 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypedMultiplicityRefCS_in_rule__ReferenceCS__OwnedTypeAssignment_4_155775 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_rule__ReferenceCS__DefaultAssignment_5_155806 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_22_in_rule__ReferenceCS__IsComposesAssignment_6_0_1_0_055842 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_26_in_rule__ReferenceCS__IsDerivedAssignment_6_1_0_055886 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_37_in_rule__ReferenceCS__IsOrderedAssignment_6_2_0_055930 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_43_in_rule__ReferenceCS__IsReadonlyAssignment_6_3_0_055974 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_45_in_rule__ReferenceCS__IsResolveAssignment_6_4_0_056018 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_49_in_rule__ReferenceCS__IsTransientAssignment_6_5_0_056062 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_129_in_rule__ReferenceCS__IsNotUniqueAssignment_6_6_0_056106 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_51_in_rule__ReferenceCS__IsUnsettableAssignment_6_7_0_056150 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_52_in_rule__ReferenceCS__IsVolatileAssignment_6_8_0_0_056194 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAnnotationElementCS_in_rule__ReferenceCS__OwnedAnnotationsAssignment_7_0_1_056233 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_156268 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__ReferenceCS__ReferredKeysAssignment_7_0_1_1_2_156307 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSpecificationCS_in_rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_2_356342 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSpecificationCS_in_rule__ReferenceCS__OwnedDefaultExpressionsAssignment_7_0_1_3_356373 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleExpCS_in_rule__SpecificationCS__OwnedExpressionAssignment_056404 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_UNQUOTED_STRING_in_rule__SpecificationCS__ExprStringAssignment_156435 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_17_in_rule__StructuredClassCS__IsAbstractAssignment_056471 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__StructuredClassCS__NameAssignment_256510 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTemplateSignatureCS_in_rule__StructuredClassCS__OwnedSignatureAssignment_356541 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypedRefCS_in_rule__StructuredClassCS__OwnedSuperTypesAssignment_4_156572 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypedRefCS_in_rule__StructuredClassCS__OwnedSuperTypesAssignment_4_2_156603 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_rule__StructuredClassCS__InstanceClassNameAssignment_5_156634 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_32_in_rule__StructuredClassCS__IsInterfaceAssignment_6_156670 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAnnotationElementCS_in_rule__StructuredClassCS__OwnedAnnotationsAssignment_7_0_1_056709 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleOperationCS_in_rule__StructuredClassCS__OwnedOperationsAssignment_7_0_1_156740 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStructuralFeatureCS_in_rule__StructuredClassCS__OwnedPropertiesAssignment_7_0_1_256771 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleInvariantConstraintCS_in_rule__StructuredClassCS__OwnedConstraintsAssignment_7_0_1_356802 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleDetailCS_in_rule__SysMLCS__OwnedDetailsAssignment_2_0_056833 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleDetailCS_in_rule__SysMLCS__OwnedDetailsAssignment_2_1_1_056864 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleMultiplicityCS_in_rule__TypedMultiplicityRefCS__OwnedMultiplicityAssignment_156895 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTemplateParameterSubstitutionCS_in_rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_156926 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTemplateParameterSubstitutionCS_in_rule__TemplateBindingCS__OwnedSubstitutionsAssignment_0_2_156957 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTemplateParameterSubstitutionCS_in_rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_156988 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTemplateParameterSubstitutionCS_in_rule__TemplateBindingCS__OwnedSubstitutionsAssignment_1_2_157019 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypeParameterCS_in_rule__TemplateSignatureCS__OwnedParametersAssignment_0_157050 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypeParameterCS_in_rule__TemplateSignatureCS__OwnedParametersAssignment_0_2_157081 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypeParameterCS_in_rule__TemplateSignatureCS__OwnedParametersAssignment_1_157112 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypeParameterCS_in_rule__TemplateSignatureCS__OwnedParametersAssignment_1_2_157143 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleURIFirstPathElementCS_in_rule__URIPathNameCS__OwnedPathElementsAssignment_057175 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleNextPathElementCS_in_rule__URIPathNameCS__OwnedPathElementsAssignment_1_157206 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__URIFirstPathElementCS__ReferredElementAssignment_057241 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleURI_in_rule__URIFirstPathElementCS__ReferredElementAssignment_1_157280 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePrimitiveTypeIdentifier_in_rule__PrimitiveTypeCS__NameAssignment57315 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleCollectionTypeIdentifier_in_rule__CollectionTypeCS__NameAssignment_057346 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypeExpCS_in_rule__CollectionTypeCS__OwnedTypeAssignment_1_157377 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_89_in_rule__TupleTypeCS__NameAssignment_057413 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTuplePartCS_in_rule__TupleTypeCS__OwnedPartsAssignment_1_1_057452 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTuplePartCS_in_rule__TupleTypeCS__OwnedPartsAssignment_1_1_1_157483 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__TuplePartCS__NameAssignment_057514 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypeExpCS_in_rule__TuplePartCS__OwnedTypeAssignment_257545 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleCollectionTypeCS_in_rule__CollectionLiteralExpCS__OwnedTypeAssignment_057576 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleCollectionLiteralPartCS_in_rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_057607 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleCollectionLiteralPartCS_in_rule__CollectionLiteralExpCS__OwnedPartsAssignment_2_1_157638 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleExpCS_in_rule__CollectionLiteralPartCS__OwnedExpressionAssignment_0_057669 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleExpCS_in_rule__CollectionLiteralPartCS__OwnedLastExpressionAssignment_0_1_157700 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePatternExpCS_in_rule__CollectionLiteralPartCS__OwnedExpressionAssignment_157731 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleCollectionTypeCS_in_rule__CollectionPatternCS__OwnedTypeAssignment_057762 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePatternExpCS_in_rule__CollectionPatternCS__OwnedPartsAssignment_2_057793 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePatternExpCS_in_rule__CollectionPatternCS__OwnedPartsAssignment_2_1_157824 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleIdentifier_in_rule__CollectionPatternCS__RestVariableNameAssignment_2_2_157855 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__ConstructorPartCS__ReferredPropertyAssignment_057890 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ConstructorPartCS__OwnedInitExpressionAlternatives_2_0_in_rule__ConstructorPartCS__OwnedInitExpressionAssignment_257925 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__PatternExpCS__PatternVariableNameAssignment_057958 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypeExpCS_in_rule__PatternExpCS__OwnedPatternTypeAssignment_257989 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleExpCS_in_rule__LambdaLiteralExpCS__OwnedExpressionCSAssignment_258020 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTupleLiteralPartCS_in_rule__TupleLiteralExpCS__OwnedPartsAssignment_258051 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTupleLiteralPartCS_in_rule__TupleLiteralExpCS__OwnedPartsAssignment_3_158082 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__TupleLiteralPartCS__NameAssignment_058113 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypeExpCS_in_rule__TupleLiteralPartCS__OwnedTypeAssignment_1_158144 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleExpCS_in_rule__TupleLiteralPartCS__OwnedInitExpressionAssignment_358175 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleNUMBER_LITERAL_in_rule__NumberLiteralExpCS__SymbolAssignment58206 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStringLiteral_in_rule__StringLiteralExpCS__SegmentsAssignment58237 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_131_in_rule__BooleanLiteralExpCS__SymbolAssignment_058273 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_132_in_rule__BooleanLiteralExpCS__SymbolAssignment_158317 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleMultiplicityCS_in_rule__TypeLiteralWithMultiplicityCS__OwnedMultiplicityAssignment_158356 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypeLiteralWithMultiplicityCS_in_rule__TypeLiteralExpCS__OwnedTypeAssignment58387 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePathNameCS_in_rule__TypeNameExpCS__OwnedPathNameAssignment_058418 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleCurlyBracketedClauseCS_in_rule__TypeNameExpCS__OwnedCurlyBracketedClauseAssignment_1_058449 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleExpCS_in_rule__TypeNameExpCS__OwnedPatternGuardAssignment_1_1_158480 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleMultiplicityCS_in_rule__TypeExpCS__OwnedMultiplicityAssignment_158511 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleBinaryOperatorName_in_rule__ExpCS__NameAssignment_0_1_158542 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleExpCS_in_rule__ExpCS__OwnedRightAssignment_0_1_258573 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnaryOperatorName_in_rule__PrefixedLetExpCS__NameAssignment_0_158604 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePrefixedLetExpCS_in_rule__PrefixedLetExpCS__OwnedRightAssignment_0_258635 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnaryOperatorName_in_rule__PrefixedPrimaryExpCS__NameAssignment_0_158666 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePrefixedPrimaryExpCS_in_rule__PrefixedPrimaryExpCS__OwnedRightAssignment_0_258697 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePathNameCS_in_rule__NameExpCS__OwnedPathNameAssignment_058728 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSquareBracketedClauseCS_in_rule__NameExpCS__OwnedSquareBracketedClausesAssignment_158759 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleRoundBracketedClauseCS_in_rule__NameExpCS__OwnedRoundBracketedClauseAssignment_258790 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleCurlyBracketedClauseCS_in_rule__NameExpCS__OwnedCurlyBracketedClauseAssignment_358821 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_133_in_rule__NameExpCS__IsPreAssignment_4_058857 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleConstructorPartCS_in_rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_058896 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleConstructorPartCS_in_rule__CurlyBracketedClauseCS__OwnedPartsAssignment_2_0_1_158927 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStringLiteral_in_rule__CurlyBracketedClauseCS__ValueAssignment_2_158958 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleNavigatingArgCS_in_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_058989 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleNavigatingCommaArgCS_in_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_159020 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleNavigatingSemiArgCS_in_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_059051 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleNavigatingCommaArgCS_in_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_2_159082 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleNavigatingBarArgCS_in_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_059113 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleNavigatingCommaArgCS_in_rule__RoundBracketedClauseCS__OwnedArgumentsAssignment_2_3_159144 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleExpCS_in_rule__SquareBracketedClauseCS__OwnedTermsAssignment_159175 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleExpCS_in_rule__SquareBracketedClauseCS__OwnedTermsAssignment_2_159206 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleNavigatingArgExpCS_in_rule__NavigatingArgCS__OwnedNameExpressionAssignment_0_059237 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypeExpCS_in_rule__NavigatingArgCS__OwnedTypeAssignment_0_1_0_159268 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleExpCS_in_rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_0_2_159299 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleExpCS_in_rule__NavigatingArgCS__OwnedInitExpressionAssignment_0_1_1_159330 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypeExpCS_in_rule__NavigatingArgCS__OwnedTypeAssignment_1_159361 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_134_in_rule__NavigatingBarArgCS__PrefixAssignment_059397 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleNavigatingArgExpCS_in_rule__NavigatingBarArgCS__OwnedNameExpressionAssignment_159436 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypeExpCS_in_rule__NavigatingBarArgCS__OwnedTypeAssignment_2_159467 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleExpCS_in_rule__NavigatingBarArgCS__OwnedInitExpressionAssignment_2_2_159498 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rule__NavigatingCommaArgCS__PrefixAssignment_059534 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleNavigatingArgExpCS_in_rule__NavigatingCommaArgCS__OwnedNameExpressionAssignment_159573 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypeExpCS_in_rule__NavigatingCommaArgCS__OwnedTypeAssignment_2_0_159604 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleExpCS_in_rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_0_2_159635 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleExpCS_in_rule__NavigatingCommaArgCS__OwnedInitExpressionAssignment_2_1_159666 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_53_in_rule__NavigatingSemiArgCS__PrefixAssignment_059702 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleNavigatingArgExpCS_in_rule__NavigatingSemiArgCS__OwnedNameExpressionAssignment_159741 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypeExpCS_in_rule__NavigatingSemiArgCS__OwnedTypeAssignment_2_159772 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleExpCS_in_rule__NavigatingSemiArgCS__OwnedInitExpressionAssignment_2_2_159803 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__IfExpCS__OwnedConditionAlternatives_1_0_in_rule__IfExpCS__OwnedConditionAssignment_159834 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleExpCS_in_rule__IfExpCS__OwnedThenExpressionAssignment_359867 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleElseIfThenExpCS_in_rule__IfExpCS__OwnedIfThenExpressionsAssignment_459898 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleExpCS_in_rule__IfExpCS__OwnedElseExpressionAssignment_659929 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleExpCS_in_rule__ElseIfThenExpCS__OwnedConditionAssignment_159960 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleExpCS_in_rule__ElseIfThenExpCS__OwnedThenExpressionAssignment_359991 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleLetVariableCS_in_rule__LetExpCS__OwnedVariablesAssignment_160022 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleLetVariableCS_in_rule__LetExpCS__OwnedVariablesAssignment_2_160053 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleExpCS_in_rule__LetExpCS__OwnedInExpressionAssignment_460084 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__LetVariableCS__NameAssignment_060115 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleRoundBracketedClauseCS_in_rule__LetVariableCS__OwnedRoundBracketedClauseAssignment_160146 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypeExpCS_in_rule__LetVariableCS__OwnedTypeAssignment_2_160177 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleExpCS_in_rule__LetVariableCS__OwnedInitExpressionAssignment_460208 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleExpCS_in_rule__NestedExpCS__OwnedExpressionAssignment_160239 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleLOWER_in_rule__MultiplicityBoundsCS__LowerBoundAssignment_060270 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUPPER_in_rule__MultiplicityBoundsCS__UpperBoundAssignment_1_160301 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__MultiplicityStringCS__StringBoundsAlternatives_0_in_rule__MultiplicityStringCS__StringBoundsAssignment60332 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleFirstPathElementCS_in_rule__PathNameCS__OwnedPathElementsAssignment_060365 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleNextPathElementCS_in_rule__PathNameCS__OwnedPathElementsAssignment_1_160396 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__FirstPathElementCS__ReferredElementAssignment60431 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnreservedName_in_rule__NextPathElementCS__ReferredElementAssignment60470 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypeRefCS_in_rule__TemplateParameterSubstitutionCS__OwnedActualParameterAssignment60505 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rule__TypeParameterCS__NameAssignment_060536 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypedRefCS_in_rule__TypeParameterCS__OwnedExtendsAssignment_1_0_160567 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypedRefCS_in_rule__TypeParameterCS__OwnedExtendsAssignment_1_0_2_160598 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypedRefCS_in_rule__TypeParameterCS__OwnedSuperAssignment_1_1_160629 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePathNameCS_in_rule__TypedTypeRefCS__OwnedPathNameAssignment_060660 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTemplateBindingCS_in_rule__TypedTypeRefCS__OwnedBindingAssignment_160691 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypedRefCS_in_rule__WildcardTypeRefCS__OwnedExtendsAssignment_2_0_160722 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypedRefCS_in_rule__WildcardTypeRefCS__OwnedSuperAssignment_2_1_160753 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypeLiteralCS_in_synpred158_InternalOCLinEcore11810 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ExpCS__Group_0__0_in_synpred159_InternalOCLinEcore11859 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTupleLiteralExpCS_in_synpred166_InternalOCLinEcore12077 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleCollectionLiteralExpCS_in_synpred167_InternalOCLinEcore12094 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypeLiteralExpCS_in_synpred169_InternalOCLinEcore12128 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__UnorderedGroup_5_in_synpred205_InternalOCLinEcore16575 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__UnorderedGroup_9_in_synpred245_InternalOCLinEcore23875 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__UnorderedGroup_2_in_synpred260_InternalOCLinEcore26688 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_synpred263_InternalOCLinEcore27121 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__UnorderedGroup_6_in_synpred270_InternalOCLinEcore27991 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__UnorderedGroup_0__0_in_synpred350_InternalOCLinEcore48607 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__IsStaticAssignment_0_0_in_synpred351_InternalOCLinEcore48694 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__UnorderedGroup_0__1_in_synpred352_InternalOCLinEcore48847 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_0__0_in_synpred353_InternalOCLinEcore48989 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_1__0_in_synpred354_InternalOCLinEcore49080 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_2__0_in_synpred355_InternalOCLinEcore49171 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_3__0_in_synpred356_InternalOCLinEcore49262 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_4__0_in_synpred357_InternalOCLinEcore49353 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_5__0_in_synpred358_InternalOCLinEcore49444 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__Group_5_6__0_in_synpred359_InternalOCLinEcore49535 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__UnorderedGroup_5__1_in_synpred360_InternalOCLinEcore49688 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__UnorderedGroup_5__2_in_synpred361_InternalOCLinEcore49716 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__UnorderedGroup_5__3_in_synpred362_InternalOCLinEcore49744 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__UnorderedGroup_5__4_in_synpred363_InternalOCLinEcore49772 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__UnorderedGroup_5__5_in_synpred364_InternalOCLinEcore49800 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__UnorderedGroup_5__6_in_synpred365_InternalOCLinEcore49828 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AttributeCS__UnorderedGroup_5__7_in_synpred366_InternalOCLinEcore49856 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__UnorderedGroup_0__0_in_synpred367_InternalOCLinEcore49921 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__IsStaticAssignment_0_0_in_synpred368_InternalOCLinEcore50008 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__UnorderedGroup_0__1_in_synpred369_InternalOCLinEcore50161 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_9_0__0_in_synpred370_InternalOCLinEcore50303 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__Group_9_1__0_in_synpred371_InternalOCLinEcore50394 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__UnorderedGroup_9__1_in_synpred372_InternalOCLinEcore50547 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__OperationCS__UnorderedGroup_9__2_in_synpred373_InternalOCLinEcore50575 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__Group_2_0__0_in_synpred374_InternalOCLinEcore50719 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ParameterCS__UnorderedGroup_2__1_in_synpred375_InternalOCLinEcore50872 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__UnorderedGroup_0__0_in_synpred376_InternalOCLinEcore50925 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__IsStaticAssignment_0_0_in_synpred377_InternalOCLinEcore51012 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__UnorderedGroup_0__1_in_synpred378_InternalOCLinEcore51165 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_0__0_in_synpred379_InternalOCLinEcore51307 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_1__0_in_synpred380_InternalOCLinEcore51398 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_2__0_in_synpred381_InternalOCLinEcore51489 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_3__0_in_synpred382_InternalOCLinEcore51580 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_4__0_in_synpred383_InternalOCLinEcore51671 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_5__0_in_synpred384_InternalOCLinEcore51762 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_6__0_in_synpred385_InternalOCLinEcore51853 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__Group_6_7__0_in_synpred386_InternalOCLinEcore51944 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__UnorderedGroup_6__1_in_synpred387_InternalOCLinEcore52097 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__UnorderedGroup_6__2_in_synpred388_InternalOCLinEcore52125 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__UnorderedGroup_6__3_in_synpred389_InternalOCLinEcore52153 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__UnorderedGroup_6__4_in_synpred390_InternalOCLinEcore52181 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__UnorderedGroup_6__5_in_synpred391_InternalOCLinEcore52209 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__UnorderedGroup_6__6_in_synpred392_InternalOCLinEcore52237 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__UnorderedGroup_6__7_in_synpred393_InternalOCLinEcore52265 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ReferenceCS__UnorderedGroup_6__8_in_synpred394_InternalOCLinEcore52293 = new BitSet(new long[]{0x0000000000000002L});
     }
 
 
diff --git a/plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/AbstractOCLinEcoreRuntimeModule.java b/plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/AbstractOCLinEcoreRuntimeModule.java
index 7288e31..fae42b4 100644
--- a/plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/AbstractOCLinEcoreRuntimeModule.java
+++ b/plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/AbstractOCLinEcoreRuntimeModule.java
@@ -94,6 +94,11 @@
 		return org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider.class;
 	}
 
+	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+	public Class<? extends org.eclipse.xtext.parser.antlr.IUnorderedGroupHelper> bindIUnorderedGroupHelper() {
+		return org.eclipse.xtext.parser.antlr.UnorderedGroupHelper.class;
+	}
+
 	// contributed by org.eclipse.xtext.generator.validation.JavaValidatorFragment
 	@org.eclipse.xtext.service.SingletonBinding(eager=true)	public Class<? extends org.eclipse.ocl.xtext.oclinecore.validation.OCLinEcoreJavaValidator> bindOCLinEcoreJavaValidator() {
 		return org.eclipse.ocl.xtext.oclinecore.validation.OCLinEcoreJavaValidator.class;
diff --git a/plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/OCLinEcore.xtextbin b/plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/OCLinEcore.xtextbin
index 9e4f129..f79e118 100644
--- a/plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/OCLinEcore.xtextbin
+++ b/plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/OCLinEcore.xtextbin
Binary files differ
diff --git a/plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g b/plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g
index 0f0a343..aa343b7 100644
--- a/plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g
+++ b/plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g
@@ -28,6 +28,7 @@
 import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;

 import org.eclipse.xtext.parser.antlr.XtextTokenStream;

 import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;

+import org.eclipse.xtext.parser.antlr.IUnorderedGroupHelper.UnorderedGroupState;

 import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;

 import org.eclipse.ocl.xtext.oclinecore.services.OCLinEcoreGrammarAccess;

 

@@ -1074,132 +1075,154 @@
 

 // Entry rule entryRuleAttributeCS

 entryRuleAttributeCS returns [EObject current=null] 

+	@init { 

+		UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(

+			grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 

+			grammarAccess.getAttributeCSAccess().getUnorderedGroup_5()

+		);

+	}

 	:

 	{ newCompositeNode(grammarAccess.getAttributeCSRule()); }

 	 iv_ruleAttributeCS=ruleAttributeCS 

 	 { $current=$iv_ruleAttributeCS.current; } 

 	 EOF 

 ;

+finally {

+	myUnorderedGroupState.restore();

+}

 

 // Rule AttributeCS

 ruleAttributeCS returns [EObject current=null] 

     @init { enterRule(); 

+		UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(

+			grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 

+			grammarAccess.getAttributeCSAccess().getUnorderedGroup_5()

+		);

     }

     @after { leaveRule(); }:

-((((

+((

+

 (

-		lv_qualifiers_0_0=	'static' 

+	{ 

+	  getUnorderedGroupHelper().enter(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0());

+	}

+	(

+		(

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 0)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 0);

+	 				}

+					({true}?=>(

+(

+		lv_isStatic_1_0=	'static' 

     {

-        newLeafNode(lv_qualifiers_0_0, grammarAccess.getAttributeCSAccess().getQualifiersStaticKeyword_0_0_0_0());

+        newLeafNode(lv_isStatic_1_0, grammarAccess.getAttributeCSAccess().getIsStaticStaticKeyword_0_0_0());

     }

  

 	    {

 	        if ($current==null) {

 	            $current = createModelElement(grammarAccess.getAttributeCSRule());

 	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_0_0, "static");

+       		setWithLastConsumed($current, "isStatic", true, "static");

 	    }

 

 )

-)(

+))

+					{ 

+	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0());

+	 				}

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 1)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 1);

+	 				}

+					({true}?=>(

 (

-		lv_qualifiers_1_0=	'definition' 

+		lv_isDefinition_2_0=	'definition' 

     {

-        newLeafNode(lv_qualifiers_1_0, grammarAccess.getAttributeCSAccess().getQualifiersDefinitionKeyword_0_0_1_0());

+        newLeafNode(lv_isDefinition_2_0, grammarAccess.getAttributeCSAccess().getIsDefinitionDefinitionKeyword_0_1_0());

     }

  

 	    {

 	        if ($current==null) {

 	            $current = createModelElement(grammarAccess.getAttributeCSRule());

 	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_1_0, "definition");

+       		setWithLastConsumed($current, "isDefinition", true, "definition");

 	    }

 

 )

-)?)

-    |((

-(

-		lv_qualifiers_2_0=	'definition' 

-    {

-        newLeafNode(lv_qualifiers_2_0, grammarAccess.getAttributeCSAccess().getQualifiersDefinitionKeyword_0_1_0_0());

-    }

- 

-	    {

-	        if ($current==null) {

-	            $current = createModelElement(grammarAccess.getAttributeCSRule());

-	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_2_0, "definition");

-	    }

+))

+					{ 

+	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0());

+	 				}

+ 				)

+			)  

 

+		)*	

+	)

 )

-)(

-(

-		lv_qualifiers_3_0=	'static' 

-    {

-        newLeafNode(lv_qualifiers_3_0, grammarAccess.getAttributeCSAccess().getQualifiersStaticKeyword_0_1_1_0());

-    }

- 

-	    {

-	        if ($current==null) {

-	            $current = createModelElement(grammarAccess.getAttributeCSRule());

-	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_3_0, "static");

-	    }

+	{ 

+	  getUnorderedGroupHelper().leave(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0());

+	}

 

-)

-)?))?	otherlv_4='attribute' 

+)	otherlv_3='attribute' 

     {

-    	newLeafNode(otherlv_4, grammarAccess.getAttributeCSAccess().getAttributeKeyword_1());

+    	newLeafNode(otherlv_3, grammarAccess.getAttributeCSAccess().getAttributeKeyword_1());

     }

 (

 (

 		{ 

 	        newCompositeNode(grammarAccess.getAttributeCSAccess().getNameUnrestrictedNameParserRuleCall_2_0()); 

 	    }

-		lv_name_5_0=ruleUnrestrictedName		{

+		lv_name_4_0=ruleUnrestrictedName		{

 	        if ($current==null) {

 	            $current = createModelElementForParent(grammarAccess.getAttributeCSRule());

 	        }

        		set(

        			$current, 

        			"name",

-        		lv_name_5_0, 

+        		lv_name_4_0, 

         		"UnrestrictedName");

 	        afterParserOrEnumRuleCall();

 	    }

 

 )

-)(	otherlv_6=':' 

+)(	otherlv_5=':' 

     {

-    	newLeafNode(otherlv_6, grammarAccess.getAttributeCSAccess().getColonKeyword_3_0());

+    	newLeafNode(otherlv_5, grammarAccess.getAttributeCSAccess().getColonKeyword_3_0());

     }

 (

 (

 		{ 

 	        newCompositeNode(grammarAccess.getAttributeCSAccess().getOwnedTypeTypedMultiplicityRefCSParserRuleCall_3_1_0()); 

 	    }

-		lv_ownedType_7_0=ruleTypedMultiplicityRefCS		{

+		lv_ownedType_6_0=ruleTypedMultiplicityRefCS		{

 	        if ($current==null) {

 	            $current = createModelElementForParent(grammarAccess.getAttributeCSRule());

 	        }

        		set(

        			$current, 

        			"ownedType",

-        		lv_ownedType_7_0, 

+        		lv_ownedType_6_0, 

         		"TypedMultiplicityRefCS");

 	        afterParserOrEnumRuleCall();

 	    }

 

 )

-))?(	otherlv_8='=' 

+))?(	otherlv_7='=' 

     {

-    	newLeafNode(otherlv_8, grammarAccess.getAttributeCSAccess().getEqualsSignKeyword_4_0());

+    	newLeafNode(otherlv_7, grammarAccess.getAttributeCSAccess().getEqualsSignKeyword_4_0());

     }

 (

 (

-		lv_default_9_0=RULE_SINGLE_QUOTED_STRING

+		lv_default_8_0=RULE_SINGLE_QUOTED_STRING

 		{

-			newLeafNode(lv_default_9_0, grammarAccess.getAttributeCSAccess().getDefaultSINGLE_QUOTED_STRINGTerminalRuleCall_4_1_0()); 

+			newLeafNode(lv_default_8_0, grammarAccess.getAttributeCSAccess().getDefaultSINGLE_QUOTED_STRINGTerminalRuleCall_4_1_0()); 

 		}

 		{

 	        if ($current==null) {

@@ -1208,304 +1231,350 @@
        		setWithLastConsumed(

        			$current, 

        			"default",

-        		lv_default_9_0, 

+        		lv_default_8_0, 

         		"SINGLE_QUOTED_STRING");

 	    }

 

 )

-))?(	otherlv_10='{' 

+))?(

+

+(

+	{ 

+	  getUnorderedGroupHelper().enter(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5());

+	}

+	(

+		(

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0);

+	 				}

+					({true}?=>(	otherlv_10='{' 

     {

-    	newLeafNode(otherlv_10, grammarAccess.getAttributeCSAccess().getLeftCurlyBracketKeyword_5_0());

+    	newLeafNode(otherlv_10, grammarAccess.getAttributeCSAccess().getLeftCurlyBracketKeyword_5_0_0());

     }

 (((

 (

-		lv_qualifiers_11_0=	'derived' 

+		lv_isDerived_11_0=	'derived' 

     {

-        newLeafNode(lv_qualifiers_11_0, grammarAccess.getAttributeCSAccess().getQualifiersDerivedKeyword_5_1_0_0_0());

+        newLeafNode(lv_isDerived_11_0, grammarAccess.getAttributeCSAccess().getIsDerivedDerivedKeyword_5_0_1_0_0_0());

     }

  

 	    {

 	        if ($current==null) {

 	            $current = createModelElement(grammarAccess.getAttributeCSRule());

 	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_11_0, "derived");

+       		setWithLastConsumed($current, "isDerived", true, "derived");

 	    }

 

 )

 )

-    |(

+    |	otherlv_12='!derived' 

+    {

+    	newLeafNode(otherlv_12, grammarAccess.getAttributeCSAccess().getDerivedKeyword_5_0_1_0_1());

+    }

+)(	otherlv_13=',' 

+    {

+    	newLeafNode(otherlv_13, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_0_1_1());

+    }

+)?)?))

+					{ 

+	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5());

+	 				}

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1);

+	 				}

+					({true}?=>(((

 (

-		lv_qualifiers_12_0=	'!derived' 

+		lv_isId_14_0=	'id' 

     {

-        newLeafNode(lv_qualifiers_12_0, grammarAccess.getAttributeCSAccess().getQualifiersDerivedKeyword_5_1_0_1_0());

+        newLeafNode(lv_isId_14_0, grammarAccess.getAttributeCSAccess().getIsIdIdKeyword_5_1_0_0_0());

     }

  

 	    {

 	        if ($current==null) {

 	            $current = createModelElement(grammarAccess.getAttributeCSRule());

 	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_12_0, "!derived");

+       		setWithLastConsumed($current, "isId", true, "id");

 	    }

 

 )

 )

-    |(

+    |	otherlv_15='!id' 

+    {

+    	newLeafNode(otherlv_15, grammarAccess.getAttributeCSAccess().getIdKeyword_5_1_0_1());

+    }

+)(	otherlv_16=',' 

+    {

+    	newLeafNode(otherlv_16, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_1_1());

+    }

+)?))

+					{ 

+	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5());

+	 				}

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2);

+	 				}

+					({true}?=>(((

 (

-		lv_qualifiers_13_0=	'id' 

+		lv_isOrdered_17_0=	'ordered' 

     {

-        newLeafNode(lv_qualifiers_13_0, grammarAccess.getAttributeCSAccess().getQualifiersIdKeyword_5_1_0_2_0());

+        newLeafNode(lv_isOrdered_17_0, grammarAccess.getAttributeCSAccess().getIsOrderedOrderedKeyword_5_2_0_0_0());

     }

  

 	    {

 	        if ($current==null) {

 	            $current = createModelElement(grammarAccess.getAttributeCSRule());

 	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_13_0, "id");

+       		setWithLastConsumed($current, "isOrdered", true, "ordered");

 	    }

 

 )

 )

-    |(

+    |	otherlv_18='!ordered' 

+    {

+    	newLeafNode(otherlv_18, grammarAccess.getAttributeCSAccess().getOrderedKeyword_5_2_0_1());

+    }

+)(	otherlv_19=',' 

+    {

+    	newLeafNode(otherlv_19, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_2_1());

+    }

+)?))

+					{ 

+	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5());

+	 				}

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3);

+	 				}

+					({true}?=>(((

 (

-		lv_qualifiers_14_0=	'!id' 

+		lv_isReadonly_20_0=	'readonly' 

     {

-        newLeafNode(lv_qualifiers_14_0, grammarAccess.getAttributeCSAccess().getQualifiersIdKeyword_5_1_0_3_0());

+        newLeafNode(lv_isReadonly_20_0, grammarAccess.getAttributeCSAccess().getIsReadonlyReadonlyKeyword_5_3_0_0_0());

     }

  

 	    {

 	        if ($current==null) {

 	            $current = createModelElement(grammarAccess.getAttributeCSRule());

 	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_14_0, "!id");

+       		setWithLastConsumed($current, "isReadonly", true, "readonly");

 	    }

 

 )

 )

-    |(

+    |	otherlv_21='!readonly' 

+    {

+    	newLeafNode(otherlv_21, grammarAccess.getAttributeCSAccess().getReadonlyKeyword_5_3_0_1());

+    }

+)(	otherlv_22=',' 

+    {

+    	newLeafNode(otherlv_22, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_3_1());

+    }

+)?))

+					{ 

+	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5());

+	 				}

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4);

+	 				}

+					({true}?=>(((

 (

-		lv_qualifiers_15_0=	'ordered' 

+		lv_isTransient_23_0=	'transient' 

     {

-        newLeafNode(lv_qualifiers_15_0, grammarAccess.getAttributeCSAccess().getQualifiersOrderedKeyword_5_1_0_4_0());

+        newLeafNode(lv_isTransient_23_0, grammarAccess.getAttributeCSAccess().getIsTransientTransientKeyword_5_4_0_0_0());

     }

  

 	    {

 	        if ($current==null) {

 	            $current = createModelElement(grammarAccess.getAttributeCSRule());

 	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_15_0, "ordered");

+       		setWithLastConsumed($current, "isTransient", true, "transient");

 	    }

 

 )

 )

-    |(

+    |	otherlv_24='!transient' 

+    {

+    	newLeafNode(otherlv_24, grammarAccess.getAttributeCSAccess().getTransientKeyword_5_4_0_1());

+    }

+)(	otherlv_25=',' 

+    {

+    	newLeafNode(otherlv_25, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_4_1());

+    }

+)?))

+					{ 

+	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5());

+	 				}

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5);

+	 				}

+					({true}?=>(((

 (

-		lv_qualifiers_16_0=	'!ordered' 

+		lv_isNotUnique_26_0=	'!unique' 

     {

-        newLeafNode(lv_qualifiers_16_0, grammarAccess.getAttributeCSAccess().getQualifiersOrderedKeyword_5_1_0_5_0());

+        newLeafNode(lv_isNotUnique_26_0, grammarAccess.getAttributeCSAccess().getIsNotUniqueUniqueKeyword_5_5_0_0_0());

     }

  

 	    {

 	        if ($current==null) {

 	            $current = createModelElement(grammarAccess.getAttributeCSRule());

 	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_16_0, "!ordered");

+       		setWithLastConsumed($current, "isNotUnique", true, "!unique");

 	    }

 

 )

 )

-    |(

+    |	otherlv_27='unique' 

+    {

+    	newLeafNode(otherlv_27, grammarAccess.getAttributeCSAccess().getUniqueKeyword_5_5_0_1());

+    }

+)(	otherlv_28=',' 

+    {

+    	newLeafNode(otherlv_28, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_5_1());

+    }

+)?))

+					{ 

+	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5());

+	 				}

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6);

+	 				}

+					({true}?=>(((

 (

-		lv_qualifiers_17_0=	'readonly' 

+		lv_isUnsettable_29_0=	'unsettable' 

     {

-        newLeafNode(lv_qualifiers_17_0, grammarAccess.getAttributeCSAccess().getQualifiersReadonlyKeyword_5_1_0_6_0());

+        newLeafNode(lv_isUnsettable_29_0, grammarAccess.getAttributeCSAccess().getIsUnsettableUnsettableKeyword_5_6_0_0_0());

     }

  

 	    {

 	        if ($current==null) {

 	            $current = createModelElement(grammarAccess.getAttributeCSRule());

 	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_17_0, "readonly");

+       		setWithLastConsumed($current, "isUnsettable", true, "unsettable");

 	    }

 

 )

 )

-    |(

+    |	otherlv_30='!unsettable' 

+    {

+    	newLeafNode(otherlv_30, grammarAccess.getAttributeCSAccess().getUnsettableKeyword_5_6_0_1());

+    }

+)(	otherlv_31=',' 

+    {

+    	newLeafNode(otherlv_31, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_6_1());

+    }

+)?))

+					{ 

+	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5());

+	 				}

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7);

+	 				}

+					({true}?=>((((

 (

-		lv_qualifiers_18_0=	'!readonly' 

+		lv_isVolatile_32_0=	'volatile' 

     {

-        newLeafNode(lv_qualifiers_18_0, grammarAccess.getAttributeCSAccess().getQualifiersReadonlyKeyword_5_1_0_7_0());

+        newLeafNode(lv_isVolatile_32_0, grammarAccess.getAttributeCSAccess().getIsVolatileVolatileKeyword_5_7_0_0_0_0());

     }

  

 	    {

 	        if ($current==null) {

 	            $current = createModelElement(grammarAccess.getAttributeCSRule());

 	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_18_0, "!readonly");

+       		setWithLastConsumed($current, "isVolatile", true, "volatile");

 	    }

 

 )

 )

-    |(

-(

-		lv_qualifiers_19_0=	'transient' 

+    |	otherlv_33='!volatile' 

     {

-        newLeafNode(lv_qualifiers_19_0, grammarAccess.getAttributeCSAccess().getQualifiersTransientKeyword_5_1_0_8_0());

+    	newLeafNode(otherlv_33, grammarAccess.getAttributeCSAccess().getVolatileKeyword_5_7_0_0_1());

     }

- 

-	    {

-	        if ($current==null) {

-	            $current = createModelElement(grammarAccess.getAttributeCSRule());

-	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_19_0, "transient");

-	    }

+)(	otherlv_34=',' 

+    {

+    	newLeafNode(otherlv_34, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_7_0_1());

+    }

+)?)?	otherlv_35='}' 

+    {

+    	newLeafNode(otherlv_35, grammarAccess.getAttributeCSAccess().getRightCurlyBracketKeyword_5_7_1());

+    }

+))

+					{ 

+	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5());

+	 				}

+ 				)

+			)  

 

+		)+

+	  	{getUnorderedGroupHelper().canLeave(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5())}?	

+	)

 )

-)

-    |(

-(

-		lv_qualifiers_20_0=	'!transient' 

-    {

-        newLeafNode(lv_qualifiers_20_0, grammarAccess.getAttributeCSAccess().getQualifiersTransientKeyword_5_1_0_9_0());

-    }

- 

-	    {

-	        if ($current==null) {

-	            $current = createModelElement(grammarAccess.getAttributeCSRule());

-	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_20_0, "!transient");

-	    }

+	{ 

+	  getUnorderedGroupHelper().leave(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5());

+	}

 

-)

-)

-    |(

-(

-		lv_qualifiers_21_0=	'unique' 

+)?((	otherlv_36='{' 

     {

-        newLeafNode(lv_qualifiers_21_0, grammarAccess.getAttributeCSAccess().getQualifiersUniqueKeyword_5_1_0_10_0());

-    }

- 

-	    {

-	        if ($current==null) {

-	            $current = createModelElement(grammarAccess.getAttributeCSRule());

-	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_21_0, "unique");

-	    }

-

-)

-)

-    |(

-(

-		lv_qualifiers_22_0=	'!unique' 

-    {

-        newLeafNode(lv_qualifiers_22_0, grammarAccess.getAttributeCSAccess().getQualifiersUniqueKeyword_5_1_0_11_0());

-    }

- 

-	    {

-	        if ($current==null) {

-	            $current = createModelElement(grammarAccess.getAttributeCSRule());

-	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_22_0, "!unique");

-	    }

-

-)

-)

-    |(

-(

-		lv_qualifiers_23_0=	'unsettable' 

-    {

-        newLeafNode(lv_qualifiers_23_0, grammarAccess.getAttributeCSAccess().getQualifiersUnsettableKeyword_5_1_0_12_0());

-    }

- 

-	    {

-	        if ($current==null) {

-	            $current = createModelElement(grammarAccess.getAttributeCSRule());

-	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_23_0, "unsettable");

-	    }

-

-)

-)

-    |(

-(

-		lv_qualifiers_24_0=	'!unsettable' 

-    {

-        newLeafNode(lv_qualifiers_24_0, grammarAccess.getAttributeCSAccess().getQualifiersUnsettableKeyword_5_1_0_13_0());

-    }

- 

-	    {

-	        if ($current==null) {

-	            $current = createModelElement(grammarAccess.getAttributeCSRule());

-	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_24_0, "!unsettable");

-	    }

-

-)

-)

-    |(

-(

-		lv_qualifiers_25_0=	'volatile' 

-    {

-        newLeafNode(lv_qualifiers_25_0, grammarAccess.getAttributeCSAccess().getQualifiersVolatileKeyword_5_1_0_14_0());

-    }

- 

-	    {

-	        if ($current==null) {

-	            $current = createModelElement(grammarAccess.getAttributeCSRule());

-	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_25_0, "volatile");

-	    }

-

-)

-)

-    |(

-(

-		lv_qualifiers_26_0=	'!volatile' 

-    {

-        newLeafNode(lv_qualifiers_26_0, grammarAccess.getAttributeCSAccess().getQualifiersVolatileKeyword_5_1_0_15_0());

-    }

- 

-	    {

-	        if ($current==null) {

-	            $current = createModelElement(grammarAccess.getAttributeCSRule());

-	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_26_0, "!volatile");

-	    }

-

-)

-))(	otherlv_27=',' 

-    {

-    	newLeafNode(otherlv_27, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_1_1());

-    }

-)?)+	otherlv_28='}' 

-    {

-    	newLeafNode(otherlv_28, grammarAccess.getAttributeCSAccess().getRightCurlyBracketKeyword_5_2());

-    }

-)?((	otherlv_29='{' 

-    {

-    	newLeafNode(otherlv_29, grammarAccess.getAttributeCSAccess().getLeftCurlyBracketKeyword_6_0_0());

+    	newLeafNode(otherlv_36, grammarAccess.getAttributeCSAccess().getLeftCurlyBracketKeyword_6_0_0());

     }

 ((

 (

 		{ 

 	        newCompositeNode(grammarAccess.getAttributeCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_6_0_1_0_0()); 

 	    }

-		lv_ownedAnnotations_30_0=ruleAnnotationElementCS		{

+		lv_ownedAnnotations_37_0=ruleAnnotationElementCS		{

 	        if ($current==null) {

 	            $current = createModelElementForParent(grammarAccess.getAttributeCSRule());

 	        }

        		add(

        			$current, 

        			"ownedAnnotations",

-        		lv_ownedAnnotations_30_0, 

+        		lv_ownedAnnotations_37_0, 

         		"AnnotationElementCS");

 	        afterParserOrEnumRuleCall();

 	    }

 

 )

 )

-    |(	otherlv_31='derivation' 

+    |(	otherlv_38='derivation' 

     {

-    	newLeafNode(otherlv_31, grammarAccess.getAttributeCSAccess().getDerivationKeyword_6_0_1_1_0());

+    	newLeafNode(otherlv_38, grammarAccess.getAttributeCSAccess().getDerivationKeyword_6_0_1_1_0());

     }

 (

 	{ 

@@ -1518,36 +1587,36 @@
     { 

         afterParserOrEnumRuleCall();

     }

-)?	otherlv_33=':' 

+)?	otherlv_40=':' 

     {

-    	newLeafNode(otherlv_33, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_1_2());

+    	newLeafNode(otherlv_40, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_1_2());

     }

 (

 (

 		{ 

 	        newCompositeNode(grammarAccess.getAttributeCSAccess().getOwnedDefaultExpressionsSpecificationCSParserRuleCall_6_0_1_1_3_0()); 

 	    }

-		lv_ownedDefaultExpressions_34_0=ruleSpecificationCS		{

+		lv_ownedDefaultExpressions_41_0=ruleSpecificationCS		{

 	        if ($current==null) {

 	            $current = createModelElementForParent(grammarAccess.getAttributeCSRule());

 	        }

        		add(

        			$current, 

        			"ownedDefaultExpressions",

-        		lv_ownedDefaultExpressions_34_0, 

+        		lv_ownedDefaultExpressions_41_0, 

         		"SpecificationCS");

 	        afterParserOrEnumRuleCall();

 	    }

 

 )

-)?	otherlv_35=';' 

+)?	otherlv_42=';' 

     {

-    	newLeafNode(otherlv_35, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_1_4());

+    	newLeafNode(otherlv_42, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_1_4());

     }

 )

-    |(	otherlv_36='initial' 

+    |(	otherlv_43='initial' 

     {

-    	newLeafNode(otherlv_36, grammarAccess.getAttributeCSAccess().getInitialKeyword_6_0_1_2_0());

+    	newLeafNode(otherlv_43, grammarAccess.getAttributeCSAccess().getInitialKeyword_6_0_1_2_0());

     }

 (

 	{ 

@@ -1560,43 +1629,46 @@
     { 

         afterParserOrEnumRuleCall();

     }

-)?	otherlv_38=':' 

+)?	otherlv_45=':' 

     {

-    	newLeafNode(otherlv_38, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_2_2());

+    	newLeafNode(otherlv_45, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_2_2());

     }

 (

 (

 		{ 

 	        newCompositeNode(grammarAccess.getAttributeCSAccess().getOwnedDefaultExpressionsSpecificationCSParserRuleCall_6_0_1_2_3_0()); 

 	    }

-		lv_ownedDefaultExpressions_39_0=ruleSpecificationCS		{

+		lv_ownedDefaultExpressions_46_0=ruleSpecificationCS		{

 	        if ($current==null) {

 	            $current = createModelElementForParent(grammarAccess.getAttributeCSRule());

 	        }

        		add(

        			$current, 

        			"ownedDefaultExpressions",

-        		lv_ownedDefaultExpressions_39_0, 

+        		lv_ownedDefaultExpressions_46_0, 

         		"SpecificationCS");

 	        afterParserOrEnumRuleCall();

 	    }

 

 )

-)?	otherlv_40=';' 

+)?	otherlv_47=';' 

     {

-    	newLeafNode(otherlv_40, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_2_4());

+    	newLeafNode(otherlv_47, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_2_4());

     }

-))*	otherlv_41='}' 

+))*	otherlv_48='}' 

     {

-    	newLeafNode(otherlv_41, grammarAccess.getAttributeCSAccess().getRightCurlyBracketKeyword_6_0_2());

+    	newLeafNode(otherlv_48, grammarAccess.getAttributeCSAccess().getRightCurlyBracketKeyword_6_0_2());

     }

 )

-    |	otherlv_42=';' 

+    |	otherlv_49=';' 

     {

-    	newLeafNode(otherlv_42, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_1());

+    	newLeafNode(otherlv_49, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_1());

     }

 ))

 ;

+finally {

+	myUnorderedGroupState.restore();

+}

 

 

 

@@ -2620,96 +2692,118 @@
 

 // Entry rule entryRuleOperationCS

 entryRuleOperationCS returns [EObject current=null] 

+	@init { 

+		UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(

+			grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 

+			grammarAccess.getOperationCSAccess().getUnorderedGroup_9()

+		);

+	}

 	:

 	{ newCompositeNode(grammarAccess.getOperationCSRule()); }

 	 iv_ruleOperationCS=ruleOperationCS 

 	 { $current=$iv_ruleOperationCS.current; } 

 	 EOF 

 ;

+finally {

+	myUnorderedGroupState.restore();

+}

 

 // Rule OperationCS

 ruleOperationCS returns [EObject current=null] 

     @init { enterRule(); 

+		UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(

+			grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 

+			grammarAccess.getOperationCSAccess().getUnorderedGroup_9()

+		);

     }

     @after { leaveRule(); }:

-((((

+((

+

 (

-		lv_qualifiers_0_0=	'static' 

+	{ 

+	  getUnorderedGroupHelper().enter(grammarAccess.getOperationCSAccess().getUnorderedGroup_0());

+	}

+	(

+		(

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 0)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 0);

+	 				}

+					({true}?=>(

+(

+		lv_isStatic_1_0=	'static' 

     {

-        newLeafNode(lv_qualifiers_0_0, grammarAccess.getOperationCSAccess().getQualifiersStaticKeyword_0_0_0_0());

+        newLeafNode(lv_isStatic_1_0, grammarAccess.getOperationCSAccess().getIsStaticStaticKeyword_0_0_0());

     }

  

 	    {

 	        if ($current==null) {

 	            $current = createModelElement(grammarAccess.getOperationCSRule());

 	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_0_0, "static");

+       		setWithLastConsumed($current, "isStatic", true, "static");

 	    }

 

 )

-)(

+))

+					{ 

+	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getOperationCSAccess().getUnorderedGroup_0());

+	 				}

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 1)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 1);

+	 				}

+					({true}?=>(

 (

-		lv_qualifiers_1_0=	'definition' 

+		lv_isDefinition_2_0=	'definition' 

     {

-        newLeafNode(lv_qualifiers_1_0, grammarAccess.getOperationCSAccess().getQualifiersDefinitionKeyword_0_0_1_0());

+        newLeafNode(lv_isDefinition_2_0, grammarAccess.getOperationCSAccess().getIsDefinitionDefinitionKeyword_0_1_0());

     }

  

 	    {

 	        if ($current==null) {

 	            $current = createModelElement(grammarAccess.getOperationCSRule());

 	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_1_0, "definition");

+       		setWithLastConsumed($current, "isDefinition", true, "definition");

 	    }

 

 )

-)?)

-    |((

-(

-		lv_qualifiers_2_0=	'definition' 

-    {

-        newLeafNode(lv_qualifiers_2_0, grammarAccess.getOperationCSAccess().getQualifiersDefinitionKeyword_0_1_0_0());

-    }

- 

-	    {

-	        if ($current==null) {

-	            $current = createModelElement(grammarAccess.getOperationCSRule());

-	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_2_0, "definition");

-	    }

+))

+					{ 

+	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getOperationCSAccess().getUnorderedGroup_0());

+	 				}

+ 				)

+			)  

 

+		)*	

+	)

 )

-)(

-(

-		lv_qualifiers_3_0=	'static' 

-    {

-        newLeafNode(lv_qualifiers_3_0, grammarAccess.getOperationCSAccess().getQualifiersStaticKeyword_0_1_1_0());

-    }

- 

-	    {

-	        if ($current==null) {

-	            $current = createModelElement(grammarAccess.getOperationCSRule());

-	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_3_0, "static");

-	    }

+	{ 

+	  getUnorderedGroupHelper().leave(grammarAccess.getOperationCSAccess().getUnorderedGroup_0());

+	}

 

-)

-)?))?	otherlv_4='operation' 

+)	otherlv_3='operation' 

     {

-    	newLeafNode(otherlv_4, grammarAccess.getOperationCSAccess().getOperationKeyword_1());

+    	newLeafNode(otherlv_3, grammarAccess.getOperationCSAccess().getOperationKeyword_1());

     }

 (

 (

 		{ 

 	        newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedSignatureTemplateSignatureCSParserRuleCall_2_0()); 

 	    }

-		lv_ownedSignature_5_0=ruleTemplateSignatureCS		{

+		lv_ownedSignature_4_0=ruleTemplateSignatureCS		{

 	        if ($current==null) {

 	            $current = createModelElementForParent(grammarAccess.getOperationCSRule());

 	        }

        		set(

        			$current, 

        			"ownedSignature",

-        		lv_ownedSignature_5_0, 

+        		lv_ownedSignature_4_0, 

         		"TemplateSignatureCS");

 	        afterParserOrEnumRuleCall();

 	    }

@@ -2720,257 +2814,283 @@
 		{ 

 	        newCompositeNode(grammarAccess.getOperationCSAccess().getNameUnrestrictedNameParserRuleCall_3_0()); 

 	    }

-		lv_name_6_0=ruleUnrestrictedName		{

+		lv_name_5_0=ruleUnrestrictedName		{

 	        if ($current==null) {

 	            $current = createModelElementForParent(grammarAccess.getOperationCSRule());

 	        }

        		set(

        			$current, 

        			"name",

-        		lv_name_6_0, 

+        		lv_name_5_0, 

         		"UnrestrictedName");

 	        afterParserOrEnumRuleCall();

 	    }

 

 )

-)	otherlv_7='(' 

+)	otherlv_6='(' 

     {

-    	newLeafNode(otherlv_7, grammarAccess.getOperationCSAccess().getLeftParenthesisKeyword_4());

+    	newLeafNode(otherlv_6, grammarAccess.getOperationCSAccess().getLeftParenthesisKeyword_4());

     }

 ((

 (

 		{ 

 	        newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedParametersParameterCSParserRuleCall_5_0_0()); 

 	    }

-		lv_ownedParameters_8_0=ruleParameterCS		{

+		lv_ownedParameters_7_0=ruleParameterCS		{

 	        if ($current==null) {

 	            $current = createModelElementForParent(grammarAccess.getOperationCSRule());

 	        }

        		add(

        			$current, 

        			"ownedParameters",

-        		lv_ownedParameters_8_0, 

+        		lv_ownedParameters_7_0, 

         		"ParameterCS");

 	        afterParserOrEnumRuleCall();

 	    }

 

 )

-)(	otherlv_9=',' 

+)(	otherlv_8=',' 

     {

-    	newLeafNode(otherlv_9, grammarAccess.getOperationCSAccess().getCommaKeyword_5_1_0());

+    	newLeafNode(otherlv_8, grammarAccess.getOperationCSAccess().getCommaKeyword_5_1_0());

     }

 (

 (

 		{ 

 	        newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedParametersParameterCSParserRuleCall_5_1_1_0()); 

 	    }

-		lv_ownedParameters_10_0=ruleParameterCS		{

+		lv_ownedParameters_9_0=ruleParameterCS		{

 	        if ($current==null) {

 	            $current = createModelElementForParent(grammarAccess.getOperationCSRule());

 	        }

        		add(

        			$current, 

        			"ownedParameters",

-        		lv_ownedParameters_10_0, 

+        		lv_ownedParameters_9_0, 

         		"ParameterCS");

 	        afterParserOrEnumRuleCall();

 	    }

 

 )

-))*)?	otherlv_11=')' 

+))*)?	otherlv_10=')' 

     {

-    	newLeafNode(otherlv_11, grammarAccess.getOperationCSAccess().getRightParenthesisKeyword_6());

+    	newLeafNode(otherlv_10, grammarAccess.getOperationCSAccess().getRightParenthesisKeyword_6());

     }

-(	otherlv_12=':' 

+(	otherlv_11=':' 

     {

-    	newLeafNode(otherlv_12, grammarAccess.getOperationCSAccess().getColonKeyword_7_0());

+    	newLeafNode(otherlv_11, grammarAccess.getOperationCSAccess().getColonKeyword_7_0());

     }

 (

 (

 		{ 

 	        newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedTypeTypedMultiplicityRefCSParserRuleCall_7_1_0()); 

 	    }

-		lv_ownedType_13_0=ruleTypedMultiplicityRefCS		{

+		lv_ownedType_12_0=ruleTypedMultiplicityRefCS		{

 	        if ($current==null) {

 	            $current = createModelElementForParent(grammarAccess.getOperationCSRule());

 	        }

        		set(

        			$current, 

        			"ownedType",

-        		lv_ownedType_13_0, 

+        		lv_ownedType_12_0, 

         		"TypedMultiplicityRefCS");

 	        afterParserOrEnumRuleCall();

 	    }

 

 )

-))?(	otherlv_14='throws' 

+))?(	otherlv_13='throws' 

     {

-    	newLeafNode(otherlv_14, grammarAccess.getOperationCSAccess().getThrowsKeyword_8_0());

+    	newLeafNode(otherlv_13, grammarAccess.getOperationCSAccess().getThrowsKeyword_8_0());

     }

 (

 (

 		{ 

 	        newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedExceptionsTypedRefCSParserRuleCall_8_1_0()); 

 	    }

-		lv_ownedExceptions_15_0=ruleTypedRefCS		{

+		lv_ownedExceptions_14_0=ruleTypedRefCS		{

 	        if ($current==null) {

 	            $current = createModelElementForParent(grammarAccess.getOperationCSRule());

 	        }

        		add(

        			$current, 

        			"ownedExceptions",

-        		lv_ownedExceptions_15_0, 

+        		lv_ownedExceptions_14_0, 

         		"TypedRefCS");

 	        afterParserOrEnumRuleCall();

 	    }

 

 )

-)(	otherlv_16=',' 

+)(	otherlv_15=',' 

     {

-    	newLeafNode(otherlv_16, grammarAccess.getOperationCSAccess().getCommaKeyword_8_2_0());

+    	newLeafNode(otherlv_15, grammarAccess.getOperationCSAccess().getCommaKeyword_8_2_0());

     }

 (

 (

 		{ 

 	        newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedExceptionsTypedRefCSParserRuleCall_8_2_1_0()); 

 	    }

-		lv_ownedExceptions_17_0=ruleTypedRefCS		{

+		lv_ownedExceptions_16_0=ruleTypedRefCS		{

 	        if ($current==null) {

 	            $current = createModelElementForParent(grammarAccess.getOperationCSRule());

 	        }

        		add(

        			$current, 

        			"ownedExceptions",

-        		lv_ownedExceptions_17_0, 

+        		lv_ownedExceptions_16_0, 

         		"TypedRefCS");

 	        afterParserOrEnumRuleCall();

 	    }

 

 )

-))*)?(	otherlv_18='{' 

+))*)?(

+

+(

+	{ 

+	  getUnorderedGroupHelper().enter(grammarAccess.getOperationCSAccess().getUnorderedGroup_9());

+	}

+	(

+		(

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 0)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 0);

+	 				}

+					({true}?=>(	otherlv_18='{' 

     {

-    	newLeafNode(otherlv_18, grammarAccess.getOperationCSAccess().getLeftCurlyBracketKeyword_9_0());

+    	newLeafNode(otherlv_18, grammarAccess.getOperationCSAccess().getLeftCurlyBracketKeyword_9_0_0());

     }

 (((

 (

-		lv_qualifiers_19_0=	'derived' 

+		lv_isDerived_19_0=	'derived' 

     {

-        newLeafNode(lv_qualifiers_19_0, grammarAccess.getOperationCSAccess().getQualifiersDerivedKeyword_9_1_0_0_0());

+        newLeafNode(lv_isDerived_19_0, grammarAccess.getOperationCSAccess().getIsDerivedDerivedKeyword_9_0_1_0_0_0());

     }

  

 	    {

 	        if ($current==null) {

 	            $current = createModelElement(grammarAccess.getOperationCSRule());

 	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_19_0, "derived");

+       		setWithLastConsumed($current, "isDerived", true, "derived");

 	    }

 

 )

 )

-    |(

+    |	otherlv_20='!derived' 

+    {

+    	newLeafNode(otherlv_20, grammarAccess.getOperationCSAccess().getDerivedKeyword_9_0_1_0_1());

+    }

+)(	otherlv_21=',' 

+    {

+    	newLeafNode(otherlv_21, grammarAccess.getOperationCSAccess().getCommaKeyword_9_0_1_1());

+    }

+)?)?))

+					{ 

+	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getOperationCSAccess().getUnorderedGroup_9());

+	 				}

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 1)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 1);

+	 				}

+					({true}?=>(((

 (

-		lv_qualifiers_20_0=	'!derived' 

+		lv_isOrdered_22_0=	'ordered' 

     {

-        newLeafNode(lv_qualifiers_20_0, grammarAccess.getOperationCSAccess().getQualifiersDerivedKeyword_9_1_0_1_0());

+        newLeafNode(lv_isOrdered_22_0, grammarAccess.getOperationCSAccess().getIsOrderedOrderedKeyword_9_1_0_0_0());

     }

  

 	    {

 	        if ($current==null) {

 	            $current = createModelElement(grammarAccess.getOperationCSRule());

 	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_20_0, "!derived");

+       		setWithLastConsumed($current, "isOrdered", true, "ordered");

 	    }

 

 )

 )

-    |(

+    |	otherlv_23='!ordered' 

+    {

+    	newLeafNode(otherlv_23, grammarAccess.getOperationCSAccess().getOrderedKeyword_9_1_0_1());

+    }

+)(	otherlv_24=',' 

+    {

+    	newLeafNode(otherlv_24, grammarAccess.getOperationCSAccess().getCommaKeyword_9_1_1());

+    }

+)?))

+					{ 

+	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getOperationCSAccess().getUnorderedGroup_9());

+	 				}

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 2)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 2);

+	 				}

+					({true}?=>((((

 (

-		lv_qualifiers_21_0=	'ordered' 

+		lv_isNotUnique_25_0=	'!unique' 

     {

-        newLeafNode(lv_qualifiers_21_0, grammarAccess.getOperationCSAccess().getQualifiersOrderedKeyword_9_1_0_2_0());

+        newLeafNode(lv_isNotUnique_25_0, grammarAccess.getOperationCSAccess().getIsNotUniqueUniqueKeyword_9_2_0_0_0_0());

     }

  

 	    {

 	        if ($current==null) {

 	            $current = createModelElement(grammarAccess.getOperationCSRule());

 	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_21_0, "ordered");

+       		setWithLastConsumed($current, "isNotUnique", true, "!unique");

 	    }

 

 )

 )

-    |(

-(

-		lv_qualifiers_22_0=	'!ordered' 

+    |	otherlv_26='unique' 

     {

-        newLeafNode(lv_qualifiers_22_0, grammarAccess.getOperationCSAccess().getQualifiersOrderedKeyword_9_1_0_3_0());

+    	newLeafNode(otherlv_26, grammarAccess.getOperationCSAccess().getUniqueKeyword_9_2_0_0_1());

     }

- 

-	    {

-	        if ($current==null) {

-	            $current = createModelElement(grammarAccess.getOperationCSRule());

-	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_22_0, "!ordered");

-	    }

+)(	otherlv_27=',' 

+    {

+    	newLeafNode(otherlv_27, grammarAccess.getOperationCSAccess().getCommaKeyword_9_2_0_1());

+    }

+)?)?	otherlv_28='}' 

+    {

+    	newLeafNode(otherlv_28, grammarAccess.getOperationCSAccess().getRightCurlyBracketKeyword_9_2_1());

+    }

+))

+					{ 

+	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getOperationCSAccess().getUnorderedGroup_9());

+	 				}

+ 				)

+			)  

 

+		)+

+	  	{getUnorderedGroupHelper().canLeave(grammarAccess.getOperationCSAccess().getUnorderedGroup_9())}?	

+	)

 )

-)

-    |(

-(

-		lv_qualifiers_23_0=	'unique' 

-    {

-        newLeafNode(lv_qualifiers_23_0, grammarAccess.getOperationCSAccess().getQualifiersUniqueKeyword_9_1_0_4_0());

-    }

- 

-	    {

-	        if ($current==null) {

-	            $current = createModelElement(grammarAccess.getOperationCSRule());

-	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_23_0, "unique");

-	    }

+	{ 

+	  getUnorderedGroupHelper().leave(grammarAccess.getOperationCSAccess().getUnorderedGroup_9());

+	}

 

-)

-)

-    |(

-(

-		lv_qualifiers_24_0=	'!unique' 

+)?((	otherlv_29='{' 

     {

-        newLeafNode(lv_qualifiers_24_0, grammarAccess.getOperationCSAccess().getQualifiersUniqueKeyword_9_1_0_5_0());

-    }

- 

-	    {

-	        if ($current==null) {

-	            $current = createModelElement(grammarAccess.getOperationCSRule());

-	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_24_0, "!unique");

-	    }

-

-)

-))(	otherlv_25=',' 

-    {

-    	newLeafNode(otherlv_25, grammarAccess.getOperationCSAccess().getCommaKeyword_9_1_1());

-    }

-)?)+	otherlv_26='}' 

-    {

-    	newLeafNode(otherlv_26, grammarAccess.getOperationCSAccess().getRightCurlyBracketKeyword_9_2());

-    }

-)?((	otherlv_27='{' 

-    {

-    	newLeafNode(otherlv_27, grammarAccess.getOperationCSAccess().getLeftCurlyBracketKeyword_10_0_0());

+    	newLeafNode(otherlv_29, grammarAccess.getOperationCSAccess().getLeftCurlyBracketKeyword_10_0_0());

     }

 ((

 (

 		{ 

 	        newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_10_0_1_0_0()); 

 	    }

-		lv_ownedAnnotations_28_0=ruleAnnotationElementCS		{

+		lv_ownedAnnotations_30_0=ruleAnnotationElementCS		{

 	        if ($current==null) {

 	            $current = createModelElementForParent(grammarAccess.getOperationCSRule());

 	        }

        		add(

        			$current, 

        			"ownedAnnotations",

-        		lv_ownedAnnotations_28_0, 

+        		lv_ownedAnnotations_30_0, 

         		"AnnotationElementCS");

 	        afterParserOrEnumRuleCall();

 	    }

@@ -2982,23 +3102,23 @@
 		{ 

 	        newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedPreconditionsPreconditionConstraintCSParserRuleCall_10_0_1_1_0()); 

 	    }

-		lv_ownedPreconditions_29_0=rulePreconditionConstraintCS		{

+		lv_ownedPreconditions_31_0=rulePreconditionConstraintCS		{

 	        if ($current==null) {

 	            $current = createModelElementForParent(grammarAccess.getOperationCSRule());

 	        }

        		add(

        			$current, 

        			"ownedPreconditions",

-        		lv_ownedPreconditions_29_0, 

+        		lv_ownedPreconditions_31_0, 

         		"PreconditionConstraintCS");

 	        afterParserOrEnumRuleCall();

 	    }

 

 )

 )

-    |(	otherlv_30='body' 

+    |(	otherlv_32='body' 

     {

-    	newLeafNode(otherlv_30, grammarAccess.getOperationCSAccess().getBodyKeyword_10_0_1_2_0());

+    	newLeafNode(otherlv_32, grammarAccess.getOperationCSAccess().getBodyKeyword_10_0_1_2_0());

     }

 (

 	{ 

@@ -3011,31 +3131,31 @@
     { 

         afterParserOrEnumRuleCall();

     }

-)?	otherlv_32=':' 

+)?	otherlv_34=':' 

     {

-    	newLeafNode(otherlv_32, grammarAccess.getOperationCSAccess().getColonKeyword_10_0_1_2_2());

+    	newLeafNode(otherlv_34, grammarAccess.getOperationCSAccess().getColonKeyword_10_0_1_2_2());

     }

 (

 (

 		{ 

 	        newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedBodyExpressionsSpecificationCSParserRuleCall_10_0_1_2_3_0()); 

 	    }

-		lv_ownedBodyExpressions_33_0=ruleSpecificationCS		{

+		lv_ownedBodyExpressions_35_0=ruleSpecificationCS		{

 	        if ($current==null) {

 	            $current = createModelElementForParent(grammarAccess.getOperationCSRule());

 	        }

        		add(

        			$current, 

        			"ownedBodyExpressions",

-        		lv_ownedBodyExpressions_33_0, 

+        		lv_ownedBodyExpressions_35_0, 

         		"SpecificationCS");

 	        afterParserOrEnumRuleCall();

 	    }

 

 )

-)?	otherlv_34=';' 

+)?	otherlv_36=';' 

     {

-    	newLeafNode(otherlv_34, grammarAccess.getOperationCSAccess().getSemicolonKeyword_10_0_1_2_4());

+    	newLeafNode(otherlv_36, grammarAccess.getOperationCSAccess().getSemicolonKeyword_10_0_1_2_4());

     }

 )

     |(

@@ -3043,30 +3163,33 @@
 		{ 

 	        newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedPostconditionsPostconditionConstraintCSParserRuleCall_10_0_1_3_0()); 

 	    }

-		lv_ownedPostconditions_35_0=rulePostconditionConstraintCS		{

+		lv_ownedPostconditions_37_0=rulePostconditionConstraintCS		{

 	        if ($current==null) {

 	            $current = createModelElementForParent(grammarAccess.getOperationCSRule());

 	        }

        		add(

        			$current, 

        			"ownedPostconditions",

-        		lv_ownedPostconditions_35_0, 

+        		lv_ownedPostconditions_37_0, 

         		"PostconditionConstraintCS");

 	        afterParserOrEnumRuleCall();

 	    }

 

 )

-))*	otherlv_36='}' 

+))*	otherlv_38='}' 

     {

-    	newLeafNode(otherlv_36, grammarAccess.getOperationCSAccess().getRightCurlyBracketKeyword_10_0_2());

+    	newLeafNode(otherlv_38, grammarAccess.getOperationCSAccess().getRightCurlyBracketKeyword_10_0_2());

     }

 )

-    |	otherlv_37=';' 

+    |	otherlv_39=';' 

     {

-    	newLeafNode(otherlv_37, grammarAccess.getOperationCSAccess().getSemicolonKeyword_10_1());

+    	newLeafNode(otherlv_39, grammarAccess.getOperationCSAccess().getSemicolonKeyword_10_1());

     }

 ))

 ;

+finally {

+	myUnorderedGroupState.restore();

+}

 

 

 

@@ -3230,16 +3353,27 @@
 

 // Entry rule entryRuleParameterCS

 entryRuleParameterCS returns [EObject current=null] 

+	@init { 

+		UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(

+			grammarAccess.getParameterCSAccess().getUnorderedGroup_2()

+		);

+	}

 	:

 	{ newCompositeNode(grammarAccess.getParameterCSRule()); }

 	 iv_ruleParameterCS=ruleParameterCS 

 	 { $current=$iv_ruleParameterCS.current; } 

 	 EOF 

 ;

+finally {

+	myUnorderedGroupState.restore();

+}

 

 // Rule ParameterCS

 ruleParameterCS returns [EObject current=null] 

     @init { enterRule(); 

+		UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(

+			grammarAccess.getParameterCSAccess().getUnorderedGroup_2()

+		);

     }

     @after { leaveRule(); }:

 ((

@@ -3282,109 +3416,134 @@
 	    }

 

 )

-))?(	otherlv_3='{' 

+))?(

+

+(

+	{ 

+	  getUnorderedGroupHelper().enter(grammarAccess.getParameterCSAccess().getUnorderedGroup_2());

+	}

+	(

+		(

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0);

+	 				}

+					({true}?=>(	otherlv_4='{' 

     {

-    	newLeafNode(otherlv_3, grammarAccess.getParameterCSAccess().getLeftCurlyBracketKeyword_2_0());

+    	newLeafNode(otherlv_4, grammarAccess.getParameterCSAccess().getLeftCurlyBracketKeyword_2_0_0());

     }

 (((

 (

-		lv_qualifiers_4_0=	'ordered' 

+		lv_isOrdered_5_0=	'ordered' 

     {

-        newLeafNode(lv_qualifiers_4_0, grammarAccess.getParameterCSAccess().getQualifiersOrderedKeyword_2_1_0_0_0());

+        newLeafNode(lv_isOrdered_5_0, grammarAccess.getParameterCSAccess().getIsOrderedOrderedKeyword_2_0_1_0_0_0());

     }

  

 	    {

 	        if ($current==null) {

 	            $current = createModelElement(grammarAccess.getParameterCSRule());

 	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_4_0, "ordered");

+       		setWithLastConsumed($current, "isOrdered", true, "ordered");

 	    }

 

 )

 )

-    |(

+    |	otherlv_6='!ordered' 

+    {

+    	newLeafNode(otherlv_6, grammarAccess.getParameterCSAccess().getOrderedKeyword_2_0_1_0_1());

+    }

+)(	otherlv_7=',' 

+    {

+    	newLeafNode(otherlv_7, grammarAccess.getParameterCSAccess().getCommaKeyword_2_0_1_1());

+    }

+)?)?))

+					{ 

+	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getParameterCSAccess().getUnorderedGroup_2());

+	 				}

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 1)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 1);

+	 				}

+					({true}?=>((((

 (

-		lv_qualifiers_5_0=	'!ordered' 

+		lv_isNotUnique_8_0=	'!unique' 

     {

-        newLeafNode(lv_qualifiers_5_0, grammarAccess.getParameterCSAccess().getQualifiersOrderedKeyword_2_1_0_1_0());

+        newLeafNode(lv_isNotUnique_8_0, grammarAccess.getParameterCSAccess().getIsNotUniqueUniqueKeyword_2_1_0_0_0_0());

     }

  

 	    {

 	        if ($current==null) {

 	            $current = createModelElement(grammarAccess.getParameterCSRule());

 	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_5_0, "!ordered");

+       		setWithLastConsumed($current, "isNotUnique", true, "!unique");

 	    }

 

 )

 )

-    |(

-(

-		lv_qualifiers_6_0=	'unique' 

+    |	otherlv_9='unique' 

     {

-        newLeafNode(lv_qualifiers_6_0, grammarAccess.getParameterCSAccess().getQualifiersUniqueKeyword_2_1_0_2_0());

+    	newLeafNode(otherlv_9, grammarAccess.getParameterCSAccess().getUniqueKeyword_2_1_0_0_1());

     }

- 

-	    {

-	        if ($current==null) {

-	            $current = createModelElement(grammarAccess.getParameterCSRule());

-	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_6_0, "unique");

-	    }

+)(	otherlv_10=',' 

+    {

+    	newLeafNode(otherlv_10, grammarAccess.getParameterCSAccess().getCommaKeyword_2_1_0_1());

+    }

+)?)?	otherlv_11='}' 

+    {

+    	newLeafNode(otherlv_11, grammarAccess.getParameterCSAccess().getRightCurlyBracketKeyword_2_1_1());

+    }

+))

+					{ 

+	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getParameterCSAccess().getUnorderedGroup_2());

+	 				}

+ 				)

+			)  

 

+		)+

+	  	{getUnorderedGroupHelper().canLeave(grammarAccess.getParameterCSAccess().getUnorderedGroup_2())}?	

+	)

 )

-)

-    |(

-(

-		lv_qualifiers_7_0=	'!unique' 

-    {

-        newLeafNode(lv_qualifiers_7_0, grammarAccess.getParameterCSAccess().getQualifiersUniqueKeyword_2_1_0_3_0());

-    }

- 

-	    {

-	        if ($current==null) {

-	            $current = createModelElement(grammarAccess.getParameterCSRule());

-	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_7_0, "!unique");

-	    }

+	{ 

+	  getUnorderedGroupHelper().leave(grammarAccess.getParameterCSAccess().getUnorderedGroup_2());

+	}

 

-)

-))(	otherlv_8=',' 

+)?(	otherlv_12='{' 

     {

-    	newLeafNode(otherlv_8, grammarAccess.getParameterCSAccess().getCommaKeyword_2_1_1());

-    }

-)?)+	otherlv_9='}' 

-    {

-    	newLeafNode(otherlv_9, grammarAccess.getParameterCSAccess().getRightCurlyBracketKeyword_2_2());

-    }

-)?(	otherlv_10='{' 

-    {

-    	newLeafNode(otherlv_10, grammarAccess.getParameterCSAccess().getLeftCurlyBracketKeyword_3_0());

+    	newLeafNode(otherlv_12, grammarAccess.getParameterCSAccess().getLeftCurlyBracketKeyword_3_0());

     }

 (

 (

 		{ 

 	        newCompositeNode(grammarAccess.getParameterCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_3_1_0()); 

 	    }

-		lv_ownedAnnotations_11_0=ruleAnnotationElementCS		{

+		lv_ownedAnnotations_13_0=ruleAnnotationElementCS		{

 	        if ($current==null) {

 	            $current = createModelElementForParent(grammarAccess.getParameterCSRule());

 	        }

        		add(

        			$current, 

        			"ownedAnnotations",

-        		lv_ownedAnnotations_11_0, 

+        		lv_ownedAnnotations_13_0, 

         		"AnnotationElementCS");

 	        afterParserOrEnumRuleCall();

 	    }

 

 )

-)*	otherlv_12='}' 

+)*	otherlv_14='}' 

     {

-    	newLeafNode(otherlv_12, grammarAccess.getParameterCSAccess().getRightCurlyBracketKeyword_3_2());

+    	newLeafNode(otherlv_14, grammarAccess.getParameterCSAccess().getRightCurlyBracketKeyword_3_2());

     }

 )?)

 ;

+finally {

+	myUnorderedGroupState.restore();

+}

 

 

 

@@ -3392,104 +3551,126 @@
 

 // Entry rule entryRuleReferenceCS

 entryRuleReferenceCS returns [EObject current=null] 

+	@init { 

+		UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(

+			grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 

+			grammarAccess.getReferenceCSAccess().getUnorderedGroup_6()

+		);

+	}

 	:

 	{ newCompositeNode(grammarAccess.getReferenceCSRule()); }

 	 iv_ruleReferenceCS=ruleReferenceCS 

 	 { $current=$iv_ruleReferenceCS.current; } 

 	 EOF 

 ;

+finally {

+	myUnorderedGroupState.restore();

+}

 

 // Rule ReferenceCS

 ruleReferenceCS returns [EObject current=null] 

     @init { enterRule(); 

+		UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(

+			grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 

+			grammarAccess.getReferenceCSAccess().getUnorderedGroup_6()

+		);

     }

     @after { leaveRule(); }:

-((((

+((

+

 (

-		lv_qualifiers_0_0=	'static' 

+	{ 

+	  getUnorderedGroupHelper().enter(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0());

+	}

+	(

+		(

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 0)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 0);

+	 				}

+					({true}?=>(

+(

+		lv_isStatic_1_0=	'static' 

     {

-        newLeafNode(lv_qualifiers_0_0, grammarAccess.getReferenceCSAccess().getQualifiersStaticKeyword_0_0_0_0());

+        newLeafNode(lv_isStatic_1_0, grammarAccess.getReferenceCSAccess().getIsStaticStaticKeyword_0_0_0());

     }

  

 	    {

 	        if ($current==null) {

 	            $current = createModelElement(grammarAccess.getReferenceCSRule());

 	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_0_0, "static");

+       		setWithLastConsumed($current, "isStatic", true, "static");

 	    }

 

 )

-)(

+))

+					{ 

+	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0());

+	 				}

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 1)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 1);

+	 				}

+					({true}?=>(

 (

-		lv_qualifiers_1_0=	'definition' 

+		lv_isDefinition_2_0=	'definition' 

     {

-        newLeafNode(lv_qualifiers_1_0, grammarAccess.getReferenceCSAccess().getQualifiersDefinitionKeyword_0_0_1_0());

+        newLeafNode(lv_isDefinition_2_0, grammarAccess.getReferenceCSAccess().getIsDefinitionDefinitionKeyword_0_1_0());

     }

  

 	    {

 	        if ($current==null) {

 	            $current = createModelElement(grammarAccess.getReferenceCSRule());

 	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_1_0, "definition");

+       		setWithLastConsumed($current, "isDefinition", true, "definition");

 	    }

 

 )

-)?)

-    |((

-(

-		lv_qualifiers_2_0=	'definition' 

-    {

-        newLeafNode(lv_qualifiers_2_0, grammarAccess.getReferenceCSAccess().getQualifiersDefinitionKeyword_0_1_0_0());

-    }

- 

-	    {

-	        if ($current==null) {

-	            $current = createModelElement(grammarAccess.getReferenceCSRule());

-	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_2_0, "definition");

-	    }

+))

+					{ 

+	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0());

+	 				}

+ 				)

+			)  

 

+		)*	

+	)

 )

-)(

-(

-		lv_qualifiers_3_0=	'static' 

-    {

-        newLeafNode(lv_qualifiers_3_0, grammarAccess.getReferenceCSAccess().getQualifiersStaticKeyword_0_1_1_0());

-    }

- 

-	    {

-	        if ($current==null) {

-	            $current = createModelElement(grammarAccess.getReferenceCSRule());

-	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_3_0, "static");

-	    }

+	{ 

+	  getUnorderedGroupHelper().leave(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0());

+	}

 

-)

-)?))?	otherlv_4='property' 

+)	otherlv_3='property' 

     {

-    	newLeafNode(otherlv_4, grammarAccess.getReferenceCSAccess().getPropertyKeyword_1());

+    	newLeafNode(otherlv_3, grammarAccess.getReferenceCSAccess().getPropertyKeyword_1());

     }

 (

 (

 		{ 

 	        newCompositeNode(grammarAccess.getReferenceCSAccess().getNameUnrestrictedNameParserRuleCall_2_0()); 

 	    }

-		lv_name_5_0=ruleUnrestrictedName		{

+		lv_name_4_0=ruleUnrestrictedName		{

 	        if ($current==null) {

 	            $current = createModelElementForParent(grammarAccess.getReferenceCSRule());

 	        }

        		set(

        			$current, 

        			"name",

-        		lv_name_5_0, 

+        		lv_name_4_0, 

         		"UnrestrictedName");

 	        afterParserOrEnumRuleCall();

 	    }

 

 )

-)(	otherlv_6='#' 

+)(	otherlv_5='#' 

     {

-    	newLeafNode(otherlv_6, grammarAccess.getReferenceCSAccess().getNumberSignKeyword_3_0());

+    	newLeafNode(otherlv_5, grammarAccess.getReferenceCSAccess().getNumberSignKeyword_3_0());

     }

 (

 (

@@ -3509,37 +3690,37 @@
 	    }

 

 )

-))?(	otherlv_8=':' 

+))?(	otherlv_7=':' 

     {

-    	newLeafNode(otherlv_8, grammarAccess.getReferenceCSAccess().getColonKeyword_4_0());

+    	newLeafNode(otherlv_7, grammarAccess.getReferenceCSAccess().getColonKeyword_4_0());

     }

 (

 (

 		{ 

 	        newCompositeNode(grammarAccess.getReferenceCSAccess().getOwnedTypeTypedMultiplicityRefCSParserRuleCall_4_1_0()); 

 	    }

-		lv_ownedType_9_0=ruleTypedMultiplicityRefCS		{

+		lv_ownedType_8_0=ruleTypedMultiplicityRefCS		{

 	        if ($current==null) {

 	            $current = createModelElementForParent(grammarAccess.getReferenceCSRule());

 	        }

        		set(

        			$current, 

        			"ownedType",

-        		lv_ownedType_9_0, 

+        		lv_ownedType_8_0, 

         		"TypedMultiplicityRefCS");

 	        afterParserOrEnumRuleCall();

 	    }

 

 )

-))?(	otherlv_10='=' 

+))?(	otherlv_9='=' 

     {

-    	newLeafNode(otherlv_10, grammarAccess.getReferenceCSAccess().getEqualsSignKeyword_5_0());

+    	newLeafNode(otherlv_9, grammarAccess.getReferenceCSAccess().getEqualsSignKeyword_5_0());

     }

 (

 (

-		lv_default_11_0=RULE_SINGLE_QUOTED_STRING

+		lv_default_10_0=RULE_SINGLE_QUOTED_STRING

 		{

-			newLeafNode(lv_default_11_0, grammarAccess.getReferenceCSAccess().getDefaultSINGLE_QUOTED_STRINGTerminalRuleCall_5_1_0()); 

+			newLeafNode(lv_default_10_0, grammarAccess.getReferenceCSAccess().getDefaultSINGLE_QUOTED_STRINGTerminalRuleCall_5_1_0()); 

 		}

 		{

 	        if ($current==null) {

@@ -3548,336 +3729,386 @@
        		setWithLastConsumed(

        			$current, 

        			"default",

-        		lv_default_11_0, 

+        		lv_default_10_0, 

         		"SINGLE_QUOTED_STRING");

 	    }

 

 )

-))?(	otherlv_12='{' 

+))?(

+

+(

+	{ 

+	  getUnorderedGroupHelper().enter(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6());

+	}

+	(

+		(

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0);

+	 				}

+					({true}?=>(	otherlv_12='{' 

     {

-    	newLeafNode(otherlv_12, grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_6_0());

+    	newLeafNode(otherlv_12, grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_6_0_0());

     }

 (((

 (

-		lv_qualifiers_13_0=	'composes' 

+		lv_isComposes_13_0=	'composes' 

     {

-        newLeafNode(lv_qualifiers_13_0, grammarAccess.getReferenceCSAccess().getQualifiersComposesKeyword_6_1_0_0_0());

+        newLeafNode(lv_isComposes_13_0, grammarAccess.getReferenceCSAccess().getIsComposesComposesKeyword_6_0_1_0_0_0());

     }

  

 	    {

 	        if ($current==null) {

 	            $current = createModelElement(grammarAccess.getReferenceCSRule());

 	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_13_0, "composes");

+       		setWithLastConsumed($current, "isComposes", true, "composes");

 	    }

 

 )

 )

-    |(

+    |	otherlv_14='!composes' 

+    {

+    	newLeafNode(otherlv_14, grammarAccess.getReferenceCSAccess().getComposesKeyword_6_0_1_0_1());

+    }

+)(	otherlv_15=',' 

+    {

+    	newLeafNode(otherlv_15, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_0_1_1());

+    }

+)?)?))

+					{ 

+	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6());

+	 				}

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1);

+	 				}

+					({true}?=>(((

 (

-		lv_qualifiers_14_0=	'!composes' 

+		lv_isDerived_16_0=	'derived' 

     {

-        newLeafNode(lv_qualifiers_14_0, grammarAccess.getReferenceCSAccess().getQualifiersComposesKeyword_6_1_0_1_0());

+        newLeafNode(lv_isDerived_16_0, grammarAccess.getReferenceCSAccess().getIsDerivedDerivedKeyword_6_1_0_0_0());

     }

  

 	    {

 	        if ($current==null) {

 	            $current = createModelElement(grammarAccess.getReferenceCSRule());

 	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_14_0, "!composes");

+       		setWithLastConsumed($current, "isDerived", true, "derived");

 	    }

 

 )

 )

-    |(

+    |	otherlv_17='!derived' 

+    {

+    	newLeafNode(otherlv_17, grammarAccess.getReferenceCSAccess().getDerivedKeyword_6_1_0_1());

+    }

+)(	otherlv_18=',' 

+    {

+    	newLeafNode(otherlv_18, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_1_1());

+    }

+)?))

+					{ 

+	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6());

+	 				}

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2);

+	 				}

+					({true}?=>(((

 (

-		lv_qualifiers_15_0=	'derived' 

+		lv_isOrdered_19_0=	'ordered' 

     {

-        newLeafNode(lv_qualifiers_15_0, grammarAccess.getReferenceCSAccess().getQualifiersDerivedKeyword_6_1_0_2_0());

+        newLeafNode(lv_isOrdered_19_0, grammarAccess.getReferenceCSAccess().getIsOrderedOrderedKeyword_6_2_0_0_0());

     }

  

 	    {

 	        if ($current==null) {

 	            $current = createModelElement(grammarAccess.getReferenceCSRule());

 	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_15_0, "derived");

+       		setWithLastConsumed($current, "isOrdered", true, "ordered");

 	    }

 

 )

 )

-    |(

+    |	otherlv_20='!ordered' 

+    {

+    	newLeafNode(otherlv_20, grammarAccess.getReferenceCSAccess().getOrderedKeyword_6_2_0_1());

+    }

+)(	otherlv_21=',' 

+    {

+    	newLeafNode(otherlv_21, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_2_1());

+    }

+)?))

+					{ 

+	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6());

+	 				}

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3);

+	 				}

+					({true}?=>(((

 (

-		lv_qualifiers_16_0=	'!derived' 

+		lv_isReadonly_22_0=	'readonly' 

     {

-        newLeafNode(lv_qualifiers_16_0, grammarAccess.getReferenceCSAccess().getQualifiersDerivedKeyword_6_1_0_3_0());

+        newLeafNode(lv_isReadonly_22_0, grammarAccess.getReferenceCSAccess().getIsReadonlyReadonlyKeyword_6_3_0_0_0());

     }

  

 	    {

 	        if ($current==null) {

 	            $current = createModelElement(grammarAccess.getReferenceCSRule());

 	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_16_0, "!derived");

+       		setWithLastConsumed($current, "isReadonly", true, "readonly");

 	    }

 

 )

 )

-    |(

+    |	otherlv_23='!readonly' 

+    {

+    	newLeafNode(otherlv_23, grammarAccess.getReferenceCSAccess().getReadonlyKeyword_6_3_0_1());

+    }

+)(	otherlv_24=',' 

+    {

+    	newLeafNode(otherlv_24, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_3_1());

+    }

+)?))

+					{ 

+	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6());

+	 				}

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4);

+	 				}

+					({true}?=>(((

 (

-		lv_qualifiers_17_0=	'ordered' 

+		lv_isResolve_25_0=	'resolve' 

     {

-        newLeafNode(lv_qualifiers_17_0, grammarAccess.getReferenceCSAccess().getQualifiersOrderedKeyword_6_1_0_4_0());

+        newLeafNode(lv_isResolve_25_0, grammarAccess.getReferenceCSAccess().getIsResolveResolveKeyword_6_4_0_0_0());

     }

  

 	    {

 	        if ($current==null) {

 	            $current = createModelElement(grammarAccess.getReferenceCSRule());

 	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_17_0, "ordered");

+       		setWithLastConsumed($current, "isResolve", true, "resolve");

 	    }

 

 )

 )

-    |(

+    |	otherlv_26='!resolve' 

+    {

+    	newLeafNode(otherlv_26, grammarAccess.getReferenceCSAccess().getResolveKeyword_6_4_0_1());

+    }

+)(	otherlv_27=',' 

+    {

+    	newLeafNode(otherlv_27, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_4_1());

+    }

+)?))

+					{ 

+	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6());

+	 				}

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5);

+	 				}

+					({true}?=>(((

 (

-		lv_qualifiers_18_0=	'!ordered' 

+		lv_isTransient_28_0=	'transient' 

     {

-        newLeafNode(lv_qualifiers_18_0, grammarAccess.getReferenceCSAccess().getQualifiersOrderedKeyword_6_1_0_5_0());

+        newLeafNode(lv_isTransient_28_0, grammarAccess.getReferenceCSAccess().getIsTransientTransientKeyword_6_5_0_0_0());

     }

  

 	    {

 	        if ($current==null) {

 	            $current = createModelElement(grammarAccess.getReferenceCSRule());

 	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_18_0, "!ordered");

+       		setWithLastConsumed($current, "isTransient", true, "transient");

 	    }

 

 )

 )

-    |(

+    |	otherlv_29='!transient' 

+    {

+    	newLeafNode(otherlv_29, grammarAccess.getReferenceCSAccess().getTransientKeyword_6_5_0_1());

+    }

+)(	otherlv_30=',' 

+    {

+    	newLeafNode(otherlv_30, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_5_1());

+    }

+)?))

+					{ 

+	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6());

+	 				}

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6);

+	 				}

+					({true}?=>(((

 (

-		lv_qualifiers_19_0=	'readonly' 

+		lv_isNotUnique_31_0=	'!unique' 

     {

-        newLeafNode(lv_qualifiers_19_0, grammarAccess.getReferenceCSAccess().getQualifiersReadonlyKeyword_6_1_0_6_0());

+        newLeafNode(lv_isNotUnique_31_0, grammarAccess.getReferenceCSAccess().getIsNotUniqueUniqueKeyword_6_6_0_0_0());

     }

  

 	    {

 	        if ($current==null) {

 	            $current = createModelElement(grammarAccess.getReferenceCSRule());

 	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_19_0, "readonly");

+       		setWithLastConsumed($current, "isNotUnique", true, "!unique");

 	    }

 

 )

 )

-    |(

+    |	otherlv_32='unique' 

+    {

+    	newLeafNode(otherlv_32, grammarAccess.getReferenceCSAccess().getUniqueKeyword_6_6_0_1());

+    }

+)(	otherlv_33=',' 

+    {

+    	newLeafNode(otherlv_33, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_6_1());

+    }

+)?))

+					{ 

+	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6());

+	 				}

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7);

+	 				}

+					({true}?=>(((

 (

-		lv_qualifiers_20_0=	'!readonly' 

+		lv_isUnsettable_34_0=	'unsettable' 

     {

-        newLeafNode(lv_qualifiers_20_0, grammarAccess.getReferenceCSAccess().getQualifiersReadonlyKeyword_6_1_0_7_0());

+        newLeafNode(lv_isUnsettable_34_0, grammarAccess.getReferenceCSAccess().getIsUnsettableUnsettableKeyword_6_7_0_0_0());

     }

  

 	    {

 	        if ($current==null) {

 	            $current = createModelElement(grammarAccess.getReferenceCSRule());

 	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_20_0, "!readonly");

+       		setWithLastConsumed($current, "isUnsettable", true, "unsettable");

 	    }

 

 )

 )

-    |(

+    |	otherlv_35='!unsettable' 

+    {

+    	newLeafNode(otherlv_35, grammarAccess.getReferenceCSAccess().getUnsettableKeyword_6_7_0_1());

+    }

+)(	otherlv_36=',' 

+    {

+    	newLeafNode(otherlv_36, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_7_1());

+    }

+)?))

+					{ 

+	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6());

+	 				}

+ 				)

+			)  |

+

+			( 

+				{getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8)}?=>(

+					{ 

+	 				  getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8);

+	 				}

+					({true}?=>((((

 (

-		lv_qualifiers_21_0=	'resolve' 

+		lv_isVolatile_37_0=	'volatile' 

     {

-        newLeafNode(lv_qualifiers_21_0, grammarAccess.getReferenceCSAccess().getQualifiersResolveKeyword_6_1_0_8_0());

+        newLeafNode(lv_isVolatile_37_0, grammarAccess.getReferenceCSAccess().getIsVolatileVolatileKeyword_6_8_0_0_0_0());

     }

  

 	    {

 	        if ($current==null) {

 	            $current = createModelElement(grammarAccess.getReferenceCSRule());

 	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_21_0, "resolve");

+       		setWithLastConsumed($current, "isVolatile", true, "volatile");

 	    }

 

 )

 )

-    |(

-(

-		lv_qualifiers_22_0=	'!resolve' 

+    |	otherlv_38='!volatile' 

     {

-        newLeafNode(lv_qualifiers_22_0, grammarAccess.getReferenceCSAccess().getQualifiersResolveKeyword_6_1_0_9_0());

+    	newLeafNode(otherlv_38, grammarAccess.getReferenceCSAccess().getVolatileKeyword_6_8_0_0_1());

     }

- 

-	    {

-	        if ($current==null) {

-	            $current = createModelElement(grammarAccess.getReferenceCSRule());

-	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_22_0, "!resolve");

-	    }

+)(	otherlv_39=',' 

+    {

+    	newLeafNode(otherlv_39, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_8_0_1());

+    }

+)?)?	otherlv_40='}' 

+    {

+    	newLeafNode(otherlv_40, grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_6_8_1());

+    }

+))

+					{ 

+	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6());

+	 				}

+ 				)

+			)  

 

+		)+

+	  	{getUnorderedGroupHelper().canLeave(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6())}?	

+	)

 )

-)

-    |(

-(

-		lv_qualifiers_23_0=	'transient' 

-    {

-        newLeafNode(lv_qualifiers_23_0, grammarAccess.getReferenceCSAccess().getQualifiersTransientKeyword_6_1_0_10_0());

-    }

- 

-	    {

-	        if ($current==null) {

-	            $current = createModelElement(grammarAccess.getReferenceCSRule());

-	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_23_0, "transient");

-	    }

+	{ 

+	  getUnorderedGroupHelper().leave(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6());

+	}

 

-)

-)

-    |(

-(

-		lv_qualifiers_24_0=	'!transient' 

+)?((	otherlv_41='{' 

     {

-        newLeafNode(lv_qualifiers_24_0, grammarAccess.getReferenceCSAccess().getQualifiersTransientKeyword_6_1_0_11_0());

-    }

- 

-	    {

-	        if ($current==null) {

-	            $current = createModelElement(grammarAccess.getReferenceCSRule());

-	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_24_0, "!transient");

-	    }

-

-)

-)

-    |(

-(

-		lv_qualifiers_25_0=	'unique' 

-    {

-        newLeafNode(lv_qualifiers_25_0, grammarAccess.getReferenceCSAccess().getQualifiersUniqueKeyword_6_1_0_12_0());

-    }

- 

-	    {

-	        if ($current==null) {

-	            $current = createModelElement(grammarAccess.getReferenceCSRule());

-	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_25_0, "unique");

-	    }

-

-)

-)

-    |(

-(

-		lv_qualifiers_26_0=	'!unique' 

-    {

-        newLeafNode(lv_qualifiers_26_0, grammarAccess.getReferenceCSAccess().getQualifiersUniqueKeyword_6_1_0_13_0());

-    }

- 

-	    {

-	        if ($current==null) {

-	            $current = createModelElement(grammarAccess.getReferenceCSRule());

-	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_26_0, "!unique");

-	    }

-

-)

-)

-    |(

-(

-		lv_qualifiers_27_0=	'unsettable' 

-    {

-        newLeafNode(lv_qualifiers_27_0, grammarAccess.getReferenceCSAccess().getQualifiersUnsettableKeyword_6_1_0_14_0());

-    }

- 

-	    {

-	        if ($current==null) {

-	            $current = createModelElement(grammarAccess.getReferenceCSRule());

-	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_27_0, "unsettable");

-	    }

-

-)

-)

-    |(

-(

-		lv_qualifiers_28_0=	'!unsettable' 

-    {

-        newLeafNode(lv_qualifiers_28_0, grammarAccess.getReferenceCSAccess().getQualifiersUnsettableKeyword_6_1_0_15_0());

-    }

- 

-	    {

-	        if ($current==null) {

-	            $current = createModelElement(grammarAccess.getReferenceCSRule());

-	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_28_0, "!unsettable");

-	    }

-

-)

-)

-    |(

-(

-		lv_qualifiers_29_0=	'volatile' 

-    {

-        newLeafNode(lv_qualifiers_29_0, grammarAccess.getReferenceCSAccess().getQualifiersVolatileKeyword_6_1_0_16_0());

-    }

- 

-	    {

-	        if ($current==null) {

-	            $current = createModelElement(grammarAccess.getReferenceCSRule());

-	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_29_0, "volatile");

-	    }

-

-)

-)

-    |(

-(

-		lv_qualifiers_30_0=	'!volatile' 

-    {

-        newLeafNode(lv_qualifiers_30_0, grammarAccess.getReferenceCSAccess().getQualifiersVolatileKeyword_6_1_0_17_0());

-    }

- 

-	    {

-	        if ($current==null) {

-	            $current = createModelElement(grammarAccess.getReferenceCSRule());

-	        }

-       		addWithLastConsumed($current, "qualifiers", lv_qualifiers_30_0, "!volatile");

-	    }

-

-)

-))(	otherlv_31=',' 

-    {

-    	newLeafNode(otherlv_31, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_1_1());

-    }

-)?)+	otherlv_32='}' 

-    {

-    	newLeafNode(otherlv_32, grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_6_2());

-    }

-)?((	otherlv_33='{' 

-    {

-    	newLeafNode(otherlv_33, grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_7_0_0());

+    	newLeafNode(otherlv_41, grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_7_0_0());

     }

 ((

 (

 		{ 

 	        newCompositeNode(grammarAccess.getReferenceCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_7_0_1_0_0()); 

 	    }

-		lv_ownedAnnotations_34_0=ruleAnnotationElementCS		{

+		lv_ownedAnnotations_42_0=ruleAnnotationElementCS		{

 	        if ($current==null) {

 	            $current = createModelElementForParent(grammarAccess.getReferenceCSRule());

 	        }

        		add(

        			$current, 

        			"ownedAnnotations",

-        		lv_ownedAnnotations_34_0, 

+        		lv_ownedAnnotations_42_0, 

         		"AnnotationElementCS");

 	        afterParserOrEnumRuleCall();

 	    }

 

 )

 )

-    |(	otherlv_35='key' 

+    |(	otherlv_43='key' 

     {

-    	newLeafNode(otherlv_35, grammarAccess.getReferenceCSAccess().getKeyKeyword_7_0_1_1_0());

+    	newLeafNode(otherlv_43, grammarAccess.getReferenceCSAccess().getKeyKeyword_7_0_1_1_0());

     }

 (

 (

@@ -3897,9 +4128,9 @@
 	    }

 

 )

-)(	otherlv_37=',' 

+)(	otherlv_45=',' 

     {

-    	newLeafNode(otherlv_37, grammarAccess.getReferenceCSAccess().getCommaKeyword_7_0_1_1_2_0());

+    	newLeafNode(otherlv_45, grammarAccess.getReferenceCSAccess().getCommaKeyword_7_0_1_1_2_0());

     }

 (

 (

@@ -3919,14 +4150,14 @@
 	    }

 

 )

-))*	otherlv_39=';' 

+))*	otherlv_47=';' 

     {

-    	newLeafNode(otherlv_39, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_1_3());

+    	newLeafNode(otherlv_47, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_1_3());

     }

 )

-    |(	otherlv_40='derivation' 

+    |(	otherlv_48='derivation' 

     {

-    	newLeafNode(otherlv_40, grammarAccess.getReferenceCSAccess().getDerivationKeyword_7_0_1_2_0());

+    	newLeafNode(otherlv_48, grammarAccess.getReferenceCSAccess().getDerivationKeyword_7_0_1_2_0());

     }

 (

 	{ 

@@ -3939,36 +4170,36 @@
     { 

         afterParserOrEnumRuleCall();

     }

-)?	otherlv_42=':' 

+)?	otherlv_50=':' 

     {

-    	newLeafNode(otherlv_42, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_2_2());

+    	newLeafNode(otherlv_50, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_2_2());

     }

 (

 (

 		{ 

 	        newCompositeNode(grammarAccess.getReferenceCSAccess().getOwnedDefaultExpressionsSpecificationCSParserRuleCall_7_0_1_2_3_0()); 

 	    }

-		lv_ownedDefaultExpressions_43_0=ruleSpecificationCS		{

+		lv_ownedDefaultExpressions_51_0=ruleSpecificationCS		{

 	        if ($current==null) {

 	            $current = createModelElementForParent(grammarAccess.getReferenceCSRule());

 	        }

        		add(

        			$current, 

        			"ownedDefaultExpressions",

-        		lv_ownedDefaultExpressions_43_0, 

+        		lv_ownedDefaultExpressions_51_0, 

         		"SpecificationCS");

 	        afterParserOrEnumRuleCall();

 	    }

 

 )

-)?	otherlv_44=';' 

+)?	otherlv_52=';' 

     {

-    	newLeafNode(otherlv_44, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_2_4());

+    	newLeafNode(otherlv_52, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_2_4());

     }

 )

-    |(	otherlv_45='initial' 

+    |(	otherlv_53='initial' 

     {

-    	newLeafNode(otherlv_45, grammarAccess.getReferenceCSAccess().getInitialKeyword_7_0_1_3_0());

+    	newLeafNode(otherlv_53, grammarAccess.getReferenceCSAccess().getInitialKeyword_7_0_1_3_0());

     }

 (

 	{ 

@@ -3981,43 +4212,46 @@
     { 

         afterParserOrEnumRuleCall();

     }

-)?	otherlv_47=':' 

+)?	otherlv_55=':' 

     {

-    	newLeafNode(otherlv_47, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_3_2());

+    	newLeafNode(otherlv_55, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_3_2());

     }

 (

 (

 		{ 

 	        newCompositeNode(grammarAccess.getReferenceCSAccess().getOwnedDefaultExpressionsSpecificationCSParserRuleCall_7_0_1_3_3_0()); 

 	    }

-		lv_ownedDefaultExpressions_48_0=ruleSpecificationCS		{

+		lv_ownedDefaultExpressions_56_0=ruleSpecificationCS		{

 	        if ($current==null) {

 	            $current = createModelElementForParent(grammarAccess.getReferenceCSRule());

 	        }

        		add(

        			$current, 

        			"ownedDefaultExpressions",

-        		lv_ownedDefaultExpressions_48_0, 

+        		lv_ownedDefaultExpressions_56_0, 

         		"SpecificationCS");

 	        afterParserOrEnumRuleCall();

 	    }

 

 )

-)?	otherlv_49=';' 

+)?	otherlv_57=';' 

     {

-    	newLeafNode(otherlv_49, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_3_4());

+    	newLeafNode(otherlv_57, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_3_4());

     }

-))*	otherlv_50='}' 

+))*	otherlv_58='}' 

     {

-    	newLeafNode(otherlv_50, grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_7_0_2());

+    	newLeafNode(otherlv_58, grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_7_0_2());

     }

 )

-    |	otherlv_51=';' 

+    |	otherlv_59=';' 

     {

-    	newLeafNode(otherlv_51, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_1());

+    	newLeafNode(otherlv_59, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_1());

     }

 ))

 ;

+finally {

+	myUnorderedGroupState.restore();

+}

 

 

 

diff --git a/plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcoreLexer.java b/plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcoreLexer.java
index 16f83b4..4ba1520 100644
--- a/plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcoreLexer.java
+++ b/plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcoreLexer.java
@@ -2620,8 +2620,8 @@
         try {
             int _type = RULE_UNQUOTED_STRING;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9729:22: ( '\\u00A3$%^\\u00A3$%^' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9729:24: '\\u00A3$%^\\u00A3$%^'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9963:22: ( '\\u00A3$%^\\u00A3$%^' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9963:24: '\\u00A3$%^\\u00A3$%^'
             {
             match("\u00A3$%^\u00A3$%^"); 
 
@@ -2639,8 +2639,8 @@
     // $ANTLR start "RULE_ESCAPED_CHARACTER"
     public final void mRULE_ESCAPED_CHARACTER() throws RecognitionException {
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9731:33: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9731:35: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9965:33: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9965:35: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
             {
             match('\\'); 
             if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) {
@@ -2664,8 +2664,8 @@
     // $ANTLR start "RULE_LETTER_CHARACTER"
     public final void mRULE_LETTER_CHARACTER() throws RecognitionException {
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9733:32: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9733:34: ( 'a' .. 'z' | 'A' .. 'Z' | '_' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9967:32: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9967:34: ( 'a' .. 'z' | 'A' .. 'Z' | '_' )
             {
             if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
                 input.consume();
@@ -2690,11 +2690,11 @@
         try {
             int _type = RULE_DOUBLE_QUOTED_STRING;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9735:27: ( '\"' ( RULE_ESCAPED_CHARACTER | ~ ( ( '\\\\' | '\"' ) ) )* '\"' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9735:29: '\"' ( RULE_ESCAPED_CHARACTER | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9969:27: ( '\"' ( RULE_ESCAPED_CHARACTER | ~ ( ( '\\\\' | '\"' ) ) )* '\"' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9969:29: '\"' ( RULE_ESCAPED_CHARACTER | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
             {
             match('\"'); 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9735:33: ( RULE_ESCAPED_CHARACTER | ~ ( ( '\\\\' | '\"' ) ) )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9969:33: ( RULE_ESCAPED_CHARACTER | ~ ( ( '\\\\' | '\"' ) ) )*
             loop1:
             do {
                 int alt1=3;
@@ -2710,14 +2710,14 @@
 
                 switch (alt1) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9735:34: RULE_ESCAPED_CHARACTER
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9969:34: RULE_ESCAPED_CHARACTER
             	    {
             	    mRULE_ESCAPED_CHARACTER(); 
 
             	    }
             	    break;
             	case 2 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9735:57: ~ ( ( '\\\\' | '\"' ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9969:57: ~ ( ( '\\\\' | '\"' ) )
             	    {
             	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
             	        input.consume();
@@ -2754,11 +2754,11 @@
         try {
             int _type = RULE_SINGLE_QUOTED_STRING;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9737:27: ( '\\'' ( RULE_ESCAPED_CHARACTER | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9737:29: '\\'' ( RULE_ESCAPED_CHARACTER | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9971:27: ( '\\'' ( RULE_ESCAPED_CHARACTER | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9971:29: '\\'' ( RULE_ESCAPED_CHARACTER | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
             {
             match('\''); 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9737:34: ( RULE_ESCAPED_CHARACTER | ~ ( ( '\\\\' | '\\'' ) ) )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9971:34: ( RULE_ESCAPED_CHARACTER | ~ ( ( '\\\\' | '\\'' ) ) )*
             loop2:
             do {
                 int alt2=3;
@@ -2774,14 +2774,14 @@
 
                 switch (alt2) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9737:35: RULE_ESCAPED_CHARACTER
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9971:35: RULE_ESCAPED_CHARACTER
             	    {
             	    mRULE_ESCAPED_CHARACTER(); 
 
             	    }
             	    break;
             	case 2 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9737:58: ~ ( ( '\\\\' | '\\'' ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9971:58: ~ ( ( '\\\\' | '\\'' ) )
             	    {
             	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
             	        input.consume();
@@ -2818,12 +2818,12 @@
         try {
             int _type = RULE_ML_SINGLE_QUOTED_STRING;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9739:30: ( '/\\'' ( options {greedy=false; } : . )* '\\'/' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9739:32: '/\\'' ( options {greedy=false; } : . )* '\\'/'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9973:30: ( '/\\'' ( options {greedy=false; } : . )* '\\'/' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9973:32: '/\\'' ( options {greedy=false; } : . )* '\\'/'
             {
             match("/'"); 
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9739:38: ( options {greedy=false; } : . )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9973:38: ( options {greedy=false; } : . )*
             loop3:
             do {
                 int alt3=2;
@@ -2848,7 +2848,7 @@
 
                 switch (alt3) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9739:66: .
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9973:66: .
             	    {
             	    matchAny(); 
 
@@ -2878,11 +2878,11 @@
         try {
             int _type = RULE_SIMPLE_ID;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9741:16: ( RULE_LETTER_CHARACTER ( RULE_LETTER_CHARACTER | '0' .. '9' )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9741:18: RULE_LETTER_CHARACTER ( RULE_LETTER_CHARACTER | '0' .. '9' )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9975:16: ( RULE_LETTER_CHARACTER ( RULE_LETTER_CHARACTER | '0' .. '9' )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9975:18: RULE_LETTER_CHARACTER ( RULE_LETTER_CHARACTER | '0' .. '9' )*
             {
             mRULE_LETTER_CHARACTER(); 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9741:40: ( RULE_LETTER_CHARACTER | '0' .. '9' )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9975:40: ( RULE_LETTER_CHARACTER | '0' .. '9' )*
             loop4:
             do {
                 int alt4=2;
@@ -2931,8 +2931,8 @@
         try {
             int _type = RULE_ESCAPED_ID;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9743:17: ( '_' RULE_SINGLE_QUOTED_STRING )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9743:19: '_' RULE_SINGLE_QUOTED_STRING
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9977:17: ( '_' RULE_SINGLE_QUOTED_STRING )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9977:19: '_' RULE_SINGLE_QUOTED_STRING
             {
             match('_'); 
             mRULE_SINGLE_QUOTED_STRING(); 
@@ -2952,10 +2952,10 @@
         try {
             int _type = RULE_INT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9745:10: ( ( '0' .. '9' )+ )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9745:12: ( '0' .. '9' )+
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9979:10: ( ( '0' .. '9' )+ )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9979:12: ( '0' .. '9' )+
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9745:12: ( '0' .. '9' )+
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9979:12: ( '0' .. '9' )+
             int cnt5=0;
             loop5:
             do {
@@ -2969,7 +2969,7 @@
 
                 switch (alt5) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9745:13: '0' .. '9'
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9979:13: '0' .. '9'
             	    {
             	    matchRange('0','9'); 
 
@@ -3001,12 +3001,12 @@
         try {
             int _type = RULE_ML_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9747:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9747:19: '/*' ( options {greedy=false; } : . )* '*/'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9981:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9981:19: '/*' ( options {greedy=false; } : . )* '*/'
             {
             match("/*"); 
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9747:24: ( options {greedy=false; } : . )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9981:24: ( options {greedy=false; } : . )*
             loop6:
             do {
                 int alt6=2;
@@ -3031,7 +3031,7 @@
 
                 switch (alt6) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9747:52: .
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9981:52: .
             	    {
             	    matchAny(); 
 
@@ -3061,12 +3061,12 @@
         try {
             int _type = RULE_SL_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9749:17: ( '--' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9749:19: '--' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9983:17: ( '--' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9983:19: '--' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
             {
             match("--"); 
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9749:24: (~ ( ( '\\n' | '\\r' ) ) )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9983:24: (~ ( ( '\\n' | '\\r' ) ) )*
             loop7:
             do {
                 int alt7=2;
@@ -3079,7 +3079,7 @@
 
                 switch (alt7) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9749:24: ~ ( ( '\\n' | '\\r' ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9983:24: ~ ( ( '\\n' | '\\r' ) )
             	    {
             	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
             	        input.consume();
@@ -3099,7 +3099,7 @@
                 }
             } while (true);
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9749:40: ( ( '\\r' )? '\\n' )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9983:40: ( ( '\\r' )? '\\n' )?
             int alt9=2;
             int LA9_0 = input.LA(1);
 
@@ -3108,9 +3108,9 @@
             }
             switch (alt9) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9749:41: ( '\\r' )? '\\n'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9983:41: ( '\\r' )? '\\n'
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9749:41: ( '\\r' )?
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9983:41: ( '\\r' )?
                     int alt8=2;
                     int LA8_0 = input.LA(1);
 
@@ -3119,7 +3119,7 @@
                     }
                     switch (alt8) {
                         case 1 :
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9749:41: '\\r'
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9983:41: '\\r'
                             {
                             match('\r'); 
 
@@ -3151,10 +3151,10 @@
         try {
             int _type = RULE_WS;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9751:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9751:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9985:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9985:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9751:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9985:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             int cnt10=0;
             loop10:
             do {
@@ -3208,8 +3208,8 @@
         try {
             int _type = RULE_ANY_OTHER;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9753:16: ( . )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9753:18: .
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9987:16: ( . )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9987:18: .
             {
             matchAny(); 
 
diff --git a/plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcoreParser.java b/plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcoreParser.java
index 27984cd..0f2fa8b 100644
--- a/plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcoreParser.java
+++ b/plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcoreParser.java
@@ -8,6 +8,7 @@
 import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
 import org.eclipse.xtext.parser.antlr.XtextTokenStream;
 import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
+import org.eclipse.xtext.parser.antlr.IUnorderedGroupHelper.UnorderedGroupState;
 import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
 import org.eclipse.ocl.xtext.oclinecore.services.OCLinEcoreGrammarAccess;
 
@@ -201,7 +202,7 @@
 
 
     // $ANTLR start "entryRuleTopLevelCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:73:1: entryRuleTopLevelCS returns [EObject current=null] : iv_ruleTopLevelCS= ruleTopLevelCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:74:1: entryRuleTopLevelCS returns [EObject current=null] : iv_ruleTopLevelCS= ruleTopLevelCS EOF ;
     public final EObject entryRuleTopLevelCS() throws RecognitionException {
         EObject current = null;
 
@@ -209,8 +210,8 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:74:2: (iv_ruleTopLevelCS= ruleTopLevelCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:75:2: iv_ruleTopLevelCS= ruleTopLevelCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:75:2: (iv_ruleTopLevelCS= ruleTopLevelCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:76:2: iv_ruleTopLevelCS= ruleTopLevelCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTopLevelCSRule()); 
@@ -241,7 +242,7 @@
 
 
     // $ANTLR start "ruleTopLevelCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:82:1: ruleTopLevelCS returns [EObject current=null] : ( () (otherlv_1= 'module' ruleUnrestrictedName )? ( (lv_ownedLibraries_3_0= ruleLibraryCS ) )* ( (lv_ownedImports_4_0= ruleImportCS ) )* ( (lv_ownedPackages_5_0= rulePackageCS ) )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:83:1: ruleTopLevelCS returns [EObject current=null] : ( () (otherlv_1= 'module' ruleUnrestrictedName )? ( (lv_ownedLibraries_3_0= ruleLibraryCS ) )* ( (lv_ownedImports_4_0= ruleImportCS ) )* ( (lv_ownedPackages_5_0= rulePackageCS ) )* ) ;
     public final EObject ruleTopLevelCS() throws RecognitionException {
         EObject current = null;
 
@@ -256,14 +257,14 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:85:28: ( ( () (otherlv_1= 'module' ruleUnrestrictedName )? ( (lv_ownedLibraries_3_0= ruleLibraryCS ) )* ( (lv_ownedImports_4_0= ruleImportCS ) )* ( (lv_ownedPackages_5_0= rulePackageCS ) )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:86:1: ( () (otherlv_1= 'module' ruleUnrestrictedName )? ( (lv_ownedLibraries_3_0= ruleLibraryCS ) )* ( (lv_ownedImports_4_0= ruleImportCS ) )* ( (lv_ownedPackages_5_0= rulePackageCS ) )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:86:28: ( ( () (otherlv_1= 'module' ruleUnrestrictedName )? ( (lv_ownedLibraries_3_0= ruleLibraryCS ) )* ( (lv_ownedImports_4_0= ruleImportCS ) )* ( (lv_ownedPackages_5_0= rulePackageCS ) )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:87:1: ( () (otherlv_1= 'module' ruleUnrestrictedName )? ( (lv_ownedLibraries_3_0= ruleLibraryCS ) )* ( (lv_ownedImports_4_0= ruleImportCS ) )* ( (lv_ownedPackages_5_0= rulePackageCS ) )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:86:1: ( () (otherlv_1= 'module' ruleUnrestrictedName )? ( (lv_ownedLibraries_3_0= ruleLibraryCS ) )* ( (lv_ownedImports_4_0= ruleImportCS ) )* ( (lv_ownedPackages_5_0= rulePackageCS ) )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:86:2: () (otherlv_1= 'module' ruleUnrestrictedName )? ( (lv_ownedLibraries_3_0= ruleLibraryCS ) )* ( (lv_ownedImports_4_0= ruleImportCS ) )* ( (lv_ownedPackages_5_0= rulePackageCS ) )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:87:1: ( () (otherlv_1= 'module' ruleUnrestrictedName )? ( (lv_ownedLibraries_3_0= ruleLibraryCS ) )* ( (lv_ownedImports_4_0= ruleImportCS ) )* ( (lv_ownedPackages_5_0= rulePackageCS ) )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:87:2: () (otherlv_1= 'module' ruleUnrestrictedName )? ( (lv_ownedLibraries_3_0= ruleLibraryCS ) )* ( (lv_ownedImports_4_0= ruleImportCS ) )* ( (lv_ownedPackages_5_0= rulePackageCS ) )*
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:86:2: ()
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:87:2: 
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:87:2: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:88:2: 
             {
             if ( state.backtracking==0 ) {
                
@@ -280,7 +281,7 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:95:2: (otherlv_1= 'module' ruleUnrestrictedName )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:96:2: (otherlv_1= 'module' ruleUnrestrictedName )?
             int alt1=2;
             int LA1_0 = input.LA(1);
 
@@ -289,7 +290,7 @@
             }
             switch (alt1) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:95:4: otherlv_1= 'module' ruleUnrestrictedName
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:96:4: otherlv_1= 'module' ruleUnrestrictedName
                     {
                     otherlv_1=(Token)match(input,17,FollowSets000.FOLLOW_17_in_ruleTopLevelCS141); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -323,7 +324,7 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:110:3: ( (lv_ownedLibraries_3_0= ruleLibraryCS ) )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:111:3: ( (lv_ownedLibraries_3_0= ruleLibraryCS ) )*
             loop2:
             do {
                 int alt2=2;
@@ -336,10 +337,10 @@
 
                 switch (alt2) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:111:1: (lv_ownedLibraries_3_0= ruleLibraryCS )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:112:1: (lv_ownedLibraries_3_0= ruleLibraryCS )
             	    {
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:111:1: (lv_ownedLibraries_3_0= ruleLibraryCS )
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:112:3: lv_ownedLibraries_3_0= ruleLibraryCS
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:112:1: (lv_ownedLibraries_3_0= ruleLibraryCS )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:113:3: lv_ownedLibraries_3_0= ruleLibraryCS
             	    {
             	    if ( state.backtracking==0 ) {
             	       
@@ -376,7 +377,7 @@
                 }
             } while (true);
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:128:3: ( (lv_ownedImports_4_0= ruleImportCS ) )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:129:3: ( (lv_ownedImports_4_0= ruleImportCS ) )*
             loop3:
             do {
                 int alt3=2;
@@ -389,10 +390,10 @@
 
                 switch (alt3) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:129:1: (lv_ownedImports_4_0= ruleImportCS )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:130:1: (lv_ownedImports_4_0= ruleImportCS )
             	    {
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:129:1: (lv_ownedImports_4_0= ruleImportCS )
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:130:3: lv_ownedImports_4_0= ruleImportCS
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:130:1: (lv_ownedImports_4_0= ruleImportCS )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:131:3: lv_ownedImports_4_0= ruleImportCS
             	    {
             	    if ( state.backtracking==0 ) {
             	       
@@ -429,7 +430,7 @@
                 }
             } while (true);
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:146:3: ( (lv_ownedPackages_5_0= rulePackageCS ) )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:147:3: ( (lv_ownedPackages_5_0= rulePackageCS ) )*
             loop4:
             do {
                 int alt4=2;
@@ -442,10 +443,10 @@
 
                 switch (alt4) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:147:1: (lv_ownedPackages_5_0= rulePackageCS )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:148:1: (lv_ownedPackages_5_0= rulePackageCS )
             	    {
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:147:1: (lv_ownedPackages_5_0= rulePackageCS )
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:148:3: lv_ownedPackages_5_0= rulePackageCS
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:148:1: (lv_ownedPackages_5_0= rulePackageCS )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:149:3: lv_ownedPackages_5_0= rulePackageCS
             	    {
             	    if ( state.backtracking==0 ) {
             	       
@@ -505,7 +506,7 @@
 
 
     // $ANTLR start "entryRuleSIGNED"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:174:1: entryRuleSIGNED returns [String current=null] : iv_ruleSIGNED= ruleSIGNED EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:175:1: entryRuleSIGNED returns [String current=null] : iv_ruleSIGNED= ruleSIGNED EOF ;
     public final String entryRuleSIGNED() throws RecognitionException {
         String current = null;
 
@@ -513,8 +514,8 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:175:2: (iv_ruleSIGNED= ruleSIGNED EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:176:2: iv_ruleSIGNED= ruleSIGNED EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:176:2: (iv_ruleSIGNED= ruleSIGNED EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:177:2: iv_ruleSIGNED= ruleSIGNED EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getSIGNEDRule()); 
@@ -545,7 +546,7 @@
 
 
     // $ANTLR start "ruleSIGNED"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:183:1: ruleSIGNED returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '-' )? this_INT_1= RULE_INT ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:184:1: ruleSIGNED returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '-' )? this_INT_1= RULE_INT ) ;
     public final AntlrDatatypeRuleToken ruleSIGNED() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -555,13 +556,13 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:186:28: ( ( (kw= '-' )? this_INT_1= RULE_INT ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:187:1: ( (kw= '-' )? this_INT_1= RULE_INT )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:187:28: ( ( (kw= '-' )? this_INT_1= RULE_INT ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:188:1: ( (kw= '-' )? this_INT_1= RULE_INT )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:187:1: ( (kw= '-' )? this_INT_1= RULE_INT )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:187:2: (kw= '-' )? this_INT_1= RULE_INT
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:188:1: ( (kw= '-' )? this_INT_1= RULE_INT )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:188:2: (kw= '-' )? this_INT_1= RULE_INT
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:187:2: (kw= '-' )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:188:2: (kw= '-' )?
             int alt5=2;
             int LA5_0 = input.LA(1);
 
@@ -570,7 +571,7 @@
             }
             switch (alt5) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:188:2: kw= '-'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:189:2: kw= '-'
                     {
                     kw=(Token)match(input,18,FollowSets000.FOLLOW_18_in_ruleSIGNED316); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -619,7 +620,7 @@
 
 
     // $ANTLR start "entryRuleEnumerationLiteralName"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:208:1: entryRuleEnumerationLiteralName returns [String current=null] : iv_ruleEnumerationLiteralName= ruleEnumerationLiteralName EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:209:1: entryRuleEnumerationLiteralName returns [String current=null] : iv_ruleEnumerationLiteralName= ruleEnumerationLiteralName EOF ;
     public final String entryRuleEnumerationLiteralName() throws RecognitionException {
         String current = null;
 
@@ -627,8 +628,8 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:209:2: (iv_ruleEnumerationLiteralName= ruleEnumerationLiteralName EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:210:2: iv_ruleEnumerationLiteralName= ruleEnumerationLiteralName EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:210:2: (iv_ruleEnumerationLiteralName= ruleEnumerationLiteralName EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:211:2: iv_ruleEnumerationLiteralName= ruleEnumerationLiteralName EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getEnumerationLiteralNameRule()); 
@@ -659,7 +660,7 @@
 
 
     // $ANTLR start "ruleEnumerationLiteralName"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:217:1: ruleEnumerationLiteralName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_EssentialOCLUnrestrictedName_0= ruleEssentialOCLUnrestrictedName | kw= 'abstract' | kw= 'attribute' | kw= 'body' | kw= 'callable' | kw= 'class' | kw= 'composes' | kw= 'datatype' | kw= 'definition' | kw= 'derivation' | kw= 'derived' | kw= 'enum' | kw= 'extends' | kw= 'id' | kw= 'import' | kw= 'initial' | kw= 'interface' | kw= 'key' | kw= 'library' | kw= 'module' | kw= 'operation' | kw= 'ordered' | kw= 'package' | kw= 'postcondition' | kw= 'precondition' | kw= 'primitive' | kw= 'property' | kw= 'readonly' | kw= 'reference' | kw= 'resolve' | kw= 'static' | kw= 'super' | kw= 'throws' | kw= 'transient' | kw= 'unique' | kw= 'unsettable' | kw= 'volatile' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:218:1: ruleEnumerationLiteralName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_EssentialOCLUnrestrictedName_0= ruleEssentialOCLUnrestrictedName | kw= 'abstract' | kw= 'attribute' | kw= 'body' | kw= 'callable' | kw= 'class' | kw= 'composes' | kw= 'datatype' | kw= 'definition' | kw= 'derivation' | kw= 'derived' | kw= 'enum' | kw= 'extends' | kw= 'id' | kw= 'import' | kw= 'initial' | kw= 'interface' | kw= 'key' | kw= 'library' | kw= 'module' | kw= 'operation' | kw= 'ordered' | kw= 'package' | kw= 'postcondition' | kw= 'precondition' | kw= 'primitive' | kw= 'property' | kw= 'readonly' | kw= 'reference' | kw= 'resolve' | kw= 'static' | kw= 'super' | kw= 'throws' | kw= 'transient' | kw= 'unique' | kw= 'unsettable' | kw= 'volatile' ) ;
     public final AntlrDatatypeRuleToken ruleEnumerationLiteralName() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -670,10 +671,10 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:220:28: ( (this_EssentialOCLUnrestrictedName_0= ruleEssentialOCLUnrestrictedName | kw= 'abstract' | kw= 'attribute' | kw= 'body' | kw= 'callable' | kw= 'class' | kw= 'composes' | kw= 'datatype' | kw= 'definition' | kw= 'derivation' | kw= 'derived' | kw= 'enum' | kw= 'extends' | kw= 'id' | kw= 'import' | kw= 'initial' | kw= 'interface' | kw= 'key' | kw= 'library' | kw= 'module' | kw= 'operation' | kw= 'ordered' | kw= 'package' | kw= 'postcondition' | kw= 'precondition' | kw= 'primitive' | kw= 'property' | kw= 'readonly' | kw= 'reference' | kw= 'resolve' | kw= 'static' | kw= 'super' | kw= 'throws' | kw= 'transient' | kw= 'unique' | kw= 'unsettable' | kw= 'volatile' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:221:1: (this_EssentialOCLUnrestrictedName_0= ruleEssentialOCLUnrestrictedName | kw= 'abstract' | kw= 'attribute' | kw= 'body' | kw= 'callable' | kw= 'class' | kw= 'composes' | kw= 'datatype' | kw= 'definition' | kw= 'derivation' | kw= 'derived' | kw= 'enum' | kw= 'extends' | kw= 'id' | kw= 'import' | kw= 'initial' | kw= 'interface' | kw= 'key' | kw= 'library' | kw= 'module' | kw= 'operation' | kw= 'ordered' | kw= 'package' | kw= 'postcondition' | kw= 'precondition' | kw= 'primitive' | kw= 'property' | kw= 'readonly' | kw= 'reference' | kw= 'resolve' | kw= 'static' | kw= 'super' | kw= 'throws' | kw= 'transient' | kw= 'unique' | kw= 'unsettable' | kw= 'volatile' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:221:28: ( (this_EssentialOCLUnrestrictedName_0= ruleEssentialOCLUnrestrictedName | kw= 'abstract' | kw= 'attribute' | kw= 'body' | kw= 'callable' | kw= 'class' | kw= 'composes' | kw= 'datatype' | kw= 'definition' | kw= 'derivation' | kw= 'derived' | kw= 'enum' | kw= 'extends' | kw= 'id' | kw= 'import' | kw= 'initial' | kw= 'interface' | kw= 'key' | kw= 'library' | kw= 'module' | kw= 'operation' | kw= 'ordered' | kw= 'package' | kw= 'postcondition' | kw= 'precondition' | kw= 'primitive' | kw= 'property' | kw= 'readonly' | kw= 'reference' | kw= 'resolve' | kw= 'static' | kw= 'super' | kw= 'throws' | kw= 'transient' | kw= 'unique' | kw= 'unsettable' | kw= 'volatile' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:222:1: (this_EssentialOCLUnrestrictedName_0= ruleEssentialOCLUnrestrictedName | kw= 'abstract' | kw= 'attribute' | kw= 'body' | kw= 'callable' | kw= 'class' | kw= 'composes' | kw= 'datatype' | kw= 'definition' | kw= 'derivation' | kw= 'derived' | kw= 'enum' | kw= 'extends' | kw= 'id' | kw= 'import' | kw= 'initial' | kw= 'interface' | kw= 'key' | kw= 'library' | kw= 'module' | kw= 'operation' | kw= 'ordered' | kw= 'package' | kw= 'postcondition' | kw= 'precondition' | kw= 'primitive' | kw= 'property' | kw= 'readonly' | kw= 'reference' | kw= 'resolve' | kw= 'static' | kw= 'super' | kw= 'throws' | kw= 'transient' | kw= 'unique' | kw= 'unsettable' | kw= 'volatile' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:221:1: (this_EssentialOCLUnrestrictedName_0= ruleEssentialOCLUnrestrictedName | kw= 'abstract' | kw= 'attribute' | kw= 'body' | kw= 'callable' | kw= 'class' | kw= 'composes' | kw= 'datatype' | kw= 'definition' | kw= 'derivation' | kw= 'derived' | kw= 'enum' | kw= 'extends' | kw= 'id' | kw= 'import' | kw= 'initial' | kw= 'interface' | kw= 'key' | kw= 'library' | kw= 'module' | kw= 'operation' | kw= 'ordered' | kw= 'package' | kw= 'postcondition' | kw= 'precondition' | kw= 'primitive' | kw= 'property' | kw= 'readonly' | kw= 'reference' | kw= 'resolve' | kw= 'static' | kw= 'super' | kw= 'throws' | kw= 'transient' | kw= 'unique' | kw= 'unsettable' | kw= 'volatile' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:222:1: (this_EssentialOCLUnrestrictedName_0= ruleEssentialOCLUnrestrictedName | kw= 'abstract' | kw= 'attribute' | kw= 'body' | kw= 'callable' | kw= 'class' | kw= 'composes' | kw= 'datatype' | kw= 'definition' | kw= 'derivation' | kw= 'derived' | kw= 'enum' | kw= 'extends' | kw= 'id' | kw= 'import' | kw= 'initial' | kw= 'interface' | kw= 'key' | kw= 'library' | kw= 'module' | kw= 'operation' | kw= 'ordered' | kw= 'package' | kw= 'postcondition' | kw= 'precondition' | kw= 'primitive' | kw= 'property' | kw= 'readonly' | kw= 'reference' | kw= 'resolve' | kw= 'static' | kw= 'super' | kw= 'throws' | kw= 'transient' | kw= 'unique' | kw= 'unsettable' | kw= 'volatile' )
             int alt6=37;
             switch ( input.LA(1) ) {
             case RULE_SIMPLE_ID:
@@ -872,7 +873,7 @@
 
             switch (alt6) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:222:5: this_EssentialOCLUnrestrictedName_0= ruleEssentialOCLUnrestrictedName
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:223:5: this_EssentialOCLUnrestrictedName_0= ruleEssentialOCLUnrestrictedName
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -898,7 +899,7 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:234:2: kw= 'abstract'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:235:2: kw= 'abstract'
                     {
                     kw=(Token)match(input,19,FollowSets000.FOLLOW_19_in_ruleEnumerationLiteralName461); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -911,7 +912,7 @@
                     }
                     break;
                 case 3 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:241:2: kw= 'attribute'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:242:2: kw= 'attribute'
                     {
                     kw=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleEnumerationLiteralName480); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -924,7 +925,7 @@
                     }
                     break;
                 case 4 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:248:2: kw= 'body'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:249:2: kw= 'body'
                     {
                     kw=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleEnumerationLiteralName499); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -937,7 +938,7 @@
                     }
                     break;
                 case 5 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:255:2: kw= 'callable'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:256:2: kw= 'callable'
                     {
                     kw=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleEnumerationLiteralName518); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -950,7 +951,7 @@
                     }
                     break;
                 case 6 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:262:2: kw= 'class'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:263:2: kw= 'class'
                     {
                     kw=(Token)match(input,23,FollowSets000.FOLLOW_23_in_ruleEnumerationLiteralName537); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -963,7 +964,7 @@
                     }
                     break;
                 case 7 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:269:2: kw= 'composes'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:270:2: kw= 'composes'
                     {
                     kw=(Token)match(input,24,FollowSets000.FOLLOW_24_in_ruleEnumerationLiteralName556); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -976,7 +977,7 @@
                     }
                     break;
                 case 8 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:276:2: kw= 'datatype'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:277:2: kw= 'datatype'
                     {
                     kw=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleEnumerationLiteralName575); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -989,7 +990,7 @@
                     }
                     break;
                 case 9 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:283:2: kw= 'definition'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:284:2: kw= 'definition'
                     {
                     kw=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleEnumerationLiteralName594); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -1002,7 +1003,7 @@
                     }
                     break;
                 case 10 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:290:2: kw= 'derivation'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:291:2: kw= 'derivation'
                     {
                     kw=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleEnumerationLiteralName613); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -1015,7 +1016,7 @@
                     }
                     break;
                 case 11 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:297:2: kw= 'derived'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:298:2: kw= 'derived'
                     {
                     kw=(Token)match(input,28,FollowSets000.FOLLOW_28_in_ruleEnumerationLiteralName632); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -1028,7 +1029,7 @@
                     }
                     break;
                 case 12 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:304:2: kw= 'enum'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:305:2: kw= 'enum'
                     {
                     kw=(Token)match(input,29,FollowSets000.FOLLOW_29_in_ruleEnumerationLiteralName651); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -1041,7 +1042,7 @@
                     }
                     break;
                 case 13 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:311:2: kw= 'extends'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:312:2: kw= 'extends'
                     {
                     kw=(Token)match(input,30,FollowSets000.FOLLOW_30_in_ruleEnumerationLiteralName670); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -1054,7 +1055,7 @@
                     }
                     break;
                 case 14 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:318:2: kw= 'id'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:319:2: kw= 'id'
                     {
                     kw=(Token)match(input,31,FollowSets000.FOLLOW_31_in_ruleEnumerationLiteralName689); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -1067,7 +1068,7 @@
                     }
                     break;
                 case 15 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:325:2: kw= 'import'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:326:2: kw= 'import'
                     {
                     kw=(Token)match(input,32,FollowSets000.FOLLOW_32_in_ruleEnumerationLiteralName708); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -1080,7 +1081,7 @@
                     }
                     break;
                 case 16 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:332:2: kw= 'initial'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:333:2: kw= 'initial'
                     {
                     kw=(Token)match(input,33,FollowSets000.FOLLOW_33_in_ruleEnumerationLiteralName727); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -1093,7 +1094,7 @@
                     }
                     break;
                 case 17 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:339:2: kw= 'interface'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:340:2: kw= 'interface'
                     {
                     kw=(Token)match(input,34,FollowSets000.FOLLOW_34_in_ruleEnumerationLiteralName746); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -1106,7 +1107,7 @@
                     }
                     break;
                 case 18 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:346:2: kw= 'key'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:347:2: kw= 'key'
                     {
                     kw=(Token)match(input,35,FollowSets000.FOLLOW_35_in_ruleEnumerationLiteralName765); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -1119,7 +1120,7 @@
                     }
                     break;
                 case 19 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:353:2: kw= 'library'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:354:2: kw= 'library'
                     {
                     kw=(Token)match(input,36,FollowSets000.FOLLOW_36_in_ruleEnumerationLiteralName784); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -1132,7 +1133,7 @@
                     }
                     break;
                 case 20 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:360:2: kw= 'module'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:361:2: kw= 'module'
                     {
                     kw=(Token)match(input,17,FollowSets000.FOLLOW_17_in_ruleEnumerationLiteralName803); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -1145,7 +1146,7 @@
                     }
                     break;
                 case 21 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:367:2: kw= 'operation'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:368:2: kw= 'operation'
                     {
                     kw=(Token)match(input,37,FollowSets000.FOLLOW_37_in_ruleEnumerationLiteralName822); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -1158,7 +1159,7 @@
                     }
                     break;
                 case 22 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:374:2: kw= 'ordered'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:375:2: kw= 'ordered'
                     {
                     kw=(Token)match(input,38,FollowSets000.FOLLOW_38_in_ruleEnumerationLiteralName841); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -1171,7 +1172,7 @@
                     }
                     break;
                 case 23 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:381:2: kw= 'package'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:382:2: kw= 'package'
                     {
                     kw=(Token)match(input,39,FollowSets000.FOLLOW_39_in_ruleEnumerationLiteralName860); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -1184,7 +1185,7 @@
                     }
                     break;
                 case 24 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:388:2: kw= 'postcondition'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:389:2: kw= 'postcondition'
                     {
                     kw=(Token)match(input,40,FollowSets000.FOLLOW_40_in_ruleEnumerationLiteralName879); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -1197,7 +1198,7 @@
                     }
                     break;
                 case 25 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:395:2: kw= 'precondition'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:396:2: kw= 'precondition'
                     {
                     kw=(Token)match(input,41,FollowSets000.FOLLOW_41_in_ruleEnumerationLiteralName898); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -1210,7 +1211,7 @@
                     }
                     break;
                 case 26 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:402:2: kw= 'primitive'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:403:2: kw= 'primitive'
                     {
                     kw=(Token)match(input,42,FollowSets000.FOLLOW_42_in_ruleEnumerationLiteralName917); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -1223,7 +1224,7 @@
                     }
                     break;
                 case 27 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:409:2: kw= 'property'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:410:2: kw= 'property'
                     {
                     kw=(Token)match(input,43,FollowSets000.FOLLOW_43_in_ruleEnumerationLiteralName936); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -1236,7 +1237,7 @@
                     }
                     break;
                 case 28 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:416:2: kw= 'readonly'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:417:2: kw= 'readonly'
                     {
                     kw=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleEnumerationLiteralName955); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -1249,7 +1250,7 @@
                     }
                     break;
                 case 29 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:423:2: kw= 'reference'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:424:2: kw= 'reference'
                     {
                     kw=(Token)match(input,45,FollowSets000.FOLLOW_45_in_ruleEnumerationLiteralName974); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -1262,7 +1263,7 @@
                     }
                     break;
                 case 30 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:430:2: kw= 'resolve'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:431:2: kw= 'resolve'
                     {
                     kw=(Token)match(input,46,FollowSets000.FOLLOW_46_in_ruleEnumerationLiteralName993); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -1275,7 +1276,7 @@
                     }
                     break;
                 case 31 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:437:2: kw= 'static'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:438:2: kw= 'static'
                     {
                     kw=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleEnumerationLiteralName1012); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -1288,7 +1289,7 @@
                     }
                     break;
                 case 32 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:444:2: kw= 'super'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:445:2: kw= 'super'
                     {
                     kw=(Token)match(input,48,FollowSets000.FOLLOW_48_in_ruleEnumerationLiteralName1031); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -1301,7 +1302,7 @@
                     }
                     break;
                 case 33 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:451:2: kw= 'throws'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:452:2: kw= 'throws'
                     {
                     kw=(Token)match(input,49,FollowSets000.FOLLOW_49_in_ruleEnumerationLiteralName1050); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -1314,7 +1315,7 @@
                     }
                     break;
                 case 34 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:458:2: kw= 'transient'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:459:2: kw= 'transient'
                     {
                     kw=(Token)match(input,50,FollowSets000.FOLLOW_50_in_ruleEnumerationLiteralName1069); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -1327,7 +1328,7 @@
                     }
                     break;
                 case 35 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:465:2: kw= 'unique'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:466:2: kw= 'unique'
                     {
                     kw=(Token)match(input,51,FollowSets000.FOLLOW_51_in_ruleEnumerationLiteralName1088); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -1340,7 +1341,7 @@
                     }
                     break;
                 case 36 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:472:2: kw= 'unsettable'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:473:2: kw= 'unsettable'
                     {
                     kw=(Token)match(input,52,FollowSets000.FOLLOW_52_in_ruleEnumerationLiteralName1107); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -1353,7 +1354,7 @@
                     }
                     break;
                 case 37 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:479:2: kw= 'volatile'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:480:2: kw= 'volatile'
                     {
                     kw=(Token)match(input,53,FollowSets000.FOLLOW_53_in_ruleEnumerationLiteralName1126); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -1388,7 +1389,7 @@
 
 
     // $ANTLR start "entryRuleInvariantConstraintCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:492:1: entryRuleInvariantConstraintCS returns [EObject current=null] : iv_ruleInvariantConstraintCS= ruleInvariantConstraintCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:493:1: entryRuleInvariantConstraintCS returns [EObject current=null] : iv_ruleInvariantConstraintCS= ruleInvariantConstraintCS EOF ;
     public final EObject entryRuleInvariantConstraintCS() throws RecognitionException {
         EObject current = null;
 
@@ -1396,8 +1397,8 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:493:2: (iv_ruleInvariantConstraintCS= ruleInvariantConstraintCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:494:2: iv_ruleInvariantConstraintCS= ruleInvariantConstraintCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:494:2: (iv_ruleInvariantConstraintCS= ruleInvariantConstraintCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:495:2: iv_ruleInvariantConstraintCS= ruleInvariantConstraintCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getInvariantConstraintCSRule()); 
@@ -1428,7 +1429,7 @@
 
 
     // $ANTLR start "ruleInvariantConstraintCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:501:1: ruleInvariantConstraintCS returns [EObject current=null] : ( ( (lv_isCallable_0_0= 'callable' ) )? ( (lv_stereotype_1_0= 'invariant' ) ) ( ( (lv_name_2_0= ruleUnrestrictedName ) ) (otherlv_3= '(' ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) ) otherlv_5= ')' )? )? ( (otherlv_6= ':' ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )? otherlv_8= ';' ) | otherlv_9= ';' ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:502:1: ruleInvariantConstraintCS returns [EObject current=null] : ( ( (lv_isCallable_0_0= 'callable' ) )? ( (lv_stereotype_1_0= 'invariant' ) ) ( ( (lv_name_2_0= ruleUnrestrictedName ) ) (otherlv_3= '(' ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) ) otherlv_5= ')' )? )? ( (otherlv_6= ':' ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )? otherlv_8= ';' ) | otherlv_9= ';' ) ) ;
     public final EObject ruleInvariantConstraintCS() throws RecognitionException {
         EObject current = null;
 
@@ -1449,13 +1450,13 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:504:28: ( ( ( (lv_isCallable_0_0= 'callable' ) )? ( (lv_stereotype_1_0= 'invariant' ) ) ( ( (lv_name_2_0= ruleUnrestrictedName ) ) (otherlv_3= '(' ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) ) otherlv_5= ')' )? )? ( (otherlv_6= ':' ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )? otherlv_8= ';' ) | otherlv_9= ';' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:505:1: ( ( (lv_isCallable_0_0= 'callable' ) )? ( (lv_stereotype_1_0= 'invariant' ) ) ( ( (lv_name_2_0= ruleUnrestrictedName ) ) (otherlv_3= '(' ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) ) otherlv_5= ')' )? )? ( (otherlv_6= ':' ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )? otherlv_8= ';' ) | otherlv_9= ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:505:28: ( ( ( (lv_isCallable_0_0= 'callable' ) )? ( (lv_stereotype_1_0= 'invariant' ) ) ( ( (lv_name_2_0= ruleUnrestrictedName ) ) (otherlv_3= '(' ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) ) otherlv_5= ')' )? )? ( (otherlv_6= ':' ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )? otherlv_8= ';' ) | otherlv_9= ';' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:506:1: ( ( (lv_isCallable_0_0= 'callable' ) )? ( (lv_stereotype_1_0= 'invariant' ) ) ( ( (lv_name_2_0= ruleUnrestrictedName ) ) (otherlv_3= '(' ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) ) otherlv_5= ')' )? )? ( (otherlv_6= ':' ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )? otherlv_8= ';' ) | otherlv_9= ';' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:505:1: ( ( (lv_isCallable_0_0= 'callable' ) )? ( (lv_stereotype_1_0= 'invariant' ) ) ( ( (lv_name_2_0= ruleUnrestrictedName ) ) (otherlv_3= '(' ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) ) otherlv_5= ')' )? )? ( (otherlv_6= ':' ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )? otherlv_8= ';' ) | otherlv_9= ';' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:505:2: ( (lv_isCallable_0_0= 'callable' ) )? ( (lv_stereotype_1_0= 'invariant' ) ) ( ( (lv_name_2_0= ruleUnrestrictedName ) ) (otherlv_3= '(' ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) ) otherlv_5= ')' )? )? ( (otherlv_6= ':' ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )? otherlv_8= ';' ) | otherlv_9= ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:506:1: ( ( (lv_isCallable_0_0= 'callable' ) )? ( (lv_stereotype_1_0= 'invariant' ) ) ( ( (lv_name_2_0= ruleUnrestrictedName ) ) (otherlv_3= '(' ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) ) otherlv_5= ')' )? )? ( (otherlv_6= ':' ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )? otherlv_8= ';' ) | otherlv_9= ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:506:2: ( (lv_isCallable_0_0= 'callable' ) )? ( (lv_stereotype_1_0= 'invariant' ) ) ( ( (lv_name_2_0= ruleUnrestrictedName ) ) (otherlv_3= '(' ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) ) otherlv_5= ')' )? )? ( (otherlv_6= ':' ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )? otherlv_8= ';' ) | otherlv_9= ';' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:505:2: ( (lv_isCallable_0_0= 'callable' ) )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:506:2: ( (lv_isCallable_0_0= 'callable' ) )?
             int alt7=2;
             int LA7_0 = input.LA(1);
 
@@ -1464,10 +1465,10 @@
             }
             switch (alt7) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:506:1: (lv_isCallable_0_0= 'callable' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:507:1: (lv_isCallable_0_0= 'callable' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:506:1: (lv_isCallable_0_0= 'callable' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:507:3: lv_isCallable_0_0= 'callable'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:507:1: (lv_isCallable_0_0= 'callable' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:508:3: lv_isCallable_0_0= 'callable'
                     {
                     lv_isCallable_0_0=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleInvariantConstraintCS1219); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -1492,11 +1493,11 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:520:3: ( (lv_stereotype_1_0= 'invariant' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:521:1: (lv_stereotype_1_0= 'invariant' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:521:3: ( (lv_stereotype_1_0= 'invariant' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:522:1: (lv_stereotype_1_0= 'invariant' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:521:1: (lv_stereotype_1_0= 'invariant' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:522:3: lv_stereotype_1_0= 'invariant'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:522:1: (lv_stereotype_1_0= 'invariant' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:523:3: lv_stereotype_1_0= 'invariant'
             {
             lv_stereotype_1_0=(Token)match(input,54,FollowSets000.FOLLOW_54_in_ruleInvariantConstraintCS1251); if (state.failed) return current;
             if ( state.backtracking==0 ) {
@@ -1518,7 +1519,7 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:535:2: ( ( (lv_name_2_0= ruleUnrestrictedName ) ) (otherlv_3= '(' ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) ) otherlv_5= ')' )? )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:536:2: ( ( (lv_name_2_0= ruleUnrestrictedName ) ) (otherlv_3= '(' ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) ) otherlv_5= ')' )? )?
             int alt9=2;
             int LA9_0 = input.LA(1);
 
@@ -1527,13 +1528,13 @@
             }
             switch (alt9) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:535:3: ( (lv_name_2_0= ruleUnrestrictedName ) ) (otherlv_3= '(' ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) ) otherlv_5= ')' )?
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:536:3: ( (lv_name_2_0= ruleUnrestrictedName ) ) (otherlv_3= '(' ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) ) otherlv_5= ')' )?
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:535:3: ( (lv_name_2_0= ruleUnrestrictedName ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:536:1: (lv_name_2_0= ruleUnrestrictedName )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:536:3: ( (lv_name_2_0= ruleUnrestrictedName ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:537:1: (lv_name_2_0= ruleUnrestrictedName )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:536:1: (lv_name_2_0= ruleUnrestrictedName )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:537:3: lv_name_2_0= ruleUnrestrictedName
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:537:1: (lv_name_2_0= ruleUnrestrictedName )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:538:3: lv_name_2_0= ruleUnrestrictedName
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -1564,7 +1565,7 @@
 
                     }
 
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:553:2: (otherlv_3= '(' ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) ) otherlv_5= ')' )?
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:554:2: (otherlv_3= '(' ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) ) otherlv_5= ')' )?
                     int alt8=2;
                     int LA8_0 = input.LA(1);
 
@@ -1573,7 +1574,7 @@
                     }
                     switch (alt8) {
                         case 1 :
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:553:4: otherlv_3= '(' ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) ) otherlv_5= ')'
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:554:4: otherlv_3= '(' ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) ) otherlv_5= ')'
                             {
                             otherlv_3=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleInvariantConstraintCS1299); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
@@ -1581,11 +1582,11 @@
                                   	newLeafNode(otherlv_3, grammarAccess.getInvariantConstraintCSAccess().getLeftParenthesisKeyword_2_1_0());
                                   
                             }
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:557:1: ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:558:1: (lv_ownedMessageSpecification_4_0= ruleSpecificationCS )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:558:1: ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:559:1: (lv_ownedMessageSpecification_4_0= ruleSpecificationCS )
                             {
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:558:1: (lv_ownedMessageSpecification_4_0= ruleSpecificationCS )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:559:3: lv_ownedMessageSpecification_4_0= ruleSpecificationCS
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:559:1: (lv_ownedMessageSpecification_4_0= ruleSpecificationCS )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:560:3: lv_ownedMessageSpecification_4_0= ruleSpecificationCS
                             {
                             if ( state.backtracking==0 ) {
                                
@@ -1634,7 +1635,7 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:579:5: ( (otherlv_6= ':' ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )? otherlv_8= ';' ) | otherlv_9= ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:580:5: ( (otherlv_6= ':' ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )? otherlv_8= ';' ) | otherlv_9= ';' )
             int alt11=2;
             int LA11_0 = input.LA(1);
 
@@ -1653,10 +1654,10 @@
             }
             switch (alt11) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:579:6: (otherlv_6= ':' ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )? otherlv_8= ';' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:580:6: (otherlv_6= ':' ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )? otherlv_8= ';' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:579:6: (otherlv_6= ':' ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )? otherlv_8= ';' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:579:8: otherlv_6= ':' ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )? otherlv_8= ';'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:580:6: (otherlv_6= ':' ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )? otherlv_8= ';' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:580:8: otherlv_6= ':' ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )? otherlv_8= ';'
                     {
                     otherlv_6=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleInvariantConstraintCS1350); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -1664,7 +1665,7 @@
                           	newLeafNode(otherlv_6, grammarAccess.getInvariantConstraintCSAccess().getColonKeyword_3_0_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:583:1: ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )?
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:584:1: ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )?
                     int alt10=2;
                     int LA10_0 = input.LA(1);
 
@@ -1673,10 +1674,10 @@
                     }
                     switch (alt10) {
                         case 1 :
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:584:1: (lv_ownedSpecification_7_0= ruleSpecificationCS )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:585:1: (lv_ownedSpecification_7_0= ruleSpecificationCS )
                             {
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:584:1: (lv_ownedSpecification_7_0= ruleSpecificationCS )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:585:3: lv_ownedSpecification_7_0= ruleSpecificationCS
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:585:1: (lv_ownedSpecification_7_0= ruleSpecificationCS )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:586:3: lv_ownedSpecification_7_0= ruleSpecificationCS
                             {
                             if ( state.backtracking==0 ) {
                                
@@ -1723,7 +1724,7 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:606:7: otherlv_9= ';'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:607:7: otherlv_9= ';'
                     {
                     otherlv_9=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleInvariantConstraintCS1403); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -1760,7 +1761,7 @@
 
 
     // $ANTLR start "entryRulePostconditionConstraintCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:618:1: entryRulePostconditionConstraintCS returns [EObject current=null] : iv_rulePostconditionConstraintCS= rulePostconditionConstraintCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:619:1: entryRulePostconditionConstraintCS returns [EObject current=null] : iv_rulePostconditionConstraintCS= rulePostconditionConstraintCS EOF ;
     public final EObject entryRulePostconditionConstraintCS() throws RecognitionException {
         EObject current = null;
 
@@ -1768,8 +1769,8 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:619:2: (iv_rulePostconditionConstraintCS= rulePostconditionConstraintCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:620:2: iv_rulePostconditionConstraintCS= rulePostconditionConstraintCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:620:2: (iv_rulePostconditionConstraintCS= rulePostconditionConstraintCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:621:2: iv_rulePostconditionConstraintCS= rulePostconditionConstraintCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getPostconditionConstraintCSRule()); 
@@ -1800,7 +1801,7 @@
 
 
     // $ANTLR start "rulePostconditionConstraintCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:627:1: rulePostconditionConstraintCS returns [EObject current=null] : ( ( (lv_stereotype_0_0= 'postcondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:628:1: rulePostconditionConstraintCS returns [EObject current=null] : ( ( (lv_stereotype_0_0= 'postcondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';' ) ;
     public final EObject rulePostconditionConstraintCS() throws RecognitionException {
         EObject current = null;
 
@@ -1819,17 +1820,17 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:630:28: ( ( ( (lv_stereotype_0_0= 'postcondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:631:1: ( ( (lv_stereotype_0_0= 'postcondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:631:28: ( ( ( (lv_stereotype_0_0= 'postcondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:632:1: ( ( (lv_stereotype_0_0= 'postcondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:631:1: ( ( (lv_stereotype_0_0= 'postcondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:631:2: ( (lv_stereotype_0_0= 'postcondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:632:1: ( ( (lv_stereotype_0_0= 'postcondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:632:2: ( (lv_stereotype_0_0= 'postcondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';'
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:631:2: ( (lv_stereotype_0_0= 'postcondition' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:632:1: (lv_stereotype_0_0= 'postcondition' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:632:2: ( (lv_stereotype_0_0= 'postcondition' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:633:1: (lv_stereotype_0_0= 'postcondition' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:632:1: (lv_stereotype_0_0= 'postcondition' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:633:3: lv_stereotype_0_0= 'postcondition'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:633:1: (lv_stereotype_0_0= 'postcondition' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:634:3: lv_stereotype_0_0= 'postcondition'
             {
             lv_stereotype_0_0=(Token)match(input,40,FollowSets000.FOLLOW_40_in_rulePostconditionConstraintCS1493); if (state.failed) return current;
             if ( state.backtracking==0 ) {
@@ -1851,7 +1852,7 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:646:2: ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:647:2: ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )?
             int alt13=2;
             int LA13_0 = input.LA(1);
 
@@ -1860,13 +1861,13 @@
             }
             switch (alt13) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:646:3: ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )?
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:647:3: ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )?
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:646:3: ( (lv_name_1_0= ruleUnrestrictedName ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:647:1: (lv_name_1_0= ruleUnrestrictedName )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:647:3: ( (lv_name_1_0= ruleUnrestrictedName ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:648:1: (lv_name_1_0= ruleUnrestrictedName )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:647:1: (lv_name_1_0= ruleUnrestrictedName )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:648:3: lv_name_1_0= ruleUnrestrictedName
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:648:1: (lv_name_1_0= ruleUnrestrictedName )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:649:3: lv_name_1_0= ruleUnrestrictedName
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -1897,7 +1898,7 @@
 
                     }
 
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:664:2: (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )?
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:665:2: (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )?
                     int alt12=2;
                     int LA12_0 = input.LA(1);
 
@@ -1906,7 +1907,7 @@
                     }
                     switch (alt12) {
                         case 1 :
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:664:4: otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')'
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:665:4: otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')'
                             {
                             otherlv_2=(Token)match(input,55,FollowSets000.FOLLOW_55_in_rulePostconditionConstraintCS1541); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
@@ -1914,11 +1915,11 @@
                                   	newLeafNode(otherlv_2, grammarAccess.getPostconditionConstraintCSAccess().getLeftParenthesisKeyword_1_1_0());
                                   
                             }
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:668:1: ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:669:1: (lv_ownedMessageSpecification_3_0= ruleSpecificationCS )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:669:1: ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:670:1: (lv_ownedMessageSpecification_3_0= ruleSpecificationCS )
                             {
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:669:1: (lv_ownedMessageSpecification_3_0= ruleSpecificationCS )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:670:3: lv_ownedMessageSpecification_3_0= ruleSpecificationCS
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:670:1: (lv_ownedMessageSpecification_3_0= ruleSpecificationCS )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:671:3: lv_ownedMessageSpecification_3_0= ruleSpecificationCS
                             {
                             if ( state.backtracking==0 ) {
                                
@@ -1973,7 +1974,7 @@
                   	newLeafNode(otherlv_5, grammarAccess.getPostconditionConstraintCSAccess().getColonKeyword_2());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:694:1: ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:695:1: ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )?
             int alt14=2;
             int LA14_0 = input.LA(1);
 
@@ -1982,10 +1983,10 @@
             }
             switch (alt14) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:695:1: (lv_ownedSpecification_6_0= ruleSpecificationCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:696:1: (lv_ownedSpecification_6_0= ruleSpecificationCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:695:1: (lv_ownedSpecification_6_0= ruleSpecificationCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:696:3: lv_ownedSpecification_6_0= ruleSpecificationCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:696:1: (lv_ownedSpecification_6_0= ruleSpecificationCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:697:3: lv_ownedSpecification_6_0= ruleSpecificationCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -2048,7 +2049,7 @@
 
 
     // $ANTLR start "entryRulePreconditionConstraintCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:724:1: entryRulePreconditionConstraintCS returns [EObject current=null] : iv_rulePreconditionConstraintCS= rulePreconditionConstraintCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:725:1: entryRulePreconditionConstraintCS returns [EObject current=null] : iv_rulePreconditionConstraintCS= rulePreconditionConstraintCS EOF ;
     public final EObject entryRulePreconditionConstraintCS() throws RecognitionException {
         EObject current = null;
 
@@ -2056,8 +2057,8 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:725:2: (iv_rulePreconditionConstraintCS= rulePreconditionConstraintCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:726:2: iv_rulePreconditionConstraintCS= rulePreconditionConstraintCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:726:2: (iv_rulePreconditionConstraintCS= rulePreconditionConstraintCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:727:2: iv_rulePreconditionConstraintCS= rulePreconditionConstraintCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getPreconditionConstraintCSRule()); 
@@ -2088,7 +2089,7 @@
 
 
     // $ANTLR start "rulePreconditionConstraintCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:733:1: rulePreconditionConstraintCS returns [EObject current=null] : ( ( (lv_stereotype_0_0= 'precondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:734:1: rulePreconditionConstraintCS returns [EObject current=null] : ( ( (lv_stereotype_0_0= 'precondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';' ) ;
     public final EObject rulePreconditionConstraintCS() throws RecognitionException {
         EObject current = null;
 
@@ -2107,17 +2108,17 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:736:28: ( ( ( (lv_stereotype_0_0= 'precondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:737:1: ( ( (lv_stereotype_0_0= 'precondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:737:28: ( ( ( (lv_stereotype_0_0= 'precondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:738:1: ( ( (lv_stereotype_0_0= 'precondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:737:1: ( ( (lv_stereotype_0_0= 'precondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:737:2: ( (lv_stereotype_0_0= 'precondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:738:1: ( ( (lv_stereotype_0_0= 'precondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:738:2: ( (lv_stereotype_0_0= 'precondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';'
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:737:2: ( (lv_stereotype_0_0= 'precondition' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:738:1: (lv_stereotype_0_0= 'precondition' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:738:2: ( (lv_stereotype_0_0= 'precondition' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:739:1: (lv_stereotype_0_0= 'precondition' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:738:1: (lv_stereotype_0_0= 'precondition' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:739:3: lv_stereotype_0_0= 'precondition'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:739:1: (lv_stereotype_0_0= 'precondition' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:740:3: lv_stereotype_0_0= 'precondition'
             {
             lv_stereotype_0_0=(Token)match(input,41,FollowSets000.FOLLOW_41_in_rulePreconditionConstraintCS1713); if (state.failed) return current;
             if ( state.backtracking==0 ) {
@@ -2139,7 +2140,7 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:752:2: ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:753:2: ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )?
             int alt16=2;
             int LA16_0 = input.LA(1);
 
@@ -2148,13 +2149,13 @@
             }
             switch (alt16) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:752:3: ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )?
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:753:3: ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )?
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:752:3: ( (lv_name_1_0= ruleUnrestrictedName ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:753:1: (lv_name_1_0= ruleUnrestrictedName )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:753:3: ( (lv_name_1_0= ruleUnrestrictedName ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:754:1: (lv_name_1_0= ruleUnrestrictedName )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:753:1: (lv_name_1_0= ruleUnrestrictedName )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:754:3: lv_name_1_0= ruleUnrestrictedName
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:754:1: (lv_name_1_0= ruleUnrestrictedName )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:755:3: lv_name_1_0= ruleUnrestrictedName
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -2185,7 +2186,7 @@
 
                     }
 
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:770:2: (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )?
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:771:2: (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )?
                     int alt15=2;
                     int LA15_0 = input.LA(1);
 
@@ -2194,7 +2195,7 @@
                     }
                     switch (alt15) {
                         case 1 :
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:770:4: otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')'
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:771:4: otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')'
                             {
                             otherlv_2=(Token)match(input,55,FollowSets000.FOLLOW_55_in_rulePreconditionConstraintCS1761); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
@@ -2202,11 +2203,11 @@
                                   	newLeafNode(otherlv_2, grammarAccess.getPreconditionConstraintCSAccess().getLeftParenthesisKeyword_1_1_0());
                                   
                             }
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:774:1: ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:775:1: (lv_ownedMessageSpecification_3_0= ruleSpecificationCS )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:775:1: ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:776:1: (lv_ownedMessageSpecification_3_0= ruleSpecificationCS )
                             {
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:775:1: (lv_ownedMessageSpecification_3_0= ruleSpecificationCS )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:776:3: lv_ownedMessageSpecification_3_0= ruleSpecificationCS
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:776:1: (lv_ownedMessageSpecification_3_0= ruleSpecificationCS )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:777:3: lv_ownedMessageSpecification_3_0= ruleSpecificationCS
                             {
                             if ( state.backtracking==0 ) {
                                
@@ -2261,7 +2262,7 @@
                   	newLeafNode(otherlv_5, grammarAccess.getPreconditionConstraintCSAccess().getColonKeyword_2());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:800:1: ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:801:1: ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )?
             int alt17=2;
             int LA17_0 = input.LA(1);
 
@@ -2270,10 +2271,10 @@
             }
             switch (alt17) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:801:1: (lv_ownedSpecification_6_0= ruleSpecificationCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:802:1: (lv_ownedSpecification_6_0= ruleSpecificationCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:801:1: (lv_ownedSpecification_6_0= ruleSpecificationCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:802:3: lv_ownedSpecification_6_0= ruleSpecificationCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:802:1: (lv_ownedSpecification_6_0= ruleSpecificationCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:803:3: lv_ownedSpecification_6_0= ruleSpecificationCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -2336,7 +2337,7 @@
 
 
     // $ANTLR start "entryRuleAnnotationCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:830:1: entryRuleAnnotationCS returns [EObject current=null] : iv_ruleAnnotationCS= ruleAnnotationCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:831:1: entryRuleAnnotationCS returns [EObject current=null] : iv_ruleAnnotationCS= ruleAnnotationCS EOF ;
     public final EObject entryRuleAnnotationCS() throws RecognitionException {
         EObject current = null;
 
@@ -2344,8 +2345,8 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:831:2: (iv_ruleAnnotationCS= ruleAnnotationCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:832:2: iv_ruleAnnotationCS= ruleAnnotationCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:832:2: (iv_ruleAnnotationCS= ruleAnnotationCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:833:2: iv_ruleAnnotationCS= ruleAnnotationCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getAnnotationCSRule()); 
@@ -2376,7 +2377,7 @@
 
 
     // $ANTLR start "ruleAnnotationCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:839:1: ruleAnnotationCS returns [EObject current=null] : ( () otherlv_1= 'annotation' ( ( (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? ( (otherlv_8= '{' ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+ otherlv_12= '}' ) | otherlv_13= ';' ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:840:1: ruleAnnotationCS returns [EObject current=null] : ( () otherlv_1= 'annotation' ( ( (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? ( (otherlv_8= '{' ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+ otherlv_12= '}' ) | otherlv_13= ';' ) ) ;
     public final EObject ruleAnnotationCS() throws RecognitionException {
         EObject current = null;
 
@@ -2404,14 +2405,14 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:842:28: ( ( () otherlv_1= 'annotation' ( ( (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? ( (otherlv_8= '{' ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+ otherlv_12= '}' ) | otherlv_13= ';' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:843:1: ( () otherlv_1= 'annotation' ( ( (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? ( (otherlv_8= '{' ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+ otherlv_12= '}' ) | otherlv_13= ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:843:28: ( ( () otherlv_1= 'annotation' ( ( (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? ( (otherlv_8= '{' ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+ otherlv_12= '}' ) | otherlv_13= ';' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:844:1: ( () otherlv_1= 'annotation' ( ( (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? ( (otherlv_8= '{' ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+ otherlv_12= '}' ) | otherlv_13= ';' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:843:1: ( () otherlv_1= 'annotation' ( ( (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? ( (otherlv_8= '{' ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+ otherlv_12= '}' ) | otherlv_13= ';' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:843:2: () otherlv_1= 'annotation' ( ( (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? ( (otherlv_8= '{' ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+ otherlv_12= '}' ) | otherlv_13= ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:844:1: ( () otherlv_1= 'annotation' ( ( (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? ( (otherlv_8= '{' ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+ otherlv_12= '}' ) | otherlv_13= ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:844:2: () otherlv_1= 'annotation' ( ( (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? ( (otherlv_8= '{' ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+ otherlv_12= '}' ) | otherlv_13= ';' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:843:2: ()
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:844:2: 
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:844:2: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:845:2: 
             {
             if ( state.backtracking==0 ) {
                
@@ -2434,7 +2435,7 @@
                   	newLeafNode(otherlv_1, grammarAccess.getAnnotationCSAccess().getAnnotationKeyword_1());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:856:1: ( ( (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING ) ) )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:857:1: ( ( (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING ) ) )?
             int alt19=2;
             int LA19_0 = input.LA(1);
 
@@ -2443,12 +2444,12 @@
             }
             switch (alt19) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:857:1: ( (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:858:1: ( (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:857:1: ( (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:858:1: (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:858:1: ( (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:859:1: (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:858:1: (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:859:1: (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING )
                     int alt18=2;
                     int LA18_0 = input.LA(1);
 
@@ -2467,7 +2468,7 @@
                     }
                     switch (alt18) {
                         case 1 :
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:859:3: lv_name_2_1= ruleUnrestrictedName
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:860:3: lv_name_2_1= ruleUnrestrictedName
                             {
                             if ( state.backtracking==0 ) {
                                
@@ -2496,7 +2497,7 @@
                             }
                             break;
                         case 2 :
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:874:8: lv_name_2_2= RULE_SINGLE_QUOTED_STRING
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:875:8: lv_name_2_2= RULE_SINGLE_QUOTED_STRING
                             {
                             lv_name_2_2=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleAnnotationCS1977); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
@@ -2531,7 +2532,7 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:892:3: (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:893:3: (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )?
             int alt21=2;
             int LA21_0 = input.LA(1);
 
@@ -2540,7 +2541,7 @@
             }
             switch (alt21) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:892:5: otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:893:5: otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')'
                     {
                     otherlv_3=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleAnnotationCS1999); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -2548,11 +2549,11 @@
                           	newLeafNode(otherlv_3, grammarAccess.getAnnotationCSAccess().getLeftParenthesisKeyword_3_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:896:1: ( (lv_ownedDetails_4_0= ruleDetailCS ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:897:1: (lv_ownedDetails_4_0= ruleDetailCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:897:1: ( (lv_ownedDetails_4_0= ruleDetailCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:898:1: (lv_ownedDetails_4_0= ruleDetailCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:897:1: (lv_ownedDetails_4_0= ruleDetailCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:898:3: lv_ownedDetails_4_0= ruleDetailCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:898:1: (lv_ownedDetails_4_0= ruleDetailCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:899:3: lv_ownedDetails_4_0= ruleDetailCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -2583,7 +2584,7 @@
 
                     }
 
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:914:2: (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )*
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:915:2: (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )*
                     loop20:
                     do {
                         int alt20=2;
@@ -2596,7 +2597,7 @@
 
                         switch (alt20) {
                     	case 1 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:914:4: otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:915:4: otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) )
                     	    {
                     	    otherlv_5=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleAnnotationCS2033); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
@@ -2604,11 +2605,11 @@
                     	          	newLeafNode(otherlv_5, grammarAccess.getAnnotationCSAccess().getCommaKeyword_3_2_0());
                     	          
                     	    }
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:918:1: ( (lv_ownedDetails_6_0= ruleDetailCS ) )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:919:1: (lv_ownedDetails_6_0= ruleDetailCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:919:1: ( (lv_ownedDetails_6_0= ruleDetailCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:920:1: (lv_ownedDetails_6_0= ruleDetailCS )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:919:1: (lv_ownedDetails_6_0= ruleDetailCS )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:920:3: lv_ownedDetails_6_0= ruleDetailCS
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:920:1: (lv_ownedDetails_6_0= ruleDetailCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:921:3: lv_ownedDetails_6_0= ruleDetailCS
                     	    {
                     	    if ( state.backtracking==0 ) {
                     	       
@@ -2660,7 +2661,7 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:940:3: ( (otherlv_8= '{' ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+ otherlv_12= '}' ) | otherlv_13= ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:941:3: ( (otherlv_8= '{' ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+ otherlv_12= '}' ) | otherlv_13= ';' )
             int alt23=2;
             int LA23_0 = input.LA(1);
 
@@ -2679,10 +2680,10 @@
             }
             switch (alt23) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:940:4: (otherlv_8= '{' ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+ otherlv_12= '}' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:941:4: (otherlv_8= '{' ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+ otherlv_12= '}' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:940:4: (otherlv_8= '{' ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+ otherlv_12= '}' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:940:6: otherlv_8= '{' ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+ otherlv_12= '}'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:941:4: (otherlv_8= '{' ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+ otherlv_12= '}' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:941:6: otherlv_8= '{' ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+ otherlv_12= '}'
                     {
                     otherlv_8=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleAnnotationCS2084); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -2690,7 +2691,7 @@
                           	newLeafNode(otherlv_8, grammarAccess.getAnnotationCSAccess().getLeftCurlyBracketKeyword_4_0_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:944:1: ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:945:1: ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+
                     int cnt22=0;
                     loop22:
                     do {
@@ -2764,13 +2765,13 @@
 
                         switch (alt22) {
                     	case 1 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:944:2: ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:945:2: ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:944:2: ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:945:1: (lv_ownedAnnotations_9_0= ruleAnnotationElementCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:945:2: ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:946:1: (lv_ownedAnnotations_9_0= ruleAnnotationElementCS )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:945:1: (lv_ownedAnnotations_9_0= ruleAnnotationElementCS )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:946:3: lv_ownedAnnotations_9_0= ruleAnnotationElementCS
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:946:1: (lv_ownedAnnotations_9_0= ruleAnnotationElementCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:947:3: lv_ownedAnnotations_9_0= ruleAnnotationElementCS
                     	    {
                     	    if ( state.backtracking==0 ) {
                     	       
@@ -2805,13 +2806,13 @@
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:963:6: ( (lv_ownedContents_10_0= ruleModelElementCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:964:6: ( (lv_ownedContents_10_0= ruleModelElementCS ) )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:963:6: ( (lv_ownedContents_10_0= ruleModelElementCS ) )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:964:1: (lv_ownedContents_10_0= ruleModelElementCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:964:6: ( (lv_ownedContents_10_0= ruleModelElementCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:965:1: (lv_ownedContents_10_0= ruleModelElementCS )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:964:1: (lv_ownedContents_10_0= ruleModelElementCS )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:965:3: lv_ownedContents_10_0= ruleModelElementCS
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:965:1: (lv_ownedContents_10_0= ruleModelElementCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:966:3: lv_ownedContents_10_0= ruleModelElementCS
                     	    {
                     	    if ( state.backtracking==0 ) {
                     	       
@@ -2846,13 +2847,13 @@
                     	    }
                     	    break;
                     	case 3 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:982:6: ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:983:6: ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:982:6: ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:983:1: (lv_ownedReferences_11_0= ruleModelElementRefCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:983:6: ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:984:1: (lv_ownedReferences_11_0= ruleModelElementRefCS )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:983:1: (lv_ownedReferences_11_0= ruleModelElementRefCS )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:984:3: lv_ownedReferences_11_0= ruleModelElementRefCS
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:984:1: (lv_ownedReferences_11_0= ruleModelElementRefCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:985:3: lv_ownedReferences_11_0= ruleModelElementRefCS
                     	    {
                     	    if ( state.backtracking==0 ) {
                     	       
@@ -2910,7 +2911,7 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1005:7: otherlv_13= ';'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1006:7: otherlv_13= ';'
                     {
                     otherlv_13=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleAnnotationCS2193); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
@@ -2947,7 +2948,7 @@
 
 
     // $ANTLR start "entryRuleAnnotationElementCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1017:1: entryRuleAnnotationElementCS returns [EObject current=null] : iv_ruleAnnotationElementCS= ruleAnnotationElementCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1018:1: entryRuleAnnotationElementCS returns [EObject current=null] : iv_ruleAnnotationElementCS= ruleAnnotationElementCS EOF ;
     public final EObject entryRuleAnnotationElementCS() throws RecognitionException {
         EObject current = null;
 
@@ -2955,8 +2956,8 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1018:2: (iv_ruleAnnotationElementCS= ruleAnnotationElementCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1019:2: iv_ruleAnnotationElementCS= ruleAnnotationElementCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1019:2: (iv_ruleAnnotationElementCS= ruleAnnotationElementCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1020:2: iv_ruleAnnotationElementCS= ruleAnnotationElementCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getAnnotationElementCSRule()); 
@@ -2987,7 +2988,7 @@
 
 
     // $ANTLR start "ruleAnnotationElementCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1026:1: ruleAnnotationElementCS returns [EObject current=null] : (this_AnnotationCS_0= ruleAnnotationCS | this_DocumentationCS_1= ruleDocumentationCS | this_SysMLCS_2= ruleSysMLCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1027:1: ruleAnnotationElementCS returns [EObject current=null] : (this_AnnotationCS_0= ruleAnnotationCS | this_DocumentationCS_1= ruleDocumentationCS | this_SysMLCS_2= ruleSysMLCS ) ;
     public final EObject ruleAnnotationElementCS() throws RecognitionException {
         EObject current = null;
 
@@ -3001,10 +3002,10 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1029:28: ( (this_AnnotationCS_0= ruleAnnotationCS | this_DocumentationCS_1= ruleDocumentationCS | this_SysMLCS_2= ruleSysMLCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1030:1: (this_AnnotationCS_0= ruleAnnotationCS | this_DocumentationCS_1= ruleDocumentationCS | this_SysMLCS_2= ruleSysMLCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1030:28: ( (this_AnnotationCS_0= ruleAnnotationCS | this_DocumentationCS_1= ruleDocumentationCS | this_SysMLCS_2= ruleSysMLCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1031:1: (this_AnnotationCS_0= ruleAnnotationCS | this_DocumentationCS_1= ruleDocumentationCS | this_SysMLCS_2= ruleSysMLCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1030:1: (this_AnnotationCS_0= ruleAnnotationCS | this_DocumentationCS_1= ruleDocumentationCS | this_SysMLCS_2= ruleSysMLCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1031:1: (this_AnnotationCS_0= ruleAnnotationCS | this_DocumentationCS_1= ruleDocumentationCS | this_SysMLCS_2= ruleSysMLCS )
             int alt24=3;
             switch ( input.LA(1) ) {
             case 59:
@@ -3032,7 +3033,7 @@
 
             switch (alt24) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1031:2: this_AnnotationCS_0= ruleAnnotationCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1032:2: this_AnnotationCS_0= ruleAnnotationCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -3059,7 +3060,7 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1044:2: this_DocumentationCS_1= ruleDocumentationCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1045:2: this_DocumentationCS_1= ruleDocumentationCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -3086,7 +3087,7 @@
                     }
                     break;
                 case 3 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1057:2: this_SysMLCS_2= ruleSysMLCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1058:2: this_SysMLCS_2= ruleSysMLCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -3135,21 +3136,27 @@
 
 
     // $ANTLR start "entryRuleAttributeCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1076:1: entryRuleAttributeCS returns [EObject current=null] : iv_ruleAttributeCS= ruleAttributeCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1077:1: entryRuleAttributeCS returns [EObject current=null] : iv_ruleAttributeCS= ruleAttributeCS EOF ;
     public final EObject entryRuleAttributeCS() throws RecognitionException {
         EObject current = null;
 
         EObject iv_ruleAttributeCS = null;
 
 
+         
+        		UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
+        			grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 
+        			grammarAccess.getAttributeCSAccess().getUnorderedGroup_5()
+        		);
+        	
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1077:2: (iv_ruleAttributeCS= ruleAttributeCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1078:2: iv_ruleAttributeCS= ruleAttributeCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1084:2: (iv_ruleAttributeCS= ruleAttributeCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1085:2: iv_ruleAttributeCS= ruleAttributeCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getAttributeCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleAttributeCS_in_entryRuleAttributeCS2385);
+            pushFollow(FollowSets000.FOLLOW_ruleAttributeCS_in_entryRuleAttributeCS2391);
             iv_ruleAttributeCS=ruleAttributeCS();
 
             state._fsp--;
@@ -3157,7 +3164,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleAttributeCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAttributeCS2395); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAttributeCS2401); if (state.failed) return current;
 
             }
 
@@ -3168,6 +3175,9 @@
                 appendSkippedTokens();
             } 
         finally {
+
+            	myUnorderedGroupState.restore();
+
         }
         return current;
     }
@@ -3175,249 +3185,255 @@
 
 
     // $ANTLR start "ruleAttributeCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1085:1: ruleAttributeCS returns [EObject current=null] : ( ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'attribute' ( (lv_name_5_0= ruleUnrestrictedName ) ) (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_8= '=' ( (lv_default_9_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_10= '{' ( ( ( (lv_qualifiers_11_0= 'derived' ) ) | ( (lv_qualifiers_12_0= '!derived' ) ) | ( (lv_qualifiers_13_0= 'id' ) ) | ( (lv_qualifiers_14_0= '!id' ) ) | ( (lv_qualifiers_15_0= 'ordered' ) ) | ( (lv_qualifiers_16_0= '!ordered' ) ) | ( (lv_qualifiers_17_0= 'readonly' ) ) | ( (lv_qualifiers_18_0= '!readonly' ) ) | ( (lv_qualifiers_19_0= 'transient' ) ) | ( (lv_qualifiers_20_0= '!transient' ) ) | ( (lv_qualifiers_21_0= 'unique' ) ) | ( (lv_qualifiers_22_0= '!unique' ) ) | ( (lv_qualifiers_23_0= 'unsettable' ) ) | ( (lv_qualifiers_24_0= '!unsettable' ) ) | ( (lv_qualifiers_25_0= 'volatile' ) ) | ( (lv_qualifiers_26_0= '!volatile' ) ) ) (otherlv_27= ',' )? )+ otherlv_28= '}' )? ( (otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | (otherlv_31= 'derivation' ( ruleUnrestrictedName )? otherlv_33= ':' ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? otherlv_35= ';' ) | (otherlv_36= 'initial' ( ruleUnrestrictedName )? otherlv_38= ':' ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? otherlv_40= ';' ) )* otherlv_41= '}' ) | otherlv_42= ';' ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1095:1: ruleAttributeCS returns [EObject current=null] : ( ( ( ( ( ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) ) )* ) ) ) otherlv_3= 'attribute' ( (lv_name_4_0= ruleUnrestrictedName ) ) (otherlv_5= ':' ( (lv_ownedType_6_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_7= '=' ( (lv_default_8_0= RULE_SINGLE_QUOTED_STRING ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) ) ) ) )+ {...}?) ) )? ( (otherlv_36= '{' ( ( (lv_ownedAnnotations_37_0= ruleAnnotationElementCS ) ) | (otherlv_38= 'derivation' ( ruleUnrestrictedName )? otherlv_40= ':' ( (lv_ownedDefaultExpressions_41_0= ruleSpecificationCS ) )? otherlv_42= ';' ) | (otherlv_43= 'initial' ( ruleUnrestrictedName )? otherlv_45= ':' ( (lv_ownedDefaultExpressions_46_0= ruleSpecificationCS ) )? otherlv_47= ';' ) )* otherlv_48= '}' ) | otherlv_49= ';' ) ) ;
     public final EObject ruleAttributeCS() throws RecognitionException {
         EObject current = null;
 
-        Token lv_qualifiers_0_0=null;
-        Token lv_qualifiers_1_0=null;
-        Token lv_qualifiers_2_0=null;
-        Token lv_qualifiers_3_0=null;
-        Token otherlv_4=null;
-        Token otherlv_6=null;
-        Token otherlv_8=null;
-        Token lv_default_9_0=null;
+        Token lv_isStatic_1_0=null;
+        Token lv_isDefinition_2_0=null;
+        Token otherlv_3=null;
+        Token otherlv_5=null;
+        Token otherlv_7=null;
+        Token lv_default_8_0=null;
         Token otherlv_10=null;
-        Token lv_qualifiers_11_0=null;
-        Token lv_qualifiers_12_0=null;
-        Token lv_qualifiers_13_0=null;
-        Token lv_qualifiers_14_0=null;
-        Token lv_qualifiers_15_0=null;
-        Token lv_qualifiers_16_0=null;
-        Token lv_qualifiers_17_0=null;
-        Token lv_qualifiers_18_0=null;
-        Token lv_qualifiers_19_0=null;
-        Token lv_qualifiers_20_0=null;
-        Token lv_qualifiers_21_0=null;
-        Token lv_qualifiers_22_0=null;
-        Token lv_qualifiers_23_0=null;
-        Token lv_qualifiers_24_0=null;
-        Token lv_qualifiers_25_0=null;
-        Token lv_qualifiers_26_0=null;
+        Token lv_isDerived_11_0=null;
+        Token otherlv_12=null;
+        Token otherlv_13=null;
+        Token lv_isId_14_0=null;
+        Token otherlv_15=null;
+        Token otherlv_16=null;
+        Token lv_isOrdered_17_0=null;
+        Token otherlv_18=null;
+        Token otherlv_19=null;
+        Token lv_isReadonly_20_0=null;
+        Token otherlv_21=null;
+        Token otherlv_22=null;
+        Token lv_isTransient_23_0=null;
+        Token otherlv_24=null;
+        Token otherlv_25=null;
+        Token lv_isNotUnique_26_0=null;
         Token otherlv_27=null;
         Token otherlv_28=null;
-        Token otherlv_29=null;
+        Token lv_isUnsettable_29_0=null;
+        Token otherlv_30=null;
         Token otherlv_31=null;
+        Token lv_isVolatile_32_0=null;
         Token otherlv_33=null;
+        Token otherlv_34=null;
         Token otherlv_35=null;
         Token otherlv_36=null;
         Token otherlv_38=null;
         Token otherlv_40=null;
-        Token otherlv_41=null;
         Token otherlv_42=null;
-        AntlrDatatypeRuleToken lv_name_5_0 = null;
+        Token otherlv_43=null;
+        Token otherlv_45=null;
+        Token otherlv_47=null;
+        Token otherlv_48=null;
+        Token otherlv_49=null;
+        AntlrDatatypeRuleToken lv_name_4_0 = null;
 
-        EObject lv_ownedType_7_0 = null;
+        EObject lv_ownedType_6_0 = null;
 
-        EObject lv_ownedAnnotations_30_0 = null;
+        EObject lv_ownedAnnotations_37_0 = null;
 
-        EObject lv_ownedDefaultExpressions_34_0 = null;
+        EObject lv_ownedDefaultExpressions_41_0 = null;
 
-        EObject lv_ownedDefaultExpressions_39_0 = null;
+        EObject lv_ownedDefaultExpressions_46_0 = null;
 
 
          enterRule(); 
+        		UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
+        			grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 
+        			grammarAccess.getAttributeCSAccess().getUnorderedGroup_5()
+        		);
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1088:28: ( ( ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'attribute' ( (lv_name_5_0= ruleUnrestrictedName ) ) (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_8= '=' ( (lv_default_9_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_10= '{' ( ( ( (lv_qualifiers_11_0= 'derived' ) ) | ( (lv_qualifiers_12_0= '!derived' ) ) | ( (lv_qualifiers_13_0= 'id' ) ) | ( (lv_qualifiers_14_0= '!id' ) ) | ( (lv_qualifiers_15_0= 'ordered' ) ) | ( (lv_qualifiers_16_0= '!ordered' ) ) | ( (lv_qualifiers_17_0= 'readonly' ) ) | ( (lv_qualifiers_18_0= '!readonly' ) ) | ( (lv_qualifiers_19_0= 'transient' ) ) | ( (lv_qualifiers_20_0= '!transient' ) ) | ( (lv_qualifiers_21_0= 'unique' ) ) | ( (lv_qualifiers_22_0= '!unique' ) ) | ( (lv_qualifiers_23_0= 'unsettable' ) ) | ( (lv_qualifiers_24_0= '!unsettable' ) ) | ( (lv_qualifiers_25_0= 'volatile' ) ) | ( (lv_qualifiers_26_0= '!volatile' ) ) ) (otherlv_27= ',' )? )+ otherlv_28= '}' )? ( (otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | (otherlv_31= 'derivation' ( ruleUnrestrictedName )? otherlv_33= ':' ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? otherlv_35= ';' ) | (otherlv_36= 'initial' ( ruleUnrestrictedName )? otherlv_38= ':' ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? otherlv_40= ';' ) )* otherlv_41= '}' ) | otherlv_42= ';' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1089:1: ( ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'attribute' ( (lv_name_5_0= ruleUnrestrictedName ) ) (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_8= '=' ( (lv_default_9_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_10= '{' ( ( ( (lv_qualifiers_11_0= 'derived' ) ) | ( (lv_qualifiers_12_0= '!derived' ) ) | ( (lv_qualifiers_13_0= 'id' ) ) | ( (lv_qualifiers_14_0= '!id' ) ) | ( (lv_qualifiers_15_0= 'ordered' ) ) | ( (lv_qualifiers_16_0= '!ordered' ) ) | ( (lv_qualifiers_17_0= 'readonly' ) ) | ( (lv_qualifiers_18_0= '!readonly' ) ) | ( (lv_qualifiers_19_0= 'transient' ) ) | ( (lv_qualifiers_20_0= '!transient' ) ) | ( (lv_qualifiers_21_0= 'unique' ) ) | ( (lv_qualifiers_22_0= '!unique' ) ) | ( (lv_qualifiers_23_0= 'unsettable' ) ) | ( (lv_qualifiers_24_0= '!unsettable' ) ) | ( (lv_qualifiers_25_0= 'volatile' ) ) | ( (lv_qualifiers_26_0= '!volatile' ) ) ) (otherlv_27= ',' )? )+ otherlv_28= '}' )? ( (otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | (otherlv_31= 'derivation' ( ruleUnrestrictedName )? otherlv_33= ':' ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? otherlv_35= ';' ) | (otherlv_36= 'initial' ( ruleUnrestrictedName )? otherlv_38= ':' ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? otherlv_40= ';' ) )* otherlv_41= '}' ) | otherlv_42= ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1102:28: ( ( ( ( ( ( ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) ) )* ) ) ) otherlv_3= 'attribute' ( (lv_name_4_0= ruleUnrestrictedName ) ) (otherlv_5= ':' ( (lv_ownedType_6_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_7= '=' ( (lv_default_8_0= RULE_SINGLE_QUOTED_STRING ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) ) ) ) )+ {...}?) ) )? ( (otherlv_36= '{' ( ( (lv_ownedAnnotations_37_0= ruleAnnotationElementCS ) ) | (otherlv_38= 'derivation' ( ruleUnrestrictedName )? otherlv_40= ':' ( (lv_ownedDefaultExpressions_41_0= ruleSpecificationCS ) )? otherlv_42= ';' ) | (otherlv_43= 'initial' ( ruleUnrestrictedName )? otherlv_45= ':' ( (lv_ownedDefaultExpressions_46_0= ruleSpecificationCS ) )? otherlv_47= ';' ) )* otherlv_48= '}' ) | otherlv_49= ';' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1103:1: ( ( ( ( ( ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) ) )* ) ) ) otherlv_3= 'attribute' ( (lv_name_4_0= ruleUnrestrictedName ) ) (otherlv_5= ':' ( (lv_ownedType_6_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_7= '=' ( (lv_default_8_0= RULE_SINGLE_QUOTED_STRING ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) ) ) ) )+ {...}?) ) )? ( (otherlv_36= '{' ( ( (lv_ownedAnnotations_37_0= ruleAnnotationElementCS ) ) | (otherlv_38= 'derivation' ( ruleUnrestrictedName )? otherlv_40= ':' ( (lv_ownedDefaultExpressions_41_0= ruleSpecificationCS ) )? otherlv_42= ';' ) | (otherlv_43= 'initial' ( ruleUnrestrictedName )? otherlv_45= ':' ( (lv_ownedDefaultExpressions_46_0= ruleSpecificationCS ) )? otherlv_47= ';' ) )* otherlv_48= '}' ) | otherlv_49= ';' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1089:1: ( ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'attribute' ( (lv_name_5_0= ruleUnrestrictedName ) ) (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_8= '=' ( (lv_default_9_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_10= '{' ( ( ( (lv_qualifiers_11_0= 'derived' ) ) | ( (lv_qualifiers_12_0= '!derived' ) ) | ( (lv_qualifiers_13_0= 'id' ) ) | ( (lv_qualifiers_14_0= '!id' ) ) | ( (lv_qualifiers_15_0= 'ordered' ) ) | ( (lv_qualifiers_16_0= '!ordered' ) ) | ( (lv_qualifiers_17_0= 'readonly' ) ) | ( (lv_qualifiers_18_0= '!readonly' ) ) | ( (lv_qualifiers_19_0= 'transient' ) ) | ( (lv_qualifiers_20_0= '!transient' ) ) | ( (lv_qualifiers_21_0= 'unique' ) ) | ( (lv_qualifiers_22_0= '!unique' ) ) | ( (lv_qualifiers_23_0= 'unsettable' ) ) | ( (lv_qualifiers_24_0= '!unsettable' ) ) | ( (lv_qualifiers_25_0= 'volatile' ) ) | ( (lv_qualifiers_26_0= '!volatile' ) ) ) (otherlv_27= ',' )? )+ otherlv_28= '}' )? ( (otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | (otherlv_31= 'derivation' ( ruleUnrestrictedName )? otherlv_33= ':' ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? otherlv_35= ';' ) | (otherlv_36= 'initial' ( ruleUnrestrictedName )? otherlv_38= ':' ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? otherlv_40= ';' ) )* otherlv_41= '}' ) | otherlv_42= ';' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1089:2: ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'attribute' ( (lv_name_5_0= ruleUnrestrictedName ) ) (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_8= '=' ( (lv_default_9_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_10= '{' ( ( ( (lv_qualifiers_11_0= 'derived' ) ) | ( (lv_qualifiers_12_0= '!derived' ) ) | ( (lv_qualifiers_13_0= 'id' ) ) | ( (lv_qualifiers_14_0= '!id' ) ) | ( (lv_qualifiers_15_0= 'ordered' ) ) | ( (lv_qualifiers_16_0= '!ordered' ) ) | ( (lv_qualifiers_17_0= 'readonly' ) ) | ( (lv_qualifiers_18_0= '!readonly' ) ) | ( (lv_qualifiers_19_0= 'transient' ) ) | ( (lv_qualifiers_20_0= '!transient' ) ) | ( (lv_qualifiers_21_0= 'unique' ) ) | ( (lv_qualifiers_22_0= '!unique' ) ) | ( (lv_qualifiers_23_0= 'unsettable' ) ) | ( (lv_qualifiers_24_0= '!unsettable' ) ) | ( (lv_qualifiers_25_0= 'volatile' ) ) | ( (lv_qualifiers_26_0= '!volatile' ) ) ) (otherlv_27= ',' )? )+ otherlv_28= '}' )? ( (otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | (otherlv_31= 'derivation' ( ruleUnrestrictedName )? otherlv_33= ':' ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? otherlv_35= ';' ) | (otherlv_36= 'initial' ( ruleUnrestrictedName )? otherlv_38= ':' ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? otherlv_40= ';' ) )* otherlv_41= '}' ) | otherlv_42= ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1103:1: ( ( ( ( ( ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) ) )* ) ) ) otherlv_3= 'attribute' ( (lv_name_4_0= ruleUnrestrictedName ) ) (otherlv_5= ':' ( (lv_ownedType_6_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_7= '=' ( (lv_default_8_0= RULE_SINGLE_QUOTED_STRING ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) ) ) ) )+ {...}?) ) )? ( (otherlv_36= '{' ( ( (lv_ownedAnnotations_37_0= ruleAnnotationElementCS ) ) | (otherlv_38= 'derivation' ( ruleUnrestrictedName )? otherlv_40= ':' ( (lv_ownedDefaultExpressions_41_0= ruleSpecificationCS ) )? otherlv_42= ';' ) | (otherlv_43= 'initial' ( ruleUnrestrictedName )? otherlv_45= ':' ( (lv_ownedDefaultExpressions_46_0= ruleSpecificationCS ) )? otherlv_47= ';' ) )* otherlv_48= '}' ) | otherlv_49= ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1103:2: ( ( ( ( ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) ) )* ) ) ) otherlv_3= 'attribute' ( (lv_name_4_0= ruleUnrestrictedName ) ) (otherlv_5= ':' ( (lv_ownedType_6_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_7= '=' ( (lv_default_8_0= RULE_SINGLE_QUOTED_STRING ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) ) ) ) )+ {...}?) ) )? ( (otherlv_36= '{' ( ( (lv_ownedAnnotations_37_0= ruleAnnotationElementCS ) ) | (otherlv_38= 'derivation' ( ruleUnrestrictedName )? otherlv_40= ':' ( (lv_ownedDefaultExpressions_41_0= ruleSpecificationCS ) )? otherlv_42= ';' ) | (otherlv_43= 'initial' ( ruleUnrestrictedName )? otherlv_45= ':' ( (lv_ownedDefaultExpressions_46_0= ruleSpecificationCS ) )? otherlv_47= ';' ) )* otherlv_48= '}' ) | otherlv_49= ';' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1089:2: ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )?
-            int alt27=3;
-            int LA27_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1103:2: ( ( ( ( ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) ) )* ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1105:1: ( ( ( ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) ) )* ) )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1105:1: ( ( ( ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) ) )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1106:2: ( ( ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) ) )* )
+            {
+            getUnorderedGroupHelper().enter(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0());
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1109:2: ( ( ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) ) )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1110:3: ( ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) ) )*
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1110:3: ( ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) ) )*
+            loop25:
+            do {
+                int alt25=3;
+                int LA25_0 = input.LA(1);
 
-            if ( (LA27_0==47) ) {
-                alt27=1;
-            }
-            else if ( (LA27_0==26) ) {
-                alt27=2;
-            }
-            switch (alt27) {
-                case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1089:3: ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1089:3: ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1089:4: ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )?
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1089:4: ( (lv_qualifiers_0_0= 'static' ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1090:1: (lv_qualifiers_0_0= 'static' )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1090:1: (lv_qualifiers_0_0= 'static' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1091:3: lv_qualifiers_0_0= 'static'
-                    {
-                    lv_qualifiers_0_0=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleAttributeCS2440); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                              newLeafNode(lv_qualifiers_0_0, grammarAccess.getAttributeCSAccess().getQualifiersStaticKeyword_0_0_0_0());
-                          
-                    }
-                    if ( state.backtracking==0 ) {
-
-                      	        if (current==null) {
-                      	            current = createModelElement(grammarAccess.getAttributeCSRule());
-                      	        }
-                             		addWithLastConsumed(current, "qualifiers", lv_qualifiers_0_0, "static");
-                      	    
-                    }
-
-                    }
+                if ( LA25_0 ==47 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 0) ) {
+                    alt25=1;
+                }
+                else if ( LA25_0 ==26 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 1) ) {
+                    alt25=2;
+                }
 
 
-                    }
+                switch (alt25) {
+            	case 1 :
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1112:4: ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) )
+            	    {
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1112:4: ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1113:5: {...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) )
+            	    {
+            	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 0) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleAttributeCS", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 0)");
+            	    }
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1113:108: ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1114:6: ({...}? => ( (lv_isStatic_1_0= 'static' ) ) )
+            	    {
+            	    getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 0);
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1117:6: ({...}? => ( (lv_isStatic_1_0= 'static' ) ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1117:7: {...}? => ( (lv_isStatic_1_0= 'static' ) )
+            	    {
+            	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleAttributeCS", "true");
+            	    }
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1117:16: ( (lv_isStatic_1_0= 'static' ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1118:1: (lv_isStatic_1_0= 'static' )
+            	    {
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1118:1: (lv_isStatic_1_0= 'static' )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1119:3: lv_isStatic_1_0= 'static'
+            	    {
+            	    lv_isStatic_1_0=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleAttributeCS2493); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1104:2: ( (lv_qualifiers_1_0= 'definition' ) )?
-                    int alt25=2;
-                    int LA25_0 = input.LA(1);
+            	              newLeafNode(lv_isStatic_1_0, grammarAccess.getAttributeCSAccess().getIsStaticStaticKeyword_0_0_0());
+            	          
+            	    }
+            	    if ( state.backtracking==0 ) {
 
-                    if ( (LA25_0==26) ) {
-                        alt25=1;
-                    }
-                    switch (alt25) {
-                        case 1 :
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1105:1: (lv_qualifiers_1_0= 'definition' )
-                            {
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1105:1: (lv_qualifiers_1_0= 'definition' )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1106:3: lv_qualifiers_1_0= 'definition'
-                            {
-                            lv_qualifiers_1_0=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleAttributeCS2471); if (state.failed) return current;
-                            if ( state.backtracking==0 ) {
+            	      	        if (current==null) {
+            	      	            current = createModelElement(grammarAccess.getAttributeCSRule());
+            	      	        }
+            	             		setWithLastConsumed(current, "isStatic", true, "static");
+            	      	    
+            	    }
 
-                                      newLeafNode(lv_qualifiers_1_0, grammarAccess.getAttributeCSAccess().getQualifiersDefinitionKeyword_0_0_1_0());
-                                  
-                            }
-                            if ( state.backtracking==0 ) {
-
-                              	        if (current==null) {
-                              	            current = createModelElement(grammarAccess.getAttributeCSRule());
-                              	        }
-                                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_1_0, "definition");
-                              	    
-                            }
-
-                            }
+            	    }
 
 
-                            }
-                            break;
-
-                    }
+            	    }
 
 
-                    }
+            	    }
+
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0());
+
+            	    }
 
 
-                    }
-                    break;
-                case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1120:6: ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1120:6: ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1120:7: ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )?
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1120:7: ( (lv_qualifiers_2_0= 'definition' ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1121:1: (lv_qualifiers_2_0= 'definition' )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1121:1: (lv_qualifiers_2_0= 'definition' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1122:3: lv_qualifiers_2_0= 'definition'
-                    {
-                    lv_qualifiers_2_0=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleAttributeCS2511); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                              newLeafNode(lv_qualifiers_2_0, grammarAccess.getAttributeCSAccess().getQualifiersDefinitionKeyword_0_1_0_0());
-                          
-                    }
-                    if ( state.backtracking==0 ) {
-
-                      	        if (current==null) {
-                      	            current = createModelElement(grammarAccess.getAttributeCSRule());
-                      	        }
-                             		addWithLastConsumed(current, "qualifiers", lv_qualifiers_2_0, "definition");
-                      	    
-                    }
-
-                    }
+            	    }
 
 
-                    }
+            	    }
+            	    break;
+            	case 2 :
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1139:4: ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) )
+            	    {
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1139:4: ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1140:5: {...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) )
+            	    {
+            	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 1) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleAttributeCS", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 1)");
+            	    }
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1140:108: ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1141:6: ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) )
+            	    {
+            	    getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 1);
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1144:6: ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1144:7: {...}? => ( (lv_isDefinition_2_0= 'definition' ) )
+            	    {
+            	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleAttributeCS", "true");
+            	    }
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1144:16: ( (lv_isDefinition_2_0= 'definition' ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1145:1: (lv_isDefinition_2_0= 'definition' )
+            	    {
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1145:1: (lv_isDefinition_2_0= 'definition' )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1146:3: lv_isDefinition_2_0= 'definition'
+            	    {
+            	    lv_isDefinition_2_0=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleAttributeCS2578); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1135:2: ( (lv_qualifiers_3_0= 'static' ) )?
-                    int alt26=2;
-                    int LA26_0 = input.LA(1);
+            	              newLeafNode(lv_isDefinition_2_0, grammarAccess.getAttributeCSAccess().getIsDefinitionDefinitionKeyword_0_1_0());
+            	          
+            	    }
+            	    if ( state.backtracking==0 ) {
 
-                    if ( (LA26_0==47) ) {
-                        alt26=1;
-                    }
-                    switch (alt26) {
-                        case 1 :
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1136:1: (lv_qualifiers_3_0= 'static' )
-                            {
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1136:1: (lv_qualifiers_3_0= 'static' )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1137:3: lv_qualifiers_3_0= 'static'
-                            {
-                            lv_qualifiers_3_0=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleAttributeCS2542); if (state.failed) return current;
-                            if ( state.backtracking==0 ) {
+            	      	        if (current==null) {
+            	      	            current = createModelElement(grammarAccess.getAttributeCSRule());
+            	      	        }
+            	             		setWithLastConsumed(current, "isDefinition", true, "definition");
+            	      	    
+            	    }
 
-                                      newLeafNode(lv_qualifiers_3_0, grammarAccess.getAttributeCSAccess().getQualifiersStaticKeyword_0_1_1_0());
-                                  
-                            }
-                            if ( state.backtracking==0 ) {
-
-                              	        if (current==null) {
-                              	            current = createModelElement(grammarAccess.getAttributeCSRule());
-                              	        }
-                                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_3_0, "static");
-                              	    
-                            }
-
-                            }
+            	    }
 
 
-                            }
-                            break;
-
-                    }
+            	    }
 
 
-                    }
+            	    }
+
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0());
+
+            	    }
 
 
-                    }
-                    break;
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop25;
+                }
+            } while (true);
+
 
             }
 
-            otherlv_4=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleAttributeCS2571); if (state.failed) return current;
+
+            }
+
+            getUnorderedGroupHelper().leave(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0());
+
+            }
+
+            otherlv_3=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleAttributeCS2643); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
-                  	newLeafNode(otherlv_4, grammarAccess.getAttributeCSAccess().getAttributeKeyword_1());
+                  	newLeafNode(otherlv_3, grammarAccess.getAttributeCSAccess().getAttributeKeyword_1());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1154:1: ( (lv_name_5_0= ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1155:1: (lv_name_5_0= ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1177:1: ( (lv_name_4_0= ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1178:1: (lv_name_4_0= ruleUnrestrictedName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1155:1: (lv_name_5_0= ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1156:3: lv_name_5_0= ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1178:1: (lv_name_4_0= ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1179:3: lv_name_4_0= ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getAttributeCSAccess().getNameUnrestrictedNameParserRuleCall_2_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleAttributeCS2592);
-            lv_name_5_0=ruleUnrestrictedName();
+            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleAttributeCS2664);
+            lv_name_4_0=ruleUnrestrictedName();
 
             state._fsp--;
             if (state.failed) return current;
@@ -3429,7 +3445,7 @@
                      		set(
                      			current, 
                      			"name",
-                      		lv_name_5_0, 
+                      		lv_name_4_0, 
                       		"UnrestrictedName");
               	        afterParserOrEnumRuleCall();
               	    
@@ -3440,36 +3456,36 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1172:2: (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypedMultiplicityRefCS ) ) )?
-            int alt28=2;
-            int LA28_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1195:2: (otherlv_5= ':' ( (lv_ownedType_6_0= ruleTypedMultiplicityRefCS ) ) )?
+            int alt26=2;
+            int LA26_0 = input.LA(1);
 
-            if ( (LA28_0==57) ) {
-                alt28=1;
+            if ( (LA26_0==57) ) {
+                alt26=1;
             }
-            switch (alt28) {
+            switch (alt26) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1172:4: otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypedMultiplicityRefCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1195:4: otherlv_5= ':' ( (lv_ownedType_6_0= ruleTypedMultiplicityRefCS ) )
                     {
-                    otherlv_6=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleAttributeCS2605); if (state.failed) return current;
+                    otherlv_5=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleAttributeCS2677); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
-                          	newLeafNode(otherlv_6, grammarAccess.getAttributeCSAccess().getColonKeyword_3_0());
+                          	newLeafNode(otherlv_5, grammarAccess.getAttributeCSAccess().getColonKeyword_3_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1176:1: ( (lv_ownedType_7_0= ruleTypedMultiplicityRefCS ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1177:1: (lv_ownedType_7_0= ruleTypedMultiplicityRefCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1199:1: ( (lv_ownedType_6_0= ruleTypedMultiplicityRefCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1200:1: (lv_ownedType_6_0= ruleTypedMultiplicityRefCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1177:1: (lv_ownedType_7_0= ruleTypedMultiplicityRefCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1178:3: lv_ownedType_7_0= ruleTypedMultiplicityRefCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1200:1: (lv_ownedType_6_0= ruleTypedMultiplicityRefCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1201:3: lv_ownedType_6_0= ruleTypedMultiplicityRefCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getAttributeCSAccess().getOwnedTypeTypedMultiplicityRefCSParserRuleCall_3_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTypedMultiplicityRefCS_in_ruleAttributeCS2626);
-                    lv_ownedType_7_0=ruleTypedMultiplicityRefCS();
+                    pushFollow(FollowSets000.FOLLOW_ruleTypedMultiplicityRefCS_in_ruleAttributeCS2698);
+                    lv_ownedType_6_0=ruleTypedMultiplicityRefCS();
 
                     state._fsp--;
                     if (state.failed) return current;
@@ -3481,7 +3497,7 @@
                              		set(
                              			current, 
                              			"ownedType",
-                              		lv_ownedType_7_0, 
+                              		lv_ownedType_6_0, 
                               		"TypedMultiplicityRefCS");
                       	        afterParserOrEnumRuleCall();
                       	    
@@ -3498,33 +3514,33 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1194:4: (otherlv_8= '=' ( (lv_default_9_0= RULE_SINGLE_QUOTED_STRING ) ) )?
-            int alt29=2;
-            int LA29_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1217:4: (otherlv_7= '=' ( (lv_default_8_0= RULE_SINGLE_QUOTED_STRING ) ) )?
+            int alt27=2;
+            int LA27_0 = input.LA(1);
 
-            if ( (LA29_0==63) ) {
-                alt29=1;
+            if ( (LA27_0==63) ) {
+                alt27=1;
             }
-            switch (alt29) {
+            switch (alt27) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1194:6: otherlv_8= '=' ( (lv_default_9_0= RULE_SINGLE_QUOTED_STRING ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1217:6: otherlv_7= '=' ( (lv_default_8_0= RULE_SINGLE_QUOTED_STRING ) )
                     {
-                    otherlv_8=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleAttributeCS2641); if (state.failed) return current;
+                    otherlv_7=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleAttributeCS2713); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
-                          	newLeafNode(otherlv_8, grammarAccess.getAttributeCSAccess().getEqualsSignKeyword_4_0());
+                          	newLeafNode(otherlv_7, grammarAccess.getAttributeCSAccess().getEqualsSignKeyword_4_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1198:1: ( (lv_default_9_0= RULE_SINGLE_QUOTED_STRING ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1199:1: (lv_default_9_0= RULE_SINGLE_QUOTED_STRING )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1221:1: ( (lv_default_8_0= RULE_SINGLE_QUOTED_STRING ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1222:1: (lv_default_8_0= RULE_SINGLE_QUOTED_STRING )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1199:1: (lv_default_9_0= RULE_SINGLE_QUOTED_STRING )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1200:3: lv_default_9_0= RULE_SINGLE_QUOTED_STRING
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1222:1: (lv_default_8_0= RULE_SINGLE_QUOTED_STRING )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1223:3: lv_default_8_0= RULE_SINGLE_QUOTED_STRING
                     {
-                    lv_default_9_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleAttributeCS2658); if (state.failed) return current;
+                    lv_default_8_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleAttributeCS2730); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
-                      			newLeafNode(lv_default_9_0, grammarAccess.getAttributeCSAccess().getDefaultSINGLE_QUOTED_STRINGTerminalRuleCall_4_1_0()); 
+                      			newLeafNode(lv_default_8_0, grammarAccess.getAttributeCSAccess().getDefaultSINGLE_QUOTED_STRINGTerminalRuleCall_4_1_0()); 
                       		
                     }
                     if ( state.backtracking==0 ) {
@@ -3535,7 +3551,7 @@
                              		setWithLastConsumed(
                              			current, 
                              			"default",
-                              		lv_default_9_0, 
+                              		lv_default_8_0, 
                               		"SINGLE_QUOTED_STRING");
                       	    
                     }
@@ -3551,148 +3567,233 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1216:4: (otherlv_10= '{' ( ( ( (lv_qualifiers_11_0= 'derived' ) ) | ( (lv_qualifiers_12_0= '!derived' ) ) | ( (lv_qualifiers_13_0= 'id' ) ) | ( (lv_qualifiers_14_0= '!id' ) ) | ( (lv_qualifiers_15_0= 'ordered' ) ) | ( (lv_qualifiers_16_0= '!ordered' ) ) | ( (lv_qualifiers_17_0= 'readonly' ) ) | ( (lv_qualifiers_18_0= '!readonly' ) ) | ( (lv_qualifiers_19_0= 'transient' ) ) | ( (lv_qualifiers_20_0= '!transient' ) ) | ( (lv_qualifiers_21_0= 'unique' ) ) | ( (lv_qualifiers_22_0= '!unique' ) ) | ( (lv_qualifiers_23_0= 'unsettable' ) ) | ( (lv_qualifiers_24_0= '!unsettable' ) ) | ( (lv_qualifiers_25_0= 'volatile' ) ) | ( (lv_qualifiers_26_0= '!volatile' ) ) ) (otherlv_27= ',' )? )+ otherlv_28= '}' )?
-            int alt33=2;
-            int LA33_0 = input.LA(1);
-
-            if ( (LA33_0==61) ) {
-                int LA33_1 = input.LA(2);
-
-                if ( (LA33_1==28||LA33_1==31||LA33_1==38||LA33_1==44||(LA33_1>=50 && LA33_1<=53)||(LA33_1>=64 && LA33_1<=71)) ) {
-                    alt33=1;
-                }
-            }
-            switch (alt33) {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1239:4: ( ( ( ( ({...}? => ( ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) ) ) ) )+ {...}?) ) )?
+            int alt47=2;
+            alt47 = dfa47.predict(input);
+            switch (alt47) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1216:6: otherlv_10= '{' ( ( ( (lv_qualifiers_11_0= 'derived' ) ) | ( (lv_qualifiers_12_0= '!derived' ) ) | ( (lv_qualifiers_13_0= 'id' ) ) | ( (lv_qualifiers_14_0= '!id' ) ) | ( (lv_qualifiers_15_0= 'ordered' ) ) | ( (lv_qualifiers_16_0= '!ordered' ) ) | ( (lv_qualifiers_17_0= 'readonly' ) ) | ( (lv_qualifiers_18_0= '!readonly' ) ) | ( (lv_qualifiers_19_0= 'transient' ) ) | ( (lv_qualifiers_20_0= '!transient' ) ) | ( (lv_qualifiers_21_0= 'unique' ) ) | ( (lv_qualifiers_22_0= '!unique' ) ) | ( (lv_qualifiers_23_0= 'unsettable' ) ) | ( (lv_qualifiers_24_0= '!unsettable' ) ) | ( (lv_qualifiers_25_0= 'volatile' ) ) | ( (lv_qualifiers_26_0= '!volatile' ) ) ) (otherlv_27= ',' )? )+ otherlv_28= '}'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1241:1: ( ( ( ({...}? => ( ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) ) ) ) )+ {...}?) )
                     {
-                    otherlv_10=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleAttributeCS2678); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                          	newLeafNode(otherlv_10, grammarAccess.getAttributeCSAccess().getLeftCurlyBracketKeyword_5_0());
-                          
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1220:1: ( ( ( (lv_qualifiers_11_0= 'derived' ) ) | ( (lv_qualifiers_12_0= '!derived' ) ) | ( (lv_qualifiers_13_0= 'id' ) ) | ( (lv_qualifiers_14_0= '!id' ) ) | ( (lv_qualifiers_15_0= 'ordered' ) ) | ( (lv_qualifiers_16_0= '!ordered' ) ) | ( (lv_qualifiers_17_0= 'readonly' ) ) | ( (lv_qualifiers_18_0= '!readonly' ) ) | ( (lv_qualifiers_19_0= 'transient' ) ) | ( (lv_qualifiers_20_0= '!transient' ) ) | ( (lv_qualifiers_21_0= 'unique' ) ) | ( (lv_qualifiers_22_0= '!unique' ) ) | ( (lv_qualifiers_23_0= 'unsettable' ) ) | ( (lv_qualifiers_24_0= '!unsettable' ) ) | ( (lv_qualifiers_25_0= 'volatile' ) ) | ( (lv_qualifiers_26_0= '!volatile' ) ) ) (otherlv_27= ',' )? )+
-                    int cnt32=0;
-                    loop32:
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1241:1: ( ( ( ({...}? => ( ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) ) ) ) )+ {...}?) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1242:2: ( ( ({...}? => ( ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) ) ) ) )+ {...}?)
+                    {
+                    getUnorderedGroupHelper().enter(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5());
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1245:2: ( ( ({...}? => ( ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) ) ) ) )+ {...}?)
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1246:3: ( ({...}? => ( ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) ) ) ) )+ {...}?
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1246:3: ( ({...}? => ( ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) ) ) ) )+
+                    int cnt46=0;
+                    loop46:
                     do {
-                        int alt32=2;
-                        int LA32_0 = input.LA(1);
-
-                        if ( (LA32_0==28||LA32_0==31||LA32_0==38||LA32_0==44||(LA32_0>=50 && LA32_0<=53)||(LA32_0>=64 && LA32_0<=71)) ) {
-                            alt32=1;
-                        }
-
-
-                        switch (alt32) {
+                        int alt46=9;
+                        alt46 = dfa46.predict(input);
+                        switch (alt46) {
                     	case 1 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1220:2: ( ( (lv_qualifiers_11_0= 'derived' ) ) | ( (lv_qualifiers_12_0= '!derived' ) ) | ( (lv_qualifiers_13_0= 'id' ) ) | ( (lv_qualifiers_14_0= '!id' ) ) | ( (lv_qualifiers_15_0= 'ordered' ) ) | ( (lv_qualifiers_16_0= '!ordered' ) ) | ( (lv_qualifiers_17_0= 'readonly' ) ) | ( (lv_qualifiers_18_0= '!readonly' ) ) | ( (lv_qualifiers_19_0= 'transient' ) ) | ( (lv_qualifiers_20_0= '!transient' ) ) | ( (lv_qualifiers_21_0= 'unique' ) ) | ( (lv_qualifiers_22_0= '!unique' ) ) | ( (lv_qualifiers_23_0= 'unsettable' ) ) | ( (lv_qualifiers_24_0= '!unsettable' ) ) | ( (lv_qualifiers_25_0= 'volatile' ) ) | ( (lv_qualifiers_26_0= '!volatile' ) ) ) (otherlv_27= ',' )?
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1248:4: ({...}? => ( ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) ) ) )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1220:2: ( ( (lv_qualifiers_11_0= 'derived' ) ) | ( (lv_qualifiers_12_0= '!derived' ) ) | ( (lv_qualifiers_13_0= 'id' ) ) | ( (lv_qualifiers_14_0= '!id' ) ) | ( (lv_qualifiers_15_0= 'ordered' ) ) | ( (lv_qualifiers_16_0= '!ordered' ) ) | ( (lv_qualifiers_17_0= 'readonly' ) ) | ( (lv_qualifiers_18_0= '!readonly' ) ) | ( (lv_qualifiers_19_0= 'transient' ) ) | ( (lv_qualifiers_20_0= '!transient' ) ) | ( (lv_qualifiers_21_0= 'unique' ) ) | ( (lv_qualifiers_22_0= '!unique' ) ) | ( (lv_qualifiers_23_0= 'unsettable' ) ) | ( (lv_qualifiers_24_0= '!unsettable' ) ) | ( (lv_qualifiers_25_0= 'volatile' ) ) | ( (lv_qualifiers_26_0= '!volatile' ) ) )
-                    	    int alt30=16;
-                    	    switch ( input.LA(1) ) {
-                    	    case 28:
-                    	        {
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1248:4: ({...}? => ( ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1249:5: {...}? => ( ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) ) )
+                    	    {
+                    	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleAttributeCS", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0)");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1249:108: ( ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1250:6: ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) )
+                    	    {
+                    	    getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0);
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1253:6: ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1253:7: {...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? )
+                    	    {
+                    	    if ( !((true)) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleAttributeCS", "true");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1253:16: (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1253:18: otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )?
+                    	    {
+                    	    otherlv_10=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleAttributeCS2795); if (state.failed) return current;
+                    	    if ( state.backtracking==0 ) {
+
+                    	          	newLeafNode(otherlv_10, grammarAccess.getAttributeCSAccess().getLeftCurlyBracketKeyword_5_0_0());
+                    	          
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1257:1: ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )?
+                    	    int alt30=2;
+                    	    int LA30_0 = input.LA(1);
+
+                    	    if ( (LA30_0==28||LA30_0==64) ) {
                     	        alt30=1;
-                    	        }
-                    	        break;
-                    	    case 64:
-                    	        {
-                    	        alt30=2;
-                    	        }
-                    	        break;
-                    	    case 31:
-                    	        {
-                    	        alt30=3;
-                    	        }
-                    	        break;
-                    	    case 65:
-                    	        {
-                    	        alt30=4;
-                    	        }
-                    	        break;
-                    	    case 38:
-                    	        {
-                    	        alt30=5;
-                    	        }
-                    	        break;
-                    	    case 66:
-                    	        {
-                    	        alt30=6;
-                    	        }
-                    	        break;
-                    	    case 44:
-                    	        {
-                    	        alt30=7;
-                    	        }
-                    	        break;
-                    	    case 67:
-                    	        {
-                    	        alt30=8;
-                    	        }
-                    	        break;
-                    	    case 50:
-                    	        {
-                    	        alt30=9;
-                    	        }
-                    	        break;
-                    	    case 68:
-                    	        {
-                    	        alt30=10;
-                    	        }
-                    	        break;
-                    	    case 51:
-                    	        {
-                    	        alt30=11;
-                    	        }
-                    	        break;
-                    	    case 69:
-                    	        {
-                    	        alt30=12;
-                    	        }
-                    	        break;
-                    	    case 52:
-                    	        {
-                    	        alt30=13;
-                    	        }
-                    	        break;
-                    	    case 70:
-                    	        {
-                    	        alt30=14;
-                    	        }
-                    	        break;
-                    	    case 53:
-                    	        {
-                    	        alt30=15;
-                    	        }
-                    	        break;
-                    	    case 71:
-                    	        {
-                    	        alt30=16;
-                    	        }
-                    	        break;
-                    	    default:
+                    	    }
+                    	    switch (alt30) {
+                    	        case 1 :
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1257:2: ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )?
+                    	            {
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1257:2: ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' )
+                    	            int alt28=2;
+                    	            int LA28_0 = input.LA(1);
+
+                    	            if ( (LA28_0==28) ) {
+                    	                alt28=1;
+                    	            }
+                    	            else if ( (LA28_0==64) ) {
+                    	                alt28=2;
+                    	            }
+                    	            else {
+                    	                if (state.backtracking>0) {state.failed=true; return current;}
+                    	                NoViableAltException nvae =
+                    	                    new NoViableAltException("", 28, 0, input);
+
+                    	                throw nvae;
+                    	            }
+                    	            switch (alt28) {
+                    	                case 1 :
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1257:3: ( (lv_isDerived_11_0= 'derived' ) )
+                    	                    {
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1257:3: ( (lv_isDerived_11_0= 'derived' ) )
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1258:1: (lv_isDerived_11_0= 'derived' )
+                    	                    {
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1258:1: (lv_isDerived_11_0= 'derived' )
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1259:3: lv_isDerived_11_0= 'derived'
+                    	                    {
+                    	                    lv_isDerived_11_0=(Token)match(input,28,FollowSets000.FOLLOW_28_in_ruleAttributeCS2815); if (state.failed) return current;
+                    	                    if ( state.backtracking==0 ) {
+
+                    	                              newLeafNode(lv_isDerived_11_0, grammarAccess.getAttributeCSAccess().getIsDerivedDerivedKeyword_5_0_1_0_0_0());
+                    	                          
+                    	                    }
+                    	                    if ( state.backtracking==0 ) {
+
+                    	                      	        if (current==null) {
+                    	                      	            current = createModelElement(grammarAccess.getAttributeCSRule());
+                    	                      	        }
+                    	                             		setWithLastConsumed(current, "isDerived", true, "derived");
+                    	                      	    
+                    	                    }
+
+                    	                    }
+
+
+                    	                    }
+
+
+                    	                    }
+                    	                    break;
+                    	                case 2 :
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1273:7: otherlv_12= '!derived'
+                    	                    {
+                    	                    otherlv_12=(Token)match(input,64,FollowSets000.FOLLOW_64_in_ruleAttributeCS2846); if (state.failed) return current;
+                    	                    if ( state.backtracking==0 ) {
+
+                    	                          	newLeafNode(otherlv_12, grammarAccess.getAttributeCSAccess().getDerivedKeyword_5_0_1_0_1());
+                    	                          
+                    	                    }
+
+                    	                    }
+                    	                    break;
+
+                    	            }
+
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1277:2: (otherlv_13= ',' )?
+                    	            int alt29=2;
+                    	            int LA29_0 = input.LA(1);
+
+                    	            if ( (LA29_0==60) ) {
+                    	                alt29=1;
+                    	            }
+                    	            switch (alt29) {
+                    	                case 1 :
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1277:4: otherlv_13= ','
+                    	                    {
+                    	                    otherlv_13=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleAttributeCS2860); if (state.failed) return current;
+                    	                    if ( state.backtracking==0 ) {
+
+                    	                          	newLeafNode(otherlv_13, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_0_1_1());
+                    	                          
+                    	                    }
+
+                    	                    }
+                    	                    break;
+
+                    	            }
+
+
+                    	            }
+                    	            break;
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+
+                    	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5());
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+                    	    break;
+                    	case 2 :
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1288:4: ({...}? => ( ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) ) ) )
+                    	    {
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1288:4: ({...}? => ( ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1289:5: {...}? => ( ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) ) )
+                    	    {
+                    	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleAttributeCS", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1)");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1289:108: ( ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1290:6: ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) )
+                    	    {
+                    	    getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1);
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1293:6: ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1293:7: {...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? )
+                    	    {
+                    	    if ( !((true)) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleAttributeCS", "true");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1293:16: ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1293:17: ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )?
+                    	    {
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1293:17: ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' )
+                    	    int alt31=2;
+                    	    int LA31_0 = input.LA(1);
+
+                    	    if ( (LA31_0==31) ) {
+                    	        alt31=1;
+                    	    }
+                    	    else if ( (LA31_0==65) ) {
+                    	        alt31=2;
+                    	    }
+                    	    else {
                     	        if (state.backtracking>0) {state.failed=true; return current;}
                     	        NoViableAltException nvae =
-                    	            new NoViableAltException("", 30, 0, input);
+                    	            new NoViableAltException("", 31, 0, input);
 
                     	        throw nvae;
                     	    }
-
-                    	    switch (alt30) {
+                    	    switch (alt31) {
                     	        case 1 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1220:3: ( (lv_qualifiers_11_0= 'derived' ) )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1293:18: ( (lv_isId_14_0= 'id' ) )
                     	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1220:3: ( (lv_qualifiers_11_0= 'derived' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1221:1: (lv_qualifiers_11_0= 'derived' )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1293:18: ( (lv_isId_14_0= 'id' ) )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1294:1: (lv_isId_14_0= 'id' )
                     	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1221:1: (lv_qualifiers_11_0= 'derived' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1222:3: lv_qualifiers_11_0= 'derived'
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1294:1: (lv_isId_14_0= 'id' )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1295:3: lv_isId_14_0= 'id'
                     	            {
-                    	            lv_qualifiers_11_0=(Token)match(input,28,FollowSets000.FOLLOW_28_in_ruleAttributeCS2698); if (state.failed) return current;
+                    	            lv_isId_14_0=(Token)match(input,31,FollowSets000.FOLLOW_31_in_ruleAttributeCS2939); if (state.failed) return current;
                     	            if ( state.backtracking==0 ) {
 
-                    	                      newLeafNode(lv_qualifiers_11_0, grammarAccess.getAttributeCSAccess().getQualifiersDerivedKeyword_5_1_0_0_0());
+                    	                      newLeafNode(lv_isId_14_0, grammarAccess.getAttributeCSAccess().getIsIdIdKeyword_5_1_0_0_0());
                     	                  
                     	            }
                     	            if ( state.backtracking==0 ) {
@@ -3700,7 +3801,7 @@
                     	              	        if (current==null) {
                     	              	            current = createModelElement(grammarAccess.getAttributeCSRule());
                     	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_11_0, "derived");
+                    	                     		setWithLastConsumed(current, "isId", true, "id");
                     	              	    
                     	            }
 
@@ -3713,503 +3814,35 @@
                     	            }
                     	            break;
                     	        case 2 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1236:6: ( (lv_qualifiers_12_0= '!derived' ) )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1309:7: otherlv_15= '!id'
                     	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1236:6: ( (lv_qualifiers_12_0= '!derived' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1237:1: (lv_qualifiers_12_0= '!derived' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1237:1: (lv_qualifiers_12_0= '!derived' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1238:3: lv_qualifiers_12_0= '!derived'
-                    	            {
-                    	            lv_qualifiers_12_0=(Token)match(input,64,FollowSets000.FOLLOW_64_in_ruleAttributeCS2735); if (state.failed) return current;
+                    	            otherlv_15=(Token)match(input,65,FollowSets000.FOLLOW_65_in_ruleAttributeCS2970); if (state.failed) return current;
                     	            if ( state.backtracking==0 ) {
 
-                    	                      newLeafNode(lv_qualifiers_12_0, grammarAccess.getAttributeCSAccess().getQualifiersDerivedKeyword_5_1_0_1_0());
+                    	                  	newLeafNode(otherlv_15, grammarAccess.getAttributeCSAccess().getIdKeyword_5_1_0_1());
                     	                  
                     	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getAttributeCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_12_0, "!derived");
-                    	              	    
-                    	            }
-
-                    	            }
-
-
-                    	            }
-
-
-                    	            }
-                    	            break;
-                    	        case 3 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1252:6: ( (lv_qualifiers_13_0= 'id' ) )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1252:6: ( (lv_qualifiers_13_0= 'id' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1253:1: (lv_qualifiers_13_0= 'id' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1253:1: (lv_qualifiers_13_0= 'id' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1254:3: lv_qualifiers_13_0= 'id'
-                    	            {
-                    	            lv_qualifiers_13_0=(Token)match(input,31,FollowSets000.FOLLOW_31_in_ruleAttributeCS2772); if (state.failed) return current;
-                    	            if ( state.backtracking==0 ) {
-
-                    	                      newLeafNode(lv_qualifiers_13_0, grammarAccess.getAttributeCSAccess().getQualifiersIdKeyword_5_1_0_2_0());
-                    	                  
-                    	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getAttributeCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_13_0, "id");
-                    	              	    
-                    	            }
-
-                    	            }
-
-
-                    	            }
-
-
-                    	            }
-                    	            break;
-                    	        case 4 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1268:6: ( (lv_qualifiers_14_0= '!id' ) )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1268:6: ( (lv_qualifiers_14_0= '!id' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1269:1: (lv_qualifiers_14_0= '!id' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1269:1: (lv_qualifiers_14_0= '!id' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1270:3: lv_qualifiers_14_0= '!id'
-                    	            {
-                    	            lv_qualifiers_14_0=(Token)match(input,65,FollowSets000.FOLLOW_65_in_ruleAttributeCS2809); if (state.failed) return current;
-                    	            if ( state.backtracking==0 ) {
-
-                    	                      newLeafNode(lv_qualifiers_14_0, grammarAccess.getAttributeCSAccess().getQualifiersIdKeyword_5_1_0_3_0());
-                    	                  
-                    	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getAttributeCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_14_0, "!id");
-                    	              	    
-                    	            }
-
-                    	            }
-
-
-                    	            }
-
-
-                    	            }
-                    	            break;
-                    	        case 5 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1284:6: ( (lv_qualifiers_15_0= 'ordered' ) )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1284:6: ( (lv_qualifiers_15_0= 'ordered' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1285:1: (lv_qualifiers_15_0= 'ordered' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1285:1: (lv_qualifiers_15_0= 'ordered' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1286:3: lv_qualifiers_15_0= 'ordered'
-                    	            {
-                    	            lv_qualifiers_15_0=(Token)match(input,38,FollowSets000.FOLLOW_38_in_ruleAttributeCS2846); if (state.failed) return current;
-                    	            if ( state.backtracking==0 ) {
-
-                    	                      newLeafNode(lv_qualifiers_15_0, grammarAccess.getAttributeCSAccess().getQualifiersOrderedKeyword_5_1_0_4_0());
-                    	                  
-                    	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getAttributeCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_15_0, "ordered");
-                    	              	    
-                    	            }
-
-                    	            }
-
-
-                    	            }
-
-
-                    	            }
-                    	            break;
-                    	        case 6 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1300:6: ( (lv_qualifiers_16_0= '!ordered' ) )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1300:6: ( (lv_qualifiers_16_0= '!ordered' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1301:1: (lv_qualifiers_16_0= '!ordered' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1301:1: (lv_qualifiers_16_0= '!ordered' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1302:3: lv_qualifiers_16_0= '!ordered'
-                    	            {
-                    	            lv_qualifiers_16_0=(Token)match(input,66,FollowSets000.FOLLOW_66_in_ruleAttributeCS2883); if (state.failed) return current;
-                    	            if ( state.backtracking==0 ) {
-
-                    	                      newLeafNode(lv_qualifiers_16_0, grammarAccess.getAttributeCSAccess().getQualifiersOrderedKeyword_5_1_0_5_0());
-                    	                  
-                    	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getAttributeCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_16_0, "!ordered");
-                    	              	    
-                    	            }
-
-                    	            }
-
-
-                    	            }
-
-
-                    	            }
-                    	            break;
-                    	        case 7 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1316:6: ( (lv_qualifiers_17_0= 'readonly' ) )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1316:6: ( (lv_qualifiers_17_0= 'readonly' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1317:1: (lv_qualifiers_17_0= 'readonly' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1317:1: (lv_qualifiers_17_0= 'readonly' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1318:3: lv_qualifiers_17_0= 'readonly'
-                    	            {
-                    	            lv_qualifiers_17_0=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleAttributeCS2920); if (state.failed) return current;
-                    	            if ( state.backtracking==0 ) {
-
-                    	                      newLeafNode(lv_qualifiers_17_0, grammarAccess.getAttributeCSAccess().getQualifiersReadonlyKeyword_5_1_0_6_0());
-                    	                  
-                    	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getAttributeCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_17_0, "readonly");
-                    	              	    
-                    	            }
-
-                    	            }
-
-
-                    	            }
-
-
-                    	            }
-                    	            break;
-                    	        case 8 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1332:6: ( (lv_qualifiers_18_0= '!readonly' ) )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1332:6: ( (lv_qualifiers_18_0= '!readonly' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1333:1: (lv_qualifiers_18_0= '!readonly' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1333:1: (lv_qualifiers_18_0= '!readonly' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1334:3: lv_qualifiers_18_0= '!readonly'
-                    	            {
-                    	            lv_qualifiers_18_0=(Token)match(input,67,FollowSets000.FOLLOW_67_in_ruleAttributeCS2957); if (state.failed) return current;
-                    	            if ( state.backtracking==0 ) {
-
-                    	                      newLeafNode(lv_qualifiers_18_0, grammarAccess.getAttributeCSAccess().getQualifiersReadonlyKeyword_5_1_0_7_0());
-                    	                  
-                    	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getAttributeCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_18_0, "!readonly");
-                    	              	    
-                    	            }
-
-                    	            }
-
-
-                    	            }
-
-
-                    	            }
-                    	            break;
-                    	        case 9 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1348:6: ( (lv_qualifiers_19_0= 'transient' ) )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1348:6: ( (lv_qualifiers_19_0= 'transient' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1349:1: (lv_qualifiers_19_0= 'transient' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1349:1: (lv_qualifiers_19_0= 'transient' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1350:3: lv_qualifiers_19_0= 'transient'
-                    	            {
-                    	            lv_qualifiers_19_0=(Token)match(input,50,FollowSets000.FOLLOW_50_in_ruleAttributeCS2994); if (state.failed) return current;
-                    	            if ( state.backtracking==0 ) {
-
-                    	                      newLeafNode(lv_qualifiers_19_0, grammarAccess.getAttributeCSAccess().getQualifiersTransientKeyword_5_1_0_8_0());
-                    	                  
-                    	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getAttributeCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_19_0, "transient");
-                    	              	    
-                    	            }
-
-                    	            }
-
-
-                    	            }
-
-
-                    	            }
-                    	            break;
-                    	        case 10 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1364:6: ( (lv_qualifiers_20_0= '!transient' ) )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1364:6: ( (lv_qualifiers_20_0= '!transient' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1365:1: (lv_qualifiers_20_0= '!transient' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1365:1: (lv_qualifiers_20_0= '!transient' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1366:3: lv_qualifiers_20_0= '!transient'
-                    	            {
-                    	            lv_qualifiers_20_0=(Token)match(input,68,FollowSets000.FOLLOW_68_in_ruleAttributeCS3031); if (state.failed) return current;
-                    	            if ( state.backtracking==0 ) {
-
-                    	                      newLeafNode(lv_qualifiers_20_0, grammarAccess.getAttributeCSAccess().getQualifiersTransientKeyword_5_1_0_9_0());
-                    	                  
-                    	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getAttributeCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_20_0, "!transient");
-                    	              	    
-                    	            }
-
-                    	            }
-
-
-                    	            }
-
-
-                    	            }
-                    	            break;
-                    	        case 11 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1380:6: ( (lv_qualifiers_21_0= 'unique' ) )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1380:6: ( (lv_qualifiers_21_0= 'unique' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1381:1: (lv_qualifiers_21_0= 'unique' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1381:1: (lv_qualifiers_21_0= 'unique' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1382:3: lv_qualifiers_21_0= 'unique'
-                    	            {
-                    	            lv_qualifiers_21_0=(Token)match(input,51,FollowSets000.FOLLOW_51_in_ruleAttributeCS3068); if (state.failed) return current;
-                    	            if ( state.backtracking==0 ) {
-
-                    	                      newLeafNode(lv_qualifiers_21_0, grammarAccess.getAttributeCSAccess().getQualifiersUniqueKeyword_5_1_0_10_0());
-                    	                  
-                    	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getAttributeCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_21_0, "unique");
-                    	              	    
-                    	            }
-
-                    	            }
-
-
-                    	            }
-
-
-                    	            }
-                    	            break;
-                    	        case 12 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1396:6: ( (lv_qualifiers_22_0= '!unique' ) )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1396:6: ( (lv_qualifiers_22_0= '!unique' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1397:1: (lv_qualifiers_22_0= '!unique' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1397:1: (lv_qualifiers_22_0= '!unique' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1398:3: lv_qualifiers_22_0= '!unique'
-                    	            {
-                    	            lv_qualifiers_22_0=(Token)match(input,69,FollowSets000.FOLLOW_69_in_ruleAttributeCS3105); if (state.failed) return current;
-                    	            if ( state.backtracking==0 ) {
-
-                    	                      newLeafNode(lv_qualifiers_22_0, grammarAccess.getAttributeCSAccess().getQualifiersUniqueKeyword_5_1_0_11_0());
-                    	                  
-                    	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getAttributeCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_22_0, "!unique");
-                    	              	    
-                    	            }
-
-                    	            }
-
-
-                    	            }
-
-
-                    	            }
-                    	            break;
-                    	        case 13 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1412:6: ( (lv_qualifiers_23_0= 'unsettable' ) )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1412:6: ( (lv_qualifiers_23_0= 'unsettable' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1413:1: (lv_qualifiers_23_0= 'unsettable' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1413:1: (lv_qualifiers_23_0= 'unsettable' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1414:3: lv_qualifiers_23_0= 'unsettable'
-                    	            {
-                    	            lv_qualifiers_23_0=(Token)match(input,52,FollowSets000.FOLLOW_52_in_ruleAttributeCS3142); if (state.failed) return current;
-                    	            if ( state.backtracking==0 ) {
-
-                    	                      newLeafNode(lv_qualifiers_23_0, grammarAccess.getAttributeCSAccess().getQualifiersUnsettableKeyword_5_1_0_12_0());
-                    	                  
-                    	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getAttributeCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_23_0, "unsettable");
-                    	              	    
-                    	            }
-
-                    	            }
-
-
-                    	            }
-
-
-                    	            }
-                    	            break;
-                    	        case 14 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1428:6: ( (lv_qualifiers_24_0= '!unsettable' ) )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1428:6: ( (lv_qualifiers_24_0= '!unsettable' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1429:1: (lv_qualifiers_24_0= '!unsettable' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1429:1: (lv_qualifiers_24_0= '!unsettable' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1430:3: lv_qualifiers_24_0= '!unsettable'
-                    	            {
-                    	            lv_qualifiers_24_0=(Token)match(input,70,FollowSets000.FOLLOW_70_in_ruleAttributeCS3179); if (state.failed) return current;
-                    	            if ( state.backtracking==0 ) {
-
-                    	                      newLeafNode(lv_qualifiers_24_0, grammarAccess.getAttributeCSAccess().getQualifiersUnsettableKeyword_5_1_0_13_0());
-                    	                  
-                    	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getAttributeCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_24_0, "!unsettable");
-                    	              	    
-                    	            }
-
-                    	            }
-
-
-                    	            }
-
-
-                    	            }
-                    	            break;
-                    	        case 15 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1444:6: ( (lv_qualifiers_25_0= 'volatile' ) )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1444:6: ( (lv_qualifiers_25_0= 'volatile' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1445:1: (lv_qualifiers_25_0= 'volatile' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1445:1: (lv_qualifiers_25_0= 'volatile' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1446:3: lv_qualifiers_25_0= 'volatile'
-                    	            {
-                    	            lv_qualifiers_25_0=(Token)match(input,53,FollowSets000.FOLLOW_53_in_ruleAttributeCS3216); if (state.failed) return current;
-                    	            if ( state.backtracking==0 ) {
-
-                    	                      newLeafNode(lv_qualifiers_25_0, grammarAccess.getAttributeCSAccess().getQualifiersVolatileKeyword_5_1_0_14_0());
-                    	                  
-                    	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getAttributeCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_25_0, "volatile");
-                    	              	    
-                    	            }
-
-                    	            }
-
-
-                    	            }
-
-
-                    	            }
-                    	            break;
-                    	        case 16 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1460:6: ( (lv_qualifiers_26_0= '!volatile' ) )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1460:6: ( (lv_qualifiers_26_0= '!volatile' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1461:1: (lv_qualifiers_26_0= '!volatile' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1461:1: (lv_qualifiers_26_0= '!volatile' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1462:3: lv_qualifiers_26_0= '!volatile'
-                    	            {
-                    	            lv_qualifiers_26_0=(Token)match(input,71,FollowSets000.FOLLOW_71_in_ruleAttributeCS3253); if (state.failed) return current;
-                    	            if ( state.backtracking==0 ) {
-
-                    	                      newLeafNode(lv_qualifiers_26_0, grammarAccess.getAttributeCSAccess().getQualifiersVolatileKeyword_5_1_0_15_0());
-                    	                  
-                    	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getAttributeCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_26_0, "!volatile");
-                    	              	    
-                    	            }
-
-                    	            }
-
-
-                    	            }
-
 
                     	            }
                     	            break;
 
                     	    }
 
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1475:3: (otherlv_27= ',' )?
-                    	    int alt31=2;
-                    	    int LA31_0 = input.LA(1);
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1313:2: (otherlv_16= ',' )?
+                    	    int alt32=2;
+                    	    int LA32_0 = input.LA(1);
 
-                    	    if ( (LA31_0==60) ) {
-                    	        alt31=1;
+                    	    if ( (LA32_0==60) ) {
+                    	        alt32=1;
                     	    }
-                    	    switch (alt31) {
+                    	    switch (alt32) {
                     	        case 1 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1475:5: otherlv_27= ','
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1313:4: otherlv_16= ','
                     	            {
-                    	            otherlv_27=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleAttributeCS3280); if (state.failed) return current;
+                    	            otherlv_16=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleAttributeCS2984); if (state.failed) return current;
                     	            if ( state.backtracking==0 ) {
 
-                    	                  	newLeafNode(otherlv_27, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_1_1());
+                    	                  	newLeafNode(otherlv_16, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_1_1());
                     	                  
                     	            }
 
@@ -4220,102 +3853,911 @@
 
 
                     	    }
+
+
+                    	    }
+
+                    	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5());
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+                    	    break;
+                    	case 3 :
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1324:4: ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) ) ) )
+                    	    {
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1324:4: ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1325:5: {...}? => ( ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) ) )
+                    	    {
+                    	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleAttributeCS", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2)");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1325:108: ( ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1326:6: ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) )
+                    	    {
+                    	    getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2);
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1329:6: ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1329:7: {...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? )
+                    	    {
+                    	    if ( !((true)) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleAttributeCS", "true");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1329:16: ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1329:17: ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )?
+                    	    {
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1329:17: ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' )
+                    	    int alt33=2;
+                    	    int LA33_0 = input.LA(1);
+
+                    	    if ( (LA33_0==38) ) {
+                    	        alt33=1;
+                    	    }
+                    	    else if ( (LA33_0==66) ) {
+                    	        alt33=2;
+                    	    }
+                    	    else {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        NoViableAltException nvae =
+                    	            new NoViableAltException("", 33, 0, input);
+
+                    	        throw nvae;
+                    	    }
+                    	    switch (alt33) {
+                    	        case 1 :
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1329:18: ( (lv_isOrdered_17_0= 'ordered' ) )
+                    	            {
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1329:18: ( (lv_isOrdered_17_0= 'ordered' ) )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1330:1: (lv_isOrdered_17_0= 'ordered' )
+                    	            {
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1330:1: (lv_isOrdered_17_0= 'ordered' )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1331:3: lv_isOrdered_17_0= 'ordered'
+                    	            {
+                    	            lv_isOrdered_17_0=(Token)match(input,38,FollowSets000.FOLLOW_38_in_ruleAttributeCS3061); if (state.failed) return current;
+                    	            if ( state.backtracking==0 ) {
+
+                    	                      newLeafNode(lv_isOrdered_17_0, grammarAccess.getAttributeCSAccess().getIsOrderedOrderedKeyword_5_2_0_0_0());
+                    	                  
+                    	            }
+                    	            if ( state.backtracking==0 ) {
+
+                    	              	        if (current==null) {
+                    	              	            current = createModelElement(grammarAccess.getAttributeCSRule());
+                    	              	        }
+                    	                     		setWithLastConsumed(current, "isOrdered", true, "ordered");
+                    	              	    
+                    	            }
+
+                    	            }
+
+
+                    	            }
+
+
+                    	            }
+                    	            break;
+                    	        case 2 :
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1345:7: otherlv_18= '!ordered'
+                    	            {
+                    	            otherlv_18=(Token)match(input,66,FollowSets000.FOLLOW_66_in_ruleAttributeCS3092); if (state.failed) return current;
+                    	            if ( state.backtracking==0 ) {
+
+                    	                  	newLeafNode(otherlv_18, grammarAccess.getAttributeCSAccess().getOrderedKeyword_5_2_0_1());
+                    	                  
+                    	            }
+
+                    	            }
+                    	            break;
+
+                    	    }
+
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1349:2: (otherlv_19= ',' )?
+                    	    int alt34=2;
+                    	    int LA34_0 = input.LA(1);
+
+                    	    if ( (LA34_0==60) ) {
+                    	        alt34=1;
+                    	    }
+                    	    switch (alt34) {
+                    	        case 1 :
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1349:4: otherlv_19= ','
+                    	            {
+                    	            otherlv_19=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleAttributeCS3106); if (state.failed) return current;
+                    	            if ( state.backtracking==0 ) {
+
+                    	                  	newLeafNode(otherlv_19, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_2_1());
+                    	                  
+                    	            }
+
+                    	            }
+                    	            break;
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+
+                    	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5());
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+                    	    break;
+                    	case 4 :
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1360:4: ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) ) ) )
+                    	    {
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1360:4: ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1361:5: {...}? => ( ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) ) )
+                    	    {
+                    	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleAttributeCS", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3)");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1361:108: ( ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1362:6: ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) )
+                    	    {
+                    	    getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3);
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1365:6: ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1365:7: {...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? )
+                    	    {
+                    	    if ( !((true)) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleAttributeCS", "true");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1365:16: ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1365:17: ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )?
+                    	    {
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1365:17: ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' )
+                    	    int alt35=2;
+                    	    int LA35_0 = input.LA(1);
+
+                    	    if ( (LA35_0==44) ) {
+                    	        alt35=1;
+                    	    }
+                    	    else if ( (LA35_0==67) ) {
+                    	        alt35=2;
+                    	    }
+                    	    else {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        NoViableAltException nvae =
+                    	            new NoViableAltException("", 35, 0, input);
+
+                    	        throw nvae;
+                    	    }
+                    	    switch (alt35) {
+                    	        case 1 :
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1365:18: ( (lv_isReadonly_20_0= 'readonly' ) )
+                    	            {
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1365:18: ( (lv_isReadonly_20_0= 'readonly' ) )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1366:1: (lv_isReadonly_20_0= 'readonly' )
+                    	            {
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1366:1: (lv_isReadonly_20_0= 'readonly' )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1367:3: lv_isReadonly_20_0= 'readonly'
+                    	            {
+                    	            lv_isReadonly_20_0=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleAttributeCS3183); if (state.failed) return current;
+                    	            if ( state.backtracking==0 ) {
+
+                    	                      newLeafNode(lv_isReadonly_20_0, grammarAccess.getAttributeCSAccess().getIsReadonlyReadonlyKeyword_5_3_0_0_0());
+                    	                  
+                    	            }
+                    	            if ( state.backtracking==0 ) {
+
+                    	              	        if (current==null) {
+                    	              	            current = createModelElement(grammarAccess.getAttributeCSRule());
+                    	              	        }
+                    	                     		setWithLastConsumed(current, "isReadonly", true, "readonly");
+                    	              	    
+                    	            }
+
+                    	            }
+
+
+                    	            }
+
+
+                    	            }
+                    	            break;
+                    	        case 2 :
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1381:7: otherlv_21= '!readonly'
+                    	            {
+                    	            otherlv_21=(Token)match(input,67,FollowSets000.FOLLOW_67_in_ruleAttributeCS3214); if (state.failed) return current;
+                    	            if ( state.backtracking==0 ) {
+
+                    	                  	newLeafNode(otherlv_21, grammarAccess.getAttributeCSAccess().getReadonlyKeyword_5_3_0_1());
+                    	                  
+                    	            }
+
+                    	            }
+                    	            break;
+
+                    	    }
+
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1385:2: (otherlv_22= ',' )?
+                    	    int alt36=2;
+                    	    int LA36_0 = input.LA(1);
+
+                    	    if ( (LA36_0==60) ) {
+                    	        alt36=1;
+                    	    }
+                    	    switch (alt36) {
+                    	        case 1 :
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1385:4: otherlv_22= ','
+                    	            {
+                    	            otherlv_22=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleAttributeCS3228); if (state.failed) return current;
+                    	            if ( state.backtracking==0 ) {
+
+                    	                  	newLeafNode(otherlv_22, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_3_1());
+                    	                  
+                    	            }
+
+                    	            }
+                    	            break;
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+
+                    	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5());
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+                    	    break;
+                    	case 5 :
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1396:4: ({...}? => ( ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) ) ) )
+                    	    {
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1396:4: ({...}? => ( ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1397:5: {...}? => ( ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) ) )
+                    	    {
+                    	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleAttributeCS", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4)");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1397:108: ( ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1398:6: ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) )
+                    	    {
+                    	    getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4);
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1401:6: ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1401:7: {...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? )
+                    	    {
+                    	    if ( !((true)) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleAttributeCS", "true");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1401:16: ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1401:17: ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )?
+                    	    {
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1401:17: ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' )
+                    	    int alt37=2;
+                    	    int LA37_0 = input.LA(1);
+
+                    	    if ( (LA37_0==50) ) {
+                    	        alt37=1;
+                    	    }
+                    	    else if ( (LA37_0==68) ) {
+                    	        alt37=2;
+                    	    }
+                    	    else {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        NoViableAltException nvae =
+                    	            new NoViableAltException("", 37, 0, input);
+
+                    	        throw nvae;
+                    	    }
+                    	    switch (alt37) {
+                    	        case 1 :
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1401:18: ( (lv_isTransient_23_0= 'transient' ) )
+                    	            {
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1401:18: ( (lv_isTransient_23_0= 'transient' ) )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1402:1: (lv_isTransient_23_0= 'transient' )
+                    	            {
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1402:1: (lv_isTransient_23_0= 'transient' )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1403:3: lv_isTransient_23_0= 'transient'
+                    	            {
+                    	            lv_isTransient_23_0=(Token)match(input,50,FollowSets000.FOLLOW_50_in_ruleAttributeCS3305); if (state.failed) return current;
+                    	            if ( state.backtracking==0 ) {
+
+                    	                      newLeafNode(lv_isTransient_23_0, grammarAccess.getAttributeCSAccess().getIsTransientTransientKeyword_5_4_0_0_0());
+                    	                  
+                    	            }
+                    	            if ( state.backtracking==0 ) {
+
+                    	              	        if (current==null) {
+                    	              	            current = createModelElement(grammarAccess.getAttributeCSRule());
+                    	              	        }
+                    	                     		setWithLastConsumed(current, "isTransient", true, "transient");
+                    	              	    
+                    	            }
+
+                    	            }
+
+
+                    	            }
+
+
+                    	            }
+                    	            break;
+                    	        case 2 :
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1417:7: otherlv_24= '!transient'
+                    	            {
+                    	            otherlv_24=(Token)match(input,68,FollowSets000.FOLLOW_68_in_ruleAttributeCS3336); if (state.failed) return current;
+                    	            if ( state.backtracking==0 ) {
+
+                    	                  	newLeafNode(otherlv_24, grammarAccess.getAttributeCSAccess().getTransientKeyword_5_4_0_1());
+                    	                  
+                    	            }
+
+                    	            }
+                    	            break;
+
+                    	    }
+
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1421:2: (otherlv_25= ',' )?
+                    	    int alt38=2;
+                    	    int LA38_0 = input.LA(1);
+
+                    	    if ( (LA38_0==60) ) {
+                    	        alt38=1;
+                    	    }
+                    	    switch (alt38) {
+                    	        case 1 :
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1421:4: otherlv_25= ','
+                    	            {
+                    	            otherlv_25=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleAttributeCS3350); if (state.failed) return current;
+                    	            if ( state.backtracking==0 ) {
+
+                    	                  	newLeafNode(otherlv_25, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_4_1());
+                    	                  
+                    	            }
+
+                    	            }
+                    	            break;
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+
+                    	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5());
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+                    	    break;
+                    	case 6 :
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1432:4: ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) ) ) )
+                    	    {
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1432:4: ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1433:5: {...}? => ( ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) ) )
+                    	    {
+                    	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleAttributeCS", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5)");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1433:108: ( ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1434:6: ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) )
+                    	    {
+                    	    getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5);
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1437:6: ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1437:7: {...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? )
+                    	    {
+                    	    if ( !((true)) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleAttributeCS", "true");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1437:16: ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1437:17: ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )?
+                    	    {
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1437:17: ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' )
+                    	    int alt39=2;
+                    	    int LA39_0 = input.LA(1);
+
+                    	    if ( (LA39_0==69) ) {
+                    	        alt39=1;
+                    	    }
+                    	    else if ( (LA39_0==51) ) {
+                    	        alt39=2;
+                    	    }
+                    	    else {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        NoViableAltException nvae =
+                    	            new NoViableAltException("", 39, 0, input);
+
+                    	        throw nvae;
+                    	    }
+                    	    switch (alt39) {
+                    	        case 1 :
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1437:18: ( (lv_isNotUnique_26_0= '!unique' ) )
+                    	            {
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1437:18: ( (lv_isNotUnique_26_0= '!unique' ) )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1438:1: (lv_isNotUnique_26_0= '!unique' )
+                    	            {
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1438:1: (lv_isNotUnique_26_0= '!unique' )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1439:3: lv_isNotUnique_26_0= '!unique'
+                    	            {
+                    	            lv_isNotUnique_26_0=(Token)match(input,69,FollowSets000.FOLLOW_69_in_ruleAttributeCS3427); if (state.failed) return current;
+                    	            if ( state.backtracking==0 ) {
+
+                    	                      newLeafNode(lv_isNotUnique_26_0, grammarAccess.getAttributeCSAccess().getIsNotUniqueUniqueKeyword_5_5_0_0_0());
+                    	                  
+                    	            }
+                    	            if ( state.backtracking==0 ) {
+
+                    	              	        if (current==null) {
+                    	              	            current = createModelElement(grammarAccess.getAttributeCSRule());
+                    	              	        }
+                    	                     		setWithLastConsumed(current, "isNotUnique", true, "!unique");
+                    	              	    
+                    	            }
+
+                    	            }
+
+
+                    	            }
+
+
+                    	            }
+                    	            break;
+                    	        case 2 :
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1453:7: otherlv_27= 'unique'
+                    	            {
+                    	            otherlv_27=(Token)match(input,51,FollowSets000.FOLLOW_51_in_ruleAttributeCS3458); if (state.failed) return current;
+                    	            if ( state.backtracking==0 ) {
+
+                    	                  	newLeafNode(otherlv_27, grammarAccess.getAttributeCSAccess().getUniqueKeyword_5_5_0_1());
+                    	                  
+                    	            }
+
+                    	            }
+                    	            break;
+
+                    	    }
+
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1457:2: (otherlv_28= ',' )?
+                    	    int alt40=2;
+                    	    int LA40_0 = input.LA(1);
+
+                    	    if ( (LA40_0==60) ) {
+                    	        alt40=1;
+                    	    }
+                    	    switch (alt40) {
+                    	        case 1 :
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1457:4: otherlv_28= ','
+                    	            {
+                    	            otherlv_28=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleAttributeCS3472); if (state.failed) return current;
+                    	            if ( state.backtracking==0 ) {
+
+                    	                  	newLeafNode(otherlv_28, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_5_1());
+                    	                  
+                    	            }
+
+                    	            }
+                    	            break;
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+
+                    	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5());
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+                    	    break;
+                    	case 7 :
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1468:4: ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) ) ) )
+                    	    {
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1468:4: ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1469:5: {...}? => ( ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) ) )
+                    	    {
+                    	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleAttributeCS", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6)");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1469:108: ( ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1470:6: ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) )
+                    	    {
+                    	    getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6);
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1473:6: ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1473:7: {...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? )
+                    	    {
+                    	    if ( !((true)) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleAttributeCS", "true");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1473:16: ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1473:17: ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )?
+                    	    {
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1473:17: ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' )
+                    	    int alt41=2;
+                    	    int LA41_0 = input.LA(1);
+
+                    	    if ( (LA41_0==52) ) {
+                    	        alt41=1;
+                    	    }
+                    	    else if ( (LA41_0==70) ) {
+                    	        alt41=2;
+                    	    }
+                    	    else {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        NoViableAltException nvae =
+                    	            new NoViableAltException("", 41, 0, input);
+
+                    	        throw nvae;
+                    	    }
+                    	    switch (alt41) {
+                    	        case 1 :
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1473:18: ( (lv_isUnsettable_29_0= 'unsettable' ) )
+                    	            {
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1473:18: ( (lv_isUnsettable_29_0= 'unsettable' ) )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1474:1: (lv_isUnsettable_29_0= 'unsettable' )
+                    	            {
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1474:1: (lv_isUnsettable_29_0= 'unsettable' )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1475:3: lv_isUnsettable_29_0= 'unsettable'
+                    	            {
+                    	            lv_isUnsettable_29_0=(Token)match(input,52,FollowSets000.FOLLOW_52_in_ruleAttributeCS3549); if (state.failed) return current;
+                    	            if ( state.backtracking==0 ) {
+
+                    	                      newLeafNode(lv_isUnsettable_29_0, grammarAccess.getAttributeCSAccess().getIsUnsettableUnsettableKeyword_5_6_0_0_0());
+                    	                  
+                    	            }
+                    	            if ( state.backtracking==0 ) {
+
+                    	              	        if (current==null) {
+                    	              	            current = createModelElement(grammarAccess.getAttributeCSRule());
+                    	              	        }
+                    	                     		setWithLastConsumed(current, "isUnsettable", true, "unsettable");
+                    	              	    
+                    	            }
+
+                    	            }
+
+
+                    	            }
+
+
+                    	            }
+                    	            break;
+                    	        case 2 :
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1489:7: otherlv_30= '!unsettable'
+                    	            {
+                    	            otherlv_30=(Token)match(input,70,FollowSets000.FOLLOW_70_in_ruleAttributeCS3580); if (state.failed) return current;
+                    	            if ( state.backtracking==0 ) {
+
+                    	                  	newLeafNode(otherlv_30, grammarAccess.getAttributeCSAccess().getUnsettableKeyword_5_6_0_1());
+                    	                  
+                    	            }
+
+                    	            }
+                    	            break;
+
+                    	    }
+
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1493:2: (otherlv_31= ',' )?
+                    	    int alt42=2;
+                    	    int LA42_0 = input.LA(1);
+
+                    	    if ( (LA42_0==60) ) {
+                    	        alt42=1;
+                    	    }
+                    	    switch (alt42) {
+                    	        case 1 :
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1493:4: otherlv_31= ','
+                    	            {
+                    	            otherlv_31=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleAttributeCS3594); if (state.failed) return current;
+                    	            if ( state.backtracking==0 ) {
+
+                    	                  	newLeafNode(otherlv_31, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_6_1());
+                    	                  
+                    	            }
+
+                    	            }
+                    	            break;
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+
+                    	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5());
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+                    	    break;
+                    	case 8 :
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1504:4: ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) ) ) )
+                    	    {
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1504:4: ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1505:5: {...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) ) )
+                    	    {
+                    	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleAttributeCS", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7)");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1505:108: ( ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1506:6: ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) )
+                    	    {
+                    	    getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7);
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1509:6: ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1509:7: {...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' )
+                    	    {
+                    	    if ( !((true)) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleAttributeCS", "true");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1509:16: ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1509:17: ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}'
+                    	    {
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1509:17: ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )?
+                    	    int alt45=2;
+                    	    int LA45_0 = input.LA(1);
+
+                    	    if ( (LA45_0==53||LA45_0==71) ) {
+                    	        alt45=1;
+                    	    }
+                    	    switch (alt45) {
+                    	        case 1 :
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1509:18: ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )?
+                    	            {
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1509:18: ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' )
+                    	            int alt43=2;
+                    	            int LA43_0 = input.LA(1);
+
+                    	            if ( (LA43_0==53) ) {
+                    	                alt43=1;
+                    	            }
+                    	            else if ( (LA43_0==71) ) {
+                    	                alt43=2;
+                    	            }
+                    	            else {
+                    	                if (state.backtracking>0) {state.failed=true; return current;}
+                    	                NoViableAltException nvae =
+                    	                    new NoViableAltException("", 43, 0, input);
+
+                    	                throw nvae;
+                    	            }
+                    	            switch (alt43) {
+                    	                case 1 :
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1509:19: ( (lv_isVolatile_32_0= 'volatile' ) )
+                    	                    {
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1509:19: ( (lv_isVolatile_32_0= 'volatile' ) )
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1510:1: (lv_isVolatile_32_0= 'volatile' )
+                    	                    {
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1510:1: (lv_isVolatile_32_0= 'volatile' )
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1511:3: lv_isVolatile_32_0= 'volatile'
+                    	                    {
+                    	                    lv_isVolatile_32_0=(Token)match(input,53,FollowSets000.FOLLOW_53_in_ruleAttributeCS3672); if (state.failed) return current;
+                    	                    if ( state.backtracking==0 ) {
+
+                    	                              newLeafNode(lv_isVolatile_32_0, grammarAccess.getAttributeCSAccess().getIsVolatileVolatileKeyword_5_7_0_0_0_0());
+                    	                          
+                    	                    }
+                    	                    if ( state.backtracking==0 ) {
+
+                    	                      	        if (current==null) {
+                    	                      	            current = createModelElement(grammarAccess.getAttributeCSRule());
+                    	                      	        }
+                    	                             		setWithLastConsumed(current, "isVolatile", true, "volatile");
+                    	                      	    
+                    	                    }
+
+                    	                    }
+
+
+                    	                    }
+
+
+                    	                    }
+                    	                    break;
+                    	                case 2 :
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1525:7: otherlv_33= '!volatile'
+                    	                    {
+                    	                    otherlv_33=(Token)match(input,71,FollowSets000.FOLLOW_71_in_ruleAttributeCS3703); if (state.failed) return current;
+                    	                    if ( state.backtracking==0 ) {
+
+                    	                          	newLeafNode(otherlv_33, grammarAccess.getAttributeCSAccess().getVolatileKeyword_5_7_0_0_1());
+                    	                          
+                    	                    }
+
+                    	                    }
+                    	                    break;
+
+                    	            }
+
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1529:2: (otherlv_34= ',' )?
+                    	            int alt44=2;
+                    	            int LA44_0 = input.LA(1);
+
+                    	            if ( (LA44_0==60) ) {
+                    	                alt44=1;
+                    	            }
+                    	            switch (alt44) {
+                    	                case 1 :
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1529:4: otherlv_34= ','
+                    	                    {
+                    	                    otherlv_34=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleAttributeCS3717); if (state.failed) return current;
+                    	                    if ( state.backtracking==0 ) {
+
+                    	                          	newLeafNode(otherlv_34, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_7_0_1());
+                    	                          
+                    	                    }
+
+                    	                    }
+                    	                    break;
+
+                    	            }
+
+
+                    	            }
+                    	            break;
+
+                    	    }
+
+                    	    otherlv_35=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleAttributeCS3733); if (state.failed) return current;
+                    	    if ( state.backtracking==0 ) {
+
+                    	          	newLeafNode(otherlv_35, grammarAccess.getAttributeCSAccess().getRightCurlyBracketKeyword_5_7_1());
+                    	          
+                    	    }
+
+                    	    }
+
+
+                    	    }
+
+                    	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5());
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
                     	    break;
 
                     	default :
-                    	    if ( cnt32 >= 1 ) break loop32;
+                    	    if ( cnt46 >= 1 ) break loop46;
                     	    if (state.backtracking>0) {state.failed=true; return current;}
                                 EarlyExitException eee =
-                                    new EarlyExitException(32, input);
+                                    new EarlyExitException(46, input);
                                 throw eee;
                         }
-                        cnt32++;
+                        cnt46++;
                     } while (true);
 
-                    otherlv_28=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleAttributeCS3296); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                          	newLeafNode(otherlv_28, grammarAccess.getAttributeCSAccess().getRightCurlyBracketKeyword_5_2());
-                          
+                    if ( ! getUnorderedGroupHelper().canLeave(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5()) ) {
+                        if (state.backtracking>0) {state.failed=true; return current;}
+                        throw new FailedPredicateException(input, "ruleAttributeCS", "getUnorderedGroupHelper().canLeave(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5())");
                     }
 
                     }
+
+
+                    }
+
+                    getUnorderedGroupHelper().leave(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5());
+
+                    }
                     break;
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1483:3: ( (otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | (otherlv_31= 'derivation' ( ruleUnrestrictedName )? otherlv_33= ':' ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? otherlv_35= ';' ) | (otherlv_36= 'initial' ( ruleUnrestrictedName )? otherlv_38= ':' ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? otherlv_40= ';' ) )* otherlv_41= '}' ) | otherlv_42= ';' )
-            int alt39=2;
-            int LA39_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1552:3: ( (otherlv_36= '{' ( ( (lv_ownedAnnotations_37_0= ruleAnnotationElementCS ) ) | (otherlv_38= 'derivation' ( ruleUnrestrictedName )? otherlv_40= ':' ( (lv_ownedDefaultExpressions_41_0= ruleSpecificationCS ) )? otherlv_42= ';' ) | (otherlv_43= 'initial' ( ruleUnrestrictedName )? otherlv_45= ':' ( (lv_ownedDefaultExpressions_46_0= ruleSpecificationCS ) )? otherlv_47= ';' ) )* otherlv_48= '}' ) | otherlv_49= ';' )
+            int alt53=2;
+            int LA53_0 = input.LA(1);
 
-            if ( (LA39_0==61) ) {
-                alt39=1;
+            if ( (LA53_0==61) ) {
+                alt53=1;
             }
-            else if ( (LA39_0==58) ) {
-                alt39=2;
+            else if ( (LA53_0==58) ) {
+                alt53=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 39, 0, input);
+                    new NoViableAltException("", 53, 0, input);
 
                 throw nvae;
             }
-            switch (alt39) {
+            switch (alt53) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1483:4: (otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | (otherlv_31= 'derivation' ( ruleUnrestrictedName )? otherlv_33= ':' ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? otherlv_35= ';' ) | (otherlv_36= 'initial' ( ruleUnrestrictedName )? otherlv_38= ':' ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? otherlv_40= ';' ) )* otherlv_41= '}' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1552:4: (otherlv_36= '{' ( ( (lv_ownedAnnotations_37_0= ruleAnnotationElementCS ) ) | (otherlv_38= 'derivation' ( ruleUnrestrictedName )? otherlv_40= ':' ( (lv_ownedDefaultExpressions_41_0= ruleSpecificationCS ) )? otherlv_42= ';' ) | (otherlv_43= 'initial' ( ruleUnrestrictedName )? otherlv_45= ':' ( (lv_ownedDefaultExpressions_46_0= ruleSpecificationCS ) )? otherlv_47= ';' ) )* otherlv_48= '}' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1483:4: (otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | (otherlv_31= 'derivation' ( ruleUnrestrictedName )? otherlv_33= ':' ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? otherlv_35= ';' ) | (otherlv_36= 'initial' ( ruleUnrestrictedName )? otherlv_38= ':' ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? otherlv_40= ';' ) )* otherlv_41= '}' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1483:6: otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | (otherlv_31= 'derivation' ( ruleUnrestrictedName )? otherlv_33= ':' ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? otherlv_35= ';' ) | (otherlv_36= 'initial' ( ruleUnrestrictedName )? otherlv_38= ':' ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? otherlv_40= ';' ) )* otherlv_41= '}'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1552:4: (otherlv_36= '{' ( ( (lv_ownedAnnotations_37_0= ruleAnnotationElementCS ) ) | (otherlv_38= 'derivation' ( ruleUnrestrictedName )? otherlv_40= ':' ( (lv_ownedDefaultExpressions_41_0= ruleSpecificationCS ) )? otherlv_42= ';' ) | (otherlv_43= 'initial' ( ruleUnrestrictedName )? otherlv_45= ':' ( (lv_ownedDefaultExpressions_46_0= ruleSpecificationCS ) )? otherlv_47= ';' ) )* otherlv_48= '}' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1552:6: otherlv_36= '{' ( ( (lv_ownedAnnotations_37_0= ruleAnnotationElementCS ) ) | (otherlv_38= 'derivation' ( ruleUnrestrictedName )? otherlv_40= ':' ( (lv_ownedDefaultExpressions_41_0= ruleSpecificationCS ) )? otherlv_42= ';' ) | (otherlv_43= 'initial' ( ruleUnrestrictedName )? otherlv_45= ':' ( (lv_ownedDefaultExpressions_46_0= ruleSpecificationCS ) )? otherlv_47= ';' ) )* otherlv_48= '}'
                     {
-                    otherlv_29=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleAttributeCS3312); if (state.failed) return current;
+                    otherlv_36=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleAttributeCS3795); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
-                          	newLeafNode(otherlv_29, grammarAccess.getAttributeCSAccess().getLeftCurlyBracketKeyword_6_0_0());
+                          	newLeafNode(otherlv_36, grammarAccess.getAttributeCSAccess().getLeftCurlyBracketKeyword_6_0_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1487:1: ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | (otherlv_31= 'derivation' ( ruleUnrestrictedName )? otherlv_33= ':' ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? otherlv_35= ';' ) | (otherlv_36= 'initial' ( ruleUnrestrictedName )? otherlv_38= ':' ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? otherlv_40= ';' ) )*
-                    loop38:
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1556:1: ( ( (lv_ownedAnnotations_37_0= ruleAnnotationElementCS ) ) | (otherlv_38= 'derivation' ( ruleUnrestrictedName )? otherlv_40= ':' ( (lv_ownedDefaultExpressions_41_0= ruleSpecificationCS ) )? otherlv_42= ';' ) | (otherlv_43= 'initial' ( ruleUnrestrictedName )? otherlv_45= ':' ( (lv_ownedDefaultExpressions_46_0= ruleSpecificationCS ) )? otherlv_47= ';' ) )*
+                    loop52:
                     do {
-                        int alt38=4;
+                        int alt52=4;
                         switch ( input.LA(1) ) {
                         case 59:
                         case 74:
                         case 80:
                             {
-                            alt38=1;
+                            alt52=1;
                             }
                             break;
                         case 27:
                             {
-                            alt38=2;
+                            alt52=2;
                             }
                             break;
                         case 33:
                             {
-                            alt38=3;
+                            alt52=3;
                             }
                             break;
 
                         }
 
-                        switch (alt38) {
+                        switch (alt52) {
                     	case 1 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1487:2: ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1556:2: ( (lv_ownedAnnotations_37_0= ruleAnnotationElementCS ) )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1487:2: ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1488:1: (lv_ownedAnnotations_30_0= ruleAnnotationElementCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1556:2: ( (lv_ownedAnnotations_37_0= ruleAnnotationElementCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1557:1: (lv_ownedAnnotations_37_0= ruleAnnotationElementCS )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1488:1: (lv_ownedAnnotations_30_0= ruleAnnotationElementCS )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1489:3: lv_ownedAnnotations_30_0= ruleAnnotationElementCS
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1557:1: (lv_ownedAnnotations_37_0= ruleAnnotationElementCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1558:3: lv_ownedAnnotations_37_0= ruleAnnotationElementCS
                     	    {
                     	    if ( state.backtracking==0 ) {
                     	       
                     	      	        newCompositeNode(grammarAccess.getAttributeCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_6_0_1_0_0()); 
                     	      	    
                     	    }
-                    	    pushFollow(FollowSets000.FOLLOW_ruleAnnotationElementCS_in_ruleAttributeCS3334);
-                    	    lv_ownedAnnotations_30_0=ruleAnnotationElementCS();
+                    	    pushFollow(FollowSets000.FOLLOW_ruleAnnotationElementCS_in_ruleAttributeCS3817);
+                    	    lv_ownedAnnotations_37_0=ruleAnnotationElementCS();
 
                     	    state._fsp--;
                     	    if (state.failed) return current;
@@ -4327,7 +4769,7 @@
                     	             		add(
                     	             			current, 
                     	             			"ownedAnnotations",
-                    	              		lv_ownedAnnotations_30_0, 
+                    	              		lv_ownedAnnotations_37_0, 
                     	              		"AnnotationElementCS");
                     	      	        afterParserOrEnumRuleCall();
                     	      	    
@@ -4342,27 +4784,27 @@
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1506:6: (otherlv_31= 'derivation' ( ruleUnrestrictedName )? otherlv_33= ':' ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? otherlv_35= ';' )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1575:6: (otherlv_38= 'derivation' ( ruleUnrestrictedName )? otherlv_40= ':' ( (lv_ownedDefaultExpressions_41_0= ruleSpecificationCS ) )? otherlv_42= ';' )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1506:6: (otherlv_31= 'derivation' ( ruleUnrestrictedName )? otherlv_33= ':' ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? otherlv_35= ';' )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1506:8: otherlv_31= 'derivation' ( ruleUnrestrictedName )? otherlv_33= ':' ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? otherlv_35= ';'
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1575:6: (otherlv_38= 'derivation' ( ruleUnrestrictedName )? otherlv_40= ':' ( (lv_ownedDefaultExpressions_41_0= ruleSpecificationCS ) )? otherlv_42= ';' )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1575:8: otherlv_38= 'derivation' ( ruleUnrestrictedName )? otherlv_40= ':' ( (lv_ownedDefaultExpressions_41_0= ruleSpecificationCS ) )? otherlv_42= ';'
                     	    {
-                    	    otherlv_31=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleAttributeCS3353); if (state.failed) return current;
+                    	    otherlv_38=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleAttributeCS3836); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
-                    	          	newLeafNode(otherlv_31, grammarAccess.getAttributeCSAccess().getDerivationKeyword_6_0_1_1_0());
+                    	          	newLeafNode(otherlv_38, grammarAccess.getAttributeCSAccess().getDerivationKeyword_6_0_1_1_0());
                     	          
                     	    }
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1510:1: ( ruleUnrestrictedName )?
-                    	    int alt34=2;
-                    	    int LA34_0 = input.LA(1);
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1579:1: ( ruleUnrestrictedName )?
+                    	    int alt48=2;
+                    	    int LA48_0 = input.LA(1);
 
-                    	    if ( ((LA34_0>=RULE_SIMPLE_ID && LA34_0<=RULE_ESCAPED_ID)||LA34_0==17||(LA34_0>=19 && LA34_0<=54)||LA34_0==59||LA34_0==72||(LA34_0>=74 && LA34_0<=75)||LA34_0==80) ) {
-                    	        alt34=1;
+                    	    if ( ((LA48_0>=RULE_SIMPLE_ID && LA48_0<=RULE_ESCAPED_ID)||LA48_0==17||(LA48_0>=19 && LA48_0<=54)||LA48_0==59||LA48_0==72||(LA48_0>=74 && LA48_0<=75)||LA48_0==80) ) {
+                    	        alt48=1;
                     	    }
-                    	    switch (alt34) {
+                    	    switch (alt48) {
                     	        case 1 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1511:2: ruleUnrestrictedName
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1580:2: ruleUnrestrictedName
                     	            {
                     	            if ( state.backtracking==0 ) {
                     	               
@@ -4374,7 +4816,7 @@
                     	                      newCompositeNode(grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_1_1()); 
                     	                  
                     	            }
-                    	            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleAttributeCS3373);
+                    	            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleAttributeCS3856);
                     	            ruleUnrestrictedName();
 
                     	            state._fsp--;
@@ -4390,33 +4832,33 @@
 
                     	    }
 
-                    	    otherlv_33=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleAttributeCS3386); if (state.failed) return current;
+                    	    otherlv_40=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleAttributeCS3869); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
-                    	          	newLeafNode(otherlv_33, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_1_2());
+                    	          	newLeafNode(otherlv_40, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_1_2());
                     	          
                     	    }
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1525:1: ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )?
-                    	    int alt35=2;
-                    	    int LA35_0 = input.LA(1);
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1594:1: ( (lv_ownedDefaultExpressions_41_0= ruleSpecificationCS ) )?
+                    	    int alt49=2;
+                    	    int LA49_0 = input.LA(1);
 
-                    	    if ( ((LA35_0>=RULE_INT && LA35_0<=RULE_SINGLE_QUOTED_STRING)||(LA35_0>=RULE_UNQUOTED_STRING && LA35_0<=RULE_ESCAPED_ID)||(LA35_0>=17 && LA35_0<=55)||LA35_0==59||LA35_0==72||(LA35_0>=74 && LA35_0<=75)||LA35_0==80||(LA35_0>=83 && LA35_0<=84)||LA35_0==98||(LA35_0>=100 && LA35_0<=112)||(LA35_0>=115 && LA35_0<=119)||LA35_0==126||(LA35_0>=131 && LA35_0<=132)) ) {
-                    	        alt35=1;
+                    	    if ( ((LA49_0>=RULE_INT && LA49_0<=RULE_SINGLE_QUOTED_STRING)||(LA49_0>=RULE_UNQUOTED_STRING && LA49_0<=RULE_ESCAPED_ID)||(LA49_0>=17 && LA49_0<=55)||LA49_0==59||LA49_0==72||(LA49_0>=74 && LA49_0<=75)||LA49_0==80||(LA49_0>=83 && LA49_0<=84)||LA49_0==98||(LA49_0>=100 && LA49_0<=112)||(LA49_0>=115 && LA49_0<=119)||LA49_0==126||(LA49_0>=131 && LA49_0<=132)) ) {
+                    	        alt49=1;
                     	    }
-                    	    switch (alt35) {
+                    	    switch (alt49) {
                     	        case 1 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1526:1: (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1595:1: (lv_ownedDefaultExpressions_41_0= ruleSpecificationCS )
                     	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1526:1: (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1527:3: lv_ownedDefaultExpressions_34_0= ruleSpecificationCS
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1595:1: (lv_ownedDefaultExpressions_41_0= ruleSpecificationCS )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1596:3: lv_ownedDefaultExpressions_41_0= ruleSpecificationCS
                     	            {
                     	            if ( state.backtracking==0 ) {
                     	               
                     	              	        newCompositeNode(grammarAccess.getAttributeCSAccess().getOwnedDefaultExpressionsSpecificationCSParserRuleCall_6_0_1_1_3_0()); 
                     	              	    
                     	            }
-                    	            pushFollow(FollowSets000.FOLLOW_ruleSpecificationCS_in_ruleAttributeCS3407);
-                    	            lv_ownedDefaultExpressions_34_0=ruleSpecificationCS();
+                    	            pushFollow(FollowSets000.FOLLOW_ruleSpecificationCS_in_ruleAttributeCS3890);
+                    	            lv_ownedDefaultExpressions_41_0=ruleSpecificationCS();
 
                     	            state._fsp--;
                     	            if (state.failed) return current;
@@ -4428,7 +4870,7 @@
                     	                     		add(
                     	                     			current, 
                     	                     			"ownedDefaultExpressions",
-                    	                      		lv_ownedDefaultExpressions_34_0, 
+                    	                      		lv_ownedDefaultExpressions_41_0, 
                     	                      		"SpecificationCS");
                     	              	        afterParserOrEnumRuleCall();
                     	              	    
@@ -4442,10 +4884,10 @@
 
                     	    }
 
-                    	    otherlv_35=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleAttributeCS3420); if (state.failed) return current;
+                    	    otherlv_42=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleAttributeCS3903); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
-                    	          	newLeafNode(otherlv_35, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_1_4());
+                    	          	newLeafNode(otherlv_42, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_1_4());
                     	          
                     	    }
 
@@ -4455,27 +4897,27 @@
                     	    }
                     	    break;
                     	case 3 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1548:6: (otherlv_36= 'initial' ( ruleUnrestrictedName )? otherlv_38= ':' ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? otherlv_40= ';' )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1617:6: (otherlv_43= 'initial' ( ruleUnrestrictedName )? otherlv_45= ':' ( (lv_ownedDefaultExpressions_46_0= ruleSpecificationCS ) )? otherlv_47= ';' )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1548:6: (otherlv_36= 'initial' ( ruleUnrestrictedName )? otherlv_38= ':' ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? otherlv_40= ';' )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1548:8: otherlv_36= 'initial' ( ruleUnrestrictedName )? otherlv_38= ':' ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? otherlv_40= ';'
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1617:6: (otherlv_43= 'initial' ( ruleUnrestrictedName )? otherlv_45= ':' ( (lv_ownedDefaultExpressions_46_0= ruleSpecificationCS ) )? otherlv_47= ';' )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1617:8: otherlv_43= 'initial' ( ruleUnrestrictedName )? otherlv_45= ':' ( (lv_ownedDefaultExpressions_46_0= ruleSpecificationCS ) )? otherlv_47= ';'
                     	    {
-                    	    otherlv_36=(Token)match(input,33,FollowSets000.FOLLOW_33_in_ruleAttributeCS3440); if (state.failed) return current;
+                    	    otherlv_43=(Token)match(input,33,FollowSets000.FOLLOW_33_in_ruleAttributeCS3923); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
-                    	          	newLeafNode(otherlv_36, grammarAccess.getAttributeCSAccess().getInitialKeyword_6_0_1_2_0());
+                    	          	newLeafNode(otherlv_43, grammarAccess.getAttributeCSAccess().getInitialKeyword_6_0_1_2_0());
                     	          
                     	    }
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1552:1: ( ruleUnrestrictedName )?
-                    	    int alt36=2;
-                    	    int LA36_0 = input.LA(1);
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1621:1: ( ruleUnrestrictedName )?
+                    	    int alt50=2;
+                    	    int LA50_0 = input.LA(1);
 
-                    	    if ( ((LA36_0>=RULE_SIMPLE_ID && LA36_0<=RULE_ESCAPED_ID)||LA36_0==17||(LA36_0>=19 && LA36_0<=54)||LA36_0==59||LA36_0==72||(LA36_0>=74 && LA36_0<=75)||LA36_0==80) ) {
-                    	        alt36=1;
+                    	    if ( ((LA50_0>=RULE_SIMPLE_ID && LA50_0<=RULE_ESCAPED_ID)||LA50_0==17||(LA50_0>=19 && LA50_0<=54)||LA50_0==59||LA50_0==72||(LA50_0>=74 && LA50_0<=75)||LA50_0==80) ) {
+                    	        alt50=1;
                     	    }
-                    	    switch (alt36) {
+                    	    switch (alt50) {
                     	        case 1 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1553:2: ruleUnrestrictedName
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1622:2: ruleUnrestrictedName
                     	            {
                     	            if ( state.backtracking==0 ) {
                     	               
@@ -4487,7 +4929,7 @@
                     	                      newCompositeNode(grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_2_1()); 
                     	                  
                     	            }
-                    	            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleAttributeCS3460);
+                    	            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleAttributeCS3943);
                     	            ruleUnrestrictedName();
 
                     	            state._fsp--;
@@ -4503,33 +4945,33 @@
 
                     	    }
 
-                    	    otherlv_38=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleAttributeCS3473); if (state.failed) return current;
+                    	    otherlv_45=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleAttributeCS3956); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
-                    	          	newLeafNode(otherlv_38, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_2_2());
+                    	          	newLeafNode(otherlv_45, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_2_2());
                     	          
                     	    }
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1567:1: ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )?
-                    	    int alt37=2;
-                    	    int LA37_0 = input.LA(1);
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1636:1: ( (lv_ownedDefaultExpressions_46_0= ruleSpecificationCS ) )?
+                    	    int alt51=2;
+                    	    int LA51_0 = input.LA(1);
 
-                    	    if ( ((LA37_0>=RULE_INT && LA37_0<=RULE_SINGLE_QUOTED_STRING)||(LA37_0>=RULE_UNQUOTED_STRING && LA37_0<=RULE_ESCAPED_ID)||(LA37_0>=17 && LA37_0<=55)||LA37_0==59||LA37_0==72||(LA37_0>=74 && LA37_0<=75)||LA37_0==80||(LA37_0>=83 && LA37_0<=84)||LA37_0==98||(LA37_0>=100 && LA37_0<=112)||(LA37_0>=115 && LA37_0<=119)||LA37_0==126||(LA37_0>=131 && LA37_0<=132)) ) {
-                    	        alt37=1;
+                    	    if ( ((LA51_0>=RULE_INT && LA51_0<=RULE_SINGLE_QUOTED_STRING)||(LA51_0>=RULE_UNQUOTED_STRING && LA51_0<=RULE_ESCAPED_ID)||(LA51_0>=17 && LA51_0<=55)||LA51_0==59||LA51_0==72||(LA51_0>=74 && LA51_0<=75)||LA51_0==80||(LA51_0>=83 && LA51_0<=84)||LA51_0==98||(LA51_0>=100 && LA51_0<=112)||(LA51_0>=115 && LA51_0<=119)||LA51_0==126||(LA51_0>=131 && LA51_0<=132)) ) {
+                    	        alt51=1;
                     	    }
-                    	    switch (alt37) {
+                    	    switch (alt51) {
                     	        case 1 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1568:1: (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1637:1: (lv_ownedDefaultExpressions_46_0= ruleSpecificationCS )
                     	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1568:1: (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1569:3: lv_ownedDefaultExpressions_39_0= ruleSpecificationCS
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1637:1: (lv_ownedDefaultExpressions_46_0= ruleSpecificationCS )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1638:3: lv_ownedDefaultExpressions_46_0= ruleSpecificationCS
                     	            {
                     	            if ( state.backtracking==0 ) {
                     	               
                     	              	        newCompositeNode(grammarAccess.getAttributeCSAccess().getOwnedDefaultExpressionsSpecificationCSParserRuleCall_6_0_1_2_3_0()); 
                     	              	    
                     	            }
-                    	            pushFollow(FollowSets000.FOLLOW_ruleSpecificationCS_in_ruleAttributeCS3494);
-                    	            lv_ownedDefaultExpressions_39_0=ruleSpecificationCS();
+                    	            pushFollow(FollowSets000.FOLLOW_ruleSpecificationCS_in_ruleAttributeCS3977);
+                    	            lv_ownedDefaultExpressions_46_0=ruleSpecificationCS();
 
                     	            state._fsp--;
                     	            if (state.failed) return current;
@@ -4541,7 +4983,7 @@
                     	                     		add(
                     	                     			current, 
                     	                     			"ownedDefaultExpressions",
-                    	                      		lv_ownedDefaultExpressions_39_0, 
+                    	                      		lv_ownedDefaultExpressions_46_0, 
                     	                      		"SpecificationCS");
                     	              	        afterParserOrEnumRuleCall();
                     	              	    
@@ -4555,10 +4997,10 @@
 
                     	    }
 
-                    	    otherlv_40=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleAttributeCS3507); if (state.failed) return current;
+                    	    otherlv_47=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleAttributeCS3990); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
-                    	          	newLeafNode(otherlv_40, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_2_4());
+                    	          	newLeafNode(otherlv_47, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_2_4());
                     	          
                     	    }
 
@@ -4569,14 +5011,14 @@
                     	    break;
 
                     	default :
-                    	    break loop38;
+                    	    break loop52;
                         }
                     } while (true);
 
-                    otherlv_41=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleAttributeCS3522); if (state.failed) return current;
+                    otherlv_48=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleAttributeCS4005); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
-                          	newLeafNode(otherlv_41, grammarAccess.getAttributeCSAccess().getRightCurlyBracketKeyword_6_0_2());
+                          	newLeafNode(otherlv_48, grammarAccess.getAttributeCSAccess().getRightCurlyBracketKeyword_6_0_2());
                           
                     }
 
@@ -4586,12 +5028,12 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1594:7: otherlv_42= ';'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1663:7: otherlv_49= ';'
                     {
-                    otherlv_42=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleAttributeCS3541); if (state.failed) return current;
+                    otherlv_49=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleAttributeCS4024); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
-                          	newLeafNode(otherlv_42, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_1());
+                          	newLeafNode(otherlv_49, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_1());
                           
                     }
 
@@ -4616,6 +5058,9 @@
                 appendSkippedTokens();
             } 
         finally {
+
+            	myUnorderedGroupState.restore();
+
         }
         return current;
     }
@@ -4623,7 +5068,7 @@
 
 
     // $ANTLR start "entryRuleClassCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1606:1: entryRuleClassCS returns [EObject current=null] : iv_ruleClassCS= ruleClassCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1678:1: entryRuleClassCS returns [EObject current=null] : iv_ruleClassCS= ruleClassCS EOF ;
     public final EObject entryRuleClassCS() throws RecognitionException {
         EObject current = null;
 
@@ -4631,13 +5076,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1607:2: (iv_ruleClassCS= ruleClassCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1608:2: iv_ruleClassCS= ruleClassCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1679:2: (iv_ruleClassCS= ruleClassCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1680:2: iv_ruleClassCS= ruleClassCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getClassCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleClassCS_in_entryRuleClassCS3578);
+            pushFollow(FollowSets000.FOLLOW_ruleClassCS_in_entryRuleClassCS4065);
             iv_ruleClassCS=ruleClassCS();
 
             state._fsp--;
@@ -4645,7 +5090,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleClassCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleClassCS3588); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleClassCS4075); if (state.failed) return current;
 
             }
 
@@ -4663,7 +5108,7 @@
 
 
     // $ANTLR start "ruleClassCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1615:1: ruleClassCS returns [EObject current=null] : (this_StructuredClassCS_0= ruleStructuredClassCS | this_DataTypeCS_1= ruleDataTypeCS | this_EnumerationCS_2= ruleEnumerationCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1687:1: ruleClassCS returns [EObject current=null] : (this_StructuredClassCS_0= ruleStructuredClassCS | this_DataTypeCS_1= ruleDataTypeCS | this_EnumerationCS_2= ruleEnumerationCS ) ;
     public final EObject ruleClassCS() throws RecognitionException {
         EObject current = null;
 
@@ -4677,40 +5122,40 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1618:28: ( (this_StructuredClassCS_0= ruleStructuredClassCS | this_DataTypeCS_1= ruleDataTypeCS | this_EnumerationCS_2= ruleEnumerationCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1619:1: (this_StructuredClassCS_0= ruleStructuredClassCS | this_DataTypeCS_1= ruleDataTypeCS | this_EnumerationCS_2= ruleEnumerationCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1690:28: ( (this_StructuredClassCS_0= ruleStructuredClassCS | this_DataTypeCS_1= ruleDataTypeCS | this_EnumerationCS_2= ruleEnumerationCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1691:1: (this_StructuredClassCS_0= ruleStructuredClassCS | this_DataTypeCS_1= ruleDataTypeCS | this_EnumerationCS_2= ruleEnumerationCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1619:1: (this_StructuredClassCS_0= ruleStructuredClassCS | this_DataTypeCS_1= ruleDataTypeCS | this_EnumerationCS_2= ruleEnumerationCS )
-            int alt40=3;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1691:1: (this_StructuredClassCS_0= ruleStructuredClassCS | this_DataTypeCS_1= ruleDataTypeCS | this_EnumerationCS_2= ruleEnumerationCS )
+            int alt54=3;
             switch ( input.LA(1) ) {
             case 19:
             case 23:
                 {
-                alt40=1;
+                alt54=1;
                 }
                 break;
             case 25:
             case 42:
                 {
-                alt40=2;
+                alt54=2;
                 }
                 break;
             case 29:
                 {
-                alt40=3;
+                alt54=3;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 40, 0, input);
+                    new NoViableAltException("", 54, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt40) {
+            switch (alt54) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1620:2: this_StructuredClassCS_0= ruleStructuredClassCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1692:2: this_StructuredClassCS_0= ruleStructuredClassCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -4722,7 +5167,7 @@
                               newCompositeNode(grammarAccess.getClassCSAccess().getStructuredClassCSParserRuleCall_0()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleStructuredClassCS_in_ruleClassCS3638);
+                    pushFollow(FollowSets000.FOLLOW_ruleStructuredClassCS_in_ruleClassCS4125);
                     this_StructuredClassCS_0=ruleStructuredClassCS();
 
                     state._fsp--;
@@ -4737,7 +5182,7 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1633:2: this_DataTypeCS_1= ruleDataTypeCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1705:2: this_DataTypeCS_1= ruleDataTypeCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -4749,7 +5194,7 @@
                               newCompositeNode(grammarAccess.getClassCSAccess().getDataTypeCSParserRuleCall_1()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleDataTypeCS_in_ruleClassCS3668);
+                    pushFollow(FollowSets000.FOLLOW_ruleDataTypeCS_in_ruleClassCS4155);
                     this_DataTypeCS_1=ruleDataTypeCS();
 
                     state._fsp--;
@@ -4764,7 +5209,7 @@
                     }
                     break;
                 case 3 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1646:2: this_EnumerationCS_2= ruleEnumerationCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1718:2: this_EnumerationCS_2= ruleEnumerationCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -4776,7 +5221,7 @@
                               newCompositeNode(grammarAccess.getClassCSAccess().getEnumerationCSParserRuleCall_2()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleEnumerationCS_in_ruleClassCS3698);
+                    pushFollow(FollowSets000.FOLLOW_ruleEnumerationCS_in_ruleClassCS4185);
                     this_EnumerationCS_2=ruleEnumerationCS();
 
                     state._fsp--;
@@ -4813,7 +5258,7 @@
 
 
     // $ANTLR start "entryRuleDataTypeCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1665:1: entryRuleDataTypeCS returns [EObject current=null] : iv_ruleDataTypeCS= ruleDataTypeCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1737:1: entryRuleDataTypeCS returns [EObject current=null] : iv_ruleDataTypeCS= ruleDataTypeCS EOF ;
     public final EObject entryRuleDataTypeCS() throws RecognitionException {
         EObject current = null;
 
@@ -4821,13 +5266,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1666:2: (iv_ruleDataTypeCS= ruleDataTypeCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1667:2: iv_ruleDataTypeCS= ruleDataTypeCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1738:2: (iv_ruleDataTypeCS= ruleDataTypeCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1739:2: iv_ruleDataTypeCS= ruleDataTypeCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getDataTypeCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleDataTypeCS_in_entryRuleDataTypeCS3733);
+            pushFollow(FollowSets000.FOLLOW_ruleDataTypeCS_in_entryRuleDataTypeCS4220);
             iv_ruleDataTypeCS=ruleDataTypeCS();
 
             state._fsp--;
@@ -4835,7 +5280,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleDataTypeCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleDataTypeCS3743); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleDataTypeCS4230); if (state.failed) return current;
 
             }
 
@@ -4853,7 +5298,7 @@
 
 
     // $ANTLR start "ruleDataTypeCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1674:1: ruleDataTypeCS returns [EObject current=null] : ( ( (lv_isPrimitive_0_0= 'primitive' ) )? otherlv_1= 'datatype' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= ':' ( (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_6= '{' ( ( (lv_isSerializable_7_0= 'serializable' ) ) | otherlv_8= '!serializable' )? otherlv_9= '}' )? ( (otherlv_10= '{' ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1746:1: ruleDataTypeCS returns [EObject current=null] : ( ( (lv_isPrimitive_0_0= 'primitive' ) )? otherlv_1= 'datatype' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= ':' ( (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_6= '{' ( ( (lv_isSerializable_7_0= 'serializable' ) ) | otherlv_8= '!serializable' )? otherlv_9= '}' )? ( (otherlv_10= '{' ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' ) ) ;
     public final EObject ruleDataTypeCS() throws RecognitionException {
         EObject current = null;
 
@@ -4880,27 +5325,27 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1677:28: ( ( ( (lv_isPrimitive_0_0= 'primitive' ) )? otherlv_1= 'datatype' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= ':' ( (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_6= '{' ( ( (lv_isSerializable_7_0= 'serializable' ) ) | otherlv_8= '!serializable' )? otherlv_9= '}' )? ( (otherlv_10= '{' ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1678:1: ( ( (lv_isPrimitive_0_0= 'primitive' ) )? otherlv_1= 'datatype' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= ':' ( (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_6= '{' ( ( (lv_isSerializable_7_0= 'serializable' ) ) | otherlv_8= '!serializable' )? otherlv_9= '}' )? ( (otherlv_10= '{' ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1749:28: ( ( ( (lv_isPrimitive_0_0= 'primitive' ) )? otherlv_1= 'datatype' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= ':' ( (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_6= '{' ( ( (lv_isSerializable_7_0= 'serializable' ) ) | otherlv_8= '!serializable' )? otherlv_9= '}' )? ( (otherlv_10= '{' ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1750:1: ( ( (lv_isPrimitive_0_0= 'primitive' ) )? otherlv_1= 'datatype' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= ':' ( (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_6= '{' ( ( (lv_isSerializable_7_0= 'serializable' ) ) | otherlv_8= '!serializable' )? otherlv_9= '}' )? ( (otherlv_10= '{' ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1678:1: ( ( (lv_isPrimitive_0_0= 'primitive' ) )? otherlv_1= 'datatype' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= ':' ( (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_6= '{' ( ( (lv_isSerializable_7_0= 'serializable' ) ) | otherlv_8= '!serializable' )? otherlv_9= '}' )? ( (otherlv_10= '{' ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1678:2: ( (lv_isPrimitive_0_0= 'primitive' ) )? otherlv_1= 'datatype' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= ':' ( (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_6= '{' ( ( (lv_isSerializable_7_0= 'serializable' ) ) | otherlv_8= '!serializable' )? otherlv_9= '}' )? ( (otherlv_10= '{' ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1750:1: ( ( (lv_isPrimitive_0_0= 'primitive' ) )? otherlv_1= 'datatype' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= ':' ( (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_6= '{' ( ( (lv_isSerializable_7_0= 'serializable' ) ) | otherlv_8= '!serializable' )? otherlv_9= '}' )? ( (otherlv_10= '{' ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1750:2: ( (lv_isPrimitive_0_0= 'primitive' ) )? otherlv_1= 'datatype' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= ':' ( (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_6= '{' ( ( (lv_isSerializable_7_0= 'serializable' ) ) | otherlv_8= '!serializable' )? otherlv_9= '}' )? ( (otherlv_10= '{' ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1678:2: ( (lv_isPrimitive_0_0= 'primitive' ) )?
-            int alt41=2;
-            int LA41_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1750:2: ( (lv_isPrimitive_0_0= 'primitive' ) )?
+            int alt55=2;
+            int LA55_0 = input.LA(1);
 
-            if ( (LA41_0==42) ) {
-                alt41=1;
+            if ( (LA55_0==42) ) {
+                alt55=1;
             }
-            switch (alt41) {
+            switch (alt55) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1679:1: (lv_isPrimitive_0_0= 'primitive' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1751:1: (lv_isPrimitive_0_0= 'primitive' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1679:1: (lv_isPrimitive_0_0= 'primitive' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1680:3: lv_isPrimitive_0_0= 'primitive'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1751:1: (lv_isPrimitive_0_0= 'primitive' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1752:3: lv_isPrimitive_0_0= 'primitive'
                     {
-                    lv_isPrimitive_0_0=(Token)match(input,42,FollowSets000.FOLLOW_42_in_ruleDataTypeCS3786); if (state.failed) return current;
+                    lv_isPrimitive_0_0=(Token)match(input,42,FollowSets000.FOLLOW_42_in_ruleDataTypeCS4273); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               newLeafNode(lv_isPrimitive_0_0, grammarAccess.getDataTypeCSAccess().getIsPrimitivePrimitiveKeyword_0_0());
@@ -4923,24 +5368,24 @@
 
             }
 
-            otherlv_1=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleDataTypeCS3812); if (state.failed) return current;
+            otherlv_1=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleDataTypeCS4299); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_1, grammarAccess.getDataTypeCSAccess().getDatatypeKeyword_1());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1697:1: ( (lv_name_2_0= ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1698:1: (lv_name_2_0= ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1769:1: ( (lv_name_2_0= ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1770:1: (lv_name_2_0= ruleUnrestrictedName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1698:1: (lv_name_2_0= ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1699:3: lv_name_2_0= ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1770:1: (lv_name_2_0= ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1771:3: lv_name_2_0= ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getDataTypeCSAccess().getNameUnrestrictedNameParserRuleCall_2_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleDataTypeCS3833);
+            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleDataTypeCS4320);
             lv_name_2_0=ruleUnrestrictedName();
 
             state._fsp--;
@@ -4964,26 +5409,26 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1715:2: ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )?
-            int alt42=2;
-            int LA42_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1787:2: ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )?
+            int alt56=2;
+            int LA56_0 = input.LA(1);
 
-            if ( (LA42_0==55||LA42_0==81) ) {
-                alt42=1;
+            if ( (LA56_0==55||LA56_0==81) ) {
+                alt56=1;
             }
-            switch (alt42) {
+            switch (alt56) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1716:1: (lv_ownedSignature_3_0= ruleTemplateSignatureCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1788:1: (lv_ownedSignature_3_0= ruleTemplateSignatureCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1716:1: (lv_ownedSignature_3_0= ruleTemplateSignatureCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1717:3: lv_ownedSignature_3_0= ruleTemplateSignatureCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1788:1: (lv_ownedSignature_3_0= ruleTemplateSignatureCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1789:3: lv_ownedSignature_3_0= ruleTemplateSignatureCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getDataTypeCSAccess().getOwnedSignatureTemplateSignatureCSParserRuleCall_3_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTemplateSignatureCS_in_ruleDataTypeCS3854);
+                    pushFollow(FollowSets000.FOLLOW_ruleTemplateSignatureCS_in_ruleDataTypeCS4341);
                     lv_ownedSignature_3_0=ruleTemplateSignatureCS();
 
                     state._fsp--;
@@ -5010,30 +5455,30 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1733:3: (otherlv_4= ':' ( (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING ) ) )?
-            int alt43=2;
-            int LA43_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1805:3: (otherlv_4= ':' ( (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING ) ) )?
+            int alt57=2;
+            int LA57_0 = input.LA(1);
 
-            if ( (LA43_0==57) ) {
-                alt43=1;
+            if ( (LA57_0==57) ) {
+                alt57=1;
             }
-            switch (alt43) {
+            switch (alt57) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1733:5: otherlv_4= ':' ( (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1805:5: otherlv_4= ':' ( (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING ) )
                     {
-                    otherlv_4=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleDataTypeCS3868); if (state.failed) return current;
+                    otherlv_4=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleDataTypeCS4355); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_4, grammarAccess.getDataTypeCSAccess().getColonKeyword_4_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1737:1: ( (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1738:1: (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1809:1: ( (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1810:1: (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1738:1: (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1739:3: lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1810:1: (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1811:3: lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING
                     {
-                    lv_instanceClassName_5_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleDataTypeCS3885); if (state.failed) return current;
+                    lv_instanceClassName_5_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleDataTypeCS4372); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			newLeafNode(lv_instanceClassName_5_0, grammarAccess.getDataTypeCSAccess().getInstanceClassNameSINGLE_QUOTED_STRINGTerminalRuleCall_4_1_0()); 
@@ -5063,55 +5508,55 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1755:4: (otherlv_6= '{' ( ( (lv_isSerializable_7_0= 'serializable' ) ) | otherlv_8= '!serializable' )? otherlv_9= '}' )?
-            int alt45=2;
-            int LA45_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1827:4: (otherlv_6= '{' ( ( (lv_isSerializable_7_0= 'serializable' ) ) | otherlv_8= '!serializable' )? otherlv_9= '}' )?
+            int alt59=2;
+            int LA59_0 = input.LA(1);
 
-            if ( (LA45_0==61) ) {
-                int LA45_1 = input.LA(2);
+            if ( (LA59_0==61) ) {
+                int LA59_1 = input.LA(2);
 
-                if ( (LA45_1==62) ) {
-                    int LA45_3 = input.LA(3);
+                if ( (LA59_1==62) ) {
+                    int LA59_3 = input.LA(3);
 
-                    if ( (LA45_3==58||LA45_3==61) ) {
-                        alt45=1;
+                    if ( (LA59_3==58||LA59_3==61) ) {
+                        alt59=1;
                     }
                 }
-                else if ( ((LA45_1>=72 && LA45_1<=73)) ) {
-                    alt45=1;
+                else if ( ((LA59_1>=72 && LA59_1<=73)) ) {
+                    alt59=1;
                 }
             }
-            switch (alt45) {
+            switch (alt59) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1755:6: otherlv_6= '{' ( ( (lv_isSerializable_7_0= 'serializable' ) ) | otherlv_8= '!serializable' )? otherlv_9= '}'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1827:6: otherlv_6= '{' ( ( (lv_isSerializable_7_0= 'serializable' ) ) | otherlv_8= '!serializable' )? otherlv_9= '}'
                     {
-                    otherlv_6=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleDataTypeCS3905); if (state.failed) return current;
+                    otherlv_6=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleDataTypeCS4392); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_6, grammarAccess.getDataTypeCSAccess().getLeftCurlyBracketKeyword_5_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1759:1: ( ( (lv_isSerializable_7_0= 'serializable' ) ) | otherlv_8= '!serializable' )?
-                    int alt44=3;
-                    int LA44_0 = input.LA(1);
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1831:1: ( ( (lv_isSerializable_7_0= 'serializable' ) ) | otherlv_8= '!serializable' )?
+                    int alt58=3;
+                    int LA58_0 = input.LA(1);
 
-                    if ( (LA44_0==72) ) {
-                        alt44=1;
+                    if ( (LA58_0==72) ) {
+                        alt58=1;
                     }
-                    else if ( (LA44_0==73) ) {
-                        alt44=2;
+                    else if ( (LA58_0==73) ) {
+                        alt58=2;
                     }
-                    switch (alt44) {
+                    switch (alt58) {
                         case 1 :
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1759:2: ( (lv_isSerializable_7_0= 'serializable' ) )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1831:2: ( (lv_isSerializable_7_0= 'serializable' ) )
                             {
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1759:2: ( (lv_isSerializable_7_0= 'serializable' ) )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1760:1: (lv_isSerializable_7_0= 'serializable' )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1831:2: ( (lv_isSerializable_7_0= 'serializable' ) )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1832:1: (lv_isSerializable_7_0= 'serializable' )
                             {
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1760:1: (lv_isSerializable_7_0= 'serializable' )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1761:3: lv_isSerializable_7_0= 'serializable'
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1832:1: (lv_isSerializable_7_0= 'serializable' )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1833:3: lv_isSerializable_7_0= 'serializable'
                             {
-                            lv_isSerializable_7_0=(Token)match(input,72,FollowSets000.FOLLOW_72_in_ruleDataTypeCS3924); if (state.failed) return current;
+                            lv_isSerializable_7_0=(Token)match(input,72,FollowSets000.FOLLOW_72_in_ruleDataTypeCS4411); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
 
                                       newLeafNode(lv_isSerializable_7_0, grammarAccess.getDataTypeCSAccess().getIsSerializableSerializableKeyword_5_1_0_0());
@@ -5135,9 +5580,9 @@
                             }
                             break;
                         case 2 :
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1775:7: otherlv_8= '!serializable'
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1847:7: otherlv_8= '!serializable'
                             {
-                            otherlv_8=(Token)match(input,73,FollowSets000.FOLLOW_73_in_ruleDataTypeCS3955); if (state.failed) return current;
+                            otherlv_8=(Token)match(input,73,FollowSets000.FOLLOW_73_in_ruleDataTypeCS4442); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
 
                                   	newLeafNode(otherlv_8, grammarAccess.getDataTypeCSAccess().getSerializableKeyword_5_1_1());
@@ -5149,7 +5594,7 @@
 
                     }
 
-                    otherlv_9=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleDataTypeCS3969); if (state.failed) return current;
+                    otherlv_9=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleDataTypeCS4456); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_9, grammarAccess.getDataTypeCSAccess().getRightCurlyBracketKeyword_5_2());
@@ -5161,66 +5606,66 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1783:3: ( (otherlv_10= '{' ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' )
-            int alt47=2;
-            int LA47_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1855:3: ( (otherlv_10= '{' ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' )
+            int alt61=2;
+            int LA61_0 = input.LA(1);
 
-            if ( (LA47_0==61) ) {
-                alt47=1;
+            if ( (LA61_0==61) ) {
+                alt61=1;
             }
-            else if ( (LA47_0==58) ) {
-                alt47=2;
+            else if ( (LA61_0==58) ) {
+                alt61=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 47, 0, input);
+                    new NoViableAltException("", 61, 0, input);
 
                 throw nvae;
             }
-            switch (alt47) {
+            switch (alt61) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1783:4: (otherlv_10= '{' ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1855:4: (otherlv_10= '{' ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1783:4: (otherlv_10= '{' ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1783:6: otherlv_10= '{' ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1855:4: (otherlv_10= '{' ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1855:6: otherlv_10= '{' ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}'
                     {
-                    otherlv_10=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleDataTypeCS3985); if (state.failed) return current;
+                    otherlv_10=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleDataTypeCS4472); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_10, grammarAccess.getDataTypeCSAccess().getLeftCurlyBracketKeyword_6_0_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1787:1: ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )*
-                    loop46:
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1859:1: ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )*
+                    loop60:
                     do {
-                        int alt46=3;
-                        int LA46_0 = input.LA(1);
+                        int alt60=3;
+                        int LA60_0 = input.LA(1);
 
-                        if ( (LA46_0==59||LA46_0==74||LA46_0==80) ) {
-                            alt46=1;
+                        if ( (LA60_0==59||LA60_0==74||LA60_0==80) ) {
+                            alt60=1;
                         }
-                        else if ( (LA46_0==22||LA46_0==54) ) {
-                            alt46=2;
+                        else if ( (LA60_0==22||LA60_0==54) ) {
+                            alt60=2;
                         }
 
 
-                        switch (alt46) {
+                        switch (alt60) {
                     	case 1 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1787:2: ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1859:2: ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1787:2: ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1788:1: (lv_ownedAnnotations_11_0= ruleAnnotationElementCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1859:2: ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1860:1: (lv_ownedAnnotations_11_0= ruleAnnotationElementCS )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1788:1: (lv_ownedAnnotations_11_0= ruleAnnotationElementCS )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1789:3: lv_ownedAnnotations_11_0= ruleAnnotationElementCS
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1860:1: (lv_ownedAnnotations_11_0= ruleAnnotationElementCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1861:3: lv_ownedAnnotations_11_0= ruleAnnotationElementCS
                     	    {
                     	    if ( state.backtracking==0 ) {
                     	       
                     	      	        newCompositeNode(grammarAccess.getDataTypeCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_6_0_1_0_0()); 
                     	      	    
                     	    }
-                    	    pushFollow(FollowSets000.FOLLOW_ruleAnnotationElementCS_in_ruleDataTypeCS4007);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleAnnotationElementCS_in_ruleDataTypeCS4494);
                     	    lv_ownedAnnotations_11_0=ruleAnnotationElementCS();
 
                     	    state._fsp--;
@@ -5248,20 +5693,20 @@
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1806:6: ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1878:6: ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1806:6: ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1807:1: (lv_ownedConstraints_12_0= ruleInvariantConstraintCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1878:6: ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1879:1: (lv_ownedConstraints_12_0= ruleInvariantConstraintCS )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1807:1: (lv_ownedConstraints_12_0= ruleInvariantConstraintCS )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1808:3: lv_ownedConstraints_12_0= ruleInvariantConstraintCS
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1879:1: (lv_ownedConstraints_12_0= ruleInvariantConstraintCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1880:3: lv_ownedConstraints_12_0= ruleInvariantConstraintCS
                     	    {
                     	    if ( state.backtracking==0 ) {
                     	       
                     	      	        newCompositeNode(grammarAccess.getDataTypeCSAccess().getOwnedConstraintsInvariantConstraintCSParserRuleCall_6_0_1_1_0()); 
                     	      	    
                     	    }
-                    	    pushFollow(FollowSets000.FOLLOW_ruleInvariantConstraintCS_in_ruleDataTypeCS4034);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleInvariantConstraintCS_in_ruleDataTypeCS4521);
                     	    lv_ownedConstraints_12_0=ruleInvariantConstraintCS();
 
                     	    state._fsp--;
@@ -5290,11 +5735,11 @@
                     	    break;
 
                     	default :
-                    	    break loop46;
+                    	    break loop60;
                         }
                     } while (true);
 
-                    otherlv_13=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleDataTypeCS4048); if (state.failed) return current;
+                    otherlv_13=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleDataTypeCS4535); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_13, grammarAccess.getDataTypeCSAccess().getRightCurlyBracketKeyword_6_0_2());
@@ -5307,9 +5752,9 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1829:7: otherlv_14= ';'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1901:7: otherlv_14= ';'
                     {
-                    otherlv_14=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleDataTypeCS4067); if (state.failed) return current;
+                    otherlv_14=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleDataTypeCS4554); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_14, grammarAccess.getDataTypeCSAccess().getSemicolonKeyword_6_1());
@@ -5344,7 +5789,7 @@
 
 
     // $ANTLR start "entryRuleDetailCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1841:1: entryRuleDetailCS returns [EObject current=null] : iv_ruleDetailCS= ruleDetailCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1913:1: entryRuleDetailCS returns [EObject current=null] : iv_ruleDetailCS= ruleDetailCS EOF ;
     public final EObject entryRuleDetailCS() throws RecognitionException {
         EObject current = null;
 
@@ -5352,13 +5797,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1842:2: (iv_ruleDetailCS= ruleDetailCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1843:2: iv_ruleDetailCS= ruleDetailCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1914:2: (iv_ruleDetailCS= ruleDetailCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1915:2: iv_ruleDetailCS= ruleDetailCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getDetailCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleDetailCS_in_entryRuleDetailCS4104);
+            pushFollow(FollowSets000.FOLLOW_ruleDetailCS_in_entryRuleDetailCS4591);
             iv_ruleDetailCS=ruleDetailCS();
 
             state._fsp--;
@@ -5366,7 +5811,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleDetailCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleDetailCS4114); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleDetailCS4601); if (state.failed) return current;
 
             }
 
@@ -5384,7 +5829,7 @@
 
 
     // $ANTLR start "ruleDetailCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1850:1: ruleDetailCS returns [EObject current=null] : ( ( ( (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING ) ) ) otherlv_1= '=' ( ( (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING ) ) )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1922:1: ruleDetailCS returns [EObject current=null] : ( ( ( (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING ) ) ) otherlv_1= '=' ( ( (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING ) ) )* ) ;
     public final EObject ruleDetailCS() throws RecognitionException {
         EObject current = null;
 
@@ -5398,45 +5843,45 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1853:28: ( ( ( ( (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING ) ) ) otherlv_1= '=' ( ( (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING ) ) )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1854:1: ( ( ( (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING ) ) ) otherlv_1= '=' ( ( (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING ) ) )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1925:28: ( ( ( ( (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING ) ) ) otherlv_1= '=' ( ( (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING ) ) )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1926:1: ( ( ( (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING ) ) ) otherlv_1= '=' ( ( (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING ) ) )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1854:1: ( ( ( (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING ) ) ) otherlv_1= '=' ( ( (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING ) ) )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1854:2: ( ( (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING ) ) ) otherlv_1= '=' ( ( (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING ) ) )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1926:1: ( ( ( (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING ) ) ) otherlv_1= '=' ( ( (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING ) ) )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1926:2: ( ( (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING ) ) ) otherlv_1= '=' ( ( (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING ) ) )*
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1854:2: ( ( (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1855:1: ( (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1926:2: ( ( (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1927:1: ( (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1855:1: ( (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1856:1: (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1927:1: ( (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1928:1: (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1856:1: (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING )
-            int alt48=2;
-            int LA48_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1928:1: (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING )
+            int alt62=2;
+            int LA62_0 = input.LA(1);
 
-            if ( ((LA48_0>=RULE_SIMPLE_ID && LA48_0<=RULE_ESCAPED_ID)||LA48_0==17||(LA48_0>=19 && LA48_0<=54)||LA48_0==59||LA48_0==72||(LA48_0>=74 && LA48_0<=75)||LA48_0==80) ) {
-                alt48=1;
+            if ( ((LA62_0>=RULE_SIMPLE_ID && LA62_0<=RULE_ESCAPED_ID)||LA62_0==17||(LA62_0>=19 && LA62_0<=54)||LA62_0==59||LA62_0==72||(LA62_0>=74 && LA62_0<=75)||LA62_0==80) ) {
+                alt62=1;
             }
-            else if ( (LA48_0==RULE_SINGLE_QUOTED_STRING) ) {
-                alt48=2;
+            else if ( (LA62_0==RULE_SINGLE_QUOTED_STRING) ) {
+                alt62=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 48, 0, input);
+                    new NoViableAltException("", 62, 0, input);
 
                 throw nvae;
             }
-            switch (alt48) {
+            switch (alt62) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1857:3: lv_name_0_1= ruleUnrestrictedName
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1929:3: lv_name_0_1= ruleUnrestrictedName
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getDetailCSAccess().getNameUnrestrictedNameParserRuleCall_0_0_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleDetailCS4162);
+                    pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleDetailCS4649);
                     lv_name_0_1=ruleUnrestrictedName();
 
                     state._fsp--;
@@ -5458,9 +5903,9 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1872:8: lv_name_0_2= RULE_SINGLE_QUOTED_STRING
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1944:8: lv_name_0_2= RULE_SINGLE_QUOTED_STRING
                     {
-                    lv_name_0_2=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleDetailCS4177); if (state.failed) return current;
+                    lv_name_0_2=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleDetailCS4664); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			newLeafNode(lv_name_0_2, grammarAccess.getDetailCSAccess().getNameSINGLE_QUOTED_STRINGTerminalRuleCall_0_0_1()); 
@@ -5490,52 +5935,52 @@
 
             }
 
-            otherlv_1=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleDetailCS4197); if (state.failed) return current;
+            otherlv_1=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleDetailCS4684); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_1, grammarAccess.getDetailCSAccess().getEqualsSignKeyword_1());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1894:1: ( ( (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING ) ) )*
-            loop50:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1966:1: ( ( (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING ) ) )*
+            loop64:
             do {
-                int alt50=2;
-                int LA50_0 = input.LA(1);
+                int alt64=2;
+                int LA64_0 = input.LA(1);
 
-                if ( ((LA50_0>=RULE_SINGLE_QUOTED_STRING && LA50_0<=RULE_ML_SINGLE_QUOTED_STRING)) ) {
-                    alt50=1;
+                if ( ((LA64_0>=RULE_SINGLE_QUOTED_STRING && LA64_0<=RULE_ML_SINGLE_QUOTED_STRING)) ) {
+                    alt64=1;
                 }
 
 
-                switch (alt50) {
+                switch (alt64) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1895:1: ( (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1967:1: ( (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING ) )
             	    {
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1895:1: ( (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING ) )
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1896:1: (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1967:1: ( (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1968:1: (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING )
             	    {
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1896:1: (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING )
-            	    int alt49=2;
-            	    int LA49_0 = input.LA(1);
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1968:1: (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING )
+            	    int alt63=2;
+            	    int LA63_0 = input.LA(1);
 
-            	    if ( (LA49_0==RULE_SINGLE_QUOTED_STRING) ) {
-            	        alt49=1;
+            	    if ( (LA63_0==RULE_SINGLE_QUOTED_STRING) ) {
+            	        alt63=1;
             	    }
-            	    else if ( (LA49_0==RULE_ML_SINGLE_QUOTED_STRING) ) {
-            	        alt49=2;
+            	    else if ( (LA63_0==RULE_ML_SINGLE_QUOTED_STRING) ) {
+            	        alt63=2;
             	    }
             	    else {
             	        if (state.backtracking>0) {state.failed=true; return current;}
             	        NoViableAltException nvae =
-            	            new NoViableAltException("", 49, 0, input);
+            	            new NoViableAltException("", 63, 0, input);
 
             	        throw nvae;
             	    }
-            	    switch (alt49) {
+            	    switch (alt63) {
             	        case 1 :
-            	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1897:3: lv_values_2_1= RULE_SINGLE_QUOTED_STRING
+            	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1969:3: lv_values_2_1= RULE_SINGLE_QUOTED_STRING
             	            {
-            	            lv_values_2_1=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleDetailCS4216); if (state.failed) return current;
+            	            lv_values_2_1=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleDetailCS4703); if (state.failed) return current;
             	            if ( state.backtracking==0 ) {
 
             	              			newLeafNode(lv_values_2_1, grammarAccess.getDetailCSAccess().getValuesSINGLE_QUOTED_STRINGTerminalRuleCall_2_0_0()); 
@@ -5557,9 +6002,9 @@
             	            }
             	            break;
             	        case 2 :
-            	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1912:8: lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING
+            	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1984:8: lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING
             	            {
-            	            lv_values_2_2=(Token)match(input,RULE_ML_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_ML_SINGLE_QUOTED_STRING_in_ruleDetailCS4236); if (state.failed) return current;
+            	            lv_values_2_2=(Token)match(input,RULE_ML_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_ML_SINGLE_QUOTED_STRING_in_ruleDetailCS4723); if (state.failed) return current;
             	            if ( state.backtracking==0 ) {
 
             	              			newLeafNode(lv_values_2_2, grammarAccess.getDetailCSAccess().getValuesML_SINGLE_QUOTED_STRINGTerminalRuleCall_2_0_1()); 
@@ -5591,7 +6036,7 @@
             	    break;
 
             	default :
-            	    break loop50;
+            	    break loop64;
                 }
             } while (true);
 
@@ -5618,7 +6063,7 @@
 
 
     // $ANTLR start "entryRuleDocumentationCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1938:1: entryRuleDocumentationCS returns [EObject current=null] : iv_ruleDocumentationCS= ruleDocumentationCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2010:1: entryRuleDocumentationCS returns [EObject current=null] : iv_ruleDocumentationCS= ruleDocumentationCS EOF ;
     public final EObject entryRuleDocumentationCS() throws RecognitionException {
         EObject current = null;
 
@@ -5626,13 +6071,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1939:2: (iv_ruleDocumentationCS= ruleDocumentationCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1940:2: iv_ruleDocumentationCS= ruleDocumentationCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2011:2: (iv_ruleDocumentationCS= ruleDocumentationCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2012:2: iv_ruleDocumentationCS= ruleDocumentationCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getDocumentationCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleDocumentationCS_in_entryRuleDocumentationCS4281);
+            pushFollow(FollowSets000.FOLLOW_ruleDocumentationCS_in_entryRuleDocumentationCS4768);
             iv_ruleDocumentationCS=ruleDocumentationCS();
 
             state._fsp--;
@@ -5640,7 +6085,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleDocumentationCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleDocumentationCS4291); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleDocumentationCS4778); if (state.failed) return current;
 
             }
 
@@ -5658,7 +6103,7 @@
 
 
     // $ANTLR start "ruleDocumentationCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1947:1: ruleDocumentationCS returns [EObject current=null] : ( () otherlv_1= 'documentation' ( (lv_value_2_0= RULE_SINGLE_QUOTED_STRING ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? otherlv_8= ';' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2019:1: ruleDocumentationCS returns [EObject current=null] : ( () otherlv_1= 'documentation' ( (lv_value_2_0= RULE_SINGLE_QUOTED_STRING ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? otherlv_8= ';' ) ;
     public final EObject ruleDocumentationCS() throws RecognitionException {
         EObject current = null;
 
@@ -5676,14 +6121,14 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1950:28: ( ( () otherlv_1= 'documentation' ( (lv_value_2_0= RULE_SINGLE_QUOTED_STRING ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? otherlv_8= ';' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1951:1: ( () otherlv_1= 'documentation' ( (lv_value_2_0= RULE_SINGLE_QUOTED_STRING ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? otherlv_8= ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2022:28: ( ( () otherlv_1= 'documentation' ( (lv_value_2_0= RULE_SINGLE_QUOTED_STRING ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? otherlv_8= ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2023:1: ( () otherlv_1= 'documentation' ( (lv_value_2_0= RULE_SINGLE_QUOTED_STRING ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? otherlv_8= ';' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1951:1: ( () otherlv_1= 'documentation' ( (lv_value_2_0= RULE_SINGLE_QUOTED_STRING ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? otherlv_8= ';' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1951:2: () otherlv_1= 'documentation' ( (lv_value_2_0= RULE_SINGLE_QUOTED_STRING ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? otherlv_8= ';'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2023:1: ( () otherlv_1= 'documentation' ( (lv_value_2_0= RULE_SINGLE_QUOTED_STRING ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? otherlv_8= ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2023:2: () otherlv_1= 'documentation' ( (lv_value_2_0= RULE_SINGLE_QUOTED_STRING ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? otherlv_8= ';'
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1951:2: ()
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1952:2: 
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2023:2: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2024:2: 
             {
             if ( state.backtracking==0 ) {
                
@@ -5700,27 +6145,27 @@
 
             }
 
-            otherlv_1=(Token)match(input,74,FollowSets000.FOLLOW_74_in_ruleDocumentationCS4340); if (state.failed) return current;
+            otherlv_1=(Token)match(input,74,FollowSets000.FOLLOW_74_in_ruleDocumentationCS4827); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_1, grammarAccess.getDocumentationCSAccess().getDocumentationKeyword_1());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1964:1: ( (lv_value_2_0= RULE_SINGLE_QUOTED_STRING ) )?
-            int alt51=2;
-            int LA51_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2036:1: ( (lv_value_2_0= RULE_SINGLE_QUOTED_STRING ) )?
+            int alt65=2;
+            int LA65_0 = input.LA(1);
 
-            if ( (LA51_0==RULE_SINGLE_QUOTED_STRING) ) {
-                alt51=1;
+            if ( (LA65_0==RULE_SINGLE_QUOTED_STRING) ) {
+                alt65=1;
             }
-            switch (alt51) {
+            switch (alt65) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1965:1: (lv_value_2_0= RULE_SINGLE_QUOTED_STRING )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2037:1: (lv_value_2_0= RULE_SINGLE_QUOTED_STRING )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1965:1: (lv_value_2_0= RULE_SINGLE_QUOTED_STRING )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1966:3: lv_value_2_0= RULE_SINGLE_QUOTED_STRING
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2037:1: (lv_value_2_0= RULE_SINGLE_QUOTED_STRING )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2038:3: lv_value_2_0= RULE_SINGLE_QUOTED_STRING
                     {
-                    lv_value_2_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleDocumentationCS4357); if (state.failed) return current;
+                    lv_value_2_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleDocumentationCS4844); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			newLeafNode(lv_value_2_0, grammarAccess.getDocumentationCSAccess().getValueSINGLE_QUOTED_STRINGTerminalRuleCall_2_0()); 
@@ -5747,35 +6192,35 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1982:3: (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )?
-            int alt53=2;
-            int LA53_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2054:3: (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )?
+            int alt67=2;
+            int LA67_0 = input.LA(1);
 
-            if ( (LA53_0==55) ) {
-                alt53=1;
+            if ( (LA67_0==55) ) {
+                alt67=1;
             }
-            switch (alt53) {
+            switch (alt67) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1982:5: otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2054:5: otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')'
                     {
-                    otherlv_3=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleDocumentationCS4376); if (state.failed) return current;
+                    otherlv_3=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleDocumentationCS4863); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_3, grammarAccess.getDocumentationCSAccess().getLeftParenthesisKeyword_3_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1986:1: ( (lv_ownedDetails_4_0= ruleDetailCS ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1987:1: (lv_ownedDetails_4_0= ruleDetailCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2058:1: ( (lv_ownedDetails_4_0= ruleDetailCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2059:1: (lv_ownedDetails_4_0= ruleDetailCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1987:1: (lv_ownedDetails_4_0= ruleDetailCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1988:3: lv_ownedDetails_4_0= ruleDetailCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2059:1: (lv_ownedDetails_4_0= ruleDetailCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2060:3: lv_ownedDetails_4_0= ruleDetailCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getDocumentationCSAccess().getOwnedDetailsDetailCSParserRuleCall_3_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleDetailCS_in_ruleDocumentationCS4397);
+                    pushFollow(FollowSets000.FOLLOW_ruleDetailCS_in_ruleDocumentationCS4884);
                     lv_ownedDetails_4_0=ruleDetailCS();
 
                     state._fsp--;
@@ -5799,39 +6244,39 @@
 
                     }
 
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2004:2: (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )*
-                    loop52:
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2076:2: (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )*
+                    loop66:
                     do {
-                        int alt52=2;
-                        int LA52_0 = input.LA(1);
+                        int alt66=2;
+                        int LA66_0 = input.LA(1);
 
-                        if ( (LA52_0==60) ) {
-                            alt52=1;
+                        if ( (LA66_0==60) ) {
+                            alt66=1;
                         }
 
 
-                        switch (alt52) {
+                        switch (alt66) {
                     	case 1 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2004:4: otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2076:4: otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) )
                     	    {
-                    	    otherlv_5=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleDocumentationCS4410); if (state.failed) return current;
+                    	    otherlv_5=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleDocumentationCS4897); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
                     	          	newLeafNode(otherlv_5, grammarAccess.getDocumentationCSAccess().getCommaKeyword_3_2_0());
                     	          
                     	    }
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2008:1: ( (lv_ownedDetails_6_0= ruleDetailCS ) )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2009:1: (lv_ownedDetails_6_0= ruleDetailCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2080:1: ( (lv_ownedDetails_6_0= ruleDetailCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2081:1: (lv_ownedDetails_6_0= ruleDetailCS )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2009:1: (lv_ownedDetails_6_0= ruleDetailCS )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2010:3: lv_ownedDetails_6_0= ruleDetailCS
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2081:1: (lv_ownedDetails_6_0= ruleDetailCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2082:3: lv_ownedDetails_6_0= ruleDetailCS
                     	    {
                     	    if ( state.backtracking==0 ) {
                     	       
                     	      	        newCompositeNode(grammarAccess.getDocumentationCSAccess().getOwnedDetailsDetailCSParserRuleCall_3_2_1_0()); 
                     	      	    
                     	    }
-                    	    pushFollow(FollowSets000.FOLLOW_ruleDetailCS_in_ruleDocumentationCS4431);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleDetailCS_in_ruleDocumentationCS4918);
                     	    lv_ownedDetails_6_0=ruleDetailCS();
 
                     	    state._fsp--;
@@ -5860,11 +6305,11 @@
                     	    break;
 
                     	default :
-                    	    break loop52;
+                    	    break loop66;
                         }
                     } while (true);
 
-                    otherlv_7=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleDocumentationCS4445); if (state.failed) return current;
+                    otherlv_7=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleDocumentationCS4932); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_7, grammarAccess.getDocumentationCSAccess().getRightParenthesisKeyword_3_3());
@@ -5876,7 +6321,7 @@
 
             }
 
-            otherlv_8=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleDocumentationCS4459); if (state.failed) return current;
+            otherlv_8=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleDocumentationCS4946); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_8, grammarAccess.getDocumentationCSAccess().getSemicolonKeyword_4());
@@ -5905,7 +6350,7 @@
 
 
     // $ANTLR start "entryRuleEnumerationCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2042:1: entryRuleEnumerationCS returns [EObject current=null] : iv_ruleEnumerationCS= ruleEnumerationCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2114:1: entryRuleEnumerationCS returns [EObject current=null] : iv_ruleEnumerationCS= ruleEnumerationCS EOF ;
     public final EObject entryRuleEnumerationCS() throws RecognitionException {
         EObject current = null;
 
@@ -5913,13 +6358,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2043:2: (iv_ruleEnumerationCS= ruleEnumerationCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2044:2: iv_ruleEnumerationCS= ruleEnumerationCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2115:2: (iv_ruleEnumerationCS= ruleEnumerationCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2116:2: iv_ruleEnumerationCS= ruleEnumerationCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getEnumerationCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleEnumerationCS_in_entryRuleEnumerationCS4495);
+            pushFollow(FollowSets000.FOLLOW_ruleEnumerationCS_in_entryRuleEnumerationCS4982);
             iv_ruleEnumerationCS=ruleEnumerationCS();
 
             state._fsp--;
@@ -5927,7 +6372,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleEnumerationCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEnumerationCS4505); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEnumerationCS4992); if (state.failed) return current;
 
             }
 
@@ -5945,7 +6390,7 @@
 
 
     // $ANTLR start "ruleEnumerationCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2051:1: ruleEnumerationCS returns [EObject current=null] : (otherlv_0= 'enum' ( (lv_name_1_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_2_0= ruleTemplateSignatureCS ) )? (otherlv_3= ':' ( (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_5= '{' ( ( (lv_isSerializable_6_0= 'serializable' ) ) | otherlv_7= '!serializable' )? otherlv_8= '}' )? ( (otherlv_9= '{' ( ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2123:1: ruleEnumerationCS returns [EObject current=null] : (otherlv_0= 'enum' ( (lv_name_1_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_2_0= ruleTemplateSignatureCS ) )? (otherlv_3= ':' ( (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_5= '{' ( ( (lv_isSerializable_6_0= 'serializable' ) ) | otherlv_7= '!serializable' )? otherlv_8= '}' )? ( (otherlv_9= '{' ( ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' ) ) ;
     public final EObject ruleEnumerationCS() throws RecognitionException {
         EObject current = null;
 
@@ -5973,30 +6418,30 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2054:28: ( (otherlv_0= 'enum' ( (lv_name_1_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_2_0= ruleTemplateSignatureCS ) )? (otherlv_3= ':' ( (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_5= '{' ( ( (lv_isSerializable_6_0= 'serializable' ) ) | otherlv_7= '!serializable' )? otherlv_8= '}' )? ( (otherlv_9= '{' ( ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2055:1: (otherlv_0= 'enum' ( (lv_name_1_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_2_0= ruleTemplateSignatureCS ) )? (otherlv_3= ':' ( (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_5= '{' ( ( (lv_isSerializable_6_0= 'serializable' ) ) | otherlv_7= '!serializable' )? otherlv_8= '}' )? ( (otherlv_9= '{' ( ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2126:28: ( (otherlv_0= 'enum' ( (lv_name_1_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_2_0= ruleTemplateSignatureCS ) )? (otherlv_3= ':' ( (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_5= '{' ( ( (lv_isSerializable_6_0= 'serializable' ) ) | otherlv_7= '!serializable' )? otherlv_8= '}' )? ( (otherlv_9= '{' ( ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2127:1: (otherlv_0= 'enum' ( (lv_name_1_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_2_0= ruleTemplateSignatureCS ) )? (otherlv_3= ':' ( (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_5= '{' ( ( (lv_isSerializable_6_0= 'serializable' ) ) | otherlv_7= '!serializable' )? otherlv_8= '}' )? ( (otherlv_9= '{' ( ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2055:1: (otherlv_0= 'enum' ( (lv_name_1_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_2_0= ruleTemplateSignatureCS ) )? (otherlv_3= ':' ( (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_5= '{' ( ( (lv_isSerializable_6_0= 'serializable' ) ) | otherlv_7= '!serializable' )? otherlv_8= '}' )? ( (otherlv_9= '{' ( ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2055:3: otherlv_0= 'enum' ( (lv_name_1_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_2_0= ruleTemplateSignatureCS ) )? (otherlv_3= ':' ( (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_5= '{' ( ( (lv_isSerializable_6_0= 'serializable' ) ) | otherlv_7= '!serializable' )? otherlv_8= '}' )? ( (otherlv_9= '{' ( ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2127:1: (otherlv_0= 'enum' ( (lv_name_1_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_2_0= ruleTemplateSignatureCS ) )? (otherlv_3= ':' ( (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_5= '{' ( ( (lv_isSerializable_6_0= 'serializable' ) ) | otherlv_7= '!serializable' )? otherlv_8= '}' )? ( (otherlv_9= '{' ( ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2127:3: otherlv_0= 'enum' ( (lv_name_1_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_2_0= ruleTemplateSignatureCS ) )? (otherlv_3= ':' ( (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_5= '{' ( ( (lv_isSerializable_6_0= 'serializable' ) ) | otherlv_7= '!serializable' )? otherlv_8= '}' )? ( (otherlv_9= '{' ( ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' )
             {
-            otherlv_0=(Token)match(input,29,FollowSets000.FOLLOW_29_in_ruleEnumerationCS4542); if (state.failed) return current;
+            otherlv_0=(Token)match(input,29,FollowSets000.FOLLOW_29_in_ruleEnumerationCS5029); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_0, grammarAccess.getEnumerationCSAccess().getEnumKeyword_0());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2059:1: ( (lv_name_1_0= ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2060:1: (lv_name_1_0= ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2131:1: ( (lv_name_1_0= ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2132:1: (lv_name_1_0= ruleUnrestrictedName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2060:1: (lv_name_1_0= ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2061:3: lv_name_1_0= ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2132:1: (lv_name_1_0= ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2133:3: lv_name_1_0= ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getEnumerationCSAccess().getNameUnrestrictedNameParserRuleCall_1_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleEnumerationCS4563);
+            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleEnumerationCS5050);
             lv_name_1_0=ruleUnrestrictedName();
 
             state._fsp--;
@@ -6020,26 +6465,26 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2077:2: ( (lv_ownedSignature_2_0= ruleTemplateSignatureCS ) )?
-            int alt54=2;
-            int LA54_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2149:2: ( (lv_ownedSignature_2_0= ruleTemplateSignatureCS ) )?
+            int alt68=2;
+            int LA68_0 = input.LA(1);
 
-            if ( (LA54_0==55||LA54_0==81) ) {
-                alt54=1;
+            if ( (LA68_0==55||LA68_0==81) ) {
+                alt68=1;
             }
-            switch (alt54) {
+            switch (alt68) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2078:1: (lv_ownedSignature_2_0= ruleTemplateSignatureCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2150:1: (lv_ownedSignature_2_0= ruleTemplateSignatureCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2078:1: (lv_ownedSignature_2_0= ruleTemplateSignatureCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2079:3: lv_ownedSignature_2_0= ruleTemplateSignatureCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2150:1: (lv_ownedSignature_2_0= ruleTemplateSignatureCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2151:3: lv_ownedSignature_2_0= ruleTemplateSignatureCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getEnumerationCSAccess().getOwnedSignatureTemplateSignatureCSParserRuleCall_2_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTemplateSignatureCS_in_ruleEnumerationCS4584);
+                    pushFollow(FollowSets000.FOLLOW_ruleTemplateSignatureCS_in_ruleEnumerationCS5071);
                     lv_ownedSignature_2_0=ruleTemplateSignatureCS();
 
                     state._fsp--;
@@ -6066,30 +6511,30 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2095:3: (otherlv_3= ':' ( (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING ) ) )?
-            int alt55=2;
-            int LA55_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2167:3: (otherlv_3= ':' ( (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING ) ) )?
+            int alt69=2;
+            int LA69_0 = input.LA(1);
 
-            if ( (LA55_0==57) ) {
-                alt55=1;
+            if ( (LA69_0==57) ) {
+                alt69=1;
             }
-            switch (alt55) {
+            switch (alt69) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2095:5: otherlv_3= ':' ( (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2167:5: otherlv_3= ':' ( (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING ) )
                     {
-                    otherlv_3=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleEnumerationCS4598); if (state.failed) return current;
+                    otherlv_3=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleEnumerationCS5085); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_3, grammarAccess.getEnumerationCSAccess().getColonKeyword_3_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2099:1: ( (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2100:1: (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2171:1: ( (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2172:1: (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2100:1: (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2101:3: lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2172:1: (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2173:3: lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING
                     {
-                    lv_instanceClassName_4_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleEnumerationCS4615); if (state.failed) return current;
+                    lv_instanceClassName_4_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleEnumerationCS5102); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			newLeafNode(lv_instanceClassName_4_0, grammarAccess.getEnumerationCSAccess().getInstanceClassNameSINGLE_QUOTED_STRINGTerminalRuleCall_3_1_0()); 
@@ -6119,55 +6564,55 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2117:4: (otherlv_5= '{' ( ( (lv_isSerializable_6_0= 'serializable' ) ) | otherlv_7= '!serializable' )? otherlv_8= '}' )?
-            int alt57=2;
-            int LA57_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2189:4: (otherlv_5= '{' ( ( (lv_isSerializable_6_0= 'serializable' ) ) | otherlv_7= '!serializable' )? otherlv_8= '}' )?
+            int alt71=2;
+            int LA71_0 = input.LA(1);
 
-            if ( (LA57_0==61) ) {
-                int LA57_1 = input.LA(2);
+            if ( (LA71_0==61) ) {
+                int LA71_1 = input.LA(2);
 
-                if ( (LA57_1==62) ) {
-                    int LA57_3 = input.LA(3);
+                if ( (LA71_1==62) ) {
+                    int LA71_3 = input.LA(3);
 
-                    if ( (LA57_3==58||LA57_3==61) ) {
-                        alt57=1;
+                    if ( (LA71_3==58||LA71_3==61) ) {
+                        alt71=1;
                     }
                 }
-                else if ( ((LA57_1>=72 && LA57_1<=73)) ) {
-                    alt57=1;
+                else if ( ((LA71_1>=72 && LA71_1<=73)) ) {
+                    alt71=1;
                 }
             }
-            switch (alt57) {
+            switch (alt71) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2117:6: otherlv_5= '{' ( ( (lv_isSerializable_6_0= 'serializable' ) ) | otherlv_7= '!serializable' )? otherlv_8= '}'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2189:6: otherlv_5= '{' ( ( (lv_isSerializable_6_0= 'serializable' ) ) | otherlv_7= '!serializable' )? otherlv_8= '}'
                     {
-                    otherlv_5=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleEnumerationCS4635); if (state.failed) return current;
+                    otherlv_5=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleEnumerationCS5122); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_5, grammarAccess.getEnumerationCSAccess().getLeftCurlyBracketKeyword_4_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2121:1: ( ( (lv_isSerializable_6_0= 'serializable' ) ) | otherlv_7= '!serializable' )?
-                    int alt56=3;
-                    int LA56_0 = input.LA(1);
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2193:1: ( ( (lv_isSerializable_6_0= 'serializable' ) ) | otherlv_7= '!serializable' )?
+                    int alt70=3;
+                    int LA70_0 = input.LA(1);
 
-                    if ( (LA56_0==72) ) {
-                        alt56=1;
+                    if ( (LA70_0==72) ) {
+                        alt70=1;
                     }
-                    else if ( (LA56_0==73) ) {
-                        alt56=2;
+                    else if ( (LA70_0==73) ) {
+                        alt70=2;
                     }
-                    switch (alt56) {
+                    switch (alt70) {
                         case 1 :
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2121:2: ( (lv_isSerializable_6_0= 'serializable' ) )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2193:2: ( (lv_isSerializable_6_0= 'serializable' ) )
                             {
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2121:2: ( (lv_isSerializable_6_0= 'serializable' ) )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2122:1: (lv_isSerializable_6_0= 'serializable' )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2193:2: ( (lv_isSerializable_6_0= 'serializable' ) )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2194:1: (lv_isSerializable_6_0= 'serializable' )
                             {
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2122:1: (lv_isSerializable_6_0= 'serializable' )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2123:3: lv_isSerializable_6_0= 'serializable'
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2194:1: (lv_isSerializable_6_0= 'serializable' )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2195:3: lv_isSerializable_6_0= 'serializable'
                             {
-                            lv_isSerializable_6_0=(Token)match(input,72,FollowSets000.FOLLOW_72_in_ruleEnumerationCS4654); if (state.failed) return current;
+                            lv_isSerializable_6_0=(Token)match(input,72,FollowSets000.FOLLOW_72_in_ruleEnumerationCS5141); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
 
                                       newLeafNode(lv_isSerializable_6_0, grammarAccess.getEnumerationCSAccess().getIsSerializableSerializableKeyword_4_1_0_0());
@@ -6191,9 +6636,9 @@
                             }
                             break;
                         case 2 :
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2137:7: otherlv_7= '!serializable'
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2209:7: otherlv_7= '!serializable'
                             {
-                            otherlv_7=(Token)match(input,73,FollowSets000.FOLLOW_73_in_ruleEnumerationCS4685); if (state.failed) return current;
+                            otherlv_7=(Token)match(input,73,FollowSets000.FOLLOW_73_in_ruleEnumerationCS5172); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
 
                                   	newLeafNode(otherlv_7, grammarAccess.getEnumerationCSAccess().getSerializableKeyword_4_1_1());
@@ -6205,7 +6650,7 @@
 
                     }
 
-                    otherlv_8=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleEnumerationCS4699); if (state.failed) return current;
+                    otherlv_8=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleEnumerationCS5186); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_8, grammarAccess.getEnumerationCSAccess().getRightCurlyBracketKeyword_4_2());
@@ -6217,46 +6662,46 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2145:3: ( (otherlv_9= '{' ( ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' )
-            int alt59=2;
-            int LA59_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2217:3: ( (otherlv_9= '{' ( ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' )
+            int alt73=2;
+            int LA73_0 = input.LA(1);
 
-            if ( (LA59_0==61) ) {
-                alt59=1;
+            if ( (LA73_0==61) ) {
+                alt73=1;
             }
-            else if ( (LA59_0==58) ) {
-                alt59=2;
+            else if ( (LA73_0==58) ) {
+                alt73=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 59, 0, input);
+                    new NoViableAltException("", 73, 0, input);
 
                 throw nvae;
             }
-            switch (alt59) {
+            switch (alt73) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2145:4: (otherlv_9= '{' ( ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2217:4: (otherlv_9= '{' ( ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2145:4: (otherlv_9= '{' ( ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2145:6: otherlv_9= '{' ( ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2217:4: (otherlv_9= '{' ( ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2217:6: otherlv_9= '{' ( ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}'
                     {
-                    otherlv_9=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleEnumerationCS4715); if (state.failed) return current;
+                    otherlv_9=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleEnumerationCS5202); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_9, grammarAccess.getEnumerationCSAccess().getLeftCurlyBracketKeyword_5_0_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2149:1: ( ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )*
-                    loop58:
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2221:1: ( ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )*
+                    loop72:
                     do {
-                        int alt58=4;
+                        int alt72=4;
                         switch ( input.LA(1) ) {
                         case 59:
                         case 74:
                         case 80:
                             {
-                            alt58=1;
+                            alt72=1;
                             }
                             break;
                         case RULE_SIMPLE_ID:
@@ -6298,18 +6743,18 @@
                         case 53:
                         case 75:
                             {
-                            alt58=2;
+                            alt72=2;
                             }
                             break;
                         case 22:
                             {
-                            int LA58_4 = input.LA(2);
+                            int LA72_4 = input.LA(2);
 
-                            if ( (LA58_4==54) ) {
-                                alt58=3;
+                            if ( (LA72_4==54) ) {
+                                alt72=3;
                             }
-                            else if ( (LA58_4==58||LA58_4==61||LA58_4==63) ) {
-                                alt58=2;
+                            else if ( (LA72_4==58||LA72_4==61||LA72_4==63) ) {
+                                alt72=2;
                             }
 
 
@@ -6317,28 +6762,28 @@
                             break;
                         case 54:
                             {
-                            alt58=3;
+                            alt72=3;
                             }
                             break;
 
                         }
 
-                        switch (alt58) {
+                        switch (alt72) {
                     	case 1 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2149:2: ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2221:2: ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2149:2: ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2150:1: (lv_ownedAnnotations_10_0= ruleAnnotationElementCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2221:2: ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2222:1: (lv_ownedAnnotations_10_0= ruleAnnotationElementCS )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2150:1: (lv_ownedAnnotations_10_0= ruleAnnotationElementCS )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2151:3: lv_ownedAnnotations_10_0= ruleAnnotationElementCS
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2222:1: (lv_ownedAnnotations_10_0= ruleAnnotationElementCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2223:3: lv_ownedAnnotations_10_0= ruleAnnotationElementCS
                     	    {
                     	    if ( state.backtracking==0 ) {
                     	       
                     	      	        newCompositeNode(grammarAccess.getEnumerationCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_5_0_1_0_0()); 
                     	      	    
                     	    }
-                    	    pushFollow(FollowSets000.FOLLOW_ruleAnnotationElementCS_in_ruleEnumerationCS4737);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleAnnotationElementCS_in_ruleEnumerationCS5224);
                     	    lv_ownedAnnotations_10_0=ruleAnnotationElementCS();
 
                     	    state._fsp--;
@@ -6366,20 +6811,20 @@
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2168:6: ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2240:6: ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2168:6: ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2169:1: (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2240:6: ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2241:1: (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2169:1: (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2170:3: lv_ownedLiterals_11_0= ruleEnumerationLiteralCS
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2241:1: (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2242:3: lv_ownedLiterals_11_0= ruleEnumerationLiteralCS
                     	    {
                     	    if ( state.backtracking==0 ) {
                     	       
                     	      	        newCompositeNode(grammarAccess.getEnumerationCSAccess().getOwnedLiteralsEnumerationLiteralCSParserRuleCall_5_0_1_1_0()); 
                     	      	    
                     	    }
-                    	    pushFollow(FollowSets000.FOLLOW_ruleEnumerationLiteralCS_in_ruleEnumerationCS4764);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleEnumerationLiteralCS_in_ruleEnumerationCS5251);
                     	    lv_ownedLiterals_11_0=ruleEnumerationLiteralCS();
 
                     	    state._fsp--;
@@ -6407,20 +6852,20 @@
                     	    }
                     	    break;
                     	case 3 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2187:6: ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2259:6: ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2187:6: ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2188:1: (lv_ownedConstraints_12_0= ruleInvariantConstraintCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2259:6: ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2260:1: (lv_ownedConstraints_12_0= ruleInvariantConstraintCS )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2188:1: (lv_ownedConstraints_12_0= ruleInvariantConstraintCS )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2189:3: lv_ownedConstraints_12_0= ruleInvariantConstraintCS
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2260:1: (lv_ownedConstraints_12_0= ruleInvariantConstraintCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2261:3: lv_ownedConstraints_12_0= ruleInvariantConstraintCS
                     	    {
                     	    if ( state.backtracking==0 ) {
                     	       
                     	      	        newCompositeNode(grammarAccess.getEnumerationCSAccess().getOwnedConstraintsInvariantConstraintCSParserRuleCall_5_0_1_2_0()); 
                     	      	    
                     	    }
-                    	    pushFollow(FollowSets000.FOLLOW_ruleInvariantConstraintCS_in_ruleEnumerationCS4791);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleInvariantConstraintCS_in_ruleEnumerationCS5278);
                     	    lv_ownedConstraints_12_0=ruleInvariantConstraintCS();
 
                     	    state._fsp--;
@@ -6449,11 +6894,11 @@
                     	    break;
 
                     	default :
-                    	    break loop58;
+                    	    break loop72;
                         }
                     } while (true);
 
-                    otherlv_13=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleEnumerationCS4805); if (state.failed) return current;
+                    otherlv_13=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleEnumerationCS5292); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_13, grammarAccess.getEnumerationCSAccess().getRightCurlyBracketKeyword_5_0_2());
@@ -6466,9 +6911,9 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2210:7: otherlv_14= ';'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2282:7: otherlv_14= ';'
                     {
-                    otherlv_14=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleEnumerationCS4824); if (state.failed) return current;
+                    otherlv_14=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleEnumerationCS5311); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_14, grammarAccess.getEnumerationCSAccess().getSemicolonKeyword_5_1());
@@ -6503,7 +6948,7 @@
 
 
     // $ANTLR start "entryRuleEnumerationLiteralCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2222:1: entryRuleEnumerationLiteralCS returns [EObject current=null] : iv_ruleEnumerationLiteralCS= ruleEnumerationLiteralCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2294:1: entryRuleEnumerationLiteralCS returns [EObject current=null] : iv_ruleEnumerationLiteralCS= ruleEnumerationLiteralCS EOF ;
     public final EObject entryRuleEnumerationLiteralCS() throws RecognitionException {
         EObject current = null;
 
@@ -6511,13 +6956,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2223:2: (iv_ruleEnumerationLiteralCS= ruleEnumerationLiteralCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2224:2: iv_ruleEnumerationLiteralCS= ruleEnumerationLiteralCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2295:2: (iv_ruleEnumerationLiteralCS= ruleEnumerationLiteralCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2296:2: iv_ruleEnumerationLiteralCS= ruleEnumerationLiteralCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getEnumerationLiteralCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleEnumerationLiteralCS_in_entryRuleEnumerationLiteralCS4861);
+            pushFollow(FollowSets000.FOLLOW_ruleEnumerationLiteralCS_in_entryRuleEnumerationLiteralCS5348);
             iv_ruleEnumerationLiteralCS=ruleEnumerationLiteralCS();
 
             state._fsp--;
@@ -6525,7 +6970,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleEnumerationLiteralCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEnumerationLiteralCS4871); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEnumerationLiteralCS5358); if (state.failed) return current;
 
             }
 
@@ -6543,7 +6988,7 @@
 
 
     // $ANTLR start "ruleEnumerationLiteralCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2231:1: ruleEnumerationLiteralCS returns [EObject current=null] : ( ( (otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) ) | ( (lv_name_2_0= ruleEnumerationLiteralName ) ) ) (otherlv_3= '=' ( (lv_value_4_0= ruleSIGNED ) ) )? ( (otherlv_5= '{' ( (lv_ownedAnnotations_6_0= ruleAnnotationElementCS ) )* otherlv_7= '}' ) | otherlv_8= ';' ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2303:1: ruleEnumerationLiteralCS returns [EObject current=null] : ( ( (otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) ) | ( (lv_name_2_0= ruleEnumerationLiteralName ) ) ) (otherlv_3= '=' ( (lv_value_4_0= ruleSIGNED ) ) )? ( (otherlv_5= '{' ( (lv_ownedAnnotations_6_0= ruleAnnotationElementCS ) )* otherlv_7= '}' ) | otherlv_8= ';' ) ) ;
     public final EObject ruleEnumerationLiteralCS() throws RecognitionException {
         EObject current = null;
 
@@ -6564,54 +7009,54 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2234:28: ( ( ( (otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) ) | ( (lv_name_2_0= ruleEnumerationLiteralName ) ) ) (otherlv_3= '=' ( (lv_value_4_0= ruleSIGNED ) ) )? ( (otherlv_5= '{' ( (lv_ownedAnnotations_6_0= ruleAnnotationElementCS ) )* otherlv_7= '}' ) | otherlv_8= ';' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2235:1: ( ( (otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) ) | ( (lv_name_2_0= ruleEnumerationLiteralName ) ) ) (otherlv_3= '=' ( (lv_value_4_0= ruleSIGNED ) ) )? ( (otherlv_5= '{' ( (lv_ownedAnnotations_6_0= ruleAnnotationElementCS ) )* otherlv_7= '}' ) | otherlv_8= ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2306:28: ( ( ( (otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) ) | ( (lv_name_2_0= ruleEnumerationLiteralName ) ) ) (otherlv_3= '=' ( (lv_value_4_0= ruleSIGNED ) ) )? ( (otherlv_5= '{' ( (lv_ownedAnnotations_6_0= ruleAnnotationElementCS ) )* otherlv_7= '}' ) | otherlv_8= ';' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2307:1: ( ( (otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) ) | ( (lv_name_2_0= ruleEnumerationLiteralName ) ) ) (otherlv_3= '=' ( (lv_value_4_0= ruleSIGNED ) ) )? ( (otherlv_5= '{' ( (lv_ownedAnnotations_6_0= ruleAnnotationElementCS ) )* otherlv_7= '}' ) | otherlv_8= ';' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2235:1: ( ( (otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) ) | ( (lv_name_2_0= ruleEnumerationLiteralName ) ) ) (otherlv_3= '=' ( (lv_value_4_0= ruleSIGNED ) ) )? ( (otherlv_5= '{' ( (lv_ownedAnnotations_6_0= ruleAnnotationElementCS ) )* otherlv_7= '}' ) | otherlv_8= ';' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2235:2: ( (otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) ) | ( (lv_name_2_0= ruleEnumerationLiteralName ) ) ) (otherlv_3= '=' ( (lv_value_4_0= ruleSIGNED ) ) )? ( (otherlv_5= '{' ( (lv_ownedAnnotations_6_0= ruleAnnotationElementCS ) )* otherlv_7= '}' ) | otherlv_8= ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2307:1: ( ( (otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) ) | ( (lv_name_2_0= ruleEnumerationLiteralName ) ) ) (otherlv_3= '=' ( (lv_value_4_0= ruleSIGNED ) ) )? ( (otherlv_5= '{' ( (lv_ownedAnnotations_6_0= ruleAnnotationElementCS ) )* otherlv_7= '}' ) | otherlv_8= ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2307:2: ( (otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) ) | ( (lv_name_2_0= ruleEnumerationLiteralName ) ) ) (otherlv_3= '=' ( (lv_value_4_0= ruleSIGNED ) ) )? ( (otherlv_5= '{' ( (lv_ownedAnnotations_6_0= ruleAnnotationElementCS ) )* otherlv_7= '}' ) | otherlv_8= ';' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2235:2: ( (otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) ) | ( (lv_name_2_0= ruleEnumerationLiteralName ) ) )
-            int alt60=2;
-            int LA60_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2307:2: ( (otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) ) | ( (lv_name_2_0= ruleEnumerationLiteralName ) ) )
+            int alt74=2;
+            int LA74_0 = input.LA(1);
 
-            if ( (LA60_0==75) ) {
-                alt60=1;
+            if ( (LA74_0==75) ) {
+                alt74=1;
             }
-            else if ( ((LA60_0>=RULE_SIMPLE_ID && LA60_0<=RULE_ESCAPED_ID)||LA60_0==17||(LA60_0>=19 && LA60_0<=53)) ) {
-                alt60=2;
+            else if ( ((LA74_0>=RULE_SIMPLE_ID && LA74_0<=RULE_ESCAPED_ID)||LA74_0==17||(LA74_0>=19 && LA74_0<=53)) ) {
+                alt74=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 60, 0, input);
+                    new NoViableAltException("", 74, 0, input);
 
                 throw nvae;
             }
-            switch (alt60) {
+            switch (alt74) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2235:3: (otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2307:3: (otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2235:3: (otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2235:5: otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2307:3: (otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2307:5: otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) )
                     {
-                    otherlv_0=(Token)match(input,75,FollowSets000.FOLLOW_75_in_ruleEnumerationLiteralCS4910); if (state.failed) return current;
+                    otherlv_0=(Token)match(input,75,FollowSets000.FOLLOW_75_in_ruleEnumerationLiteralCS5397); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_0, grammarAccess.getEnumerationLiteralCSAccess().getLiteralKeyword_0_0_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2239:1: ( (lv_name_1_0= ruleUnrestrictedName ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2240:1: (lv_name_1_0= ruleUnrestrictedName )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2311:1: ( (lv_name_1_0= ruleUnrestrictedName ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2312:1: (lv_name_1_0= ruleUnrestrictedName )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2240:1: (lv_name_1_0= ruleUnrestrictedName )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2241:3: lv_name_1_0= ruleUnrestrictedName
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2312:1: (lv_name_1_0= ruleUnrestrictedName )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2313:3: lv_name_1_0= ruleUnrestrictedName
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getEnumerationLiteralCSAccess().getNameUnrestrictedNameParserRuleCall_0_0_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleEnumerationLiteralCS4931);
+                    pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleEnumerationLiteralCS5418);
                     lv_name_1_0=ruleUnrestrictedName();
 
                     state._fsp--;
@@ -6642,20 +7087,20 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2258:6: ( (lv_name_2_0= ruleEnumerationLiteralName ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2330:6: ( (lv_name_2_0= ruleEnumerationLiteralName ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2258:6: ( (lv_name_2_0= ruleEnumerationLiteralName ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2259:1: (lv_name_2_0= ruleEnumerationLiteralName )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2330:6: ( (lv_name_2_0= ruleEnumerationLiteralName ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2331:1: (lv_name_2_0= ruleEnumerationLiteralName )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2259:1: (lv_name_2_0= ruleEnumerationLiteralName )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2260:3: lv_name_2_0= ruleEnumerationLiteralName
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2331:1: (lv_name_2_0= ruleEnumerationLiteralName )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2332:3: lv_name_2_0= ruleEnumerationLiteralName
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getEnumerationLiteralCSAccess().getNameEnumerationLiteralNameParserRuleCall_0_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleEnumerationLiteralName_in_ruleEnumerationLiteralCS4959);
+                    pushFollow(FollowSets000.FOLLOW_ruleEnumerationLiteralName_in_ruleEnumerationLiteralCS5446);
                     lv_name_2_0=ruleEnumerationLiteralName();
 
                     state._fsp--;
@@ -6685,35 +7130,35 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2276:3: (otherlv_3= '=' ( (lv_value_4_0= ruleSIGNED ) ) )?
-            int alt61=2;
-            int LA61_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2348:3: (otherlv_3= '=' ( (lv_value_4_0= ruleSIGNED ) ) )?
+            int alt75=2;
+            int LA75_0 = input.LA(1);
 
-            if ( (LA61_0==63) ) {
-                alt61=1;
+            if ( (LA75_0==63) ) {
+                alt75=1;
             }
-            switch (alt61) {
+            switch (alt75) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2276:5: otherlv_3= '=' ( (lv_value_4_0= ruleSIGNED ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2348:5: otherlv_3= '=' ( (lv_value_4_0= ruleSIGNED ) )
                     {
-                    otherlv_3=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleEnumerationLiteralCS4973); if (state.failed) return current;
+                    otherlv_3=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleEnumerationLiteralCS5460); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_3, grammarAccess.getEnumerationLiteralCSAccess().getEqualsSignKeyword_1_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2280:1: ( (lv_value_4_0= ruleSIGNED ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2281:1: (lv_value_4_0= ruleSIGNED )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2352:1: ( (lv_value_4_0= ruleSIGNED ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2353:1: (lv_value_4_0= ruleSIGNED )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2281:1: (lv_value_4_0= ruleSIGNED )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2282:3: lv_value_4_0= ruleSIGNED
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2353:1: (lv_value_4_0= ruleSIGNED )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2354:3: lv_value_4_0= ruleSIGNED
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getEnumerationLiteralCSAccess().getValueSIGNEDParserRuleCall_1_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleSIGNED_in_ruleEnumerationLiteralCS4994);
+                    pushFollow(FollowSets000.FOLLOW_ruleSIGNED_in_ruleEnumerationLiteralCS5481);
                     lv_value_4_0=ruleSIGNED();
 
                     state._fsp--;
@@ -6743,60 +7188,60 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2298:4: ( (otherlv_5= '{' ( (lv_ownedAnnotations_6_0= ruleAnnotationElementCS ) )* otherlv_7= '}' ) | otherlv_8= ';' )
-            int alt63=2;
-            int LA63_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2370:4: ( (otherlv_5= '{' ( (lv_ownedAnnotations_6_0= ruleAnnotationElementCS ) )* otherlv_7= '}' ) | otherlv_8= ';' )
+            int alt77=2;
+            int LA77_0 = input.LA(1);
 
-            if ( (LA63_0==61) ) {
-                alt63=1;
+            if ( (LA77_0==61) ) {
+                alt77=1;
             }
-            else if ( (LA63_0==58) ) {
-                alt63=2;
+            else if ( (LA77_0==58) ) {
+                alt77=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 63, 0, input);
+                    new NoViableAltException("", 77, 0, input);
 
                 throw nvae;
             }
-            switch (alt63) {
+            switch (alt77) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2298:5: (otherlv_5= '{' ( (lv_ownedAnnotations_6_0= ruleAnnotationElementCS ) )* otherlv_7= '}' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2370:5: (otherlv_5= '{' ( (lv_ownedAnnotations_6_0= ruleAnnotationElementCS ) )* otherlv_7= '}' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2298:5: (otherlv_5= '{' ( (lv_ownedAnnotations_6_0= ruleAnnotationElementCS ) )* otherlv_7= '}' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2298:7: otherlv_5= '{' ( (lv_ownedAnnotations_6_0= ruleAnnotationElementCS ) )* otherlv_7= '}'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2370:5: (otherlv_5= '{' ( (lv_ownedAnnotations_6_0= ruleAnnotationElementCS ) )* otherlv_7= '}' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2370:7: otherlv_5= '{' ( (lv_ownedAnnotations_6_0= ruleAnnotationElementCS ) )* otherlv_7= '}'
                     {
-                    otherlv_5=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleEnumerationLiteralCS5010); if (state.failed) return current;
+                    otherlv_5=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleEnumerationLiteralCS5497); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_5, grammarAccess.getEnumerationLiteralCSAccess().getLeftCurlyBracketKeyword_2_0_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2302:1: ( (lv_ownedAnnotations_6_0= ruleAnnotationElementCS ) )*
-                    loop62:
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2374:1: ( (lv_ownedAnnotations_6_0= ruleAnnotationElementCS ) )*
+                    loop76:
                     do {
-                        int alt62=2;
-                        int LA62_0 = input.LA(1);
+                        int alt76=2;
+                        int LA76_0 = input.LA(1);
 
-                        if ( (LA62_0==59||LA62_0==74||LA62_0==80) ) {
-                            alt62=1;
+                        if ( (LA76_0==59||LA76_0==74||LA76_0==80) ) {
+                            alt76=1;
                         }
 
 
-                        switch (alt62) {
+                        switch (alt76) {
                     	case 1 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2303:1: (lv_ownedAnnotations_6_0= ruleAnnotationElementCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2375:1: (lv_ownedAnnotations_6_0= ruleAnnotationElementCS )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2303:1: (lv_ownedAnnotations_6_0= ruleAnnotationElementCS )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2304:3: lv_ownedAnnotations_6_0= ruleAnnotationElementCS
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2375:1: (lv_ownedAnnotations_6_0= ruleAnnotationElementCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2376:3: lv_ownedAnnotations_6_0= ruleAnnotationElementCS
                     	    {
                     	    if ( state.backtracking==0 ) {
                     	       
                     	      	        newCompositeNode(grammarAccess.getEnumerationLiteralCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_2_0_1_0()); 
                     	      	    
                     	    }
-                    	    pushFollow(FollowSets000.FOLLOW_ruleAnnotationElementCS_in_ruleEnumerationLiteralCS5031);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleAnnotationElementCS_in_ruleEnumerationLiteralCS5518);
                     	    lv_ownedAnnotations_6_0=ruleAnnotationElementCS();
 
                     	    state._fsp--;
@@ -6822,11 +7267,11 @@
                     	    break;
 
                     	default :
-                    	    break loop62;
+                    	    break loop76;
                         }
                     } while (true);
 
-                    otherlv_7=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleEnumerationLiteralCS5044); if (state.failed) return current;
+                    otherlv_7=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleEnumerationLiteralCS5531); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_7, grammarAccess.getEnumerationLiteralCSAccess().getRightCurlyBracketKeyword_2_0_2());
@@ -6839,9 +7284,9 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2325:7: otherlv_8= ';'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2397:7: otherlv_8= ';'
                     {
-                    otherlv_8=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleEnumerationLiteralCS5063); if (state.failed) return current;
+                    otherlv_8=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleEnumerationLiteralCS5550); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_8, grammarAccess.getEnumerationLiteralCSAccess().getSemicolonKeyword_2_1());
@@ -6876,7 +7321,7 @@
 
 
     // $ANTLR start "entryRuleImportCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2337:1: entryRuleImportCS returns [EObject current=null] : iv_ruleImportCS= ruleImportCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2409:1: entryRuleImportCS returns [EObject current=null] : iv_ruleImportCS= ruleImportCS EOF ;
     public final EObject entryRuleImportCS() throws RecognitionException {
         EObject current = null;
 
@@ -6884,13 +7329,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2338:2: (iv_ruleImportCS= ruleImportCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2339:2: iv_ruleImportCS= ruleImportCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2410:2: (iv_ruleImportCS= ruleImportCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2411:2: iv_ruleImportCS= ruleImportCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getImportCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleImportCS_in_entryRuleImportCS5100);
+            pushFollow(FollowSets000.FOLLOW_ruleImportCS_in_entryRuleImportCS5587);
             iv_ruleImportCS=ruleImportCS();
 
             state._fsp--;
@@ -6898,7 +7343,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleImportCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleImportCS5110); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleImportCS5597); if (state.failed) return current;
 
             }
 
@@ -6916,7 +7361,7 @@
 
 
     // $ANTLR start "ruleImportCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2346:1: ruleImportCS returns [EObject current=null] : (otherlv_0= 'import' ( ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':' )? ( (lv_ownedPathName_3_0= ruleURIPathNameCS ) ) ( (lv_isAll_4_0= '::*' ) )? otherlv_5= ';' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2418:1: ruleImportCS returns [EObject current=null] : (otherlv_0= 'import' ( ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':' )? ( (lv_ownedPathName_3_0= ruleURIPathNameCS ) ) ( (lv_isAll_4_0= '::*' ) )? otherlv_5= ';' ) ;
     public final EObject ruleImportCS() throws RecognitionException {
         EObject current = null;
 
@@ -6932,37 +7377,37 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2349:28: ( (otherlv_0= 'import' ( ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':' )? ( (lv_ownedPathName_3_0= ruleURIPathNameCS ) ) ( (lv_isAll_4_0= '::*' ) )? otherlv_5= ';' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2350:1: (otherlv_0= 'import' ( ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':' )? ( (lv_ownedPathName_3_0= ruleURIPathNameCS ) ) ( (lv_isAll_4_0= '::*' ) )? otherlv_5= ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2421:28: ( (otherlv_0= 'import' ( ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':' )? ( (lv_ownedPathName_3_0= ruleURIPathNameCS ) ) ( (lv_isAll_4_0= '::*' ) )? otherlv_5= ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2422:1: (otherlv_0= 'import' ( ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':' )? ( (lv_ownedPathName_3_0= ruleURIPathNameCS ) ) ( (lv_isAll_4_0= '::*' ) )? otherlv_5= ';' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2350:1: (otherlv_0= 'import' ( ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':' )? ( (lv_ownedPathName_3_0= ruleURIPathNameCS ) ) ( (lv_isAll_4_0= '::*' ) )? otherlv_5= ';' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2350:3: otherlv_0= 'import' ( ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':' )? ( (lv_ownedPathName_3_0= ruleURIPathNameCS ) ) ( (lv_isAll_4_0= '::*' ) )? otherlv_5= ';'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2422:1: (otherlv_0= 'import' ( ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':' )? ( (lv_ownedPathName_3_0= ruleURIPathNameCS ) ) ( (lv_isAll_4_0= '::*' ) )? otherlv_5= ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2422:3: otherlv_0= 'import' ( ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':' )? ( (lv_ownedPathName_3_0= ruleURIPathNameCS ) ) ( (lv_isAll_4_0= '::*' ) )? otherlv_5= ';'
             {
-            otherlv_0=(Token)match(input,32,FollowSets000.FOLLOW_32_in_ruleImportCS5147); if (state.failed) return current;
+            otherlv_0=(Token)match(input,32,FollowSets000.FOLLOW_32_in_ruleImportCS5634); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_0, grammarAccess.getImportCSAccess().getImportKeyword_0());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2354:1: ( ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':' )?
-            int alt64=2;
-            alt64 = dfa64.predict(input);
-            switch (alt64) {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2426:1: ( ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':' )?
+            int alt78=2;
+            alt78 = dfa78.predict(input);
+            switch (alt78) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2354:2: ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2426:2: ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':'
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2354:2: ( (lv_name_1_0= ruleUnrestrictedName ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2355:1: (lv_name_1_0= ruleUnrestrictedName )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2426:2: ( (lv_name_1_0= ruleUnrestrictedName ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2427:1: (lv_name_1_0= ruleUnrestrictedName )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2355:1: (lv_name_1_0= ruleUnrestrictedName )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2356:3: lv_name_1_0= ruleUnrestrictedName
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2427:1: (lv_name_1_0= ruleUnrestrictedName )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2428:3: lv_name_1_0= ruleUnrestrictedName
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getImportCSAccess().getNameUnrestrictedNameParserRuleCall_1_0_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleImportCS5169);
+                    pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleImportCS5656);
                     lv_name_1_0=ruleUnrestrictedName();
 
                     state._fsp--;
@@ -6986,7 +7431,7 @@
 
                     }
 
-                    otherlv_2=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleImportCS5181); if (state.failed) return current;
+                    otherlv_2=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleImportCS5668); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_2, grammarAccess.getImportCSAccess().getColonKeyword_1_1());
@@ -6998,18 +7443,18 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2376:3: ( (lv_ownedPathName_3_0= ruleURIPathNameCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2377:1: (lv_ownedPathName_3_0= ruleURIPathNameCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2448:3: ( (lv_ownedPathName_3_0= ruleURIPathNameCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2449:1: (lv_ownedPathName_3_0= ruleURIPathNameCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2377:1: (lv_ownedPathName_3_0= ruleURIPathNameCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2378:3: lv_ownedPathName_3_0= ruleURIPathNameCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2449:1: (lv_ownedPathName_3_0= ruleURIPathNameCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2450:3: lv_ownedPathName_3_0= ruleURIPathNameCS
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getImportCSAccess().getOwnedPathNameURIPathNameCSParserRuleCall_2_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleURIPathNameCS_in_ruleImportCS5204);
+            pushFollow(FollowSets000.FOLLOW_ruleURIPathNameCS_in_ruleImportCS5691);
             lv_ownedPathName_3_0=ruleURIPathNameCS();
 
             state._fsp--;
@@ -7033,21 +7478,21 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2394:2: ( (lv_isAll_4_0= '::*' ) )?
-            int alt65=2;
-            int LA65_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2466:2: ( (lv_isAll_4_0= '::*' ) )?
+            int alt79=2;
+            int LA79_0 = input.LA(1);
 
-            if ( (LA65_0==76) ) {
-                alt65=1;
+            if ( (LA79_0==76) ) {
+                alt79=1;
             }
-            switch (alt65) {
+            switch (alt79) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2395:1: (lv_isAll_4_0= '::*' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2467:1: (lv_isAll_4_0= '::*' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2395:1: (lv_isAll_4_0= '::*' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2396:3: lv_isAll_4_0= '::*'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2467:1: (lv_isAll_4_0= '::*' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2468:3: lv_isAll_4_0= '::*'
                     {
-                    lv_isAll_4_0=(Token)match(input,76,FollowSets000.FOLLOW_76_in_ruleImportCS5222); if (state.failed) return current;
+                    lv_isAll_4_0=(Token)match(input,76,FollowSets000.FOLLOW_76_in_ruleImportCS5709); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               newLeafNode(lv_isAll_4_0, grammarAccess.getImportCSAccess().getIsAllColonColonAsteriskKeyword_3_0());
@@ -7070,7 +7515,7 @@
 
             }
 
-            otherlv_5=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleImportCS5248); if (state.failed) return current;
+            otherlv_5=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleImportCS5735); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_5, grammarAccess.getImportCSAccess().getSemicolonKeyword_4());
@@ -7099,7 +7544,7 @@
 
 
     // $ANTLR start "entryRuleLibraryCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2421:1: entryRuleLibraryCS returns [EObject current=null] : iv_ruleLibraryCS= ruleLibraryCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2493:1: entryRuleLibraryCS returns [EObject current=null] : iv_ruleLibraryCS= ruleLibraryCS EOF ;
     public final EObject entryRuleLibraryCS() throws RecognitionException {
         EObject current = null;
 
@@ -7107,13 +7552,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2422:2: (iv_ruleLibraryCS= ruleLibraryCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2423:2: iv_ruleLibraryCS= ruleLibraryCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2494:2: (iv_ruleLibraryCS= ruleLibraryCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2495:2: iv_ruleLibraryCS= ruleLibraryCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getLibraryCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleLibraryCS_in_entryRuleLibraryCS5284);
+            pushFollow(FollowSets000.FOLLOW_ruleLibraryCS_in_entryRuleLibraryCS5771);
             iv_ruleLibraryCS=ruleLibraryCS();
 
             state._fsp--;
@@ -7121,7 +7566,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleLibraryCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLibraryCS5294); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLibraryCS5781); if (state.failed) return current;
 
             }
 
@@ -7139,7 +7584,7 @@
 
 
     // $ANTLR start "ruleLibraryCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2430:1: ruleLibraryCS returns [EObject current=null] : (otherlv_0= 'library' ( ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':' )? ( ( ruleURI ) ) otherlv_4= ';' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2502:1: ruleLibraryCS returns [EObject current=null] : (otherlv_0= 'library' ( ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':' )? ( ( ruleURI ) ) otherlv_4= ';' ) ;
     public final EObject ruleLibraryCS() throws RecognitionException {
         EObject current = null;
 
@@ -7152,41 +7597,41 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2433:28: ( (otherlv_0= 'library' ( ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':' )? ( ( ruleURI ) ) otherlv_4= ';' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2434:1: (otherlv_0= 'library' ( ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':' )? ( ( ruleURI ) ) otherlv_4= ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2505:28: ( (otherlv_0= 'library' ( ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':' )? ( ( ruleURI ) ) otherlv_4= ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2506:1: (otherlv_0= 'library' ( ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':' )? ( ( ruleURI ) ) otherlv_4= ';' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2434:1: (otherlv_0= 'library' ( ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':' )? ( ( ruleURI ) ) otherlv_4= ';' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2434:3: otherlv_0= 'library' ( ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':' )? ( ( ruleURI ) ) otherlv_4= ';'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2506:1: (otherlv_0= 'library' ( ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':' )? ( ( ruleURI ) ) otherlv_4= ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2506:3: otherlv_0= 'library' ( ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':' )? ( ( ruleURI ) ) otherlv_4= ';'
             {
-            otherlv_0=(Token)match(input,36,FollowSets000.FOLLOW_36_in_ruleLibraryCS5331); if (state.failed) return current;
+            otherlv_0=(Token)match(input,36,FollowSets000.FOLLOW_36_in_ruleLibraryCS5818); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_0, grammarAccess.getLibraryCSAccess().getLibraryKeyword_0());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2438:1: ( ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':' )?
-            int alt66=2;
-            int LA66_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2510:1: ( ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':' )?
+            int alt80=2;
+            int LA80_0 = input.LA(1);
 
-            if ( ((LA66_0>=RULE_SIMPLE_ID && LA66_0<=RULE_ESCAPED_ID)||LA66_0==17||(LA66_0>=19 && LA66_0<=54)||LA66_0==59||LA66_0==72||(LA66_0>=74 && LA66_0<=75)||LA66_0==80) ) {
-                alt66=1;
+            if ( ((LA80_0>=RULE_SIMPLE_ID && LA80_0<=RULE_ESCAPED_ID)||LA80_0==17||(LA80_0>=19 && LA80_0<=54)||LA80_0==59||LA80_0==72||(LA80_0>=74 && LA80_0<=75)||LA80_0==80) ) {
+                alt80=1;
             }
-            switch (alt66) {
+            switch (alt80) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2438:2: ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2510:2: ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':'
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2438:2: ( (lv_name_1_0= ruleUnrestrictedName ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2439:1: (lv_name_1_0= ruleUnrestrictedName )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2510:2: ( (lv_name_1_0= ruleUnrestrictedName ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2511:1: (lv_name_1_0= ruleUnrestrictedName )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2439:1: (lv_name_1_0= ruleUnrestrictedName )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2440:3: lv_name_1_0= ruleUnrestrictedName
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2511:1: (lv_name_1_0= ruleUnrestrictedName )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2512:3: lv_name_1_0= ruleUnrestrictedName
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getLibraryCSAccess().getNameUnrestrictedNameParserRuleCall_1_0_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleLibraryCS5353);
+                    pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleLibraryCS5840);
                     lv_name_1_0=ruleUnrestrictedName();
 
                     state._fsp--;
@@ -7210,7 +7655,7 @@
 
                     }
 
-                    otherlv_2=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleLibraryCS5365); if (state.failed) return current;
+                    otherlv_2=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleLibraryCS5852); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_2, grammarAccess.getLibraryCSAccess().getColonKeyword_1_1());
@@ -7222,11 +7667,11 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2460:3: ( ( ruleURI ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2461:1: ( ruleURI )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2532:3: ( ( ruleURI ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2533:1: ( ruleURI )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2461:1: ( ruleURI )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2462:3: ruleURI
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2533:1: ( ruleURI )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2534:3: ruleURI
             {
             if ( state.backtracking==0 ) {
                
@@ -7245,7 +7690,7 @@
               	        newCompositeNode(grammarAccess.getLibraryCSAccess().getReferredPackagePackageCrossReference_2_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleURI_in_ruleLibraryCS5394);
+            pushFollow(FollowSets000.FOLLOW_ruleURI_in_ruleLibraryCS5881);
             ruleURI();
 
             state._fsp--;
@@ -7261,7 +7706,7 @@
 
             }
 
-            otherlv_4=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleLibraryCS5406); if (state.failed) return current;
+            otherlv_4=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleLibraryCS5893); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_4, grammarAccess.getLibraryCSAccess().getSemicolonKeyword_3());
@@ -7290,7 +7735,7 @@
 
 
     // $ANTLR start "entryRuleModelElementCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2490:1: entryRuleModelElementCS returns [EObject current=null] : iv_ruleModelElementCS= ruleModelElementCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2562:1: entryRuleModelElementCS returns [EObject current=null] : iv_ruleModelElementCS= ruleModelElementCS EOF ;
     public final EObject entryRuleModelElementCS() throws RecognitionException {
         EObject current = null;
 
@@ -7298,13 +7743,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2491:2: (iv_ruleModelElementCS= ruleModelElementCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2492:2: iv_ruleModelElementCS= ruleModelElementCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2563:2: (iv_ruleModelElementCS= ruleModelElementCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2564:2: iv_ruleModelElementCS= ruleModelElementCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getModelElementCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleModelElementCS_in_entryRuleModelElementCS5442);
+            pushFollow(FollowSets000.FOLLOW_ruleModelElementCS_in_entryRuleModelElementCS5929);
             iv_ruleModelElementCS=ruleModelElementCS();
 
             state._fsp--;
@@ -7312,7 +7757,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleModelElementCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleModelElementCS5452); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleModelElementCS5939); if (state.failed) return current;
 
             }
 
@@ -7330,7 +7775,7 @@
 
 
     // $ANTLR start "ruleModelElementCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2499:1: ruleModelElementCS returns [EObject current=null] : (this_ClassCS_0= ruleClassCS | this_EnumerationLiteralCS_1= ruleEnumerationLiteralCS | this_OperationCS_2= ruleOperationCS | this_PackageCS_3= rulePackageCS | this_StructuralFeatureCS_4= ruleStructuralFeatureCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2571:1: ruleModelElementCS returns [EObject current=null] : (this_ClassCS_0= ruleClassCS | this_EnumerationLiteralCS_1= ruleEnumerationLiteralCS | this_OperationCS_2= ruleOperationCS | this_PackageCS_3= rulePackageCS | this_StructuralFeatureCS_4= ruleStructuralFeatureCS ) ;
     public final EObject ruleModelElementCS() throws RecognitionException {
         EObject current = null;
 
@@ -7348,15 +7793,15 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2502:28: ( (this_ClassCS_0= ruleClassCS | this_EnumerationLiteralCS_1= ruleEnumerationLiteralCS | this_OperationCS_2= ruleOperationCS | this_PackageCS_3= rulePackageCS | this_StructuralFeatureCS_4= ruleStructuralFeatureCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2503:1: (this_ClassCS_0= ruleClassCS | this_EnumerationLiteralCS_1= ruleEnumerationLiteralCS | this_OperationCS_2= ruleOperationCS | this_PackageCS_3= rulePackageCS | this_StructuralFeatureCS_4= ruleStructuralFeatureCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2574:28: ( (this_ClassCS_0= ruleClassCS | this_EnumerationLiteralCS_1= ruleEnumerationLiteralCS | this_OperationCS_2= ruleOperationCS | this_PackageCS_3= rulePackageCS | this_StructuralFeatureCS_4= ruleStructuralFeatureCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2575:1: (this_ClassCS_0= ruleClassCS | this_EnumerationLiteralCS_1= ruleEnumerationLiteralCS | this_OperationCS_2= ruleOperationCS | this_PackageCS_3= rulePackageCS | this_StructuralFeatureCS_4= ruleStructuralFeatureCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2503:1: (this_ClassCS_0= ruleClassCS | this_EnumerationLiteralCS_1= ruleEnumerationLiteralCS | this_OperationCS_2= ruleOperationCS | this_PackageCS_3= rulePackageCS | this_StructuralFeatureCS_4= ruleStructuralFeatureCS )
-            int alt67=5;
-            alt67 = dfa67.predict(input);
-            switch (alt67) {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2575:1: (this_ClassCS_0= ruleClassCS | this_EnumerationLiteralCS_1= ruleEnumerationLiteralCS | this_OperationCS_2= ruleOperationCS | this_PackageCS_3= rulePackageCS | this_StructuralFeatureCS_4= ruleStructuralFeatureCS )
+            int alt81=5;
+            alt81 = dfa81.predict(input);
+            switch (alt81) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2504:2: this_ClassCS_0= ruleClassCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2576:2: this_ClassCS_0= ruleClassCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -7368,7 +7813,7 @@
                               newCompositeNode(grammarAccess.getModelElementCSAccess().getClassCSParserRuleCall_0()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleClassCS_in_ruleModelElementCS5502);
+                    pushFollow(FollowSets000.FOLLOW_ruleClassCS_in_ruleModelElementCS5989);
                     this_ClassCS_0=ruleClassCS();
 
                     state._fsp--;
@@ -7383,7 +7828,7 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2517:2: this_EnumerationLiteralCS_1= ruleEnumerationLiteralCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2589:2: this_EnumerationLiteralCS_1= ruleEnumerationLiteralCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -7395,7 +7840,7 @@
                               newCompositeNode(grammarAccess.getModelElementCSAccess().getEnumerationLiteralCSParserRuleCall_1()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleEnumerationLiteralCS_in_ruleModelElementCS5532);
+                    pushFollow(FollowSets000.FOLLOW_ruleEnumerationLiteralCS_in_ruleModelElementCS6019);
                     this_EnumerationLiteralCS_1=ruleEnumerationLiteralCS();
 
                     state._fsp--;
@@ -7410,7 +7855,7 @@
                     }
                     break;
                 case 3 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2530:2: this_OperationCS_2= ruleOperationCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2602:2: this_OperationCS_2= ruleOperationCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -7422,7 +7867,7 @@
                               newCompositeNode(grammarAccess.getModelElementCSAccess().getOperationCSParserRuleCall_2()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleOperationCS_in_ruleModelElementCS5562);
+                    pushFollow(FollowSets000.FOLLOW_ruleOperationCS_in_ruleModelElementCS6049);
                     this_OperationCS_2=ruleOperationCS();
 
                     state._fsp--;
@@ -7437,7 +7882,7 @@
                     }
                     break;
                 case 4 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2543:2: this_PackageCS_3= rulePackageCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2615:2: this_PackageCS_3= rulePackageCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -7449,7 +7894,7 @@
                               newCompositeNode(grammarAccess.getModelElementCSAccess().getPackageCSParserRuleCall_3()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_rulePackageCS_in_ruleModelElementCS5592);
+                    pushFollow(FollowSets000.FOLLOW_rulePackageCS_in_ruleModelElementCS6079);
                     this_PackageCS_3=rulePackageCS();
 
                     state._fsp--;
@@ -7464,7 +7909,7 @@
                     }
                     break;
                 case 5 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2556:2: this_StructuralFeatureCS_4= ruleStructuralFeatureCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2628:2: this_StructuralFeatureCS_4= ruleStructuralFeatureCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -7476,7 +7921,7 @@
                               newCompositeNode(grammarAccess.getModelElementCSAccess().getStructuralFeatureCSParserRuleCall_4()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleStructuralFeatureCS_in_ruleModelElementCS5622);
+                    pushFollow(FollowSets000.FOLLOW_ruleStructuralFeatureCS_in_ruleModelElementCS6109);
                     this_StructuralFeatureCS_4=ruleStructuralFeatureCS();
 
                     state._fsp--;
@@ -7513,7 +7958,7 @@
 
 
     // $ANTLR start "entryRuleModelElementRefCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2575:1: entryRuleModelElementRefCS returns [EObject current=null] : iv_ruleModelElementRefCS= ruleModelElementRefCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2647:1: entryRuleModelElementRefCS returns [EObject current=null] : iv_ruleModelElementRefCS= ruleModelElementRefCS EOF ;
     public final EObject entryRuleModelElementRefCS() throws RecognitionException {
         EObject current = null;
 
@@ -7521,13 +7966,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2576:2: (iv_ruleModelElementRefCS= ruleModelElementRefCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2577:2: iv_ruleModelElementRefCS= ruleModelElementRefCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2648:2: (iv_ruleModelElementRefCS= ruleModelElementRefCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2649:2: iv_ruleModelElementRefCS= ruleModelElementRefCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getModelElementRefCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleModelElementRefCS_in_entryRuleModelElementRefCS5657);
+            pushFollow(FollowSets000.FOLLOW_ruleModelElementRefCS_in_entryRuleModelElementRefCS6144);
             iv_ruleModelElementRefCS=ruleModelElementRefCS();
 
             state._fsp--;
@@ -7535,7 +7980,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleModelElementRefCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleModelElementRefCS5667); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleModelElementRefCS6154); if (state.failed) return current;
 
             }
 
@@ -7553,7 +7998,7 @@
 
 
     // $ANTLR start "ruleModelElementRefCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2584:1: ruleModelElementRefCS returns [EObject current=null] : (otherlv_0= 'reference' ( (lv_ownedPathName_1_0= rulePathNameCS ) ) otherlv_2= ';' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2656:1: ruleModelElementRefCS returns [EObject current=null] : (otherlv_0= 'reference' ( (lv_ownedPathName_1_0= rulePathNameCS ) ) otherlv_2= ';' ) ;
     public final EObject ruleModelElementRefCS() throws RecognitionException {
         EObject current = null;
 
@@ -7565,30 +8010,30 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2587:28: ( (otherlv_0= 'reference' ( (lv_ownedPathName_1_0= rulePathNameCS ) ) otherlv_2= ';' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2588:1: (otherlv_0= 'reference' ( (lv_ownedPathName_1_0= rulePathNameCS ) ) otherlv_2= ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2659:28: ( (otherlv_0= 'reference' ( (lv_ownedPathName_1_0= rulePathNameCS ) ) otherlv_2= ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2660:1: (otherlv_0= 'reference' ( (lv_ownedPathName_1_0= rulePathNameCS ) ) otherlv_2= ';' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2588:1: (otherlv_0= 'reference' ( (lv_ownedPathName_1_0= rulePathNameCS ) ) otherlv_2= ';' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2588:3: otherlv_0= 'reference' ( (lv_ownedPathName_1_0= rulePathNameCS ) ) otherlv_2= ';'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2660:1: (otherlv_0= 'reference' ( (lv_ownedPathName_1_0= rulePathNameCS ) ) otherlv_2= ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2660:3: otherlv_0= 'reference' ( (lv_ownedPathName_1_0= rulePathNameCS ) ) otherlv_2= ';'
             {
-            otherlv_0=(Token)match(input,45,FollowSets000.FOLLOW_45_in_ruleModelElementRefCS5704); if (state.failed) return current;
+            otherlv_0=(Token)match(input,45,FollowSets000.FOLLOW_45_in_ruleModelElementRefCS6191); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_0, grammarAccess.getModelElementRefCSAccess().getReferenceKeyword_0());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2592:1: ( (lv_ownedPathName_1_0= rulePathNameCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2593:1: (lv_ownedPathName_1_0= rulePathNameCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2664:1: ( (lv_ownedPathName_1_0= rulePathNameCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2665:1: (lv_ownedPathName_1_0= rulePathNameCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2593:1: (lv_ownedPathName_1_0= rulePathNameCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2594:3: lv_ownedPathName_1_0= rulePathNameCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2665:1: (lv_ownedPathName_1_0= rulePathNameCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2666:3: lv_ownedPathName_1_0= rulePathNameCS
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getModelElementRefCSAccess().getOwnedPathNamePathNameCSParserRuleCall_1_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_rulePathNameCS_in_ruleModelElementRefCS5725);
+            pushFollow(FollowSets000.FOLLOW_rulePathNameCS_in_ruleModelElementRefCS6212);
             lv_ownedPathName_1_0=rulePathNameCS();
 
             state._fsp--;
@@ -7612,7 +8057,7 @@
 
             }
 
-            otherlv_2=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleModelElementRefCS5737); if (state.failed) return current;
+            otherlv_2=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleModelElementRefCS6224); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_2, grammarAccess.getModelElementRefCSAccess().getSemicolonKeyword_2());
@@ -7641,21 +8086,27 @@
 
 
     // $ANTLR start "entryRuleOperationCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2622:1: entryRuleOperationCS returns [EObject current=null] : iv_ruleOperationCS= ruleOperationCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2694:1: entryRuleOperationCS returns [EObject current=null] : iv_ruleOperationCS= ruleOperationCS EOF ;
     public final EObject entryRuleOperationCS() throws RecognitionException {
         EObject current = null;
 
         EObject iv_ruleOperationCS = null;
 
 
+         
+        		UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
+        			grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 
+        			grammarAccess.getOperationCSAccess().getUnorderedGroup_9()
+        		);
+        	
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2623:2: (iv_ruleOperationCS= ruleOperationCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2624:2: iv_ruleOperationCS= ruleOperationCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2701:2: (iv_ruleOperationCS= ruleOperationCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2702:2: iv_ruleOperationCS= ruleOperationCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getOperationCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleOperationCS_in_entryRuleOperationCS5773);
+            pushFollow(FollowSets000.FOLLOW_ruleOperationCS_in_entryRuleOperationCS6266);
             iv_ruleOperationCS=ruleOperationCS();
 
             state._fsp--;
@@ -7663,7 +8114,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleOperationCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleOperationCS5783); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleOperationCS6276); if (state.failed) return current;
 
             }
 
@@ -7674,6 +8125,9 @@
                 appendSkippedTokens();
             } 
         finally {
+
+            	myUnorderedGroupState.restore();
+
         }
         return current;
     }
@@ -7681,259 +8135,260 @@
 
 
     // $ANTLR start "ruleOperationCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2631:1: ruleOperationCS returns [EObject current=null] : ( ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'operation' ( (lv_ownedSignature_5_0= ruleTemplateSignatureCS ) )? ( (lv_name_6_0= ruleUnrestrictedName ) ) otherlv_7= '(' ( ( (lv_ownedParameters_8_0= ruleParameterCS ) ) (otherlv_9= ',' ( (lv_ownedParameters_10_0= ruleParameterCS ) ) )* )? otherlv_11= ')' (otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_14= 'throws' ( (lv_ownedExceptions_15_0= ruleTypedRefCS ) ) (otherlv_16= ',' ( (lv_ownedExceptions_17_0= ruleTypedRefCS ) ) )* )? (otherlv_18= '{' ( ( ( (lv_qualifiers_19_0= 'derived' ) ) | ( (lv_qualifiers_20_0= '!derived' ) ) | ( (lv_qualifiers_21_0= 'ordered' ) ) | ( (lv_qualifiers_22_0= '!ordered' ) ) | ( (lv_qualifiers_23_0= 'unique' ) ) | ( (lv_qualifiers_24_0= '!unique' ) ) ) (otherlv_25= ',' )? )+ otherlv_26= '}' )? ( (otherlv_27= '{' ( ( (lv_ownedAnnotations_28_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_29_0= rulePreconditionConstraintCS ) ) | (otherlv_30= 'body' ( ruleUnrestrictedName )? otherlv_32= ':' ( (lv_ownedBodyExpressions_33_0= ruleSpecificationCS ) )? otherlv_34= ';' ) | ( (lv_ownedPostconditions_35_0= rulePostconditionConstraintCS ) ) )* otherlv_36= '}' ) | otherlv_37= ';' ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2712:1: ruleOperationCS returns [EObject current=null] : ( ( ( ( ( ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) ) )* ) ) ) otherlv_3= 'operation' ( (lv_ownedSignature_4_0= ruleTemplateSignatureCS ) )? ( (lv_name_5_0= ruleUnrestrictedName ) ) otherlv_6= '(' ( ( (lv_ownedParameters_7_0= ruleParameterCS ) ) (otherlv_8= ',' ( (lv_ownedParameters_9_0= ruleParameterCS ) ) )* )? otherlv_10= ')' (otherlv_11= ':' ( (lv_ownedType_12_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_13= 'throws' ( (lv_ownedExceptions_14_0= ruleTypedRefCS ) ) (otherlv_15= ',' ( (lv_ownedExceptions_16_0= ruleTypedRefCS ) ) )* )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' ) ) ) ) )+ {...}?) ) )? ( (otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_31_0= rulePreconditionConstraintCS ) ) | (otherlv_32= 'body' ( ruleUnrestrictedName )? otherlv_34= ':' ( (lv_ownedBodyExpressions_35_0= ruleSpecificationCS ) )? otherlv_36= ';' ) | ( (lv_ownedPostconditions_37_0= rulePostconditionConstraintCS ) ) )* otherlv_38= '}' ) | otherlv_39= ';' ) ) ;
     public final EObject ruleOperationCS() throws RecognitionException {
         EObject current = null;
 
-        Token lv_qualifiers_0_0=null;
-        Token lv_qualifiers_1_0=null;
-        Token lv_qualifiers_2_0=null;
-        Token lv_qualifiers_3_0=null;
-        Token otherlv_4=null;
-        Token otherlv_7=null;
-        Token otherlv_9=null;
+        Token lv_isStatic_1_0=null;
+        Token lv_isDefinition_2_0=null;
+        Token otherlv_3=null;
+        Token otherlv_6=null;
+        Token otherlv_8=null;
+        Token otherlv_10=null;
         Token otherlv_11=null;
-        Token otherlv_12=null;
-        Token otherlv_14=null;
-        Token otherlv_16=null;
+        Token otherlv_13=null;
+        Token otherlv_15=null;
         Token otherlv_18=null;
-        Token lv_qualifiers_19_0=null;
-        Token lv_qualifiers_20_0=null;
-        Token lv_qualifiers_21_0=null;
-        Token lv_qualifiers_22_0=null;
-        Token lv_qualifiers_23_0=null;
-        Token lv_qualifiers_24_0=null;
-        Token otherlv_25=null;
+        Token lv_isDerived_19_0=null;
+        Token otherlv_20=null;
+        Token otherlv_21=null;
+        Token lv_isOrdered_22_0=null;
+        Token otherlv_23=null;
+        Token otherlv_24=null;
+        Token lv_isNotUnique_25_0=null;
         Token otherlv_26=null;
         Token otherlv_27=null;
-        Token otherlv_30=null;
+        Token otherlv_28=null;
+        Token otherlv_29=null;
         Token otherlv_32=null;
         Token otherlv_34=null;
         Token otherlv_36=null;
-        Token otherlv_37=null;
-        EObject lv_ownedSignature_5_0 = null;
+        Token otherlv_38=null;
+        Token otherlv_39=null;
+        EObject lv_ownedSignature_4_0 = null;
 
-        AntlrDatatypeRuleToken lv_name_6_0 = null;
+        AntlrDatatypeRuleToken lv_name_5_0 = null;
 
-        EObject lv_ownedParameters_8_0 = null;
+        EObject lv_ownedParameters_7_0 = null;
 
-        EObject lv_ownedParameters_10_0 = null;
+        EObject lv_ownedParameters_9_0 = null;
 
-        EObject lv_ownedType_13_0 = null;
+        EObject lv_ownedType_12_0 = null;
 
-        EObject lv_ownedExceptions_15_0 = null;
+        EObject lv_ownedExceptions_14_0 = null;
 
-        EObject lv_ownedExceptions_17_0 = null;
+        EObject lv_ownedExceptions_16_0 = null;
 
-        EObject lv_ownedAnnotations_28_0 = null;
+        EObject lv_ownedAnnotations_30_0 = null;
 
-        EObject lv_ownedPreconditions_29_0 = null;
+        EObject lv_ownedPreconditions_31_0 = null;
 
-        EObject lv_ownedBodyExpressions_33_0 = null;
+        EObject lv_ownedBodyExpressions_35_0 = null;
 
-        EObject lv_ownedPostconditions_35_0 = null;
+        EObject lv_ownedPostconditions_37_0 = null;
 
 
          enterRule(); 
+        		UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
+        			grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 
+        			grammarAccess.getOperationCSAccess().getUnorderedGroup_9()
+        		);
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2634:28: ( ( ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'operation' ( (lv_ownedSignature_5_0= ruleTemplateSignatureCS ) )? ( (lv_name_6_0= ruleUnrestrictedName ) ) otherlv_7= '(' ( ( (lv_ownedParameters_8_0= ruleParameterCS ) ) (otherlv_9= ',' ( (lv_ownedParameters_10_0= ruleParameterCS ) ) )* )? otherlv_11= ')' (otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_14= 'throws' ( (lv_ownedExceptions_15_0= ruleTypedRefCS ) ) (otherlv_16= ',' ( (lv_ownedExceptions_17_0= ruleTypedRefCS ) ) )* )? (otherlv_18= '{' ( ( ( (lv_qualifiers_19_0= 'derived' ) ) | ( (lv_qualifiers_20_0= '!derived' ) ) | ( (lv_qualifiers_21_0= 'ordered' ) ) | ( (lv_qualifiers_22_0= '!ordered' ) ) | ( (lv_qualifiers_23_0= 'unique' ) ) | ( (lv_qualifiers_24_0= '!unique' ) ) ) (otherlv_25= ',' )? )+ otherlv_26= '}' )? ( (otherlv_27= '{' ( ( (lv_ownedAnnotations_28_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_29_0= rulePreconditionConstraintCS ) ) | (otherlv_30= 'body' ( ruleUnrestrictedName )? otherlv_32= ':' ( (lv_ownedBodyExpressions_33_0= ruleSpecificationCS ) )? otherlv_34= ';' ) | ( (lv_ownedPostconditions_35_0= rulePostconditionConstraintCS ) ) )* otherlv_36= '}' ) | otherlv_37= ';' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2635:1: ( ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'operation' ( (lv_ownedSignature_5_0= ruleTemplateSignatureCS ) )? ( (lv_name_6_0= ruleUnrestrictedName ) ) otherlv_7= '(' ( ( (lv_ownedParameters_8_0= ruleParameterCS ) ) (otherlv_9= ',' ( (lv_ownedParameters_10_0= ruleParameterCS ) ) )* )? otherlv_11= ')' (otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_14= 'throws' ( (lv_ownedExceptions_15_0= ruleTypedRefCS ) ) (otherlv_16= ',' ( (lv_ownedExceptions_17_0= ruleTypedRefCS ) ) )* )? (otherlv_18= '{' ( ( ( (lv_qualifiers_19_0= 'derived' ) ) | ( (lv_qualifiers_20_0= '!derived' ) ) | ( (lv_qualifiers_21_0= 'ordered' ) ) | ( (lv_qualifiers_22_0= '!ordered' ) ) | ( (lv_qualifiers_23_0= 'unique' ) ) | ( (lv_qualifiers_24_0= '!unique' ) ) ) (otherlv_25= ',' )? )+ otherlv_26= '}' )? ( (otherlv_27= '{' ( ( (lv_ownedAnnotations_28_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_29_0= rulePreconditionConstraintCS ) ) | (otherlv_30= 'body' ( ruleUnrestrictedName )? otherlv_32= ':' ( (lv_ownedBodyExpressions_33_0= ruleSpecificationCS ) )? otherlv_34= ';' ) | ( (lv_ownedPostconditions_35_0= rulePostconditionConstraintCS ) ) )* otherlv_36= '}' ) | otherlv_37= ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2719:28: ( ( ( ( ( ( ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) ) )* ) ) ) otherlv_3= 'operation' ( (lv_ownedSignature_4_0= ruleTemplateSignatureCS ) )? ( (lv_name_5_0= ruleUnrestrictedName ) ) otherlv_6= '(' ( ( (lv_ownedParameters_7_0= ruleParameterCS ) ) (otherlv_8= ',' ( (lv_ownedParameters_9_0= ruleParameterCS ) ) )* )? otherlv_10= ')' (otherlv_11= ':' ( (lv_ownedType_12_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_13= 'throws' ( (lv_ownedExceptions_14_0= ruleTypedRefCS ) ) (otherlv_15= ',' ( (lv_ownedExceptions_16_0= ruleTypedRefCS ) ) )* )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' ) ) ) ) )+ {...}?) ) )? ( (otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_31_0= rulePreconditionConstraintCS ) ) | (otherlv_32= 'body' ( ruleUnrestrictedName )? otherlv_34= ':' ( (lv_ownedBodyExpressions_35_0= ruleSpecificationCS ) )? otherlv_36= ';' ) | ( (lv_ownedPostconditions_37_0= rulePostconditionConstraintCS ) ) )* otherlv_38= '}' ) | otherlv_39= ';' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2720:1: ( ( ( ( ( ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) ) )* ) ) ) otherlv_3= 'operation' ( (lv_ownedSignature_4_0= ruleTemplateSignatureCS ) )? ( (lv_name_5_0= ruleUnrestrictedName ) ) otherlv_6= '(' ( ( (lv_ownedParameters_7_0= ruleParameterCS ) ) (otherlv_8= ',' ( (lv_ownedParameters_9_0= ruleParameterCS ) ) )* )? otherlv_10= ')' (otherlv_11= ':' ( (lv_ownedType_12_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_13= 'throws' ( (lv_ownedExceptions_14_0= ruleTypedRefCS ) ) (otherlv_15= ',' ( (lv_ownedExceptions_16_0= ruleTypedRefCS ) ) )* )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' ) ) ) ) )+ {...}?) ) )? ( (otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_31_0= rulePreconditionConstraintCS ) ) | (otherlv_32= 'body' ( ruleUnrestrictedName )? otherlv_34= ':' ( (lv_ownedBodyExpressions_35_0= ruleSpecificationCS ) )? otherlv_36= ';' ) | ( (lv_ownedPostconditions_37_0= rulePostconditionConstraintCS ) ) )* otherlv_38= '}' ) | otherlv_39= ';' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2635:1: ( ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'operation' ( (lv_ownedSignature_5_0= ruleTemplateSignatureCS ) )? ( (lv_name_6_0= ruleUnrestrictedName ) ) otherlv_7= '(' ( ( (lv_ownedParameters_8_0= ruleParameterCS ) ) (otherlv_9= ',' ( (lv_ownedParameters_10_0= ruleParameterCS ) ) )* )? otherlv_11= ')' (otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_14= 'throws' ( (lv_ownedExceptions_15_0= ruleTypedRefCS ) ) (otherlv_16= ',' ( (lv_ownedExceptions_17_0= ruleTypedRefCS ) ) )* )? (otherlv_18= '{' ( ( ( (lv_qualifiers_19_0= 'derived' ) ) | ( (lv_qualifiers_20_0= '!derived' ) ) | ( (lv_qualifiers_21_0= 'ordered' ) ) | ( (lv_qualifiers_22_0= '!ordered' ) ) | ( (lv_qualifiers_23_0= 'unique' ) ) | ( (lv_qualifiers_24_0= '!unique' ) ) ) (otherlv_25= ',' )? )+ otherlv_26= '}' )? ( (otherlv_27= '{' ( ( (lv_ownedAnnotations_28_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_29_0= rulePreconditionConstraintCS ) ) | (otherlv_30= 'body' ( ruleUnrestrictedName )? otherlv_32= ':' ( (lv_ownedBodyExpressions_33_0= ruleSpecificationCS ) )? otherlv_34= ';' ) | ( (lv_ownedPostconditions_35_0= rulePostconditionConstraintCS ) ) )* otherlv_36= '}' ) | otherlv_37= ';' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2635:2: ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'operation' ( (lv_ownedSignature_5_0= ruleTemplateSignatureCS ) )? ( (lv_name_6_0= ruleUnrestrictedName ) ) otherlv_7= '(' ( ( (lv_ownedParameters_8_0= ruleParameterCS ) ) (otherlv_9= ',' ( (lv_ownedParameters_10_0= ruleParameterCS ) ) )* )? otherlv_11= ')' (otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_14= 'throws' ( (lv_ownedExceptions_15_0= ruleTypedRefCS ) ) (otherlv_16= ',' ( (lv_ownedExceptions_17_0= ruleTypedRefCS ) ) )* )? (otherlv_18= '{' ( ( ( (lv_qualifiers_19_0= 'derived' ) ) | ( (lv_qualifiers_20_0= '!derived' ) ) | ( (lv_qualifiers_21_0= 'ordered' ) ) | ( (lv_qualifiers_22_0= '!ordered' ) ) | ( (lv_qualifiers_23_0= 'unique' ) ) | ( (lv_qualifiers_24_0= '!unique' ) ) ) (otherlv_25= ',' )? )+ otherlv_26= '}' )? ( (otherlv_27= '{' ( ( (lv_ownedAnnotations_28_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_29_0= rulePreconditionConstraintCS ) ) | (otherlv_30= 'body' ( ruleUnrestrictedName )? otherlv_32= ':' ( (lv_ownedBodyExpressions_33_0= ruleSpecificationCS ) )? otherlv_34= ';' ) | ( (lv_ownedPostconditions_35_0= rulePostconditionConstraintCS ) ) )* otherlv_36= '}' ) | otherlv_37= ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2720:1: ( ( ( ( ( ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) ) )* ) ) ) otherlv_3= 'operation' ( (lv_ownedSignature_4_0= ruleTemplateSignatureCS ) )? ( (lv_name_5_0= ruleUnrestrictedName ) ) otherlv_6= '(' ( ( (lv_ownedParameters_7_0= ruleParameterCS ) ) (otherlv_8= ',' ( (lv_ownedParameters_9_0= ruleParameterCS ) ) )* )? otherlv_10= ')' (otherlv_11= ':' ( (lv_ownedType_12_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_13= 'throws' ( (lv_ownedExceptions_14_0= ruleTypedRefCS ) ) (otherlv_15= ',' ( (lv_ownedExceptions_16_0= ruleTypedRefCS ) ) )* )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' ) ) ) ) )+ {...}?) ) )? ( (otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_31_0= rulePreconditionConstraintCS ) ) | (otherlv_32= 'body' ( ruleUnrestrictedName )? otherlv_34= ':' ( (lv_ownedBodyExpressions_35_0= ruleSpecificationCS ) )? otherlv_36= ';' ) | ( (lv_ownedPostconditions_37_0= rulePostconditionConstraintCS ) ) )* otherlv_38= '}' ) | otherlv_39= ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2720:2: ( ( ( ( ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) ) )* ) ) ) otherlv_3= 'operation' ( (lv_ownedSignature_4_0= ruleTemplateSignatureCS ) )? ( (lv_name_5_0= ruleUnrestrictedName ) ) otherlv_6= '(' ( ( (lv_ownedParameters_7_0= ruleParameterCS ) ) (otherlv_8= ',' ( (lv_ownedParameters_9_0= ruleParameterCS ) ) )* )? otherlv_10= ')' (otherlv_11= ':' ( (lv_ownedType_12_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_13= 'throws' ( (lv_ownedExceptions_14_0= ruleTypedRefCS ) ) (otherlv_15= ',' ( (lv_ownedExceptions_16_0= ruleTypedRefCS ) ) )* )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' ) ) ) ) )+ {...}?) ) )? ( (otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_31_0= rulePreconditionConstraintCS ) ) | (otherlv_32= 'body' ( ruleUnrestrictedName )? otherlv_34= ':' ( (lv_ownedBodyExpressions_35_0= ruleSpecificationCS ) )? otherlv_36= ';' ) | ( (lv_ownedPostconditions_37_0= rulePostconditionConstraintCS ) ) )* otherlv_38= '}' ) | otherlv_39= ';' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2635:2: ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )?
-            int alt70=3;
-            int LA70_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2720:2: ( ( ( ( ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) ) )* ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2722:1: ( ( ( ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) ) )* ) )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2722:1: ( ( ( ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) ) )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2723:2: ( ( ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) ) )* )
+            {
+            getUnorderedGroupHelper().enter(grammarAccess.getOperationCSAccess().getUnorderedGroup_0());
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2726:2: ( ( ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) ) )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2727:3: ( ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) ) )*
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2727:3: ( ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) ) )*
+            loop82:
+            do {
+                int alt82=3;
+                int LA82_0 = input.LA(1);
 
-            if ( (LA70_0==47) ) {
-                alt70=1;
-            }
-            else if ( (LA70_0==26) ) {
-                alt70=2;
-            }
-            switch (alt70) {
-                case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2635:3: ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2635:3: ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2635:4: ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )?
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2635:4: ( (lv_qualifiers_0_0= 'static' ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2636:1: (lv_qualifiers_0_0= 'static' )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2636:1: (lv_qualifiers_0_0= 'static' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2637:3: lv_qualifiers_0_0= 'static'
-                    {
-                    lv_qualifiers_0_0=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleOperationCS5828); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                              newLeafNode(lv_qualifiers_0_0, grammarAccess.getOperationCSAccess().getQualifiersStaticKeyword_0_0_0_0());
-                          
-                    }
-                    if ( state.backtracking==0 ) {
-
-                      	        if (current==null) {
-                      	            current = createModelElement(grammarAccess.getOperationCSRule());
-                      	        }
-                             		addWithLastConsumed(current, "qualifiers", lv_qualifiers_0_0, "static");
-                      	    
-                    }
-
-                    }
+                if ( LA82_0 ==47 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 0) ) {
+                    alt82=1;
+                }
+                else if ( LA82_0 ==26 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 1) ) {
+                    alt82=2;
+                }
 
 
-                    }
+                switch (alt82) {
+            	case 1 :
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2729:4: ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) )
+            	    {
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2729:4: ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2730:5: {...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) )
+            	    {
+            	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 0) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleOperationCS", "getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 0)");
+            	    }
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2730:108: ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2731:6: ({...}? => ( (lv_isStatic_1_0= 'static' ) ) )
+            	    {
+            	    getUnorderedGroupHelper().select(grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 0);
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2734:6: ({...}? => ( (lv_isStatic_1_0= 'static' ) ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2734:7: {...}? => ( (lv_isStatic_1_0= 'static' ) )
+            	    {
+            	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleOperationCS", "true");
+            	    }
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2734:16: ( (lv_isStatic_1_0= 'static' ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2735:1: (lv_isStatic_1_0= 'static' )
+            	    {
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2735:1: (lv_isStatic_1_0= 'static' )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2736:3: lv_isStatic_1_0= 'static'
+            	    {
+            	    lv_isStatic_1_0=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleOperationCS6368); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2650:2: ( (lv_qualifiers_1_0= 'definition' ) )?
-                    int alt68=2;
-                    int LA68_0 = input.LA(1);
+            	              newLeafNode(lv_isStatic_1_0, grammarAccess.getOperationCSAccess().getIsStaticStaticKeyword_0_0_0());
+            	          
+            	    }
+            	    if ( state.backtracking==0 ) {
 
-                    if ( (LA68_0==26) ) {
-                        alt68=1;
-                    }
-                    switch (alt68) {
-                        case 1 :
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2651:1: (lv_qualifiers_1_0= 'definition' )
-                            {
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2651:1: (lv_qualifiers_1_0= 'definition' )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2652:3: lv_qualifiers_1_0= 'definition'
-                            {
-                            lv_qualifiers_1_0=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleOperationCS5859); if (state.failed) return current;
-                            if ( state.backtracking==0 ) {
+            	      	        if (current==null) {
+            	      	            current = createModelElement(grammarAccess.getOperationCSRule());
+            	      	        }
+            	             		setWithLastConsumed(current, "isStatic", true, "static");
+            	      	    
+            	    }
 
-                                      newLeafNode(lv_qualifiers_1_0, grammarAccess.getOperationCSAccess().getQualifiersDefinitionKeyword_0_0_1_0());
-                                  
-                            }
-                            if ( state.backtracking==0 ) {
-
-                              	        if (current==null) {
-                              	            current = createModelElement(grammarAccess.getOperationCSRule());
-                              	        }
-                                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_1_0, "definition");
-                              	    
-                            }
-
-                            }
+            	    }
 
 
-                            }
-                            break;
-
-                    }
+            	    }
 
 
-                    }
+            	    }
+
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getOperationCSAccess().getUnorderedGroup_0());
+
+            	    }
 
 
-                    }
-                    break;
-                case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2666:6: ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2666:6: ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2666:7: ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )?
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2666:7: ( (lv_qualifiers_2_0= 'definition' ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2667:1: (lv_qualifiers_2_0= 'definition' )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2667:1: (lv_qualifiers_2_0= 'definition' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2668:3: lv_qualifiers_2_0= 'definition'
-                    {
-                    lv_qualifiers_2_0=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleOperationCS5899); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                              newLeafNode(lv_qualifiers_2_0, grammarAccess.getOperationCSAccess().getQualifiersDefinitionKeyword_0_1_0_0());
-                          
-                    }
-                    if ( state.backtracking==0 ) {
-
-                      	        if (current==null) {
-                      	            current = createModelElement(grammarAccess.getOperationCSRule());
-                      	        }
-                             		addWithLastConsumed(current, "qualifiers", lv_qualifiers_2_0, "definition");
-                      	    
-                    }
-
-                    }
+            	    }
 
 
-                    }
+            	    }
+            	    break;
+            	case 2 :
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2756:4: ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) )
+            	    {
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2756:4: ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2757:5: {...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) )
+            	    {
+            	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 1) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleOperationCS", "getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 1)");
+            	    }
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2757:108: ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2758:6: ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) )
+            	    {
+            	    getUnorderedGroupHelper().select(grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 1);
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2761:6: ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2761:7: {...}? => ( (lv_isDefinition_2_0= 'definition' ) )
+            	    {
+            	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleOperationCS", "true");
+            	    }
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2761:16: ( (lv_isDefinition_2_0= 'definition' ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2762:1: (lv_isDefinition_2_0= 'definition' )
+            	    {
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2762:1: (lv_isDefinition_2_0= 'definition' )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2763:3: lv_isDefinition_2_0= 'definition'
+            	    {
+            	    lv_isDefinition_2_0=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleOperationCS6453); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2681:2: ( (lv_qualifiers_3_0= 'static' ) )?
-                    int alt69=2;
-                    int LA69_0 = input.LA(1);
+            	              newLeafNode(lv_isDefinition_2_0, grammarAccess.getOperationCSAccess().getIsDefinitionDefinitionKeyword_0_1_0());
+            	          
+            	    }
+            	    if ( state.backtracking==0 ) {
 
-                    if ( (LA69_0==47) ) {
-                        alt69=1;
-                    }
-                    switch (alt69) {
-                        case 1 :
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2682:1: (lv_qualifiers_3_0= 'static' )
-                            {
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2682:1: (lv_qualifiers_3_0= 'static' )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2683:3: lv_qualifiers_3_0= 'static'
-                            {
-                            lv_qualifiers_3_0=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleOperationCS5930); if (state.failed) return current;
-                            if ( state.backtracking==0 ) {
+            	      	        if (current==null) {
+            	      	            current = createModelElement(grammarAccess.getOperationCSRule());
+            	      	        }
+            	             		setWithLastConsumed(current, "isDefinition", true, "definition");
+            	      	    
+            	    }
 
-                                      newLeafNode(lv_qualifiers_3_0, grammarAccess.getOperationCSAccess().getQualifiersStaticKeyword_0_1_1_0());
-                                  
-                            }
-                            if ( state.backtracking==0 ) {
-
-                              	        if (current==null) {
-                              	            current = createModelElement(grammarAccess.getOperationCSRule());
-                              	        }
-                                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_3_0, "static");
-                              	    
-                            }
-
-                            }
+            	    }
 
 
-                            }
-                            break;
-
-                    }
+            	    }
 
 
-                    }
+            	    }
+
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getOperationCSAccess().getUnorderedGroup_0());
+
+            	    }
 
 
-                    }
-                    break;
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop82;
+                }
+            } while (true);
+
 
             }
 
-            otherlv_4=(Token)match(input,37,FollowSets000.FOLLOW_37_in_ruleOperationCS5959); if (state.failed) return current;
+
+            }
+
+            getUnorderedGroupHelper().leave(grammarAccess.getOperationCSAccess().getUnorderedGroup_0());
+
+            }
+
+            otherlv_3=(Token)match(input,37,FollowSets000.FOLLOW_37_in_ruleOperationCS6518); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
-                  	newLeafNode(otherlv_4, grammarAccess.getOperationCSAccess().getOperationKeyword_1());
+                  	newLeafNode(otherlv_3, grammarAccess.getOperationCSAccess().getOperationKeyword_1());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2700:1: ( (lv_ownedSignature_5_0= ruleTemplateSignatureCS ) )?
-            int alt71=2;
-            int LA71_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2794:1: ( (lv_ownedSignature_4_0= ruleTemplateSignatureCS ) )?
+            int alt83=2;
+            int LA83_0 = input.LA(1);
 
-            if ( (LA71_0==55||LA71_0==81) ) {
-                alt71=1;
+            if ( (LA83_0==55||LA83_0==81) ) {
+                alt83=1;
             }
-            switch (alt71) {
+            switch (alt83) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2701:1: (lv_ownedSignature_5_0= ruleTemplateSignatureCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2795:1: (lv_ownedSignature_4_0= ruleTemplateSignatureCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2701:1: (lv_ownedSignature_5_0= ruleTemplateSignatureCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2702:3: lv_ownedSignature_5_0= ruleTemplateSignatureCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2795:1: (lv_ownedSignature_4_0= ruleTemplateSignatureCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2796:3: lv_ownedSignature_4_0= ruleTemplateSignatureCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedSignatureTemplateSignatureCSParserRuleCall_2_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTemplateSignatureCS_in_ruleOperationCS5980);
-                    lv_ownedSignature_5_0=ruleTemplateSignatureCS();
+                    pushFollow(FollowSets000.FOLLOW_ruleTemplateSignatureCS_in_ruleOperationCS6539);
+                    lv_ownedSignature_4_0=ruleTemplateSignatureCS();
 
                     state._fsp--;
                     if (state.failed) return current;
@@ -7945,7 +8400,7 @@
                              		set(
                              			current, 
                              			"ownedSignature",
-                              		lv_ownedSignature_5_0, 
+                              		lv_ownedSignature_4_0, 
                               		"TemplateSignatureCS");
                       	        afterParserOrEnumRuleCall();
                       	    
@@ -7959,19 +8414,19 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2718:3: ( (lv_name_6_0= ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2719:1: (lv_name_6_0= ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2812:3: ( (lv_name_5_0= ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2813:1: (lv_name_5_0= ruleUnrestrictedName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2719:1: (lv_name_6_0= ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2720:3: lv_name_6_0= ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2813:1: (lv_name_5_0= ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2814:3: lv_name_5_0= ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getOperationCSAccess().getNameUnrestrictedNameParserRuleCall_3_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleOperationCS6002);
-            lv_name_6_0=ruleUnrestrictedName();
+            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleOperationCS6561);
+            lv_name_5_0=ruleUnrestrictedName();
 
             state._fsp--;
             if (state.failed) return current;
@@ -7983,7 +8438,7 @@
                      		set(
                      			current, 
                      			"name",
-                      		lv_name_6_0, 
+                      		lv_name_5_0, 
                       		"UnrestrictedName");
               	        afterParserOrEnumRuleCall();
               	    
@@ -7994,36 +8449,36 @@
 
             }
 
-            otherlv_7=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleOperationCS6014); if (state.failed) return current;
+            otherlv_6=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleOperationCS6573); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
-                  	newLeafNode(otherlv_7, grammarAccess.getOperationCSAccess().getLeftParenthesisKeyword_4());
+                  	newLeafNode(otherlv_6, grammarAccess.getOperationCSAccess().getLeftParenthesisKeyword_4());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2740:1: ( ( (lv_ownedParameters_8_0= ruleParameterCS ) ) (otherlv_9= ',' ( (lv_ownedParameters_10_0= ruleParameterCS ) ) )* )?
-            int alt73=2;
-            int LA73_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2834:1: ( ( (lv_ownedParameters_7_0= ruleParameterCS ) ) (otherlv_8= ',' ( (lv_ownedParameters_9_0= ruleParameterCS ) ) )* )?
+            int alt85=2;
+            int LA85_0 = input.LA(1);
 
-            if ( ((LA73_0>=RULE_SIMPLE_ID && LA73_0<=RULE_ESCAPED_ID)||LA73_0==17||(LA73_0>=19 && LA73_0<=54)||LA73_0==59||LA73_0==72||(LA73_0>=74 && LA73_0<=75)||LA73_0==80) ) {
-                alt73=1;
+            if ( ((LA85_0>=RULE_SIMPLE_ID && LA85_0<=RULE_ESCAPED_ID)||LA85_0==17||(LA85_0>=19 && LA85_0<=54)||LA85_0==59||LA85_0==72||(LA85_0>=74 && LA85_0<=75)||LA85_0==80) ) {
+                alt85=1;
             }
-            switch (alt73) {
+            switch (alt85) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2740:2: ( (lv_ownedParameters_8_0= ruleParameterCS ) ) (otherlv_9= ',' ( (lv_ownedParameters_10_0= ruleParameterCS ) ) )*
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2834:2: ( (lv_ownedParameters_7_0= ruleParameterCS ) ) (otherlv_8= ',' ( (lv_ownedParameters_9_0= ruleParameterCS ) ) )*
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2740:2: ( (lv_ownedParameters_8_0= ruleParameterCS ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2741:1: (lv_ownedParameters_8_0= ruleParameterCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2834:2: ( (lv_ownedParameters_7_0= ruleParameterCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2835:1: (lv_ownedParameters_7_0= ruleParameterCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2741:1: (lv_ownedParameters_8_0= ruleParameterCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2742:3: lv_ownedParameters_8_0= ruleParameterCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2835:1: (lv_ownedParameters_7_0= ruleParameterCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2836:3: lv_ownedParameters_7_0= ruleParameterCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedParametersParameterCSParserRuleCall_5_0_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleParameterCS_in_ruleOperationCS6036);
-                    lv_ownedParameters_8_0=ruleParameterCS();
+                    pushFollow(FollowSets000.FOLLOW_ruleParameterCS_in_ruleOperationCS6595);
+                    lv_ownedParameters_7_0=ruleParameterCS();
 
                     state._fsp--;
                     if (state.failed) return current;
@@ -8035,7 +8490,7 @@
                              		add(
                              			current, 
                              			"ownedParameters",
-                              		lv_ownedParameters_8_0, 
+                              		lv_ownedParameters_7_0, 
                               		"ParameterCS");
                       	        afterParserOrEnumRuleCall();
                       	    
@@ -8046,40 +8501,40 @@
 
                     }
 
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2758:2: (otherlv_9= ',' ( (lv_ownedParameters_10_0= ruleParameterCS ) ) )*
-                    loop72:
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2852:2: (otherlv_8= ',' ( (lv_ownedParameters_9_0= ruleParameterCS ) ) )*
+                    loop84:
                     do {
-                        int alt72=2;
-                        int LA72_0 = input.LA(1);
+                        int alt84=2;
+                        int LA84_0 = input.LA(1);
 
-                        if ( (LA72_0==60) ) {
-                            alt72=1;
+                        if ( (LA84_0==60) ) {
+                            alt84=1;
                         }
 
 
-                        switch (alt72) {
+                        switch (alt84) {
                     	case 1 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2758:4: otherlv_9= ',' ( (lv_ownedParameters_10_0= ruleParameterCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2852:4: otherlv_8= ',' ( (lv_ownedParameters_9_0= ruleParameterCS ) )
                     	    {
-                    	    otherlv_9=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleOperationCS6049); if (state.failed) return current;
+                    	    otherlv_8=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleOperationCS6608); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
-                    	          	newLeafNode(otherlv_9, grammarAccess.getOperationCSAccess().getCommaKeyword_5_1_0());
+                    	          	newLeafNode(otherlv_8, grammarAccess.getOperationCSAccess().getCommaKeyword_5_1_0());
                     	          
                     	    }
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2762:1: ( (lv_ownedParameters_10_0= ruleParameterCS ) )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2763:1: (lv_ownedParameters_10_0= ruleParameterCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2856:1: ( (lv_ownedParameters_9_0= ruleParameterCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2857:1: (lv_ownedParameters_9_0= ruleParameterCS )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2763:1: (lv_ownedParameters_10_0= ruleParameterCS )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2764:3: lv_ownedParameters_10_0= ruleParameterCS
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2857:1: (lv_ownedParameters_9_0= ruleParameterCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2858:3: lv_ownedParameters_9_0= ruleParameterCS
                     	    {
                     	    if ( state.backtracking==0 ) {
                     	       
                     	      	        newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedParametersParameterCSParserRuleCall_5_1_1_0()); 
                     	      	    
                     	    }
-                    	    pushFollow(FollowSets000.FOLLOW_ruleParameterCS_in_ruleOperationCS6070);
-                    	    lv_ownedParameters_10_0=ruleParameterCS();
+                    	    pushFollow(FollowSets000.FOLLOW_ruleParameterCS_in_ruleOperationCS6629);
+                    	    lv_ownedParameters_9_0=ruleParameterCS();
 
                     	    state._fsp--;
                     	    if (state.failed) return current;
@@ -8091,7 +8546,7 @@
                     	             		add(
                     	             			current, 
                     	             			"ownedParameters",
-                    	              		lv_ownedParameters_10_0, 
+                    	              		lv_ownedParameters_9_0, 
                     	              		"ParameterCS");
                     	      	        afterParserOrEnumRuleCall();
                     	      	    
@@ -8107,7 +8562,7 @@
                     	    break;
 
                     	default :
-                    	    break loop72;
+                    	    break loop84;
                         }
                     } while (true);
 
@@ -8117,42 +8572,42 @@
 
             }
 
-            otherlv_11=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleOperationCS6086); if (state.failed) return current;
+            otherlv_10=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleOperationCS6645); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
-                  	newLeafNode(otherlv_11, grammarAccess.getOperationCSAccess().getRightParenthesisKeyword_6());
+                  	newLeafNode(otherlv_10, grammarAccess.getOperationCSAccess().getRightParenthesisKeyword_6());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2784:1: (otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypedMultiplicityRefCS ) ) )?
-            int alt74=2;
-            int LA74_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2878:1: (otherlv_11= ':' ( (lv_ownedType_12_0= ruleTypedMultiplicityRefCS ) ) )?
+            int alt86=2;
+            int LA86_0 = input.LA(1);
 
-            if ( (LA74_0==57) ) {
-                alt74=1;
+            if ( (LA86_0==57) ) {
+                alt86=1;
             }
-            switch (alt74) {
+            switch (alt86) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2784:3: otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypedMultiplicityRefCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2878:3: otherlv_11= ':' ( (lv_ownedType_12_0= ruleTypedMultiplicityRefCS ) )
                     {
-                    otherlv_12=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleOperationCS6099); if (state.failed) return current;
+                    otherlv_11=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleOperationCS6658); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
-                          	newLeafNode(otherlv_12, grammarAccess.getOperationCSAccess().getColonKeyword_7_0());
+                          	newLeafNode(otherlv_11, grammarAccess.getOperationCSAccess().getColonKeyword_7_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2788:1: ( (lv_ownedType_13_0= ruleTypedMultiplicityRefCS ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2789:1: (lv_ownedType_13_0= ruleTypedMultiplicityRefCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2882:1: ( (lv_ownedType_12_0= ruleTypedMultiplicityRefCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2883:1: (lv_ownedType_12_0= ruleTypedMultiplicityRefCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2789:1: (lv_ownedType_13_0= ruleTypedMultiplicityRefCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2790:3: lv_ownedType_13_0= ruleTypedMultiplicityRefCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2883:1: (lv_ownedType_12_0= ruleTypedMultiplicityRefCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2884:3: lv_ownedType_12_0= ruleTypedMultiplicityRefCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedTypeTypedMultiplicityRefCSParserRuleCall_7_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTypedMultiplicityRefCS_in_ruleOperationCS6120);
-                    lv_ownedType_13_0=ruleTypedMultiplicityRefCS();
+                    pushFollow(FollowSets000.FOLLOW_ruleTypedMultiplicityRefCS_in_ruleOperationCS6679);
+                    lv_ownedType_12_0=ruleTypedMultiplicityRefCS();
 
                     state._fsp--;
                     if (state.failed) return current;
@@ -8164,7 +8619,7 @@
                              		set(
                              			current, 
                              			"ownedType",
-                              		lv_ownedType_13_0, 
+                              		lv_ownedType_12_0, 
                               		"TypedMultiplicityRefCS");
                       	        afterParserOrEnumRuleCall();
                       	    
@@ -8181,36 +8636,36 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2806:4: (otherlv_14= 'throws' ( (lv_ownedExceptions_15_0= ruleTypedRefCS ) ) (otherlv_16= ',' ( (lv_ownedExceptions_17_0= ruleTypedRefCS ) ) )* )?
-            int alt76=2;
-            int LA76_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2900:4: (otherlv_13= 'throws' ( (lv_ownedExceptions_14_0= ruleTypedRefCS ) ) (otherlv_15= ',' ( (lv_ownedExceptions_16_0= ruleTypedRefCS ) ) )* )?
+            int alt88=2;
+            int LA88_0 = input.LA(1);
 
-            if ( (LA76_0==49) ) {
-                alt76=1;
+            if ( (LA88_0==49) ) {
+                alt88=1;
             }
-            switch (alt76) {
+            switch (alt88) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2806:6: otherlv_14= 'throws' ( (lv_ownedExceptions_15_0= ruleTypedRefCS ) ) (otherlv_16= ',' ( (lv_ownedExceptions_17_0= ruleTypedRefCS ) ) )*
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2900:6: otherlv_13= 'throws' ( (lv_ownedExceptions_14_0= ruleTypedRefCS ) ) (otherlv_15= ',' ( (lv_ownedExceptions_16_0= ruleTypedRefCS ) ) )*
                     {
-                    otherlv_14=(Token)match(input,49,FollowSets000.FOLLOW_49_in_ruleOperationCS6135); if (state.failed) return current;
+                    otherlv_13=(Token)match(input,49,FollowSets000.FOLLOW_49_in_ruleOperationCS6694); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
-                          	newLeafNode(otherlv_14, grammarAccess.getOperationCSAccess().getThrowsKeyword_8_0());
+                          	newLeafNode(otherlv_13, grammarAccess.getOperationCSAccess().getThrowsKeyword_8_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2810:1: ( (lv_ownedExceptions_15_0= ruleTypedRefCS ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2811:1: (lv_ownedExceptions_15_0= ruleTypedRefCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2904:1: ( (lv_ownedExceptions_14_0= ruleTypedRefCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2905:1: (lv_ownedExceptions_14_0= ruleTypedRefCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2811:1: (lv_ownedExceptions_15_0= ruleTypedRefCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2812:3: lv_ownedExceptions_15_0= ruleTypedRefCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2905:1: (lv_ownedExceptions_14_0= ruleTypedRefCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2906:3: lv_ownedExceptions_14_0= ruleTypedRefCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedExceptionsTypedRefCSParserRuleCall_8_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_ruleOperationCS6156);
-                    lv_ownedExceptions_15_0=ruleTypedRefCS();
+                    pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_ruleOperationCS6715);
+                    lv_ownedExceptions_14_0=ruleTypedRefCS();
 
                     state._fsp--;
                     if (state.failed) return current;
@@ -8222,7 +8677,7 @@
                              		add(
                              			current, 
                              			"ownedExceptions",
-                              		lv_ownedExceptions_15_0, 
+                              		lv_ownedExceptions_14_0, 
                               		"TypedRefCS");
                       	        afterParserOrEnumRuleCall();
                       	    
@@ -8233,40 +8688,40 @@
 
                     }
 
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2828:2: (otherlv_16= ',' ( (lv_ownedExceptions_17_0= ruleTypedRefCS ) ) )*
-                    loop75:
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2922:2: (otherlv_15= ',' ( (lv_ownedExceptions_16_0= ruleTypedRefCS ) ) )*
+                    loop87:
                     do {
-                        int alt75=2;
-                        int LA75_0 = input.LA(1);
+                        int alt87=2;
+                        int LA87_0 = input.LA(1);
 
-                        if ( (LA75_0==60) ) {
-                            alt75=1;
+                        if ( (LA87_0==60) ) {
+                            alt87=1;
                         }
 
 
-                        switch (alt75) {
+                        switch (alt87) {
                     	case 1 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2828:4: otherlv_16= ',' ( (lv_ownedExceptions_17_0= ruleTypedRefCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2922:4: otherlv_15= ',' ( (lv_ownedExceptions_16_0= ruleTypedRefCS ) )
                     	    {
-                    	    otherlv_16=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleOperationCS6169); if (state.failed) return current;
+                    	    otherlv_15=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleOperationCS6728); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
-                    	          	newLeafNode(otherlv_16, grammarAccess.getOperationCSAccess().getCommaKeyword_8_2_0());
+                    	          	newLeafNode(otherlv_15, grammarAccess.getOperationCSAccess().getCommaKeyword_8_2_0());
                     	          
                     	    }
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2832:1: ( (lv_ownedExceptions_17_0= ruleTypedRefCS ) )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2833:1: (lv_ownedExceptions_17_0= ruleTypedRefCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2926:1: ( (lv_ownedExceptions_16_0= ruleTypedRefCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2927:1: (lv_ownedExceptions_16_0= ruleTypedRefCS )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2833:1: (lv_ownedExceptions_17_0= ruleTypedRefCS )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2834:3: lv_ownedExceptions_17_0= ruleTypedRefCS
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2927:1: (lv_ownedExceptions_16_0= ruleTypedRefCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2928:3: lv_ownedExceptions_16_0= ruleTypedRefCS
                     	    {
                     	    if ( state.backtracking==0 ) {
                     	       
                     	      	        newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedExceptionsTypedRefCSParserRuleCall_8_2_1_0()); 
                     	      	    
                     	    }
-                    	    pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_ruleOperationCS6190);
-                    	    lv_ownedExceptions_17_0=ruleTypedRefCS();
+                    	    pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_ruleOperationCS6749);
+                    	    lv_ownedExceptions_16_0=ruleTypedRefCS();
 
                     	    state._fsp--;
                     	    if (state.failed) return current;
@@ -8278,7 +8733,7 @@
                     	             		add(
                     	             			current, 
                     	             			"ownedExceptions",
-                    	              		lv_ownedExceptions_17_0, 
+                    	              		lv_ownedExceptions_16_0, 
                     	              		"TypedRefCS");
                     	      	        afterParserOrEnumRuleCall();
                     	      	    
@@ -8294,7 +8749,7 @@
                     	    break;
 
                     	default :
-                    	    break loop75;
+                    	    break loop87;
                         }
                     } while (true);
 
@@ -8304,98 +8759,271 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2850:6: (otherlv_18= '{' ( ( ( (lv_qualifiers_19_0= 'derived' ) ) | ( (lv_qualifiers_20_0= '!derived' ) ) | ( (lv_qualifiers_21_0= 'ordered' ) ) | ( (lv_qualifiers_22_0= '!ordered' ) ) | ( (lv_qualifiers_23_0= 'unique' ) ) | ( (lv_qualifiers_24_0= '!unique' ) ) ) (otherlv_25= ',' )? )+ otherlv_26= '}' )?
-            int alt80=2;
-            int LA80_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2944:6: ( ( ( ( ({...}? => ( ({...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' ) ) ) ) )+ {...}?) ) )?
+            int alt98=2;
+            int LA98_0 = input.LA(1);
 
-            if ( (LA80_0==61) ) {
-                int LA80_1 = input.LA(2);
+            if ( (LA98_0==61) ) {
+                int LA98_1 = input.LA(2);
 
-                if ( (LA80_1==28||LA80_1==38||LA80_1==51||LA80_1==64||LA80_1==66||LA80_1==69) ) {
-                    alt80=1;
+                if ( (synpred158_InternalOCLinEcore()) ) {
+                    alt98=1;
                 }
             }
-            switch (alt80) {
+            else if ( (LA98_0==38||LA98_0==51||LA98_0==62||LA98_0==66||LA98_0==69) ) {
+                alt98=1;
+            }
+            switch (alt98) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2850:8: otherlv_18= '{' ( ( ( (lv_qualifiers_19_0= 'derived' ) ) | ( (lv_qualifiers_20_0= '!derived' ) ) | ( (lv_qualifiers_21_0= 'ordered' ) ) | ( (lv_qualifiers_22_0= '!ordered' ) ) | ( (lv_qualifiers_23_0= 'unique' ) ) | ( (lv_qualifiers_24_0= '!unique' ) ) ) (otherlv_25= ',' )? )+ otherlv_26= '}'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2946:1: ( ( ( ({...}? => ( ({...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' ) ) ) ) )+ {...}?) )
                     {
-                    otherlv_18=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleOperationCS6207); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                          	newLeafNode(otherlv_18, grammarAccess.getOperationCSAccess().getLeftCurlyBracketKeyword_9_0());
-                          
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2854:1: ( ( ( (lv_qualifiers_19_0= 'derived' ) ) | ( (lv_qualifiers_20_0= '!derived' ) ) | ( (lv_qualifiers_21_0= 'ordered' ) ) | ( (lv_qualifiers_22_0= '!ordered' ) ) | ( (lv_qualifiers_23_0= 'unique' ) ) | ( (lv_qualifiers_24_0= '!unique' ) ) ) (otherlv_25= ',' )? )+
-                    int cnt79=0;
-                    loop79:
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2946:1: ( ( ( ({...}? => ( ({...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' ) ) ) ) )+ {...}?) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2947:2: ( ( ({...}? => ( ({...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' ) ) ) ) )+ {...}?)
+                    {
+                    getUnorderedGroupHelper().enter(grammarAccess.getOperationCSAccess().getUnorderedGroup_9());
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2950:2: ( ( ({...}? => ( ({...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' ) ) ) ) )+ {...}?)
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2951:3: ( ({...}? => ( ({...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' ) ) ) ) )+ {...}?
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2951:3: ( ({...}? => ( ({...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' ) ) ) ) )+
+                    int cnt97=0;
+                    loop97:
                     do {
-                        int alt79=2;
-                        int LA79_0 = input.LA(1);
+                        int alt97=4;
+                        int LA97_0 = input.LA(1);
 
-                        if ( (LA79_0==28||LA79_0==38||LA79_0==51||LA79_0==64||LA79_0==66||LA79_0==69) ) {
-                            alt79=1;
+                        if ( (LA97_0==61) ) {
+                            int LA97_1 = input.LA(2);
+
+                            if ( synpred150_InternalOCLinEcore() && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 0) ) {
+                                alt97=1;
+                            }
+
+
+                        }
+                        else if ( LA97_0 ==38 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 1) ) {
+                            alt97=2;
+                        }
+                        else if ( LA97_0 ==66 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 1) ) {
+                            alt97=2;
+                        }
+                        else if ( LA97_0 ==69 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 2) ) {
+                            alt97=3;
+                        }
+                        else if ( LA97_0 ==51 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 2) ) {
+                            alt97=3;
+                        }
+                        else if ( LA97_0 ==62 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 2) ) {
+                            alt97=3;
                         }
 
 
-                        switch (alt79) {
+                        switch (alt97) {
                     	case 1 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2854:2: ( ( (lv_qualifiers_19_0= 'derived' ) ) | ( (lv_qualifiers_20_0= '!derived' ) ) | ( (lv_qualifiers_21_0= 'ordered' ) ) | ( (lv_qualifiers_22_0= '!ordered' ) ) | ( (lv_qualifiers_23_0= 'unique' ) ) | ( (lv_qualifiers_24_0= '!unique' ) ) ) (otherlv_25= ',' )?
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2953:4: ({...}? => ( ({...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? ) ) ) )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2854:2: ( ( (lv_qualifiers_19_0= 'derived' ) ) | ( (lv_qualifiers_20_0= '!derived' ) ) | ( (lv_qualifiers_21_0= 'ordered' ) ) | ( (lv_qualifiers_22_0= '!ordered' ) ) | ( (lv_qualifiers_23_0= 'unique' ) ) | ( (lv_qualifiers_24_0= '!unique' ) ) )
-                    	    int alt77=6;
-                    	    switch ( input.LA(1) ) {
-                    	    case 28:
-                    	        {
-                    	        alt77=1;
-                    	        }
-                    	        break;
-                    	    case 64:
-                    	        {
-                    	        alt77=2;
-                    	        }
-                    	        break;
-                    	    case 38:
-                    	        {
-                    	        alt77=3;
-                    	        }
-                    	        break;
-                    	    case 66:
-                    	        {
-                    	        alt77=4;
-                    	        }
-                    	        break;
-                    	    case 51:
-                    	        {
-                    	        alt77=5;
-                    	        }
-                    	        break;
-                    	    case 69:
-                    	        {
-                    	        alt77=6;
-                    	        }
-                    	        break;
-                    	    default:
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2953:4: ({...}? => ( ({...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? ) ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2954:5: {...}? => ( ({...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? ) ) )
+                    	    {
+                    	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 0) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleOperationCS", "getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 0)");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2954:108: ( ({...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2955:6: ({...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? ) )
+                    	    {
+                    	    getUnorderedGroupHelper().select(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 0);
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2958:6: ({...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2958:7: {...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? )
+                    	    {
+                    	    if ( !((true)) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleOperationCS", "true");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2958:16: (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2958:18: otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )?
+                    	    {
+                    	    otherlv_18=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleOperationCS6811); if (state.failed) return current;
+                    	    if ( state.backtracking==0 ) {
+
+                    	          	newLeafNode(otherlv_18, grammarAccess.getOperationCSAccess().getLeftCurlyBracketKeyword_9_0_0());
+                    	          
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2962:1: ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )?
+                    	    int alt91=2;
+                    	    int LA91_0 = input.LA(1);
+
+                    	    if ( (LA91_0==28||LA91_0==64) ) {
+                    	        alt91=1;
+                    	    }
+                    	    switch (alt91) {
+                    	        case 1 :
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2962:2: ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )?
+                    	            {
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2962:2: ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' )
+                    	            int alt89=2;
+                    	            int LA89_0 = input.LA(1);
+
+                    	            if ( (LA89_0==28) ) {
+                    	                alt89=1;
+                    	            }
+                    	            else if ( (LA89_0==64) ) {
+                    	                alt89=2;
+                    	            }
+                    	            else {
+                    	                if (state.backtracking>0) {state.failed=true; return current;}
+                    	                NoViableAltException nvae =
+                    	                    new NoViableAltException("", 89, 0, input);
+
+                    	                throw nvae;
+                    	            }
+                    	            switch (alt89) {
+                    	                case 1 :
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2962:3: ( (lv_isDerived_19_0= 'derived' ) )
+                    	                    {
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2962:3: ( (lv_isDerived_19_0= 'derived' ) )
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2963:1: (lv_isDerived_19_0= 'derived' )
+                    	                    {
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2963:1: (lv_isDerived_19_0= 'derived' )
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2964:3: lv_isDerived_19_0= 'derived'
+                    	                    {
+                    	                    lv_isDerived_19_0=(Token)match(input,28,FollowSets000.FOLLOW_28_in_ruleOperationCS6831); if (state.failed) return current;
+                    	                    if ( state.backtracking==0 ) {
+
+                    	                              newLeafNode(lv_isDerived_19_0, grammarAccess.getOperationCSAccess().getIsDerivedDerivedKeyword_9_0_1_0_0_0());
+                    	                          
+                    	                    }
+                    	                    if ( state.backtracking==0 ) {
+
+                    	                      	        if (current==null) {
+                    	                      	            current = createModelElement(grammarAccess.getOperationCSRule());
+                    	                      	        }
+                    	                             		setWithLastConsumed(current, "isDerived", true, "derived");
+                    	                      	    
+                    	                    }
+
+                    	                    }
+
+
+                    	                    }
+
+
+                    	                    }
+                    	                    break;
+                    	                case 2 :
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2978:7: otherlv_20= '!derived'
+                    	                    {
+                    	                    otherlv_20=(Token)match(input,64,FollowSets000.FOLLOW_64_in_ruleOperationCS6862); if (state.failed) return current;
+                    	                    if ( state.backtracking==0 ) {
+
+                    	                          	newLeafNode(otherlv_20, grammarAccess.getOperationCSAccess().getDerivedKeyword_9_0_1_0_1());
+                    	                          
+                    	                    }
+
+                    	                    }
+                    	                    break;
+
+                    	            }
+
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2982:2: (otherlv_21= ',' )?
+                    	            int alt90=2;
+                    	            int LA90_0 = input.LA(1);
+
+                    	            if ( (LA90_0==60) ) {
+                    	                alt90=1;
+                    	            }
+                    	            switch (alt90) {
+                    	                case 1 :
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2982:4: otherlv_21= ','
+                    	                    {
+                    	                    otherlv_21=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleOperationCS6876); if (state.failed) return current;
+                    	                    if ( state.backtracking==0 ) {
+
+                    	                          	newLeafNode(otherlv_21, grammarAccess.getOperationCSAccess().getCommaKeyword_9_0_1_1());
+                    	                          
+                    	                    }
+
+                    	                    }
+                    	                    break;
+
+                    	            }
+
+
+                    	            }
+                    	            break;
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+
+                    	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getOperationCSAccess().getUnorderedGroup_9());
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+                    	    break;
+                    	case 2 :
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2993:4: ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? ) ) ) )
+                    	    {
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2993:4: ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? ) ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2994:5: {...}? => ( ({...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? ) ) )
+                    	    {
+                    	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 1) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleOperationCS", "getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 1)");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2994:108: ( ({...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2995:6: ({...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? ) )
+                    	    {
+                    	    getUnorderedGroupHelper().select(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 1);
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2998:6: ({...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2998:7: {...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? )
+                    	    {
+                    	    if ( !((true)) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleOperationCS", "true");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2998:16: ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2998:17: ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )?
+                    	    {
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2998:17: ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' )
+                    	    int alt92=2;
+                    	    int LA92_0 = input.LA(1);
+
+                    	    if ( (LA92_0==38) ) {
+                    	        alt92=1;
+                    	    }
+                    	    else if ( (LA92_0==66) ) {
+                    	        alt92=2;
+                    	    }
+                    	    else {
                     	        if (state.backtracking>0) {state.failed=true; return current;}
                     	        NoViableAltException nvae =
-                    	            new NoViableAltException("", 77, 0, input);
+                    	            new NoViableAltException("", 92, 0, input);
 
                     	        throw nvae;
                     	    }
-
-                    	    switch (alt77) {
+                    	    switch (alt92) {
                     	        case 1 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2854:3: ( (lv_qualifiers_19_0= 'derived' ) )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2998:18: ( (lv_isOrdered_22_0= 'ordered' ) )
                     	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2854:3: ( (lv_qualifiers_19_0= 'derived' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2855:1: (lv_qualifiers_19_0= 'derived' )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2998:18: ( (lv_isOrdered_22_0= 'ordered' ) )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2999:1: (lv_isOrdered_22_0= 'ordered' )
                     	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2855:1: (lv_qualifiers_19_0= 'derived' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2856:3: lv_qualifiers_19_0= 'derived'
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2999:1: (lv_isOrdered_22_0= 'ordered' )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3000:3: lv_isOrdered_22_0= 'ordered'
                     	            {
-                    	            lv_qualifiers_19_0=(Token)match(input,28,FollowSets000.FOLLOW_28_in_ruleOperationCS6227); if (state.failed) return current;
+                    	            lv_isOrdered_22_0=(Token)match(input,38,FollowSets000.FOLLOW_38_in_ruleOperationCS6955); if (state.failed) return current;
                     	            if ( state.backtracking==0 ) {
 
-                    	                      newLeafNode(lv_qualifiers_19_0, grammarAccess.getOperationCSAccess().getQualifiersDerivedKeyword_9_1_0_0_0());
+                    	                      newLeafNode(lv_isOrdered_22_0, grammarAccess.getOperationCSAccess().getIsOrderedOrderedKeyword_9_1_0_0_0());
                     	                  
                     	            }
                     	            if ( state.backtracking==0 ) {
@@ -8403,7 +9031,7 @@
                     	              	        if (current==null) {
                     	              	            current = createModelElement(grammarAccess.getOperationCSRule());
                     	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_19_0, "derived");
+                    	                     		setWithLastConsumed(current, "isOrdered", true, "ordered");
                     	              	    
                     	            }
 
@@ -8416,183 +9044,35 @@
                     	            }
                     	            break;
                     	        case 2 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2870:6: ( (lv_qualifiers_20_0= '!derived' ) )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3014:7: otherlv_23= '!ordered'
                     	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2870:6: ( (lv_qualifiers_20_0= '!derived' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2871:1: (lv_qualifiers_20_0= '!derived' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2871:1: (lv_qualifiers_20_0= '!derived' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2872:3: lv_qualifiers_20_0= '!derived'
-                    	            {
-                    	            lv_qualifiers_20_0=(Token)match(input,64,FollowSets000.FOLLOW_64_in_ruleOperationCS6264); if (state.failed) return current;
+                    	            otherlv_23=(Token)match(input,66,FollowSets000.FOLLOW_66_in_ruleOperationCS6986); if (state.failed) return current;
                     	            if ( state.backtracking==0 ) {
 
-                    	                      newLeafNode(lv_qualifiers_20_0, grammarAccess.getOperationCSAccess().getQualifiersDerivedKeyword_9_1_0_1_0());
+                    	                  	newLeafNode(otherlv_23, grammarAccess.getOperationCSAccess().getOrderedKeyword_9_1_0_1());
                     	                  
                     	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getOperationCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_20_0, "!derived");
-                    	              	    
-                    	            }
-
-                    	            }
-
-
-                    	            }
-
-
-                    	            }
-                    	            break;
-                    	        case 3 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2886:6: ( (lv_qualifiers_21_0= 'ordered' ) )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2886:6: ( (lv_qualifiers_21_0= 'ordered' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2887:1: (lv_qualifiers_21_0= 'ordered' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2887:1: (lv_qualifiers_21_0= 'ordered' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2888:3: lv_qualifiers_21_0= 'ordered'
-                    	            {
-                    	            lv_qualifiers_21_0=(Token)match(input,38,FollowSets000.FOLLOW_38_in_ruleOperationCS6301); if (state.failed) return current;
-                    	            if ( state.backtracking==0 ) {
-
-                    	                      newLeafNode(lv_qualifiers_21_0, grammarAccess.getOperationCSAccess().getQualifiersOrderedKeyword_9_1_0_2_0());
-                    	                  
-                    	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getOperationCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_21_0, "ordered");
-                    	              	    
-                    	            }
-
-                    	            }
-
-
-                    	            }
-
-
-                    	            }
-                    	            break;
-                    	        case 4 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2902:6: ( (lv_qualifiers_22_0= '!ordered' ) )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2902:6: ( (lv_qualifiers_22_0= '!ordered' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2903:1: (lv_qualifiers_22_0= '!ordered' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2903:1: (lv_qualifiers_22_0= '!ordered' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2904:3: lv_qualifiers_22_0= '!ordered'
-                    	            {
-                    	            lv_qualifiers_22_0=(Token)match(input,66,FollowSets000.FOLLOW_66_in_ruleOperationCS6338); if (state.failed) return current;
-                    	            if ( state.backtracking==0 ) {
-
-                    	                      newLeafNode(lv_qualifiers_22_0, grammarAccess.getOperationCSAccess().getQualifiersOrderedKeyword_9_1_0_3_0());
-                    	                  
-                    	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getOperationCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_22_0, "!ordered");
-                    	              	    
-                    	            }
-
-                    	            }
-
-
-                    	            }
-
-
-                    	            }
-                    	            break;
-                    	        case 5 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2918:6: ( (lv_qualifiers_23_0= 'unique' ) )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2918:6: ( (lv_qualifiers_23_0= 'unique' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2919:1: (lv_qualifiers_23_0= 'unique' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2919:1: (lv_qualifiers_23_0= 'unique' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2920:3: lv_qualifiers_23_0= 'unique'
-                    	            {
-                    	            lv_qualifiers_23_0=(Token)match(input,51,FollowSets000.FOLLOW_51_in_ruleOperationCS6375); if (state.failed) return current;
-                    	            if ( state.backtracking==0 ) {
-
-                    	                      newLeafNode(lv_qualifiers_23_0, grammarAccess.getOperationCSAccess().getQualifiersUniqueKeyword_9_1_0_4_0());
-                    	                  
-                    	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getOperationCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_23_0, "unique");
-                    	              	    
-                    	            }
-
-                    	            }
-
-
-                    	            }
-
-
-                    	            }
-                    	            break;
-                    	        case 6 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2934:6: ( (lv_qualifiers_24_0= '!unique' ) )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2934:6: ( (lv_qualifiers_24_0= '!unique' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2935:1: (lv_qualifiers_24_0= '!unique' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2935:1: (lv_qualifiers_24_0= '!unique' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2936:3: lv_qualifiers_24_0= '!unique'
-                    	            {
-                    	            lv_qualifiers_24_0=(Token)match(input,69,FollowSets000.FOLLOW_69_in_ruleOperationCS6412); if (state.failed) return current;
-                    	            if ( state.backtracking==0 ) {
-
-                    	                      newLeafNode(lv_qualifiers_24_0, grammarAccess.getOperationCSAccess().getQualifiersUniqueKeyword_9_1_0_5_0());
-                    	                  
-                    	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getOperationCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_24_0, "!unique");
-                    	              	    
-                    	            }
-
-                    	            }
-
-
-                    	            }
-
 
                     	            }
                     	            break;
 
                     	    }
 
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2949:3: (otherlv_25= ',' )?
-                    	    int alt78=2;
-                    	    int LA78_0 = input.LA(1);
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3018:2: (otherlv_24= ',' )?
+                    	    int alt93=2;
+                    	    int LA93_0 = input.LA(1);
 
-                    	    if ( (LA78_0==60) ) {
-                    	        alt78=1;
+                    	    if ( (LA93_0==60) ) {
+                    	        alt93=1;
                     	    }
-                    	    switch (alt78) {
+                    	    switch (alt93) {
                     	        case 1 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2949:5: otherlv_25= ','
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3018:4: otherlv_24= ','
                     	            {
-                    	            otherlv_25=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleOperationCS6439); if (state.failed) return current;
+                    	            otherlv_24=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleOperationCS7000); if (state.failed) return current;
                     	            if ( state.backtracking==0 ) {
 
-                    	                  	newLeafNode(otherlv_25, grammarAccess.getOperationCSAccess().getCommaKeyword_9_1_1());
+                    	                  	newLeafNode(otherlv_24, grammarAccess.getOperationCSAccess().getCommaKeyword_9_1_1());
                     	                  
                     	            }
 
@@ -8603,107 +9083,276 @@
 
 
                     	    }
+
+
+                    	    }
+
+                    	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getOperationCSAccess().getUnorderedGroup_9());
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+                    	    break;
+                    	case 3 :
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3029:4: ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' ) ) ) )
+                    	    {
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3029:4: ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' ) ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3030:5: {...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' ) ) )
+                    	    {
+                    	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 2) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleOperationCS", "getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 2)");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3030:108: ( ({...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3031:6: ({...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' ) )
+                    	    {
+                    	    getUnorderedGroupHelper().select(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 2);
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3034:6: ({...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3034:7: {...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' )
+                    	    {
+                    	    if ( !((true)) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleOperationCS", "true");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3034:16: ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3034:17: ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}'
+                    	    {
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3034:17: ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )?
+                    	    int alt96=2;
+                    	    int LA96_0 = input.LA(1);
+
+                    	    if ( (LA96_0==51||LA96_0==69) ) {
+                    	        alt96=1;
+                    	    }
+                    	    switch (alt96) {
+                    	        case 1 :
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3034:18: ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )?
+                    	            {
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3034:18: ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' )
+                    	            int alt94=2;
+                    	            int LA94_0 = input.LA(1);
+
+                    	            if ( (LA94_0==69) ) {
+                    	                alt94=1;
+                    	            }
+                    	            else if ( (LA94_0==51) ) {
+                    	                alt94=2;
+                    	            }
+                    	            else {
+                    	                if (state.backtracking>0) {state.failed=true; return current;}
+                    	                NoViableAltException nvae =
+                    	                    new NoViableAltException("", 94, 0, input);
+
+                    	                throw nvae;
+                    	            }
+                    	            switch (alt94) {
+                    	                case 1 :
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3034:19: ( (lv_isNotUnique_25_0= '!unique' ) )
+                    	                    {
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3034:19: ( (lv_isNotUnique_25_0= '!unique' ) )
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3035:1: (lv_isNotUnique_25_0= '!unique' )
+                    	                    {
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3035:1: (lv_isNotUnique_25_0= '!unique' )
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3036:3: lv_isNotUnique_25_0= '!unique'
+                    	                    {
+                    	                    lv_isNotUnique_25_0=(Token)match(input,69,FollowSets000.FOLLOW_69_in_ruleOperationCS7078); if (state.failed) return current;
+                    	                    if ( state.backtracking==0 ) {
+
+                    	                              newLeafNode(lv_isNotUnique_25_0, grammarAccess.getOperationCSAccess().getIsNotUniqueUniqueKeyword_9_2_0_0_0_0());
+                    	                          
+                    	                    }
+                    	                    if ( state.backtracking==0 ) {
+
+                    	                      	        if (current==null) {
+                    	                      	            current = createModelElement(grammarAccess.getOperationCSRule());
+                    	                      	        }
+                    	                             		setWithLastConsumed(current, "isNotUnique", true, "!unique");
+                    	                      	    
+                    	                    }
+
+                    	                    }
+
+
+                    	                    }
+
+
+                    	                    }
+                    	                    break;
+                    	                case 2 :
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3050:7: otherlv_26= 'unique'
+                    	                    {
+                    	                    otherlv_26=(Token)match(input,51,FollowSets000.FOLLOW_51_in_ruleOperationCS7109); if (state.failed) return current;
+                    	                    if ( state.backtracking==0 ) {
+
+                    	                          	newLeafNode(otherlv_26, grammarAccess.getOperationCSAccess().getUniqueKeyword_9_2_0_0_1());
+                    	                          
+                    	                    }
+
+                    	                    }
+                    	                    break;
+
+                    	            }
+
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3054:2: (otherlv_27= ',' )?
+                    	            int alt95=2;
+                    	            int LA95_0 = input.LA(1);
+
+                    	            if ( (LA95_0==60) ) {
+                    	                alt95=1;
+                    	            }
+                    	            switch (alt95) {
+                    	                case 1 :
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3054:4: otherlv_27= ','
+                    	                    {
+                    	                    otherlv_27=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleOperationCS7123); if (state.failed) return current;
+                    	                    if ( state.backtracking==0 ) {
+
+                    	                          	newLeafNode(otherlv_27, grammarAccess.getOperationCSAccess().getCommaKeyword_9_2_0_1());
+                    	                          
+                    	                    }
+
+                    	                    }
+                    	                    break;
+
+                    	            }
+
+
+                    	            }
+                    	            break;
+
+                    	    }
+
+                    	    otherlv_28=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleOperationCS7139); if (state.failed) return current;
+                    	    if ( state.backtracking==0 ) {
+
+                    	          	newLeafNode(otherlv_28, grammarAccess.getOperationCSAccess().getRightCurlyBracketKeyword_9_2_1());
+                    	          
+                    	    }
+
+                    	    }
+
+
+                    	    }
+
+                    	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getOperationCSAccess().getUnorderedGroup_9());
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
                     	    break;
 
                     	default :
-                    	    if ( cnt79 >= 1 ) break loop79;
+                    	    if ( cnt97 >= 1 ) break loop97;
                     	    if (state.backtracking>0) {state.failed=true; return current;}
                                 EarlyExitException eee =
-                                    new EarlyExitException(79, input);
+                                    new EarlyExitException(97, input);
                                 throw eee;
                         }
-                        cnt79++;
+                        cnt97++;
                     } while (true);
 
-                    otherlv_26=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleOperationCS6455); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                          	newLeafNode(otherlv_26, grammarAccess.getOperationCSAccess().getRightCurlyBracketKeyword_9_2());
-                          
+                    if ( ! getUnorderedGroupHelper().canLeave(grammarAccess.getOperationCSAccess().getUnorderedGroup_9()) ) {
+                        if (state.backtracking>0) {state.failed=true; return current;}
+                        throw new FailedPredicateException(input, "ruleOperationCS", "getUnorderedGroupHelper().canLeave(grammarAccess.getOperationCSAccess().getUnorderedGroup_9())");
                     }
 
                     }
+
+
+                    }
+
+                    getUnorderedGroupHelper().leave(grammarAccess.getOperationCSAccess().getUnorderedGroup_9());
+
+                    }
                     break;
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2957:3: ( (otherlv_27= '{' ( ( (lv_ownedAnnotations_28_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_29_0= rulePreconditionConstraintCS ) ) | (otherlv_30= 'body' ( ruleUnrestrictedName )? otherlv_32= ':' ( (lv_ownedBodyExpressions_33_0= ruleSpecificationCS ) )? otherlv_34= ';' ) | ( (lv_ownedPostconditions_35_0= rulePostconditionConstraintCS ) ) )* otherlv_36= '}' ) | otherlv_37= ';' )
-            int alt84=2;
-            int LA84_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3077:3: ( (otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_31_0= rulePreconditionConstraintCS ) ) | (otherlv_32= 'body' ( ruleUnrestrictedName )? otherlv_34= ':' ( (lv_ownedBodyExpressions_35_0= ruleSpecificationCS ) )? otherlv_36= ';' ) | ( (lv_ownedPostconditions_37_0= rulePostconditionConstraintCS ) ) )* otherlv_38= '}' ) | otherlv_39= ';' )
+            int alt102=2;
+            int LA102_0 = input.LA(1);
 
-            if ( (LA84_0==61) ) {
-                alt84=1;
+            if ( (LA102_0==61) ) {
+                alt102=1;
             }
-            else if ( (LA84_0==58) ) {
-                alt84=2;
+            else if ( (LA102_0==58) ) {
+                alt102=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 84, 0, input);
+                    new NoViableAltException("", 102, 0, input);
 
                 throw nvae;
             }
-            switch (alt84) {
+            switch (alt102) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2957:4: (otherlv_27= '{' ( ( (lv_ownedAnnotations_28_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_29_0= rulePreconditionConstraintCS ) ) | (otherlv_30= 'body' ( ruleUnrestrictedName )? otherlv_32= ':' ( (lv_ownedBodyExpressions_33_0= ruleSpecificationCS ) )? otherlv_34= ';' ) | ( (lv_ownedPostconditions_35_0= rulePostconditionConstraintCS ) ) )* otherlv_36= '}' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3077:4: (otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_31_0= rulePreconditionConstraintCS ) ) | (otherlv_32= 'body' ( ruleUnrestrictedName )? otherlv_34= ':' ( (lv_ownedBodyExpressions_35_0= ruleSpecificationCS ) )? otherlv_36= ';' ) | ( (lv_ownedPostconditions_37_0= rulePostconditionConstraintCS ) ) )* otherlv_38= '}' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2957:4: (otherlv_27= '{' ( ( (lv_ownedAnnotations_28_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_29_0= rulePreconditionConstraintCS ) ) | (otherlv_30= 'body' ( ruleUnrestrictedName )? otherlv_32= ':' ( (lv_ownedBodyExpressions_33_0= ruleSpecificationCS ) )? otherlv_34= ';' ) | ( (lv_ownedPostconditions_35_0= rulePostconditionConstraintCS ) ) )* otherlv_36= '}' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2957:6: otherlv_27= '{' ( ( (lv_ownedAnnotations_28_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_29_0= rulePreconditionConstraintCS ) ) | (otherlv_30= 'body' ( ruleUnrestrictedName )? otherlv_32= ':' ( (lv_ownedBodyExpressions_33_0= ruleSpecificationCS ) )? otherlv_34= ';' ) | ( (lv_ownedPostconditions_35_0= rulePostconditionConstraintCS ) ) )* otherlv_36= '}'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3077:4: (otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_31_0= rulePreconditionConstraintCS ) ) | (otherlv_32= 'body' ( ruleUnrestrictedName )? otherlv_34= ':' ( (lv_ownedBodyExpressions_35_0= ruleSpecificationCS ) )? otherlv_36= ';' ) | ( (lv_ownedPostconditions_37_0= rulePostconditionConstraintCS ) ) )* otherlv_38= '}' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3077:6: otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_31_0= rulePreconditionConstraintCS ) ) | (otherlv_32= 'body' ( ruleUnrestrictedName )? otherlv_34= ':' ( (lv_ownedBodyExpressions_35_0= ruleSpecificationCS ) )? otherlv_36= ';' ) | ( (lv_ownedPostconditions_37_0= rulePostconditionConstraintCS ) ) )* otherlv_38= '}'
                     {
-                    otherlv_27=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleOperationCS6471); if (state.failed) return current;
+                    otherlv_29=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleOperationCS7201); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
-                          	newLeafNode(otherlv_27, grammarAccess.getOperationCSAccess().getLeftCurlyBracketKeyword_10_0_0());
+                          	newLeafNode(otherlv_29, grammarAccess.getOperationCSAccess().getLeftCurlyBracketKeyword_10_0_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2961:1: ( ( (lv_ownedAnnotations_28_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_29_0= rulePreconditionConstraintCS ) ) | (otherlv_30= 'body' ( ruleUnrestrictedName )? otherlv_32= ':' ( (lv_ownedBodyExpressions_33_0= ruleSpecificationCS ) )? otherlv_34= ';' ) | ( (lv_ownedPostconditions_35_0= rulePostconditionConstraintCS ) ) )*
-                    loop83:
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3081:1: ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_31_0= rulePreconditionConstraintCS ) ) | (otherlv_32= 'body' ( ruleUnrestrictedName )? otherlv_34= ':' ( (lv_ownedBodyExpressions_35_0= ruleSpecificationCS ) )? otherlv_36= ';' ) | ( (lv_ownedPostconditions_37_0= rulePostconditionConstraintCS ) ) )*
+                    loop101:
                     do {
-                        int alt83=5;
+                        int alt101=5;
                         switch ( input.LA(1) ) {
                         case 59:
                         case 74:
                         case 80:
                             {
-                            alt83=1;
+                            alt101=1;
                             }
                             break;
                         case 41:
                             {
-                            alt83=2;
+                            alt101=2;
                             }
                             break;
                         case 21:
                             {
-                            alt83=3;
+                            alt101=3;
                             }
                             break;
                         case 40:
                             {
-                            alt83=4;
+                            alt101=4;
                             }
                             break;
 
                         }
 
-                        switch (alt83) {
+                        switch (alt101) {
                     	case 1 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2961:2: ( (lv_ownedAnnotations_28_0= ruleAnnotationElementCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3081:2: ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2961:2: ( (lv_ownedAnnotations_28_0= ruleAnnotationElementCS ) )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2962:1: (lv_ownedAnnotations_28_0= ruleAnnotationElementCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3081:2: ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3082:1: (lv_ownedAnnotations_30_0= ruleAnnotationElementCS )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2962:1: (lv_ownedAnnotations_28_0= ruleAnnotationElementCS )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2963:3: lv_ownedAnnotations_28_0= ruleAnnotationElementCS
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3082:1: (lv_ownedAnnotations_30_0= ruleAnnotationElementCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3083:3: lv_ownedAnnotations_30_0= ruleAnnotationElementCS
                     	    {
                     	    if ( state.backtracking==0 ) {
                     	       
                     	      	        newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_10_0_1_0_0()); 
                     	      	    
                     	    }
-                    	    pushFollow(FollowSets000.FOLLOW_ruleAnnotationElementCS_in_ruleOperationCS6493);
-                    	    lv_ownedAnnotations_28_0=ruleAnnotationElementCS();
+                    	    pushFollow(FollowSets000.FOLLOW_ruleAnnotationElementCS_in_ruleOperationCS7223);
+                    	    lv_ownedAnnotations_30_0=ruleAnnotationElementCS();
 
                     	    state._fsp--;
                     	    if (state.failed) return current;
@@ -8715,7 +9364,7 @@
                     	             		add(
                     	             			current, 
                     	             			"ownedAnnotations",
-                    	              		lv_ownedAnnotations_28_0, 
+                    	              		lv_ownedAnnotations_30_0, 
                     	              		"AnnotationElementCS");
                     	      	        afterParserOrEnumRuleCall();
                     	      	    
@@ -8730,21 +9379,21 @@
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2980:6: ( (lv_ownedPreconditions_29_0= rulePreconditionConstraintCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3100:6: ( (lv_ownedPreconditions_31_0= rulePreconditionConstraintCS ) )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2980:6: ( (lv_ownedPreconditions_29_0= rulePreconditionConstraintCS ) )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2981:1: (lv_ownedPreconditions_29_0= rulePreconditionConstraintCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3100:6: ( (lv_ownedPreconditions_31_0= rulePreconditionConstraintCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3101:1: (lv_ownedPreconditions_31_0= rulePreconditionConstraintCS )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2981:1: (lv_ownedPreconditions_29_0= rulePreconditionConstraintCS )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2982:3: lv_ownedPreconditions_29_0= rulePreconditionConstraintCS
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3101:1: (lv_ownedPreconditions_31_0= rulePreconditionConstraintCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3102:3: lv_ownedPreconditions_31_0= rulePreconditionConstraintCS
                     	    {
                     	    if ( state.backtracking==0 ) {
                     	       
                     	      	        newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedPreconditionsPreconditionConstraintCSParserRuleCall_10_0_1_1_0()); 
                     	      	    
                     	    }
-                    	    pushFollow(FollowSets000.FOLLOW_rulePreconditionConstraintCS_in_ruleOperationCS6520);
-                    	    lv_ownedPreconditions_29_0=rulePreconditionConstraintCS();
+                    	    pushFollow(FollowSets000.FOLLOW_rulePreconditionConstraintCS_in_ruleOperationCS7250);
+                    	    lv_ownedPreconditions_31_0=rulePreconditionConstraintCS();
 
                     	    state._fsp--;
                     	    if (state.failed) return current;
@@ -8756,7 +9405,7 @@
                     	             		add(
                     	             			current, 
                     	             			"ownedPreconditions",
-                    	              		lv_ownedPreconditions_29_0, 
+                    	              		lv_ownedPreconditions_31_0, 
                     	              		"PreconditionConstraintCS");
                     	      	        afterParserOrEnumRuleCall();
                     	      	    
@@ -8771,27 +9420,27 @@
                     	    }
                     	    break;
                     	case 3 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2999:6: (otherlv_30= 'body' ( ruleUnrestrictedName )? otherlv_32= ':' ( (lv_ownedBodyExpressions_33_0= ruleSpecificationCS ) )? otherlv_34= ';' )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3119:6: (otherlv_32= 'body' ( ruleUnrestrictedName )? otherlv_34= ':' ( (lv_ownedBodyExpressions_35_0= ruleSpecificationCS ) )? otherlv_36= ';' )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2999:6: (otherlv_30= 'body' ( ruleUnrestrictedName )? otherlv_32= ':' ( (lv_ownedBodyExpressions_33_0= ruleSpecificationCS ) )? otherlv_34= ';' )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2999:8: otherlv_30= 'body' ( ruleUnrestrictedName )? otherlv_32= ':' ( (lv_ownedBodyExpressions_33_0= ruleSpecificationCS ) )? otherlv_34= ';'
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3119:6: (otherlv_32= 'body' ( ruleUnrestrictedName )? otherlv_34= ':' ( (lv_ownedBodyExpressions_35_0= ruleSpecificationCS ) )? otherlv_36= ';' )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3119:8: otherlv_32= 'body' ( ruleUnrestrictedName )? otherlv_34= ':' ( (lv_ownedBodyExpressions_35_0= ruleSpecificationCS ) )? otherlv_36= ';'
                     	    {
-                    	    otherlv_30=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleOperationCS6539); if (state.failed) return current;
+                    	    otherlv_32=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleOperationCS7269); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
-                    	          	newLeafNode(otherlv_30, grammarAccess.getOperationCSAccess().getBodyKeyword_10_0_1_2_0());
+                    	          	newLeafNode(otherlv_32, grammarAccess.getOperationCSAccess().getBodyKeyword_10_0_1_2_0());
                     	          
                     	    }
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3003:1: ( ruleUnrestrictedName )?
-                    	    int alt81=2;
-                    	    int LA81_0 = input.LA(1);
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3123:1: ( ruleUnrestrictedName )?
+                    	    int alt99=2;
+                    	    int LA99_0 = input.LA(1);
 
-                    	    if ( ((LA81_0>=RULE_SIMPLE_ID && LA81_0<=RULE_ESCAPED_ID)||LA81_0==17||(LA81_0>=19 && LA81_0<=54)||LA81_0==59||LA81_0==72||(LA81_0>=74 && LA81_0<=75)||LA81_0==80) ) {
-                    	        alt81=1;
+                    	    if ( ((LA99_0>=RULE_SIMPLE_ID && LA99_0<=RULE_ESCAPED_ID)||LA99_0==17||(LA99_0>=19 && LA99_0<=54)||LA99_0==59||LA99_0==72||(LA99_0>=74 && LA99_0<=75)||LA99_0==80) ) {
+                    	        alt99=1;
                     	    }
-                    	    switch (alt81) {
+                    	    switch (alt99) {
                     	        case 1 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3004:2: ruleUnrestrictedName
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3124:2: ruleUnrestrictedName
                     	            {
                     	            if ( state.backtracking==0 ) {
                     	               
@@ -8803,7 +9452,7 @@
                     	                      newCompositeNode(grammarAccess.getOperationCSAccess().getUnrestrictedNameParserRuleCall_10_0_1_2_1()); 
                     	                  
                     	            }
-                    	            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleOperationCS6559);
+                    	            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleOperationCS7289);
                     	            ruleUnrestrictedName();
 
                     	            state._fsp--;
@@ -8819,33 +9468,33 @@
 
                     	    }
 
-                    	    otherlv_32=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleOperationCS6572); if (state.failed) return current;
+                    	    otherlv_34=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleOperationCS7302); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
-                    	          	newLeafNode(otherlv_32, grammarAccess.getOperationCSAccess().getColonKeyword_10_0_1_2_2());
+                    	          	newLeafNode(otherlv_34, grammarAccess.getOperationCSAccess().getColonKeyword_10_0_1_2_2());
                     	          
                     	    }
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3018:1: ( (lv_ownedBodyExpressions_33_0= ruleSpecificationCS ) )?
-                    	    int alt82=2;
-                    	    int LA82_0 = input.LA(1);
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3138:1: ( (lv_ownedBodyExpressions_35_0= ruleSpecificationCS ) )?
+                    	    int alt100=2;
+                    	    int LA100_0 = input.LA(1);
 
-                    	    if ( ((LA82_0>=RULE_INT && LA82_0<=RULE_SINGLE_QUOTED_STRING)||(LA82_0>=RULE_UNQUOTED_STRING && LA82_0<=RULE_ESCAPED_ID)||(LA82_0>=17 && LA82_0<=55)||LA82_0==59||LA82_0==72||(LA82_0>=74 && LA82_0<=75)||LA82_0==80||(LA82_0>=83 && LA82_0<=84)||LA82_0==98||(LA82_0>=100 && LA82_0<=112)||(LA82_0>=115 && LA82_0<=119)||LA82_0==126||(LA82_0>=131 && LA82_0<=132)) ) {
-                    	        alt82=1;
+                    	    if ( ((LA100_0>=RULE_INT && LA100_0<=RULE_SINGLE_QUOTED_STRING)||(LA100_0>=RULE_UNQUOTED_STRING && LA100_0<=RULE_ESCAPED_ID)||(LA100_0>=17 && LA100_0<=55)||LA100_0==59||LA100_0==72||(LA100_0>=74 && LA100_0<=75)||LA100_0==80||(LA100_0>=83 && LA100_0<=84)||LA100_0==98||(LA100_0>=100 && LA100_0<=112)||(LA100_0>=115 && LA100_0<=119)||LA100_0==126||(LA100_0>=131 && LA100_0<=132)) ) {
+                    	        alt100=1;
                     	    }
-                    	    switch (alt82) {
+                    	    switch (alt100) {
                     	        case 1 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3019:1: (lv_ownedBodyExpressions_33_0= ruleSpecificationCS )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3139:1: (lv_ownedBodyExpressions_35_0= ruleSpecificationCS )
                     	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3019:1: (lv_ownedBodyExpressions_33_0= ruleSpecificationCS )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3020:3: lv_ownedBodyExpressions_33_0= ruleSpecificationCS
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3139:1: (lv_ownedBodyExpressions_35_0= ruleSpecificationCS )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3140:3: lv_ownedBodyExpressions_35_0= ruleSpecificationCS
                     	            {
                     	            if ( state.backtracking==0 ) {
                     	               
                     	              	        newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedBodyExpressionsSpecificationCSParserRuleCall_10_0_1_2_3_0()); 
                     	              	    
                     	            }
-                    	            pushFollow(FollowSets000.FOLLOW_ruleSpecificationCS_in_ruleOperationCS6593);
-                    	            lv_ownedBodyExpressions_33_0=ruleSpecificationCS();
+                    	            pushFollow(FollowSets000.FOLLOW_ruleSpecificationCS_in_ruleOperationCS7323);
+                    	            lv_ownedBodyExpressions_35_0=ruleSpecificationCS();
 
                     	            state._fsp--;
                     	            if (state.failed) return current;
@@ -8857,7 +9506,7 @@
                     	                     		add(
                     	                     			current, 
                     	                     			"ownedBodyExpressions",
-                    	                      		lv_ownedBodyExpressions_33_0, 
+                    	                      		lv_ownedBodyExpressions_35_0, 
                     	                      		"SpecificationCS");
                     	              	        afterParserOrEnumRuleCall();
                     	              	    
@@ -8871,10 +9520,10 @@
 
                     	    }
 
-                    	    otherlv_34=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleOperationCS6606); if (state.failed) return current;
+                    	    otherlv_36=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleOperationCS7336); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
-                    	          	newLeafNode(otherlv_34, grammarAccess.getOperationCSAccess().getSemicolonKeyword_10_0_1_2_4());
+                    	          	newLeafNode(otherlv_36, grammarAccess.getOperationCSAccess().getSemicolonKeyword_10_0_1_2_4());
                     	          
                     	    }
 
@@ -8884,21 +9533,21 @@
                     	    }
                     	    break;
                     	case 4 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3041:6: ( (lv_ownedPostconditions_35_0= rulePostconditionConstraintCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3161:6: ( (lv_ownedPostconditions_37_0= rulePostconditionConstraintCS ) )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3041:6: ( (lv_ownedPostconditions_35_0= rulePostconditionConstraintCS ) )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3042:1: (lv_ownedPostconditions_35_0= rulePostconditionConstraintCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3161:6: ( (lv_ownedPostconditions_37_0= rulePostconditionConstraintCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3162:1: (lv_ownedPostconditions_37_0= rulePostconditionConstraintCS )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3042:1: (lv_ownedPostconditions_35_0= rulePostconditionConstraintCS )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3043:3: lv_ownedPostconditions_35_0= rulePostconditionConstraintCS
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3162:1: (lv_ownedPostconditions_37_0= rulePostconditionConstraintCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3163:3: lv_ownedPostconditions_37_0= rulePostconditionConstraintCS
                     	    {
                     	    if ( state.backtracking==0 ) {
                     	       
                     	      	        newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedPostconditionsPostconditionConstraintCSParserRuleCall_10_0_1_3_0()); 
                     	      	    
                     	    }
-                    	    pushFollow(FollowSets000.FOLLOW_rulePostconditionConstraintCS_in_ruleOperationCS6634);
-                    	    lv_ownedPostconditions_35_0=rulePostconditionConstraintCS();
+                    	    pushFollow(FollowSets000.FOLLOW_rulePostconditionConstraintCS_in_ruleOperationCS7364);
+                    	    lv_ownedPostconditions_37_0=rulePostconditionConstraintCS();
 
                     	    state._fsp--;
                     	    if (state.failed) return current;
@@ -8910,7 +9559,7 @@
                     	             		add(
                     	             			current, 
                     	             			"ownedPostconditions",
-                    	              		lv_ownedPostconditions_35_0, 
+                    	              		lv_ownedPostconditions_37_0, 
                     	              		"PostconditionConstraintCS");
                     	      	        afterParserOrEnumRuleCall();
                     	      	    
@@ -8926,14 +9575,14 @@
                     	    break;
 
                     	default :
-                    	    break loop83;
+                    	    break loop101;
                         }
                     } while (true);
 
-                    otherlv_36=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleOperationCS6648); if (state.failed) return current;
+                    otherlv_38=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleOperationCS7378); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
-                          	newLeafNode(otherlv_36, grammarAccess.getOperationCSAccess().getRightCurlyBracketKeyword_10_0_2());
+                          	newLeafNode(otherlv_38, grammarAccess.getOperationCSAccess().getRightCurlyBracketKeyword_10_0_2());
                           
                     }
 
@@ -8943,12 +9592,12 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3064:7: otherlv_37= ';'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3184:7: otherlv_39= ';'
                     {
-                    otherlv_37=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleOperationCS6667); if (state.failed) return current;
+                    otherlv_39=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleOperationCS7397); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
-                          	newLeafNode(otherlv_37, grammarAccess.getOperationCSAccess().getSemicolonKeyword_10_1());
+                          	newLeafNode(otherlv_39, grammarAccess.getOperationCSAccess().getSemicolonKeyword_10_1());
                           
                     }
 
@@ -8973,6 +9622,9 @@
                 appendSkippedTokens();
             } 
         finally {
+
+            	myUnorderedGroupState.restore();
+
         }
         return current;
     }
@@ -8980,7 +9632,7 @@
 
 
     // $ANTLR start "entryRulePackageCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3076:1: entryRulePackageCS returns [EObject current=null] : iv_rulePackageCS= rulePackageCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3199:1: entryRulePackageCS returns [EObject current=null] : iv_rulePackageCS= rulePackageCS EOF ;
     public final EObject entryRulePackageCS() throws RecognitionException {
         EObject current = null;
 
@@ -8988,13 +9640,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3077:2: (iv_rulePackageCS= rulePackageCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3078:2: iv_rulePackageCS= rulePackageCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3200:2: (iv_rulePackageCS= rulePackageCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3201:2: iv_rulePackageCS= rulePackageCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getPackageCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_rulePackageCS_in_entryRulePackageCS6704);
+            pushFollow(FollowSets000.FOLLOW_rulePackageCS_in_entryRulePackageCS7438);
             iv_rulePackageCS=rulePackageCS();
 
             state._fsp--;
@@ -9002,7 +9654,7 @@
             if ( state.backtracking==0 ) {
                current =iv_rulePackageCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePackageCS6714); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePackageCS7448); if (state.failed) return current;
 
             }
 
@@ -9020,7 +9672,7 @@
 
 
     // $ANTLR start "rulePackageCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3085:1: rulePackageCS returns [EObject current=null] : (otherlv_0= 'package' ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= ':' ( (lv_nsPrefix_3_0= ruleUnrestrictedName ) ) )? (otherlv_4= '=' ( (lv_nsURI_5_0= ruleURI ) ) )? ( (otherlv_6= '{' ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )* otherlv_10= '}' ) | otherlv_11= ';' ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3208:1: rulePackageCS returns [EObject current=null] : (otherlv_0= 'package' ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= ':' ( (lv_nsPrefix_3_0= ruleUnrestrictedName ) ) )? (otherlv_4= '=' ( (lv_nsURI_5_0= ruleURI ) ) )? ( (otherlv_6= '{' ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )* otherlv_10= '}' ) | otherlv_11= ';' ) ) ;
     public final EObject rulePackageCS() throws RecognitionException {
         EObject current = null;
 
@@ -9046,30 +9698,30 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3088:28: ( (otherlv_0= 'package' ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= ':' ( (lv_nsPrefix_3_0= ruleUnrestrictedName ) ) )? (otherlv_4= '=' ( (lv_nsURI_5_0= ruleURI ) ) )? ( (otherlv_6= '{' ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )* otherlv_10= '}' ) | otherlv_11= ';' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3089:1: (otherlv_0= 'package' ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= ':' ( (lv_nsPrefix_3_0= ruleUnrestrictedName ) ) )? (otherlv_4= '=' ( (lv_nsURI_5_0= ruleURI ) ) )? ( (otherlv_6= '{' ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )* otherlv_10= '}' ) | otherlv_11= ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3211:28: ( (otherlv_0= 'package' ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= ':' ( (lv_nsPrefix_3_0= ruleUnrestrictedName ) ) )? (otherlv_4= '=' ( (lv_nsURI_5_0= ruleURI ) ) )? ( (otherlv_6= '{' ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )* otherlv_10= '}' ) | otherlv_11= ';' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3212:1: (otherlv_0= 'package' ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= ':' ( (lv_nsPrefix_3_0= ruleUnrestrictedName ) ) )? (otherlv_4= '=' ( (lv_nsURI_5_0= ruleURI ) ) )? ( (otherlv_6= '{' ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )* otherlv_10= '}' ) | otherlv_11= ';' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3089:1: (otherlv_0= 'package' ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= ':' ( (lv_nsPrefix_3_0= ruleUnrestrictedName ) ) )? (otherlv_4= '=' ( (lv_nsURI_5_0= ruleURI ) ) )? ( (otherlv_6= '{' ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )* otherlv_10= '}' ) | otherlv_11= ';' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3089:3: otherlv_0= 'package' ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= ':' ( (lv_nsPrefix_3_0= ruleUnrestrictedName ) ) )? (otherlv_4= '=' ( (lv_nsURI_5_0= ruleURI ) ) )? ( (otherlv_6= '{' ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )* otherlv_10= '}' ) | otherlv_11= ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3212:1: (otherlv_0= 'package' ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= ':' ( (lv_nsPrefix_3_0= ruleUnrestrictedName ) ) )? (otherlv_4= '=' ( (lv_nsURI_5_0= ruleURI ) ) )? ( (otherlv_6= '{' ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )* otherlv_10= '}' ) | otherlv_11= ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3212:3: otherlv_0= 'package' ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= ':' ( (lv_nsPrefix_3_0= ruleUnrestrictedName ) ) )? (otherlv_4= '=' ( (lv_nsURI_5_0= ruleURI ) ) )? ( (otherlv_6= '{' ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )* otherlv_10= '}' ) | otherlv_11= ';' )
             {
-            otherlv_0=(Token)match(input,39,FollowSets000.FOLLOW_39_in_rulePackageCS6751); if (state.failed) return current;
+            otherlv_0=(Token)match(input,39,FollowSets000.FOLLOW_39_in_rulePackageCS7485); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_0, grammarAccess.getPackageCSAccess().getPackageKeyword_0());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3093:1: ( (lv_name_1_0= ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3094:1: (lv_name_1_0= ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3216:1: ( (lv_name_1_0= ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3217:1: (lv_name_1_0= ruleUnrestrictedName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3094:1: (lv_name_1_0= ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3095:3: lv_name_1_0= ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3217:1: (lv_name_1_0= ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3218:3: lv_name_1_0= ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getPackageCSAccess().getNameUnrestrictedNameParserRuleCall_1_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_rulePackageCS6772);
+            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_rulePackageCS7506);
             lv_name_1_0=ruleUnrestrictedName();
 
             state._fsp--;
@@ -9093,35 +9745,35 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3111:2: (otherlv_2= ':' ( (lv_nsPrefix_3_0= ruleUnrestrictedName ) ) )?
-            int alt85=2;
-            int LA85_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3234:2: (otherlv_2= ':' ( (lv_nsPrefix_3_0= ruleUnrestrictedName ) ) )?
+            int alt103=2;
+            int LA103_0 = input.LA(1);
 
-            if ( (LA85_0==57) ) {
-                alt85=1;
+            if ( (LA103_0==57) ) {
+                alt103=1;
             }
-            switch (alt85) {
+            switch (alt103) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3111:4: otherlv_2= ':' ( (lv_nsPrefix_3_0= ruleUnrestrictedName ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3234:4: otherlv_2= ':' ( (lv_nsPrefix_3_0= ruleUnrestrictedName ) )
                     {
-                    otherlv_2=(Token)match(input,57,FollowSets000.FOLLOW_57_in_rulePackageCS6785); if (state.failed) return current;
+                    otherlv_2=(Token)match(input,57,FollowSets000.FOLLOW_57_in_rulePackageCS7519); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_2, grammarAccess.getPackageCSAccess().getColonKeyword_2_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3115:1: ( (lv_nsPrefix_3_0= ruleUnrestrictedName ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3116:1: (lv_nsPrefix_3_0= ruleUnrestrictedName )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3238:1: ( (lv_nsPrefix_3_0= ruleUnrestrictedName ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3239:1: (lv_nsPrefix_3_0= ruleUnrestrictedName )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3116:1: (lv_nsPrefix_3_0= ruleUnrestrictedName )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3117:3: lv_nsPrefix_3_0= ruleUnrestrictedName
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3239:1: (lv_nsPrefix_3_0= ruleUnrestrictedName )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3240:3: lv_nsPrefix_3_0= ruleUnrestrictedName
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getPackageCSAccess().getNsPrefixUnrestrictedNameParserRuleCall_2_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_rulePackageCS6806);
+                    pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_rulePackageCS7540);
                     lv_nsPrefix_3_0=ruleUnrestrictedName();
 
                     state._fsp--;
@@ -9151,35 +9803,35 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3133:4: (otherlv_4= '=' ( (lv_nsURI_5_0= ruleURI ) ) )?
-            int alt86=2;
-            int LA86_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3256:4: (otherlv_4= '=' ( (lv_nsURI_5_0= ruleURI ) ) )?
+            int alt104=2;
+            int LA104_0 = input.LA(1);
 
-            if ( (LA86_0==63) ) {
-                alt86=1;
+            if ( (LA104_0==63) ) {
+                alt104=1;
             }
-            switch (alt86) {
+            switch (alt104) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3133:6: otherlv_4= '=' ( (lv_nsURI_5_0= ruleURI ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3256:6: otherlv_4= '=' ( (lv_nsURI_5_0= ruleURI ) )
                     {
-                    otherlv_4=(Token)match(input,63,FollowSets000.FOLLOW_63_in_rulePackageCS6821); if (state.failed) return current;
+                    otherlv_4=(Token)match(input,63,FollowSets000.FOLLOW_63_in_rulePackageCS7555); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_4, grammarAccess.getPackageCSAccess().getEqualsSignKeyword_3_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3137:1: ( (lv_nsURI_5_0= ruleURI ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3138:1: (lv_nsURI_5_0= ruleURI )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3260:1: ( (lv_nsURI_5_0= ruleURI ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3261:1: (lv_nsURI_5_0= ruleURI )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3138:1: (lv_nsURI_5_0= ruleURI )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3139:3: lv_nsURI_5_0= ruleURI
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3261:1: (lv_nsURI_5_0= ruleURI )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3262:3: lv_nsURI_5_0= ruleURI
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getPackageCSAccess().getNsURIURIParserRuleCall_3_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleURI_in_rulePackageCS6842);
+                    pushFollow(FollowSets000.FOLLOW_ruleURI_in_rulePackageCS7576);
                     lv_nsURI_5_0=ruleURI();
 
                     state._fsp--;
@@ -9209,51 +9861,51 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3155:4: ( (otherlv_6= '{' ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )* otherlv_10= '}' ) | otherlv_11= ';' )
-            int alt88=2;
-            int LA88_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3278:4: ( (otherlv_6= '{' ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )* otherlv_10= '}' ) | otherlv_11= ';' )
+            int alt106=2;
+            int LA106_0 = input.LA(1);
 
-            if ( (LA88_0==61) ) {
-                alt88=1;
+            if ( (LA106_0==61) ) {
+                alt106=1;
             }
-            else if ( (LA88_0==58) ) {
-                alt88=2;
+            else if ( (LA106_0==58) ) {
+                alt106=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 88, 0, input);
+                    new NoViableAltException("", 106, 0, input);
 
                 throw nvae;
             }
-            switch (alt88) {
+            switch (alt106) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3155:5: (otherlv_6= '{' ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )* otherlv_10= '}' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3278:5: (otherlv_6= '{' ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )* otherlv_10= '}' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3155:5: (otherlv_6= '{' ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )* otherlv_10= '}' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3155:7: otherlv_6= '{' ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )* otherlv_10= '}'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3278:5: (otherlv_6= '{' ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )* otherlv_10= '}' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3278:7: otherlv_6= '{' ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )* otherlv_10= '}'
                     {
-                    otherlv_6=(Token)match(input,61,FollowSets000.FOLLOW_61_in_rulePackageCS6858); if (state.failed) return current;
+                    otherlv_6=(Token)match(input,61,FollowSets000.FOLLOW_61_in_rulePackageCS7592); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_6, grammarAccess.getPackageCSAccess().getLeftCurlyBracketKeyword_4_0_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3159:1: ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )*
-                    loop87:
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3282:1: ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )*
+                    loop105:
                     do {
-                        int alt87=4;
+                        int alt105=4;
                         switch ( input.LA(1) ) {
                         case 59:
                         case 74:
                         case 80:
                             {
-                            alt87=1;
+                            alt105=1;
                             }
                             break;
                         case 39:
                             {
-                            alt87=2;
+                            alt105=2;
                             }
                             break;
                         case 19:
@@ -9262,28 +9914,28 @@
                         case 29:
                         case 42:
                             {
-                            alt87=3;
+                            alt105=3;
                             }
                             break;
 
                         }
 
-                        switch (alt87) {
+                        switch (alt105) {
                     	case 1 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3159:2: ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3282:2: ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3159:2: ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3160:1: (lv_ownedAnnotations_7_0= ruleAnnotationElementCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3282:2: ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3283:1: (lv_ownedAnnotations_7_0= ruleAnnotationElementCS )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3160:1: (lv_ownedAnnotations_7_0= ruleAnnotationElementCS )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3161:3: lv_ownedAnnotations_7_0= ruleAnnotationElementCS
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3283:1: (lv_ownedAnnotations_7_0= ruleAnnotationElementCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3284:3: lv_ownedAnnotations_7_0= ruleAnnotationElementCS
                     	    {
                     	    if ( state.backtracking==0 ) {
                     	       
                     	      	        newCompositeNode(grammarAccess.getPackageCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_4_0_1_0_0()); 
                     	      	    
                     	    }
-                    	    pushFollow(FollowSets000.FOLLOW_ruleAnnotationElementCS_in_rulePackageCS6880);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleAnnotationElementCS_in_rulePackageCS7614);
                     	    lv_ownedAnnotations_7_0=ruleAnnotationElementCS();
 
                     	    state._fsp--;
@@ -9311,20 +9963,20 @@
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3178:6: ( (lv_ownedPackages_8_0= rulePackageCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3301:6: ( (lv_ownedPackages_8_0= rulePackageCS ) )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3178:6: ( (lv_ownedPackages_8_0= rulePackageCS ) )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3179:1: (lv_ownedPackages_8_0= rulePackageCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3301:6: ( (lv_ownedPackages_8_0= rulePackageCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3302:1: (lv_ownedPackages_8_0= rulePackageCS )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3179:1: (lv_ownedPackages_8_0= rulePackageCS )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3180:3: lv_ownedPackages_8_0= rulePackageCS
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3302:1: (lv_ownedPackages_8_0= rulePackageCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3303:3: lv_ownedPackages_8_0= rulePackageCS
                     	    {
                     	    if ( state.backtracking==0 ) {
                     	       
                     	      	        newCompositeNode(grammarAccess.getPackageCSAccess().getOwnedPackagesPackageCSParserRuleCall_4_0_1_1_0()); 
                     	      	    
                     	    }
-                    	    pushFollow(FollowSets000.FOLLOW_rulePackageCS_in_rulePackageCS6907);
+                    	    pushFollow(FollowSets000.FOLLOW_rulePackageCS_in_rulePackageCS7641);
                     	    lv_ownedPackages_8_0=rulePackageCS();
 
                     	    state._fsp--;
@@ -9352,20 +10004,20 @@
                     	    }
                     	    break;
                     	case 3 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3197:6: ( (lv_ownedClasses_9_0= ruleClassCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3320:6: ( (lv_ownedClasses_9_0= ruleClassCS ) )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3197:6: ( (lv_ownedClasses_9_0= ruleClassCS ) )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3198:1: (lv_ownedClasses_9_0= ruleClassCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3320:6: ( (lv_ownedClasses_9_0= ruleClassCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3321:1: (lv_ownedClasses_9_0= ruleClassCS )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3198:1: (lv_ownedClasses_9_0= ruleClassCS )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3199:3: lv_ownedClasses_9_0= ruleClassCS
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3321:1: (lv_ownedClasses_9_0= ruleClassCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3322:3: lv_ownedClasses_9_0= ruleClassCS
                     	    {
                     	    if ( state.backtracking==0 ) {
                     	       
                     	      	        newCompositeNode(grammarAccess.getPackageCSAccess().getOwnedClassesClassCSParserRuleCall_4_0_1_2_0()); 
                     	      	    
                     	    }
-                    	    pushFollow(FollowSets000.FOLLOW_ruleClassCS_in_rulePackageCS6934);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleClassCS_in_rulePackageCS7668);
                     	    lv_ownedClasses_9_0=ruleClassCS();
 
                     	    state._fsp--;
@@ -9394,11 +10046,11 @@
                     	    break;
 
                     	default :
-                    	    break loop87;
+                    	    break loop105;
                         }
                     } while (true);
 
-                    otherlv_10=(Token)match(input,62,FollowSets000.FOLLOW_62_in_rulePackageCS6948); if (state.failed) return current;
+                    otherlv_10=(Token)match(input,62,FollowSets000.FOLLOW_62_in_rulePackageCS7682); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_10, grammarAccess.getPackageCSAccess().getRightCurlyBracketKeyword_4_0_2());
@@ -9411,9 +10063,9 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3220:7: otherlv_11= ';'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3343:7: otherlv_11= ';'
                     {
-                    otherlv_11=(Token)match(input,58,FollowSets000.FOLLOW_58_in_rulePackageCS6967); if (state.failed) return current;
+                    otherlv_11=(Token)match(input,58,FollowSets000.FOLLOW_58_in_rulePackageCS7701); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_11, grammarAccess.getPackageCSAccess().getSemicolonKeyword_4_1());
@@ -9448,21 +10100,26 @@
 
 
     // $ANTLR start "entryRuleParameterCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3232:1: entryRuleParameterCS returns [EObject current=null] : iv_ruleParameterCS= ruleParameterCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3355:1: entryRuleParameterCS returns [EObject current=null] : iv_ruleParameterCS= ruleParameterCS EOF ;
     public final EObject entryRuleParameterCS() throws RecognitionException {
         EObject current = null;
 
         EObject iv_ruleParameterCS = null;
 
 
+         
+        		UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
+        			grammarAccess.getParameterCSAccess().getUnorderedGroup_2()
+        		);
+        	
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3233:2: (iv_ruleParameterCS= ruleParameterCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3234:2: iv_ruleParameterCS= ruleParameterCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3361:2: (iv_ruleParameterCS= ruleParameterCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3362:2: iv_ruleParameterCS= ruleParameterCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getParameterCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleParameterCS_in_entryRuleParameterCS7004);
+            pushFollow(FollowSets000.FOLLOW_ruleParameterCS_in_entryRuleParameterCS7744);
             iv_ruleParameterCS=ruleParameterCS();
 
             state._fsp--;
@@ -9470,7 +10127,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleParameterCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleParameterCS7014); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleParameterCS7754); if (state.failed) return current;
 
             }
 
@@ -9481,6 +10138,9 @@
                 appendSkippedTokens();
             } 
         finally {
+
+            	myUnorderedGroupState.restore();
+
         }
         return current;
     }
@@ -9488,48 +10148,52 @@
 
 
     // $ANTLR start "ruleParameterCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3241:1: ruleParameterCS returns [EObject current=null] : ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_3= '{' ( ( ( (lv_qualifiers_4_0= 'ordered' ) ) | ( (lv_qualifiers_5_0= '!ordered' ) ) | ( (lv_qualifiers_6_0= 'unique' ) ) | ( (lv_qualifiers_7_0= '!unique' ) ) ) (otherlv_8= ',' )? )+ otherlv_9= '}' )? (otherlv_10= '{' ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) )* otherlv_12= '}' )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3372:1: ruleParameterCS returns [EObject current=null] : ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypedMultiplicityRefCS ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' ) ) ) ) )+ {...}?) ) )? (otherlv_12= '{' ( (lv_ownedAnnotations_13_0= ruleAnnotationElementCS ) )* otherlv_14= '}' )? ) ;
     public final EObject ruleParameterCS() throws RecognitionException {
         EObject current = null;
 
         Token otherlv_1=null;
-        Token otherlv_3=null;
-        Token lv_qualifiers_4_0=null;
-        Token lv_qualifiers_5_0=null;
-        Token lv_qualifiers_6_0=null;
-        Token lv_qualifiers_7_0=null;
-        Token otherlv_8=null;
+        Token otherlv_4=null;
+        Token lv_isOrdered_5_0=null;
+        Token otherlv_6=null;
+        Token otherlv_7=null;
+        Token lv_isNotUnique_8_0=null;
         Token otherlv_9=null;
         Token otherlv_10=null;
+        Token otherlv_11=null;
         Token otherlv_12=null;
+        Token otherlv_14=null;
         AntlrDatatypeRuleToken lv_name_0_0 = null;
 
         EObject lv_ownedType_2_0 = null;
 
-        EObject lv_ownedAnnotations_11_0 = null;
+        EObject lv_ownedAnnotations_13_0 = null;
 
 
          enterRule(); 
+        		UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
+        			grammarAccess.getParameterCSAccess().getUnorderedGroup_2()
+        		);
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3244:28: ( ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_3= '{' ( ( ( (lv_qualifiers_4_0= 'ordered' ) ) | ( (lv_qualifiers_5_0= '!ordered' ) ) | ( (lv_qualifiers_6_0= 'unique' ) ) | ( (lv_qualifiers_7_0= '!unique' ) ) ) (otherlv_8= ',' )? )+ otherlv_9= '}' )? (otherlv_10= '{' ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) )* otherlv_12= '}' )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3245:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_3= '{' ( ( ( (lv_qualifiers_4_0= 'ordered' ) ) | ( (lv_qualifiers_5_0= '!ordered' ) ) | ( (lv_qualifiers_6_0= 'unique' ) ) | ( (lv_qualifiers_7_0= '!unique' ) ) ) (otherlv_8= ',' )? )+ otherlv_9= '}' )? (otherlv_10= '{' ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) )* otherlv_12= '}' )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3378:28: ( ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypedMultiplicityRefCS ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' ) ) ) ) )+ {...}?) ) )? (otherlv_12= '{' ( (lv_ownedAnnotations_13_0= ruleAnnotationElementCS ) )* otherlv_14= '}' )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3379:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypedMultiplicityRefCS ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' ) ) ) ) )+ {...}?) ) )? (otherlv_12= '{' ( (lv_ownedAnnotations_13_0= ruleAnnotationElementCS ) )* otherlv_14= '}' )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3245:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_3= '{' ( ( ( (lv_qualifiers_4_0= 'ordered' ) ) | ( (lv_qualifiers_5_0= '!ordered' ) ) | ( (lv_qualifiers_6_0= 'unique' ) ) | ( (lv_qualifiers_7_0= '!unique' ) ) ) (otherlv_8= ',' )? )+ otherlv_9= '}' )? (otherlv_10= '{' ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) )* otherlv_12= '}' )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3245:2: ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_3= '{' ( ( ( (lv_qualifiers_4_0= 'ordered' ) ) | ( (lv_qualifiers_5_0= '!ordered' ) ) | ( (lv_qualifiers_6_0= 'unique' ) ) | ( (lv_qualifiers_7_0= '!unique' ) ) ) (otherlv_8= ',' )? )+ otherlv_9= '}' )? (otherlv_10= '{' ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) )* otherlv_12= '}' )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3379:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypedMultiplicityRefCS ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' ) ) ) ) )+ {...}?) ) )? (otherlv_12= '{' ( (lv_ownedAnnotations_13_0= ruleAnnotationElementCS ) )* otherlv_14= '}' )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3379:2: ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypedMultiplicityRefCS ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' ) ) ) ) )+ {...}?) ) )? (otherlv_12= '{' ( (lv_ownedAnnotations_13_0= ruleAnnotationElementCS ) )* otherlv_14= '}' )?
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3245:2: ( (lv_name_0_0= ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3246:1: (lv_name_0_0= ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3379:2: ( (lv_name_0_0= ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3380:1: (lv_name_0_0= ruleUnrestrictedName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3246:1: (lv_name_0_0= ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3247:3: lv_name_0_0= ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3380:1: (lv_name_0_0= ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3381:3: lv_name_0_0= ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getParameterCSAccess().getNameUnrestrictedNameParserRuleCall_0_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleParameterCS7060);
+            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleParameterCS7804);
             lv_name_0_0=ruleUnrestrictedName();
 
             state._fsp--;
@@ -9553,35 +10217,35 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3263:2: (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypedMultiplicityRefCS ) ) )?
-            int alt89=2;
-            int LA89_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3397:2: (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypedMultiplicityRefCS ) ) )?
+            int alt107=2;
+            int LA107_0 = input.LA(1);
 
-            if ( (LA89_0==57) ) {
-                alt89=1;
+            if ( (LA107_0==57) ) {
+                alt107=1;
             }
-            switch (alt89) {
+            switch (alt107) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3263:4: otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypedMultiplicityRefCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3397:4: otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypedMultiplicityRefCS ) )
                     {
-                    otherlv_1=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleParameterCS7073); if (state.failed) return current;
+                    otherlv_1=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleParameterCS7817); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_1, grammarAccess.getParameterCSAccess().getColonKeyword_1_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3267:1: ( (lv_ownedType_2_0= ruleTypedMultiplicityRefCS ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3268:1: (lv_ownedType_2_0= ruleTypedMultiplicityRefCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3401:1: ( (lv_ownedType_2_0= ruleTypedMultiplicityRefCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3402:1: (lv_ownedType_2_0= ruleTypedMultiplicityRefCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3268:1: (lv_ownedType_2_0= ruleTypedMultiplicityRefCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3269:3: lv_ownedType_2_0= ruleTypedMultiplicityRefCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3402:1: (lv_ownedType_2_0= ruleTypedMultiplicityRefCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3403:3: lv_ownedType_2_0= ruleTypedMultiplicityRefCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getParameterCSAccess().getOwnedTypeTypedMultiplicityRefCSParserRuleCall_1_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTypedMultiplicityRefCS_in_ruleParameterCS7094);
+                    pushFollow(FollowSets000.FOLLOW_ruleTypedMultiplicityRefCS_in_ruleParameterCS7838);
                     lv_ownedType_2_0=ruleTypedMultiplicityRefCS();
 
                     state._fsp--;
@@ -9611,197 +10275,182 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3285:4: (otherlv_3= '{' ( ( ( (lv_qualifiers_4_0= 'ordered' ) ) | ( (lv_qualifiers_5_0= '!ordered' ) ) | ( (lv_qualifiers_6_0= 'unique' ) ) | ( (lv_qualifiers_7_0= '!unique' ) ) ) (otherlv_8= ',' )? )+ otherlv_9= '}' )?
-            int alt93=2;
-            int LA93_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3419:4: ( ( ( ( ({...}? => ( ({...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' ) ) ) ) )+ {...}?) ) )?
+            int alt115=2;
+            int LA115_0 = input.LA(1);
 
-            if ( (LA93_0==61) ) {
-                int LA93_1 = input.LA(2);
+            if ( (LA115_0==61) ) {
+                int LA115_1 = input.LA(2);
 
-                if ( (LA93_1==38||LA93_1==51||LA93_1==66||LA93_1==69) ) {
-                    alt93=1;
+                if ( (LA115_1==62) ) {
+                    int LA115_4 = input.LA(3);
+
+                    if ( (synpred181_InternalOCLinEcore()) ) {
+                        alt115=1;
+                    }
+                }
+                else if ( (LA115_1==EOF||LA115_1==38||LA115_1==51||LA115_1==56||(LA115_1>=60 && LA115_1<=61)||LA115_1==66||LA115_1==69) ) {
+                    alt115=1;
                 }
             }
-            switch (alt93) {
+            else if ( (LA115_0==51||LA115_0==62||LA115_0==69) ) {
+                alt115=1;
+            }
+            switch (alt115) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3285:6: otherlv_3= '{' ( ( ( (lv_qualifiers_4_0= 'ordered' ) ) | ( (lv_qualifiers_5_0= '!ordered' ) ) | ( (lv_qualifiers_6_0= 'unique' ) ) | ( (lv_qualifiers_7_0= '!unique' ) ) ) (otherlv_8= ',' )? )+ otherlv_9= '}'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3421:1: ( ( ( ({...}? => ( ({...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' ) ) ) ) )+ {...}?) )
                     {
-                    otherlv_3=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleParameterCS7109); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                          	newLeafNode(otherlv_3, grammarAccess.getParameterCSAccess().getLeftCurlyBracketKeyword_2_0());
-                          
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3289:1: ( ( ( (lv_qualifiers_4_0= 'ordered' ) ) | ( (lv_qualifiers_5_0= '!ordered' ) ) | ( (lv_qualifiers_6_0= 'unique' ) ) | ( (lv_qualifiers_7_0= '!unique' ) ) ) (otherlv_8= ',' )? )+
-                    int cnt92=0;
-                    loop92:
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3421:1: ( ( ( ({...}? => ( ({...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' ) ) ) ) )+ {...}?) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3422:2: ( ( ({...}? => ( ({...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' ) ) ) ) )+ {...}?)
+                    {
+                    getUnorderedGroupHelper().enter(grammarAccess.getParameterCSAccess().getUnorderedGroup_2());
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3425:2: ( ( ({...}? => ( ({...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' ) ) ) ) )+ {...}?)
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3426:3: ( ({...}? => ( ({...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' ) ) ) ) )+ {...}?
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3426:3: ( ({...}? => ( ({...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' ) ) ) ) )+
+                    int cnt114=0;
+                    loop114:
                     do {
-                        int alt92=2;
-                        int LA92_0 = input.LA(1);
-
-                        if ( (LA92_0==38||LA92_0==51||LA92_0==66||LA92_0==69) ) {
-                            alt92=1;
-                        }
-
-
-                        switch (alt92) {
+                        int alt114=3;
+                        alt114 = dfa114.predict(input);
+                        switch (alt114) {
                     	case 1 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3289:2: ( ( (lv_qualifiers_4_0= 'ordered' ) ) | ( (lv_qualifiers_5_0= '!ordered' ) ) | ( (lv_qualifiers_6_0= 'unique' ) ) | ( (lv_qualifiers_7_0= '!unique' ) ) ) (otherlv_8= ',' )?
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3428:4: ({...}? => ( ({...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? ) ) ) )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3289:2: ( ( (lv_qualifiers_4_0= 'ordered' ) ) | ( (lv_qualifiers_5_0= '!ordered' ) ) | ( (lv_qualifiers_6_0= 'unique' ) ) | ( (lv_qualifiers_7_0= '!unique' ) ) )
-                    	    int alt90=4;
-                    	    switch ( input.LA(1) ) {
-                    	    case 38:
-                    	        {
-                    	        alt90=1;
-                    	        }
-                    	        break;
-                    	    case 66:
-                    	        {
-                    	        alt90=2;
-                    	        }
-                    	        break;
-                    	    case 51:
-                    	        {
-                    	        alt90=3;
-                    	        }
-                    	        break;
-                    	    case 69:
-                    	        {
-                    	        alt90=4;
-                    	        }
-                    	        break;
-                    	    default:
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3428:4: ({...}? => ( ({...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? ) ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3429:5: {...}? => ( ({...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? ) ) )
+                    	    {
+                    	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0) ) {
                     	        if (state.backtracking>0) {state.failed=true; return current;}
-                    	        NoViableAltException nvae =
-                    	            new NoViableAltException("", 90, 0, input);
-
-                    	        throw nvae;
+                    	        throw new FailedPredicateException(input, "ruleParameterCS", "getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0)");
                     	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3429:108: ( ({...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3430:6: ({...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? ) )
+                    	    {
+                    	    getUnorderedGroupHelper().select(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0);
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3433:6: ({...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3433:7: {...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? )
+                    	    {
+                    	    if ( !((true)) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleParameterCS", "true");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3433:16: (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3433:18: otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )?
+                    	    {
+                    	    otherlv_4=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleParameterCS7898); if (state.failed) return current;
+                    	    if ( state.backtracking==0 ) {
 
-                    	    switch (alt90) {
+                    	          	newLeafNode(otherlv_4, grammarAccess.getParameterCSAccess().getLeftCurlyBracketKeyword_2_0_0());
+                    	          
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3437:1: ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )?
+                    	    int alt110=2;
+                    	    int LA110_0 = input.LA(1);
+
+                    	    if ( (LA110_0==38||LA110_0==66) ) {
+                    	        alt110=1;
+                    	    }
+                    	    switch (alt110) {
                     	        case 1 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3289:3: ( (lv_qualifiers_4_0= 'ordered' ) )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3437:2: ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )?
                     	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3289:3: ( (lv_qualifiers_4_0= 'ordered' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3290:1: (lv_qualifiers_4_0= 'ordered' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3290:1: (lv_qualifiers_4_0= 'ordered' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3291:3: lv_qualifiers_4_0= 'ordered'
-                    	            {
-                    	            lv_qualifiers_4_0=(Token)match(input,38,FollowSets000.FOLLOW_38_in_ruleParameterCS7129); if (state.failed) return current;
-                    	            if ( state.backtracking==0 ) {
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3437:2: ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' )
+                    	            int alt108=2;
+                    	            int LA108_0 = input.LA(1);
 
-                    	                      newLeafNode(lv_qualifiers_4_0, grammarAccess.getParameterCSAccess().getQualifiersOrderedKeyword_2_1_0_0_0());
-                    	                  
+                    	            if ( (LA108_0==38) ) {
+                    	                alt108=1;
                     	            }
-                    	            if ( state.backtracking==0 ) {
+                    	            else if ( (LA108_0==66) ) {
+                    	                alt108=2;
+                    	            }
+                    	            else {
+                    	                if (state.backtracking>0) {state.failed=true; return current;}
+                    	                NoViableAltException nvae =
+                    	                    new NoViableAltException("", 108, 0, input);
 
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getParameterCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_4_0, "ordered");
-                    	              	    
+                    	                throw nvae;
                     	            }
+                    	            switch (alt108) {
+                    	                case 1 :
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3437:3: ( (lv_isOrdered_5_0= 'ordered' ) )
+                    	                    {
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3437:3: ( (lv_isOrdered_5_0= 'ordered' ) )
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3438:1: (lv_isOrdered_5_0= 'ordered' )
+                    	                    {
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3438:1: (lv_isOrdered_5_0= 'ordered' )
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3439:3: lv_isOrdered_5_0= 'ordered'
+                    	                    {
+                    	                    lv_isOrdered_5_0=(Token)match(input,38,FollowSets000.FOLLOW_38_in_ruleParameterCS7918); if (state.failed) return current;
+                    	                    if ( state.backtracking==0 ) {
+
+                    	                              newLeafNode(lv_isOrdered_5_0, grammarAccess.getParameterCSAccess().getIsOrderedOrderedKeyword_2_0_1_0_0_0());
+                    	                          
+                    	                    }
+                    	                    if ( state.backtracking==0 ) {
+
+                    	                      	        if (current==null) {
+                    	                      	            current = createModelElement(grammarAccess.getParameterCSRule());
+                    	                      	        }
+                    	                             		setWithLastConsumed(current, "isOrdered", true, "ordered");
+                    	                      	    
+                    	                    }
+
+                    	                    }
+
+
+                    	                    }
+
+
+                    	                    }
+                    	                    break;
+                    	                case 2 :
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3453:7: otherlv_6= '!ordered'
+                    	                    {
+                    	                    otherlv_6=(Token)match(input,66,FollowSets000.FOLLOW_66_in_ruleParameterCS7949); if (state.failed) return current;
+                    	                    if ( state.backtracking==0 ) {
+
+                    	                          	newLeafNode(otherlv_6, grammarAccess.getParameterCSAccess().getOrderedKeyword_2_0_1_0_1());
+                    	                          
+                    	                    }
+
+                    	                    }
+                    	                    break;
 
                     	            }
 
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3457:2: (otherlv_7= ',' )?
+                    	            int alt109=2;
+                    	            int LA109_0 = input.LA(1);
 
+                    	            if ( (LA109_0==60) ) {
+                    	                int LA109_1 = input.LA(2);
+
+                    	                if ( (LA109_1==51) ) {
+                    	                    int LA109_3 = input.LA(3);
+
+                    	                    if ( (synpred174_InternalOCLinEcore()) ) {
+                    	                        alt109=1;
+                    	                    }
+                    	                }
+                    	                else if ( (LA109_1==EOF||LA109_1==56||(LA109_1>=60 && LA109_1<=62)||LA109_1==69) ) {
+                    	                    alt109=1;
+                    	                }
                     	            }
+                    	            switch (alt109) {
+                    	                case 1 :
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3457:4: otherlv_7= ','
+                    	                    {
+                    	                    otherlv_7=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleParameterCS7963); if (state.failed) return current;
+                    	                    if ( state.backtracking==0 ) {
 
+                    	                          	newLeafNode(otherlv_7, grammarAccess.getParameterCSAccess().getCommaKeyword_2_0_1_1());
+                    	                          
+                    	                    }
 
-                    	            }
-                    	            break;
-                    	        case 2 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3305:6: ( (lv_qualifiers_5_0= '!ordered' ) )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3305:6: ( (lv_qualifiers_5_0= '!ordered' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3306:1: (lv_qualifiers_5_0= '!ordered' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3306:1: (lv_qualifiers_5_0= '!ordered' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3307:3: lv_qualifiers_5_0= '!ordered'
-                    	            {
-                    	            lv_qualifiers_5_0=(Token)match(input,66,FollowSets000.FOLLOW_66_in_ruleParameterCS7166); if (state.failed) return current;
-                    	            if ( state.backtracking==0 ) {
-
-                    	                      newLeafNode(lv_qualifiers_5_0, grammarAccess.getParameterCSAccess().getQualifiersOrderedKeyword_2_1_0_1_0());
-                    	                  
-                    	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getParameterCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_5_0, "!ordered");
-                    	              	    
-                    	            }
-
-                    	            }
-
-
-                    	            }
-
-
-                    	            }
-                    	            break;
-                    	        case 3 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3321:6: ( (lv_qualifiers_6_0= 'unique' ) )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3321:6: ( (lv_qualifiers_6_0= 'unique' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3322:1: (lv_qualifiers_6_0= 'unique' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3322:1: (lv_qualifiers_6_0= 'unique' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3323:3: lv_qualifiers_6_0= 'unique'
-                    	            {
-                    	            lv_qualifiers_6_0=(Token)match(input,51,FollowSets000.FOLLOW_51_in_ruleParameterCS7203); if (state.failed) return current;
-                    	            if ( state.backtracking==0 ) {
-
-                    	                      newLeafNode(lv_qualifiers_6_0, grammarAccess.getParameterCSAccess().getQualifiersUniqueKeyword_2_1_0_2_0());
-                    	                  
-                    	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getParameterCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_6_0, "unique");
-                    	              	    
-                    	            }
-
-                    	            }
-
-
-                    	            }
-
-
-                    	            }
-                    	            break;
-                    	        case 4 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3337:6: ( (lv_qualifiers_7_0= '!unique' ) )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3337:6: ( (lv_qualifiers_7_0= '!unique' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3338:1: (lv_qualifiers_7_0= '!unique' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3338:1: (lv_qualifiers_7_0= '!unique' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3339:3: lv_qualifiers_7_0= '!unique'
-                    	            {
-                    	            lv_qualifiers_7_0=(Token)match(input,69,FollowSets000.FOLLOW_69_in_ruleParameterCS7240); if (state.failed) return current;
-                    	            if ( state.backtracking==0 ) {
-
-                    	                      newLeafNode(lv_qualifiers_7_0, grammarAccess.getParameterCSAccess().getQualifiersUniqueKeyword_2_1_0_3_0());
-                    	                  
-                    	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getParameterCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_7_0, "!unique");
-                    	              	    
-                    	            }
-
-                    	            }
-
+                    	                    }
+                    	                    break;
 
                     	            }
 
@@ -9811,97 +10460,243 @@
 
                     	    }
 
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3352:3: (otherlv_8= ',' )?
-                    	    int alt91=2;
-                    	    int LA91_0 = input.LA(1);
 
-                    	    if ( (LA91_0==60) ) {
-                    	        alt91=1;
                     	    }
-                    	    switch (alt91) {
+
+
+                    	    }
+
+                    	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getParameterCSAccess().getUnorderedGroup_2());
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+                    	    break;
+                    	case 2 :
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3468:4: ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' ) ) ) )
+                    	    {
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3468:4: ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' ) ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3469:5: {...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' ) ) )
+                    	    {
+                    	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 1) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleParameterCS", "getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 1)");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3469:108: ( ({...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3470:6: ({...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' ) )
+                    	    {
+                    	    getUnorderedGroupHelper().select(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 1);
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3473:6: ({...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3473:7: {...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' )
+                    	    {
+                    	    if ( !((true)) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleParameterCS", "true");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3473:16: ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3473:17: ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}'
+                    	    {
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3473:17: ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )?
+                    	    int alt113=2;
+                    	    int LA113_0 = input.LA(1);
+
+                    	    if ( (LA113_0==51||LA113_0==69) ) {
+                    	        alt113=1;
+                    	    }
+                    	    switch (alt113) {
                     	        case 1 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3352:5: otherlv_8= ','
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3473:18: ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )?
                     	            {
-                    	            otherlv_8=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleParameterCS7267); if (state.failed) return current;
-                    	            if ( state.backtracking==0 ) {
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3473:18: ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' )
+                    	            int alt111=2;
+                    	            int LA111_0 = input.LA(1);
 
-                    	                  	newLeafNode(otherlv_8, grammarAccess.getParameterCSAccess().getCommaKeyword_2_1_1());
-                    	                  
+                    	            if ( (LA111_0==69) ) {
+                    	                alt111=1;
                     	            }
+                    	            else if ( (LA111_0==51) ) {
+                    	                alt111=2;
+                    	            }
+                    	            else {
+                    	                if (state.backtracking>0) {state.failed=true; return current;}
+                    	                NoViableAltException nvae =
+                    	                    new NoViableAltException("", 111, 0, input);
+
+                    	                throw nvae;
+                    	            }
+                    	            switch (alt111) {
+                    	                case 1 :
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3473:19: ( (lv_isNotUnique_8_0= '!unique' ) )
+                    	                    {
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3473:19: ( (lv_isNotUnique_8_0= '!unique' ) )
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3474:1: (lv_isNotUnique_8_0= '!unique' )
+                    	                    {
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3474:1: (lv_isNotUnique_8_0= '!unique' )
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3475:3: lv_isNotUnique_8_0= '!unique'
+                    	                    {
+                    	                    lv_isNotUnique_8_0=(Token)match(input,69,FollowSets000.FOLLOW_69_in_ruleParameterCS8043); if (state.failed) return current;
+                    	                    if ( state.backtracking==0 ) {
+
+                    	                              newLeafNode(lv_isNotUnique_8_0, grammarAccess.getParameterCSAccess().getIsNotUniqueUniqueKeyword_2_1_0_0_0_0());
+                    	                          
+                    	                    }
+                    	                    if ( state.backtracking==0 ) {
+
+                    	                      	        if (current==null) {
+                    	                      	            current = createModelElement(grammarAccess.getParameterCSRule());
+                    	                      	        }
+                    	                             		setWithLastConsumed(current, "isNotUnique", true, "!unique");
+                    	                      	    
+                    	                    }
+
+                    	                    }
+
+
+                    	                    }
+
+
+                    	                    }
+                    	                    break;
+                    	                case 2 :
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3489:7: otherlv_9= 'unique'
+                    	                    {
+                    	                    otherlv_9=(Token)match(input,51,FollowSets000.FOLLOW_51_in_ruleParameterCS8074); if (state.failed) return current;
+                    	                    if ( state.backtracking==0 ) {
+
+                    	                          	newLeafNode(otherlv_9, grammarAccess.getParameterCSAccess().getUniqueKeyword_2_1_0_0_1());
+                    	                          
+                    	                    }
+
+                    	                    }
+                    	                    break;
+
+                    	            }
+
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3493:2: (otherlv_10= ',' )?
+                    	            int alt112=2;
+                    	            int LA112_0 = input.LA(1);
+
+                    	            if ( (LA112_0==60) ) {
+                    	                alt112=1;
+                    	            }
+                    	            switch (alt112) {
+                    	                case 1 :
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3493:4: otherlv_10= ','
+                    	                    {
+                    	                    otherlv_10=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleParameterCS8088); if (state.failed) return current;
+                    	                    if ( state.backtracking==0 ) {
+
+                    	                          	newLeafNode(otherlv_10, grammarAccess.getParameterCSAccess().getCommaKeyword_2_1_0_1());
+                    	                          
+                    	                    }
+
+                    	                    }
+                    	                    break;
+
+                    	            }
+
 
                     	            }
                     	            break;
 
                     	    }
 
+                    	    otherlv_11=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleParameterCS8104); if (state.failed) return current;
+                    	    if ( state.backtracking==0 ) {
+
+                    	          	newLeafNode(otherlv_11, grammarAccess.getParameterCSAccess().getRightCurlyBracketKeyword_2_1_1());
+                    	          
+                    	    }
+
+                    	    }
+
+
+                    	    }
+
+                    	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getParameterCSAccess().getUnorderedGroup_2());
+
+                    	    }
+
+
+                    	    }
+
 
                     	    }
                     	    break;
 
                     	default :
-                    	    if ( cnt92 >= 1 ) break loop92;
+                    	    if ( cnt114 >= 1 ) break loop114;
                     	    if (state.backtracking>0) {state.failed=true; return current;}
                                 EarlyExitException eee =
-                                    new EarlyExitException(92, input);
+                                    new EarlyExitException(114, input);
                                 throw eee;
                         }
-                        cnt92++;
+                        cnt114++;
                     } while (true);
 
-                    otherlv_9=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleParameterCS7283); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                          	newLeafNode(otherlv_9, grammarAccess.getParameterCSAccess().getRightCurlyBracketKeyword_2_2());
-                          
+                    if ( ! getUnorderedGroupHelper().canLeave(grammarAccess.getParameterCSAccess().getUnorderedGroup_2()) ) {
+                        if (state.backtracking>0) {state.failed=true; return current;}
+                        throw new FailedPredicateException(input, "ruleParameterCS", "getUnorderedGroupHelper().canLeave(grammarAccess.getParameterCSAccess().getUnorderedGroup_2())");
                     }
 
                     }
+
+
+                    }
+
+                    getUnorderedGroupHelper().leave(grammarAccess.getParameterCSAccess().getUnorderedGroup_2());
+
+                    }
                     break;
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3360:3: (otherlv_10= '{' ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) )* otherlv_12= '}' )?
-            int alt95=2;
-            int LA95_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3516:3: (otherlv_12= '{' ( (lv_ownedAnnotations_13_0= ruleAnnotationElementCS ) )* otherlv_14= '}' )?
+            int alt117=2;
+            int LA117_0 = input.LA(1);
 
-            if ( (LA95_0==61) ) {
-                alt95=1;
+            if ( (LA117_0==61) ) {
+                alt117=1;
             }
-            switch (alt95) {
+            switch (alt117) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3360:5: otherlv_10= '{' ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) )* otherlv_12= '}'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3516:5: otherlv_12= '{' ( (lv_ownedAnnotations_13_0= ruleAnnotationElementCS ) )* otherlv_14= '}'
                     {
-                    otherlv_10=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleParameterCS7298); if (state.failed) return current;
+                    otherlv_12=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleParameterCS8165); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
-                          	newLeafNode(otherlv_10, grammarAccess.getParameterCSAccess().getLeftCurlyBracketKeyword_3_0());
+                          	newLeafNode(otherlv_12, grammarAccess.getParameterCSAccess().getLeftCurlyBracketKeyword_3_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3364:1: ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) )*
-                    loop94:
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3520:1: ( (lv_ownedAnnotations_13_0= ruleAnnotationElementCS ) )*
+                    loop116:
                     do {
-                        int alt94=2;
-                        int LA94_0 = input.LA(1);
+                        int alt116=2;
+                        int LA116_0 = input.LA(1);
 
-                        if ( (LA94_0==59||LA94_0==74||LA94_0==80) ) {
-                            alt94=1;
+                        if ( (LA116_0==59||LA116_0==74||LA116_0==80) ) {
+                            alt116=1;
                         }
 
 
-                        switch (alt94) {
+                        switch (alt116) {
                     	case 1 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3365:1: (lv_ownedAnnotations_11_0= ruleAnnotationElementCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3521:1: (lv_ownedAnnotations_13_0= ruleAnnotationElementCS )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3365:1: (lv_ownedAnnotations_11_0= ruleAnnotationElementCS )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3366:3: lv_ownedAnnotations_11_0= ruleAnnotationElementCS
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3521:1: (lv_ownedAnnotations_13_0= ruleAnnotationElementCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3522:3: lv_ownedAnnotations_13_0= ruleAnnotationElementCS
                     	    {
                     	    if ( state.backtracking==0 ) {
                     	       
                     	      	        newCompositeNode(grammarAccess.getParameterCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_3_1_0()); 
                     	      	    
                     	    }
-                    	    pushFollow(FollowSets000.FOLLOW_ruleAnnotationElementCS_in_ruleParameterCS7319);
-                    	    lv_ownedAnnotations_11_0=ruleAnnotationElementCS();
+                    	    pushFollow(FollowSets000.FOLLOW_ruleAnnotationElementCS_in_ruleParameterCS8186);
+                    	    lv_ownedAnnotations_13_0=ruleAnnotationElementCS();
 
                     	    state._fsp--;
                     	    if (state.failed) return current;
@@ -9913,7 +10708,7 @@
                     	             		add(
                     	             			current, 
                     	             			"ownedAnnotations",
-                    	              		lv_ownedAnnotations_11_0, 
+                    	              		lv_ownedAnnotations_13_0, 
                     	              		"AnnotationElementCS");
                     	      	        afterParserOrEnumRuleCall();
                     	      	    
@@ -9926,14 +10721,14 @@
                     	    break;
 
                     	default :
-                    	    break loop94;
+                    	    break loop116;
                         }
                     } while (true);
 
-                    otherlv_12=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleParameterCS7332); if (state.failed) return current;
+                    otherlv_14=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleParameterCS8199); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
-                          	newLeafNode(otherlv_12, grammarAccess.getParameterCSAccess().getRightCurlyBracketKeyword_3_2());
+                          	newLeafNode(otherlv_14, grammarAccess.getParameterCSAccess().getRightCurlyBracketKeyword_3_2());
                           
                     }
 
@@ -9958,6 +10753,9 @@
                 appendSkippedTokens();
             } 
         finally {
+
+            	myUnorderedGroupState.restore();
+
         }
         return current;
     }
@@ -9965,21 +10763,27 @@
 
 
     // $ANTLR start "entryRuleReferenceCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3394:1: entryRuleReferenceCS returns [EObject current=null] : iv_ruleReferenceCS= ruleReferenceCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3553:1: entryRuleReferenceCS returns [EObject current=null] : iv_ruleReferenceCS= ruleReferenceCS EOF ;
     public final EObject entryRuleReferenceCS() throws RecognitionException {
         EObject current = null;
 
         EObject iv_ruleReferenceCS = null;
 
 
+         
+        		UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
+        			grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 
+        			grammarAccess.getReferenceCSAccess().getUnorderedGroup_6()
+        		);
+        	
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3395:2: (iv_ruleReferenceCS= ruleReferenceCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3396:2: iv_ruleReferenceCS= ruleReferenceCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3560:2: (iv_ruleReferenceCS= ruleReferenceCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3561:2: iv_ruleReferenceCS= ruleReferenceCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getReferenceCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleReferenceCS_in_entryRuleReferenceCS7370);
+            pushFollow(FollowSets000.FOLLOW_ruleReferenceCS_in_entryRuleReferenceCS8247);
             iv_ruleReferenceCS=ruleReferenceCS();
 
             state._fsp--;
@@ -9987,7 +10791,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleReferenceCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleReferenceCS7380); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleReferenceCS8257); if (state.failed) return current;
 
             }
 
@@ -9998,6 +10802,9 @@
                 appendSkippedTokens();
             } 
         finally {
+
+            	myUnorderedGroupState.restore();
+
         }
         return current;
     }
@@ -10005,255 +10812,262 @@
 
 
     // $ANTLR start "ruleReferenceCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3403:1: ruleReferenceCS returns [EObject current=null] : ( ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'property' ( (lv_name_5_0= ruleUnrestrictedName ) ) (otherlv_6= '#' ( ( ruleUnrestrictedName ) ) )? (otherlv_8= ':' ( (lv_ownedType_9_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_10= '=' ( (lv_default_11_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_12= '{' ( ( ( (lv_qualifiers_13_0= 'composes' ) ) | ( (lv_qualifiers_14_0= '!composes' ) ) | ( (lv_qualifiers_15_0= 'derived' ) ) | ( (lv_qualifiers_16_0= '!derived' ) ) | ( (lv_qualifiers_17_0= 'ordered' ) ) | ( (lv_qualifiers_18_0= '!ordered' ) ) | ( (lv_qualifiers_19_0= 'readonly' ) ) | ( (lv_qualifiers_20_0= '!readonly' ) ) | ( (lv_qualifiers_21_0= 'resolve' ) ) | ( (lv_qualifiers_22_0= '!resolve' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) | ( (lv_qualifiers_27_0= 'unsettable' ) ) | ( (lv_qualifiers_28_0= '!unsettable' ) ) | ( (lv_qualifiers_29_0= 'volatile' ) ) | ( (lv_qualifiers_30_0= '!volatile' ) ) ) (otherlv_31= ',' )? )+ otherlv_32= '}' )? ( (otherlv_33= '{' ( ( (lv_ownedAnnotations_34_0= ruleAnnotationElementCS ) ) | (otherlv_35= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_39= ';' ) | (otherlv_40= 'derivation' ( ruleUnrestrictedName )? otherlv_42= ':' ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? otherlv_44= ';' ) | (otherlv_45= 'initial' ( ruleUnrestrictedName )? otherlv_47= ':' ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? otherlv_49= ';' ) )* otherlv_50= '}' ) | otherlv_51= ';' ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3571:1: ruleReferenceCS returns [EObject current=null] : ( ( ( ( ( ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) ) )* ) ) ) otherlv_3= 'property' ( (lv_name_4_0= ruleUnrestrictedName ) ) (otherlv_5= '#' ( ( ruleUnrestrictedName ) ) )? (otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_9= '=' ( (lv_default_10_0= RULE_SINGLE_QUOTED_STRING ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) ) ) ) )+ {...}?) ) )? ( (otherlv_41= '{' ( ( (lv_ownedAnnotations_42_0= ruleAnnotationElementCS ) ) | (otherlv_43= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_45= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_47= ';' ) | (otherlv_48= 'derivation' ( ruleUnrestrictedName )? otherlv_50= ':' ( (lv_ownedDefaultExpressions_51_0= ruleSpecificationCS ) )? otherlv_52= ';' ) | (otherlv_53= 'initial' ( ruleUnrestrictedName )? otherlv_55= ':' ( (lv_ownedDefaultExpressions_56_0= ruleSpecificationCS ) )? otherlv_57= ';' ) )* otherlv_58= '}' ) | otherlv_59= ';' ) ) ;
     public final EObject ruleReferenceCS() throws RecognitionException {
         EObject current = null;
 
-        Token lv_qualifiers_0_0=null;
-        Token lv_qualifiers_1_0=null;
-        Token lv_qualifiers_2_0=null;
-        Token lv_qualifiers_3_0=null;
-        Token otherlv_4=null;
-        Token otherlv_6=null;
-        Token otherlv_8=null;
-        Token otherlv_10=null;
-        Token lv_default_11_0=null;
+        Token lv_isStatic_1_0=null;
+        Token lv_isDefinition_2_0=null;
+        Token otherlv_3=null;
+        Token otherlv_5=null;
+        Token otherlv_7=null;
+        Token otherlv_9=null;
+        Token lv_default_10_0=null;
         Token otherlv_12=null;
-        Token lv_qualifiers_13_0=null;
-        Token lv_qualifiers_14_0=null;
-        Token lv_qualifiers_15_0=null;
-        Token lv_qualifiers_16_0=null;
-        Token lv_qualifiers_17_0=null;
-        Token lv_qualifiers_18_0=null;
-        Token lv_qualifiers_19_0=null;
-        Token lv_qualifiers_20_0=null;
-        Token lv_qualifiers_21_0=null;
-        Token lv_qualifiers_22_0=null;
-        Token lv_qualifiers_23_0=null;
-        Token lv_qualifiers_24_0=null;
-        Token lv_qualifiers_25_0=null;
-        Token lv_qualifiers_26_0=null;
-        Token lv_qualifiers_27_0=null;
-        Token lv_qualifiers_28_0=null;
-        Token lv_qualifiers_29_0=null;
-        Token lv_qualifiers_30_0=null;
-        Token otherlv_31=null;
+        Token lv_isComposes_13_0=null;
+        Token otherlv_14=null;
+        Token otherlv_15=null;
+        Token lv_isDerived_16_0=null;
+        Token otherlv_17=null;
+        Token otherlv_18=null;
+        Token lv_isOrdered_19_0=null;
+        Token otherlv_20=null;
+        Token otherlv_21=null;
+        Token lv_isReadonly_22_0=null;
+        Token otherlv_23=null;
+        Token otherlv_24=null;
+        Token lv_isResolve_25_0=null;
+        Token otherlv_26=null;
+        Token otherlv_27=null;
+        Token lv_isTransient_28_0=null;
+        Token otherlv_29=null;
+        Token otherlv_30=null;
+        Token lv_isNotUnique_31_0=null;
         Token otherlv_32=null;
         Token otherlv_33=null;
+        Token lv_isUnsettable_34_0=null;
         Token otherlv_35=null;
-        Token otherlv_37=null;
+        Token otherlv_36=null;
+        Token lv_isVolatile_37_0=null;
+        Token otherlv_38=null;
         Token otherlv_39=null;
         Token otherlv_40=null;
-        Token otherlv_42=null;
-        Token otherlv_44=null;
+        Token otherlv_41=null;
+        Token otherlv_43=null;
         Token otherlv_45=null;
         Token otherlv_47=null;
-        Token otherlv_49=null;
+        Token otherlv_48=null;
         Token otherlv_50=null;
-        Token otherlv_51=null;
-        AntlrDatatypeRuleToken lv_name_5_0 = null;
+        Token otherlv_52=null;
+        Token otherlv_53=null;
+        Token otherlv_55=null;
+        Token otherlv_57=null;
+        Token otherlv_58=null;
+        Token otherlv_59=null;
+        AntlrDatatypeRuleToken lv_name_4_0 = null;
 
-        EObject lv_ownedType_9_0 = null;
+        EObject lv_ownedType_8_0 = null;
 
-        EObject lv_ownedAnnotations_34_0 = null;
+        EObject lv_ownedAnnotations_42_0 = null;
 
-        EObject lv_ownedDefaultExpressions_43_0 = null;
+        EObject lv_ownedDefaultExpressions_51_0 = null;
 
-        EObject lv_ownedDefaultExpressions_48_0 = null;
+        EObject lv_ownedDefaultExpressions_56_0 = null;
 
 
          enterRule(); 
+        		UnorderedGroupState myUnorderedGroupState = getUnorderedGroupHelper().snapShot(
+        			grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 
+        			grammarAccess.getReferenceCSAccess().getUnorderedGroup_6()
+        		);
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3406:28: ( ( ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'property' ( (lv_name_5_0= ruleUnrestrictedName ) ) (otherlv_6= '#' ( ( ruleUnrestrictedName ) ) )? (otherlv_8= ':' ( (lv_ownedType_9_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_10= '=' ( (lv_default_11_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_12= '{' ( ( ( (lv_qualifiers_13_0= 'composes' ) ) | ( (lv_qualifiers_14_0= '!composes' ) ) | ( (lv_qualifiers_15_0= 'derived' ) ) | ( (lv_qualifiers_16_0= '!derived' ) ) | ( (lv_qualifiers_17_0= 'ordered' ) ) | ( (lv_qualifiers_18_0= '!ordered' ) ) | ( (lv_qualifiers_19_0= 'readonly' ) ) | ( (lv_qualifiers_20_0= '!readonly' ) ) | ( (lv_qualifiers_21_0= 'resolve' ) ) | ( (lv_qualifiers_22_0= '!resolve' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) | ( (lv_qualifiers_27_0= 'unsettable' ) ) | ( (lv_qualifiers_28_0= '!unsettable' ) ) | ( (lv_qualifiers_29_0= 'volatile' ) ) | ( (lv_qualifiers_30_0= '!volatile' ) ) ) (otherlv_31= ',' )? )+ otherlv_32= '}' )? ( (otherlv_33= '{' ( ( (lv_ownedAnnotations_34_0= ruleAnnotationElementCS ) ) | (otherlv_35= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_39= ';' ) | (otherlv_40= 'derivation' ( ruleUnrestrictedName )? otherlv_42= ':' ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? otherlv_44= ';' ) | (otherlv_45= 'initial' ( ruleUnrestrictedName )? otherlv_47= ':' ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? otherlv_49= ';' ) )* otherlv_50= '}' ) | otherlv_51= ';' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3407:1: ( ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'property' ( (lv_name_5_0= ruleUnrestrictedName ) ) (otherlv_6= '#' ( ( ruleUnrestrictedName ) ) )? (otherlv_8= ':' ( (lv_ownedType_9_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_10= '=' ( (lv_default_11_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_12= '{' ( ( ( (lv_qualifiers_13_0= 'composes' ) ) | ( (lv_qualifiers_14_0= '!composes' ) ) | ( (lv_qualifiers_15_0= 'derived' ) ) | ( (lv_qualifiers_16_0= '!derived' ) ) | ( (lv_qualifiers_17_0= 'ordered' ) ) | ( (lv_qualifiers_18_0= '!ordered' ) ) | ( (lv_qualifiers_19_0= 'readonly' ) ) | ( (lv_qualifiers_20_0= '!readonly' ) ) | ( (lv_qualifiers_21_0= 'resolve' ) ) | ( (lv_qualifiers_22_0= '!resolve' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) | ( (lv_qualifiers_27_0= 'unsettable' ) ) | ( (lv_qualifiers_28_0= '!unsettable' ) ) | ( (lv_qualifiers_29_0= 'volatile' ) ) | ( (lv_qualifiers_30_0= '!volatile' ) ) ) (otherlv_31= ',' )? )+ otherlv_32= '}' )? ( (otherlv_33= '{' ( ( (lv_ownedAnnotations_34_0= ruleAnnotationElementCS ) ) | (otherlv_35= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_39= ';' ) | (otherlv_40= 'derivation' ( ruleUnrestrictedName )? otherlv_42= ':' ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? otherlv_44= ';' ) | (otherlv_45= 'initial' ( ruleUnrestrictedName )? otherlv_47= ':' ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? otherlv_49= ';' ) )* otherlv_50= '}' ) | otherlv_51= ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3578:28: ( ( ( ( ( ( ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) ) )* ) ) ) otherlv_3= 'property' ( (lv_name_4_0= ruleUnrestrictedName ) ) (otherlv_5= '#' ( ( ruleUnrestrictedName ) ) )? (otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_9= '=' ( (lv_default_10_0= RULE_SINGLE_QUOTED_STRING ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) ) ) ) )+ {...}?) ) )? ( (otherlv_41= '{' ( ( (lv_ownedAnnotations_42_0= ruleAnnotationElementCS ) ) | (otherlv_43= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_45= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_47= ';' ) | (otherlv_48= 'derivation' ( ruleUnrestrictedName )? otherlv_50= ':' ( (lv_ownedDefaultExpressions_51_0= ruleSpecificationCS ) )? otherlv_52= ';' ) | (otherlv_53= 'initial' ( ruleUnrestrictedName )? otherlv_55= ':' ( (lv_ownedDefaultExpressions_56_0= ruleSpecificationCS ) )? otherlv_57= ';' ) )* otherlv_58= '}' ) | otherlv_59= ';' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3579:1: ( ( ( ( ( ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) ) )* ) ) ) otherlv_3= 'property' ( (lv_name_4_0= ruleUnrestrictedName ) ) (otherlv_5= '#' ( ( ruleUnrestrictedName ) ) )? (otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_9= '=' ( (lv_default_10_0= RULE_SINGLE_QUOTED_STRING ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) ) ) ) )+ {...}?) ) )? ( (otherlv_41= '{' ( ( (lv_ownedAnnotations_42_0= ruleAnnotationElementCS ) ) | (otherlv_43= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_45= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_47= ';' ) | (otherlv_48= 'derivation' ( ruleUnrestrictedName )? otherlv_50= ':' ( (lv_ownedDefaultExpressions_51_0= ruleSpecificationCS ) )? otherlv_52= ';' ) | (otherlv_53= 'initial' ( ruleUnrestrictedName )? otherlv_55= ':' ( (lv_ownedDefaultExpressions_56_0= ruleSpecificationCS ) )? otherlv_57= ';' ) )* otherlv_58= '}' ) | otherlv_59= ';' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3407:1: ( ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'property' ( (lv_name_5_0= ruleUnrestrictedName ) ) (otherlv_6= '#' ( ( ruleUnrestrictedName ) ) )? (otherlv_8= ':' ( (lv_ownedType_9_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_10= '=' ( (lv_default_11_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_12= '{' ( ( ( (lv_qualifiers_13_0= 'composes' ) ) | ( (lv_qualifiers_14_0= '!composes' ) ) | ( (lv_qualifiers_15_0= 'derived' ) ) | ( (lv_qualifiers_16_0= '!derived' ) ) | ( (lv_qualifiers_17_0= 'ordered' ) ) | ( (lv_qualifiers_18_0= '!ordered' ) ) | ( (lv_qualifiers_19_0= 'readonly' ) ) | ( (lv_qualifiers_20_0= '!readonly' ) ) | ( (lv_qualifiers_21_0= 'resolve' ) ) | ( (lv_qualifiers_22_0= '!resolve' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) | ( (lv_qualifiers_27_0= 'unsettable' ) ) | ( (lv_qualifiers_28_0= '!unsettable' ) ) | ( (lv_qualifiers_29_0= 'volatile' ) ) | ( (lv_qualifiers_30_0= '!volatile' ) ) ) (otherlv_31= ',' )? )+ otherlv_32= '}' )? ( (otherlv_33= '{' ( ( (lv_ownedAnnotations_34_0= ruleAnnotationElementCS ) ) | (otherlv_35= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_39= ';' ) | (otherlv_40= 'derivation' ( ruleUnrestrictedName )? otherlv_42= ':' ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? otherlv_44= ';' ) | (otherlv_45= 'initial' ( ruleUnrestrictedName )? otherlv_47= ':' ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? otherlv_49= ';' ) )* otherlv_50= '}' ) | otherlv_51= ';' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3407:2: ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? otherlv_4= 'property' ( (lv_name_5_0= ruleUnrestrictedName ) ) (otherlv_6= '#' ( ( ruleUnrestrictedName ) ) )? (otherlv_8= ':' ( (lv_ownedType_9_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_10= '=' ( (lv_default_11_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_12= '{' ( ( ( (lv_qualifiers_13_0= 'composes' ) ) | ( (lv_qualifiers_14_0= '!composes' ) ) | ( (lv_qualifiers_15_0= 'derived' ) ) | ( (lv_qualifiers_16_0= '!derived' ) ) | ( (lv_qualifiers_17_0= 'ordered' ) ) | ( (lv_qualifiers_18_0= '!ordered' ) ) | ( (lv_qualifiers_19_0= 'readonly' ) ) | ( (lv_qualifiers_20_0= '!readonly' ) ) | ( (lv_qualifiers_21_0= 'resolve' ) ) | ( (lv_qualifiers_22_0= '!resolve' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) | ( (lv_qualifiers_27_0= 'unsettable' ) ) | ( (lv_qualifiers_28_0= '!unsettable' ) ) | ( (lv_qualifiers_29_0= 'volatile' ) ) | ( (lv_qualifiers_30_0= '!volatile' ) ) ) (otherlv_31= ',' )? )+ otherlv_32= '}' )? ( (otherlv_33= '{' ( ( (lv_ownedAnnotations_34_0= ruleAnnotationElementCS ) ) | (otherlv_35= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_39= ';' ) | (otherlv_40= 'derivation' ( ruleUnrestrictedName )? otherlv_42= ':' ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? otherlv_44= ';' ) | (otherlv_45= 'initial' ( ruleUnrestrictedName )? otherlv_47= ':' ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? otherlv_49= ';' ) )* otherlv_50= '}' ) | otherlv_51= ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3579:1: ( ( ( ( ( ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) ) )* ) ) ) otherlv_3= 'property' ( (lv_name_4_0= ruleUnrestrictedName ) ) (otherlv_5= '#' ( ( ruleUnrestrictedName ) ) )? (otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_9= '=' ( (lv_default_10_0= RULE_SINGLE_QUOTED_STRING ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) ) ) ) )+ {...}?) ) )? ( (otherlv_41= '{' ( ( (lv_ownedAnnotations_42_0= ruleAnnotationElementCS ) ) | (otherlv_43= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_45= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_47= ';' ) | (otherlv_48= 'derivation' ( ruleUnrestrictedName )? otherlv_50= ':' ( (lv_ownedDefaultExpressions_51_0= ruleSpecificationCS ) )? otherlv_52= ';' ) | (otherlv_53= 'initial' ( ruleUnrestrictedName )? otherlv_55= ':' ( (lv_ownedDefaultExpressions_56_0= ruleSpecificationCS ) )? otherlv_57= ';' ) )* otherlv_58= '}' ) | otherlv_59= ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3579:2: ( ( ( ( ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) ) )* ) ) ) otherlv_3= 'property' ( (lv_name_4_0= ruleUnrestrictedName ) ) (otherlv_5= '#' ( ( ruleUnrestrictedName ) ) )? (otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypedMultiplicityRefCS ) ) )? (otherlv_9= '=' ( (lv_default_10_0= RULE_SINGLE_QUOTED_STRING ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) ) ) ) )+ {...}?) ) )? ( (otherlv_41= '{' ( ( (lv_ownedAnnotations_42_0= ruleAnnotationElementCS ) ) | (otherlv_43= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_45= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_47= ';' ) | (otherlv_48= 'derivation' ( ruleUnrestrictedName )? otherlv_50= ':' ( (lv_ownedDefaultExpressions_51_0= ruleSpecificationCS ) )? otherlv_52= ';' ) | (otherlv_53= 'initial' ( ruleUnrestrictedName )? otherlv_55= ':' ( (lv_ownedDefaultExpressions_56_0= ruleSpecificationCS ) )? otherlv_57= ';' ) )* otherlv_58= '}' ) | otherlv_59= ';' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3407:2: ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )?
-            int alt98=3;
-            int LA98_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3579:2: ( ( ( ( ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) ) )* ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3581:1: ( ( ( ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) ) )* ) )
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3581:1: ( ( ( ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) ) )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3582:2: ( ( ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) ) )* )
+            {
+            getUnorderedGroupHelper().enter(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0());
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3585:2: ( ( ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) ) )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3586:3: ( ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) ) )*
+            {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3586:3: ( ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) ) )*
+            loop118:
+            do {
+                int alt118=3;
+                int LA118_0 = input.LA(1);
 
-            if ( (LA98_0==47) ) {
-                alt98=1;
-            }
-            else if ( (LA98_0==26) ) {
-                alt98=2;
-            }
-            switch (alt98) {
-                case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3407:3: ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3407:3: ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3407:4: ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )?
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3407:4: ( (lv_qualifiers_0_0= 'static' ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3408:1: (lv_qualifiers_0_0= 'static' )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3408:1: (lv_qualifiers_0_0= 'static' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3409:3: lv_qualifiers_0_0= 'static'
-                    {
-                    lv_qualifiers_0_0=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleReferenceCS7425); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                              newLeafNode(lv_qualifiers_0_0, grammarAccess.getReferenceCSAccess().getQualifiersStaticKeyword_0_0_0_0());
-                          
-                    }
-                    if ( state.backtracking==0 ) {
-
-                      	        if (current==null) {
-                      	            current = createModelElement(grammarAccess.getReferenceCSRule());
-                      	        }
-                             		addWithLastConsumed(current, "qualifiers", lv_qualifiers_0_0, "static");
-                      	    
-                    }
-
-                    }
+                if ( LA118_0 ==47 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 0) ) {
+                    alt118=1;
+                }
+                else if ( LA118_0 ==26 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 1) ) {
+                    alt118=2;
+                }
 
 
-                    }
+                switch (alt118) {
+            	case 1 :
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3588:4: ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) )
+            	    {
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3588:4: ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3589:5: {...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) )
+            	    {
+            	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 0) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleReferenceCS", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 0)");
+            	    }
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3589:108: ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3590:6: ({...}? => ( (lv_isStatic_1_0= 'static' ) ) )
+            	    {
+            	    getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 0);
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3593:6: ({...}? => ( (lv_isStatic_1_0= 'static' ) ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3593:7: {...}? => ( (lv_isStatic_1_0= 'static' ) )
+            	    {
+            	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleReferenceCS", "true");
+            	    }
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3593:16: ( (lv_isStatic_1_0= 'static' ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3594:1: (lv_isStatic_1_0= 'static' )
+            	    {
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3594:1: (lv_isStatic_1_0= 'static' )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3595:3: lv_isStatic_1_0= 'static'
+            	    {
+            	    lv_isStatic_1_0=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleReferenceCS8349); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3422:2: ( (lv_qualifiers_1_0= 'definition' ) )?
-                    int alt96=2;
-                    int LA96_0 = input.LA(1);
+            	              newLeafNode(lv_isStatic_1_0, grammarAccess.getReferenceCSAccess().getIsStaticStaticKeyword_0_0_0());
+            	          
+            	    }
+            	    if ( state.backtracking==0 ) {
 
-                    if ( (LA96_0==26) ) {
-                        alt96=1;
-                    }
-                    switch (alt96) {
-                        case 1 :
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3423:1: (lv_qualifiers_1_0= 'definition' )
-                            {
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3423:1: (lv_qualifiers_1_0= 'definition' )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3424:3: lv_qualifiers_1_0= 'definition'
-                            {
-                            lv_qualifiers_1_0=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleReferenceCS7456); if (state.failed) return current;
-                            if ( state.backtracking==0 ) {
+            	      	        if (current==null) {
+            	      	            current = createModelElement(grammarAccess.getReferenceCSRule());
+            	      	        }
+            	             		setWithLastConsumed(current, "isStatic", true, "static");
+            	      	    
+            	    }
 
-                                      newLeafNode(lv_qualifiers_1_0, grammarAccess.getReferenceCSAccess().getQualifiersDefinitionKeyword_0_0_1_0());
-                                  
-                            }
-                            if ( state.backtracking==0 ) {
-
-                              	        if (current==null) {
-                              	            current = createModelElement(grammarAccess.getReferenceCSRule());
-                              	        }
-                                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_1_0, "definition");
-                              	    
-                            }
-
-                            }
+            	    }
 
 
-                            }
-                            break;
-
-                    }
+            	    }
 
 
-                    }
+            	    }
+
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0());
+
+            	    }
 
 
-                    }
-                    break;
-                case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3438:6: ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3438:6: ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3438:7: ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )?
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3438:7: ( (lv_qualifiers_2_0= 'definition' ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3439:1: (lv_qualifiers_2_0= 'definition' )
-                    {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3439:1: (lv_qualifiers_2_0= 'definition' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3440:3: lv_qualifiers_2_0= 'definition'
-                    {
-                    lv_qualifiers_2_0=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleReferenceCS7496); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                              newLeafNode(lv_qualifiers_2_0, grammarAccess.getReferenceCSAccess().getQualifiersDefinitionKeyword_0_1_0_0());
-                          
-                    }
-                    if ( state.backtracking==0 ) {
-
-                      	        if (current==null) {
-                      	            current = createModelElement(grammarAccess.getReferenceCSRule());
-                      	        }
-                             		addWithLastConsumed(current, "qualifiers", lv_qualifiers_2_0, "definition");
-                      	    
-                    }
-
-                    }
+            	    }
 
 
-                    }
+            	    }
+            	    break;
+            	case 2 :
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3615:4: ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) )
+            	    {
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3615:4: ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3616:5: {...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) )
+            	    {
+            	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 1) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleReferenceCS", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 1)");
+            	    }
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3616:108: ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3617:6: ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) )
+            	    {
+            	    getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 1);
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3620:6: ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3620:7: {...}? => ( (lv_isDefinition_2_0= 'definition' ) )
+            	    {
+            	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
+            	        throw new FailedPredicateException(input, "ruleReferenceCS", "true");
+            	    }
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3620:16: ( (lv_isDefinition_2_0= 'definition' ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3621:1: (lv_isDefinition_2_0= 'definition' )
+            	    {
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3621:1: (lv_isDefinition_2_0= 'definition' )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3622:3: lv_isDefinition_2_0= 'definition'
+            	    {
+            	    lv_isDefinition_2_0=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleReferenceCS8434); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3453:2: ( (lv_qualifiers_3_0= 'static' ) )?
-                    int alt97=2;
-                    int LA97_0 = input.LA(1);
+            	              newLeafNode(lv_isDefinition_2_0, grammarAccess.getReferenceCSAccess().getIsDefinitionDefinitionKeyword_0_1_0());
+            	          
+            	    }
+            	    if ( state.backtracking==0 ) {
 
-                    if ( (LA97_0==47) ) {
-                        alt97=1;
-                    }
-                    switch (alt97) {
-                        case 1 :
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3454:1: (lv_qualifiers_3_0= 'static' )
-                            {
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3454:1: (lv_qualifiers_3_0= 'static' )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3455:3: lv_qualifiers_3_0= 'static'
-                            {
-                            lv_qualifiers_3_0=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleReferenceCS7527); if (state.failed) return current;
-                            if ( state.backtracking==0 ) {
+            	      	        if (current==null) {
+            	      	            current = createModelElement(grammarAccess.getReferenceCSRule());
+            	      	        }
+            	             		setWithLastConsumed(current, "isDefinition", true, "definition");
+            	      	    
+            	    }
 
-                                      newLeafNode(lv_qualifiers_3_0, grammarAccess.getReferenceCSAccess().getQualifiersStaticKeyword_0_1_1_0());
-                                  
-                            }
-                            if ( state.backtracking==0 ) {
-
-                              	        if (current==null) {
-                              	            current = createModelElement(grammarAccess.getReferenceCSRule());
-                              	        }
-                                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_3_0, "static");
-                              	    
-                            }
-
-                            }
+            	    }
 
 
-                            }
-                            break;
-
-                    }
+            	    }
 
 
-                    }
+            	    }
+
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0());
+
+            	    }
 
 
-                    }
-                    break;
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop118;
+                }
+            } while (true);
+
 
             }
 
-            otherlv_4=(Token)match(input,43,FollowSets000.FOLLOW_43_in_ruleReferenceCS7556); if (state.failed) return current;
+
+            }
+
+            getUnorderedGroupHelper().leave(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0());
+
+            }
+
+            otherlv_3=(Token)match(input,43,FollowSets000.FOLLOW_43_in_ruleReferenceCS8499); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
-                  	newLeafNode(otherlv_4, grammarAccess.getReferenceCSAccess().getPropertyKeyword_1());
+                  	newLeafNode(otherlv_3, grammarAccess.getReferenceCSAccess().getPropertyKeyword_1());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3472:1: ( (lv_name_5_0= ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3473:1: (lv_name_5_0= ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3653:1: ( (lv_name_4_0= ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3654:1: (lv_name_4_0= ruleUnrestrictedName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3473:1: (lv_name_5_0= ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3474:3: lv_name_5_0= ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3654:1: (lv_name_4_0= ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3655:3: lv_name_4_0= ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getReferenceCSAccess().getNameUnrestrictedNameParserRuleCall_2_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleReferenceCS7577);
-            lv_name_5_0=ruleUnrestrictedName();
+            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleReferenceCS8520);
+            lv_name_4_0=ruleUnrestrictedName();
 
             state._fsp--;
             if (state.failed) return current;
@@ -10265,7 +11079,7 @@
                      		set(
                      			current, 
                      			"name",
-                      		lv_name_5_0, 
+                      		lv_name_4_0, 
                       		"UnrestrictedName");
               	        afterParserOrEnumRuleCall();
               	    
@@ -10276,28 +11090,28 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3490:2: (otherlv_6= '#' ( ( ruleUnrestrictedName ) ) )?
-            int alt99=2;
-            int LA99_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3671:2: (otherlv_5= '#' ( ( ruleUnrestrictedName ) ) )?
+            int alt119=2;
+            int LA119_0 = input.LA(1);
 
-            if ( (LA99_0==77) ) {
-                alt99=1;
+            if ( (LA119_0==77) ) {
+                alt119=1;
             }
-            switch (alt99) {
+            switch (alt119) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3490:4: otherlv_6= '#' ( ( ruleUnrestrictedName ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3671:4: otherlv_5= '#' ( ( ruleUnrestrictedName ) )
                     {
-                    otherlv_6=(Token)match(input,77,FollowSets000.FOLLOW_77_in_ruleReferenceCS7590); if (state.failed) return current;
+                    otherlv_5=(Token)match(input,77,FollowSets000.FOLLOW_77_in_ruleReferenceCS8533); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
-                          	newLeafNode(otherlv_6, grammarAccess.getReferenceCSAccess().getNumberSignKeyword_3_0());
+                          	newLeafNode(otherlv_5, grammarAccess.getReferenceCSAccess().getNumberSignKeyword_3_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3494:1: ( ( ruleUnrestrictedName ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3495:1: ( ruleUnrestrictedName )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3675:1: ( ( ruleUnrestrictedName ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3676:1: ( ruleUnrestrictedName )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3495:1: ( ruleUnrestrictedName )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3496:3: ruleUnrestrictedName
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3676:1: ( ruleUnrestrictedName )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3677:3: ruleUnrestrictedName
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -10316,7 +11130,7 @@
                       	        newCompositeNode(grammarAccess.getReferenceCSAccess().getReferredOppositePropertyCrossReference_3_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleReferenceCS7617);
+                    pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleReferenceCS8560);
                     ruleUnrestrictedName();
 
                     state._fsp--;
@@ -10338,36 +11152,36 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3512:4: (otherlv_8= ':' ( (lv_ownedType_9_0= ruleTypedMultiplicityRefCS ) ) )?
-            int alt100=2;
-            int LA100_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3693:4: (otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypedMultiplicityRefCS ) ) )?
+            int alt120=2;
+            int LA120_0 = input.LA(1);
 
-            if ( (LA100_0==57) ) {
-                alt100=1;
+            if ( (LA120_0==57) ) {
+                alt120=1;
             }
-            switch (alt100) {
+            switch (alt120) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3512:6: otherlv_8= ':' ( (lv_ownedType_9_0= ruleTypedMultiplicityRefCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3693:6: otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypedMultiplicityRefCS ) )
                     {
-                    otherlv_8=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleReferenceCS7632); if (state.failed) return current;
+                    otherlv_7=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleReferenceCS8575); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
-                          	newLeafNode(otherlv_8, grammarAccess.getReferenceCSAccess().getColonKeyword_4_0());
+                          	newLeafNode(otherlv_7, grammarAccess.getReferenceCSAccess().getColonKeyword_4_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3516:1: ( (lv_ownedType_9_0= ruleTypedMultiplicityRefCS ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3517:1: (lv_ownedType_9_0= ruleTypedMultiplicityRefCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3697:1: ( (lv_ownedType_8_0= ruleTypedMultiplicityRefCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3698:1: (lv_ownedType_8_0= ruleTypedMultiplicityRefCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3517:1: (lv_ownedType_9_0= ruleTypedMultiplicityRefCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3518:3: lv_ownedType_9_0= ruleTypedMultiplicityRefCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3698:1: (lv_ownedType_8_0= ruleTypedMultiplicityRefCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3699:3: lv_ownedType_8_0= ruleTypedMultiplicityRefCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getReferenceCSAccess().getOwnedTypeTypedMultiplicityRefCSParserRuleCall_4_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTypedMultiplicityRefCS_in_ruleReferenceCS7653);
-                    lv_ownedType_9_0=ruleTypedMultiplicityRefCS();
+                    pushFollow(FollowSets000.FOLLOW_ruleTypedMultiplicityRefCS_in_ruleReferenceCS8596);
+                    lv_ownedType_8_0=ruleTypedMultiplicityRefCS();
 
                     state._fsp--;
                     if (state.failed) return current;
@@ -10379,7 +11193,7 @@
                              		set(
                              			current, 
                              			"ownedType",
-                              		lv_ownedType_9_0, 
+                              		lv_ownedType_8_0, 
                               		"TypedMultiplicityRefCS");
                       	        afterParserOrEnumRuleCall();
                       	    
@@ -10396,33 +11210,33 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3534:4: (otherlv_10= '=' ( (lv_default_11_0= RULE_SINGLE_QUOTED_STRING ) ) )?
-            int alt101=2;
-            int LA101_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3715:4: (otherlv_9= '=' ( (lv_default_10_0= RULE_SINGLE_QUOTED_STRING ) ) )?
+            int alt121=2;
+            int LA121_0 = input.LA(1);
 
-            if ( (LA101_0==63) ) {
-                alt101=1;
+            if ( (LA121_0==63) ) {
+                alt121=1;
             }
-            switch (alt101) {
+            switch (alt121) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3534:6: otherlv_10= '=' ( (lv_default_11_0= RULE_SINGLE_QUOTED_STRING ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3715:6: otherlv_9= '=' ( (lv_default_10_0= RULE_SINGLE_QUOTED_STRING ) )
                     {
-                    otherlv_10=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleReferenceCS7668); if (state.failed) return current;
+                    otherlv_9=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleReferenceCS8611); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
-                          	newLeafNode(otherlv_10, grammarAccess.getReferenceCSAccess().getEqualsSignKeyword_5_0());
+                          	newLeafNode(otherlv_9, grammarAccess.getReferenceCSAccess().getEqualsSignKeyword_5_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3538:1: ( (lv_default_11_0= RULE_SINGLE_QUOTED_STRING ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3539:1: (lv_default_11_0= RULE_SINGLE_QUOTED_STRING )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3719:1: ( (lv_default_10_0= RULE_SINGLE_QUOTED_STRING ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3720:1: (lv_default_10_0= RULE_SINGLE_QUOTED_STRING )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3539:1: (lv_default_11_0= RULE_SINGLE_QUOTED_STRING )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3540:3: lv_default_11_0= RULE_SINGLE_QUOTED_STRING
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3720:1: (lv_default_10_0= RULE_SINGLE_QUOTED_STRING )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3721:3: lv_default_10_0= RULE_SINGLE_QUOTED_STRING
                     {
-                    lv_default_11_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleReferenceCS7685); if (state.failed) return current;
+                    lv_default_10_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleReferenceCS8628); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
-                      			newLeafNode(lv_default_11_0, grammarAccess.getReferenceCSAccess().getDefaultSINGLE_QUOTED_STRINGTerminalRuleCall_5_1_0()); 
+                      			newLeafNode(lv_default_10_0, grammarAccess.getReferenceCSAccess().getDefaultSINGLE_QUOTED_STRINGTerminalRuleCall_5_1_0()); 
                       		
                     }
                     if ( state.backtracking==0 ) {
@@ -10433,7 +11247,7 @@
                              		setWithLastConsumed(
                              			current, 
                              			"default",
-                              		lv_default_11_0, 
+                              		lv_default_10_0, 
                               		"SINGLE_QUOTED_STRING");
                       	    
                     }
@@ -10449,158 +11263,233 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3556:4: (otherlv_12= '{' ( ( ( (lv_qualifiers_13_0= 'composes' ) ) | ( (lv_qualifiers_14_0= '!composes' ) ) | ( (lv_qualifiers_15_0= 'derived' ) ) | ( (lv_qualifiers_16_0= '!derived' ) ) | ( (lv_qualifiers_17_0= 'ordered' ) ) | ( (lv_qualifiers_18_0= '!ordered' ) ) | ( (lv_qualifiers_19_0= 'readonly' ) ) | ( (lv_qualifiers_20_0= '!readonly' ) ) | ( (lv_qualifiers_21_0= 'resolve' ) ) | ( (lv_qualifiers_22_0= '!resolve' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) | ( (lv_qualifiers_27_0= 'unsettable' ) ) | ( (lv_qualifiers_28_0= '!unsettable' ) ) | ( (lv_qualifiers_29_0= 'volatile' ) ) | ( (lv_qualifiers_30_0= '!volatile' ) ) ) (otherlv_31= ',' )? )+ otherlv_32= '}' )?
-            int alt105=2;
-            int LA105_0 = input.LA(1);
-
-            if ( (LA105_0==61) ) {
-                int LA105_1 = input.LA(2);
-
-                if ( (LA105_1==24||LA105_1==28||LA105_1==38||LA105_1==44||LA105_1==46||(LA105_1>=50 && LA105_1<=53)||LA105_1==64||(LA105_1>=66 && LA105_1<=71)||(LA105_1>=78 && LA105_1<=79)) ) {
-                    alt105=1;
-                }
-            }
-            switch (alt105) {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3737:4: ( ( ( ( ({...}? => ( ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) ) ) ) )+ {...}?) ) )?
+            int alt143=2;
+            alt143 = dfa143.predict(input);
+            switch (alt143) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3556:6: otherlv_12= '{' ( ( ( (lv_qualifiers_13_0= 'composes' ) ) | ( (lv_qualifiers_14_0= '!composes' ) ) | ( (lv_qualifiers_15_0= 'derived' ) ) | ( (lv_qualifiers_16_0= '!derived' ) ) | ( (lv_qualifiers_17_0= 'ordered' ) ) | ( (lv_qualifiers_18_0= '!ordered' ) ) | ( (lv_qualifiers_19_0= 'readonly' ) ) | ( (lv_qualifiers_20_0= '!readonly' ) ) | ( (lv_qualifiers_21_0= 'resolve' ) ) | ( (lv_qualifiers_22_0= '!resolve' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) | ( (lv_qualifiers_27_0= 'unsettable' ) ) | ( (lv_qualifiers_28_0= '!unsettable' ) ) | ( (lv_qualifiers_29_0= 'volatile' ) ) | ( (lv_qualifiers_30_0= '!volatile' ) ) ) (otherlv_31= ',' )? )+ otherlv_32= '}'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3739:1: ( ( ( ({...}? => ( ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) ) ) ) )+ {...}?) )
                     {
-                    otherlv_12=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleReferenceCS7705); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                          	newLeafNode(otherlv_12, grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_6_0());
-                          
-                    }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3560:1: ( ( ( (lv_qualifiers_13_0= 'composes' ) ) | ( (lv_qualifiers_14_0= '!composes' ) ) | ( (lv_qualifiers_15_0= 'derived' ) ) | ( (lv_qualifiers_16_0= '!derived' ) ) | ( (lv_qualifiers_17_0= 'ordered' ) ) | ( (lv_qualifiers_18_0= '!ordered' ) ) | ( (lv_qualifiers_19_0= 'readonly' ) ) | ( (lv_qualifiers_20_0= '!readonly' ) ) | ( (lv_qualifiers_21_0= 'resolve' ) ) | ( (lv_qualifiers_22_0= '!resolve' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) | ( (lv_qualifiers_27_0= 'unsettable' ) ) | ( (lv_qualifiers_28_0= '!unsettable' ) ) | ( (lv_qualifiers_29_0= 'volatile' ) ) | ( (lv_qualifiers_30_0= '!volatile' ) ) ) (otherlv_31= ',' )? )+
-                    int cnt104=0;
-                    loop104:
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3739:1: ( ( ( ({...}? => ( ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) ) ) ) )+ {...}?) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3740:2: ( ( ({...}? => ( ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) ) ) ) )+ {...}?)
+                    {
+                    getUnorderedGroupHelper().enter(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6());
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3743:2: ( ( ({...}? => ( ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) ) ) ) )+ {...}?)
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3744:3: ( ({...}? => ( ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) ) ) ) )+ {...}?
+                    {
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3744:3: ( ({...}? => ( ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) ) ) ) )+
+                    int cnt142=0;
+                    loop142:
                     do {
-                        int alt104=2;
-                        int LA104_0 = input.LA(1);
-
-                        if ( (LA104_0==24||LA104_0==28||LA104_0==38||LA104_0==44||LA104_0==46||(LA104_0>=50 && LA104_0<=53)||LA104_0==64||(LA104_0>=66 && LA104_0<=71)||(LA104_0>=78 && LA104_0<=79)) ) {
-                            alt104=1;
-                        }
-
-
-                        switch (alt104) {
+                        int alt142=10;
+                        alt142 = dfa142.predict(input);
+                        switch (alt142) {
                     	case 1 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3560:2: ( ( (lv_qualifiers_13_0= 'composes' ) ) | ( (lv_qualifiers_14_0= '!composes' ) ) | ( (lv_qualifiers_15_0= 'derived' ) ) | ( (lv_qualifiers_16_0= '!derived' ) ) | ( (lv_qualifiers_17_0= 'ordered' ) ) | ( (lv_qualifiers_18_0= '!ordered' ) ) | ( (lv_qualifiers_19_0= 'readonly' ) ) | ( (lv_qualifiers_20_0= '!readonly' ) ) | ( (lv_qualifiers_21_0= 'resolve' ) ) | ( (lv_qualifiers_22_0= '!resolve' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) | ( (lv_qualifiers_27_0= 'unsettable' ) ) | ( (lv_qualifiers_28_0= '!unsettable' ) ) | ( (lv_qualifiers_29_0= 'volatile' ) ) | ( (lv_qualifiers_30_0= '!volatile' ) ) ) (otherlv_31= ',' )?
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3746:4: ({...}? => ( ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) ) ) )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3560:2: ( ( (lv_qualifiers_13_0= 'composes' ) ) | ( (lv_qualifiers_14_0= '!composes' ) ) | ( (lv_qualifiers_15_0= 'derived' ) ) | ( (lv_qualifiers_16_0= '!derived' ) ) | ( (lv_qualifiers_17_0= 'ordered' ) ) | ( (lv_qualifiers_18_0= '!ordered' ) ) | ( (lv_qualifiers_19_0= 'readonly' ) ) | ( (lv_qualifiers_20_0= '!readonly' ) ) | ( (lv_qualifiers_21_0= 'resolve' ) ) | ( (lv_qualifiers_22_0= '!resolve' ) ) | ( (lv_qualifiers_23_0= 'transient' ) ) | ( (lv_qualifiers_24_0= '!transient' ) ) | ( (lv_qualifiers_25_0= 'unique' ) ) | ( (lv_qualifiers_26_0= '!unique' ) ) | ( (lv_qualifiers_27_0= 'unsettable' ) ) | ( (lv_qualifiers_28_0= '!unsettable' ) ) | ( (lv_qualifiers_29_0= 'volatile' ) ) | ( (lv_qualifiers_30_0= '!volatile' ) ) )
-                    	    int alt102=18;
-                    	    switch ( input.LA(1) ) {
-                    	    case 24:
-                    	        {
-                    	        alt102=1;
-                    	        }
-                    	        break;
-                    	    case 78:
-                    	        {
-                    	        alt102=2;
-                    	        }
-                    	        break;
-                    	    case 28:
-                    	        {
-                    	        alt102=3;
-                    	        }
-                    	        break;
-                    	    case 64:
-                    	        {
-                    	        alt102=4;
-                    	        }
-                    	        break;
-                    	    case 38:
-                    	        {
-                    	        alt102=5;
-                    	        }
-                    	        break;
-                    	    case 66:
-                    	        {
-                    	        alt102=6;
-                    	        }
-                    	        break;
-                    	    case 44:
-                    	        {
-                    	        alt102=7;
-                    	        }
-                    	        break;
-                    	    case 67:
-                    	        {
-                    	        alt102=8;
-                    	        }
-                    	        break;
-                    	    case 46:
-                    	        {
-                    	        alt102=9;
-                    	        }
-                    	        break;
-                    	    case 79:
-                    	        {
-                    	        alt102=10;
-                    	        }
-                    	        break;
-                    	    case 50:
-                    	        {
-                    	        alt102=11;
-                    	        }
-                    	        break;
-                    	    case 68:
-                    	        {
-                    	        alt102=12;
-                    	        }
-                    	        break;
-                    	    case 51:
-                    	        {
-                    	        alt102=13;
-                    	        }
-                    	        break;
-                    	    case 69:
-                    	        {
-                    	        alt102=14;
-                    	        }
-                    	        break;
-                    	    case 52:
-                    	        {
-                    	        alt102=15;
-                    	        }
-                    	        break;
-                    	    case 70:
-                    	        {
-                    	        alt102=16;
-                    	        }
-                    	        break;
-                    	    case 53:
-                    	        {
-                    	        alt102=17;
-                    	        }
-                    	        break;
-                    	    case 71:
-                    	        {
-                    	        alt102=18;
-                    	        }
-                    	        break;
-                    	    default:
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3746:4: ({...}? => ( ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3747:5: {...}? => ( ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) ) )
+                    	    {
+                    	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleReferenceCS", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0)");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3747:108: ( ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3748:6: ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) )
+                    	    {
+                    	    getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0);
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3751:6: ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3751:7: {...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? )
+                    	    {
+                    	    if ( !((true)) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleReferenceCS", "true");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3751:16: (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3751:18: otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )?
+                    	    {
+                    	    otherlv_12=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleReferenceCS8693); if (state.failed) return current;
+                    	    if ( state.backtracking==0 ) {
+
+                    	          	newLeafNode(otherlv_12, grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_6_0_0());
+                    	          
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3755:1: ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )?
+                    	    int alt124=2;
+                    	    int LA124_0 = input.LA(1);
+
+                    	    if ( (LA124_0==24||LA124_0==78) ) {
+                    	        alt124=1;
+                    	    }
+                    	    switch (alt124) {
+                    	        case 1 :
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3755:2: ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )?
+                    	            {
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3755:2: ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' )
+                    	            int alt122=2;
+                    	            int LA122_0 = input.LA(1);
+
+                    	            if ( (LA122_0==24) ) {
+                    	                alt122=1;
+                    	            }
+                    	            else if ( (LA122_0==78) ) {
+                    	                alt122=2;
+                    	            }
+                    	            else {
+                    	                if (state.backtracking>0) {state.failed=true; return current;}
+                    	                NoViableAltException nvae =
+                    	                    new NoViableAltException("", 122, 0, input);
+
+                    	                throw nvae;
+                    	            }
+                    	            switch (alt122) {
+                    	                case 1 :
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3755:3: ( (lv_isComposes_13_0= 'composes' ) )
+                    	                    {
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3755:3: ( (lv_isComposes_13_0= 'composes' ) )
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3756:1: (lv_isComposes_13_0= 'composes' )
+                    	                    {
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3756:1: (lv_isComposes_13_0= 'composes' )
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3757:3: lv_isComposes_13_0= 'composes'
+                    	                    {
+                    	                    lv_isComposes_13_0=(Token)match(input,24,FollowSets000.FOLLOW_24_in_ruleReferenceCS8713); if (state.failed) return current;
+                    	                    if ( state.backtracking==0 ) {
+
+                    	                              newLeafNode(lv_isComposes_13_0, grammarAccess.getReferenceCSAccess().getIsComposesComposesKeyword_6_0_1_0_0_0());
+                    	                          
+                    	                    }
+                    	                    if ( state.backtracking==0 ) {
+
+                    	                      	        if (current==null) {
+                    	                      	            current = createModelElement(grammarAccess.getReferenceCSRule());
+                    	                      	        }
+                    	                             		setWithLastConsumed(current, "isComposes", true, "composes");
+                    	                      	    
+                    	                    }
+
+                    	                    }
+
+
+                    	                    }
+
+
+                    	                    }
+                    	                    break;
+                    	                case 2 :
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3771:7: otherlv_14= '!composes'
+                    	                    {
+                    	                    otherlv_14=(Token)match(input,78,FollowSets000.FOLLOW_78_in_ruleReferenceCS8744); if (state.failed) return current;
+                    	                    if ( state.backtracking==0 ) {
+
+                    	                          	newLeafNode(otherlv_14, grammarAccess.getReferenceCSAccess().getComposesKeyword_6_0_1_0_1());
+                    	                          
+                    	                    }
+
+                    	                    }
+                    	                    break;
+
+                    	            }
+
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3775:2: (otherlv_15= ',' )?
+                    	            int alt123=2;
+                    	            int LA123_0 = input.LA(1);
+
+                    	            if ( (LA123_0==60) ) {
+                    	                alt123=1;
+                    	            }
+                    	            switch (alt123) {
+                    	                case 1 :
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3775:4: otherlv_15= ','
+                    	                    {
+                    	                    otherlv_15=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleReferenceCS8758); if (state.failed) return current;
+                    	                    if ( state.backtracking==0 ) {
+
+                    	                          	newLeafNode(otherlv_15, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_0_1_1());
+                    	                          
+                    	                    }
+
+                    	                    }
+                    	                    break;
+
+                    	            }
+
+
+                    	            }
+                    	            break;
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+
+                    	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6());
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+                    	    break;
+                    	case 2 :
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3786:4: ({...}? => ( ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) ) ) )
+                    	    {
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3786:4: ({...}? => ( ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3787:5: {...}? => ( ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) ) )
+                    	    {
+                    	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleReferenceCS", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1)");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3787:108: ( ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3788:6: ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) )
+                    	    {
+                    	    getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1);
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3791:6: ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3791:7: {...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? )
+                    	    {
+                    	    if ( !((true)) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleReferenceCS", "true");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3791:16: ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3791:17: ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )?
+                    	    {
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3791:17: ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' )
+                    	    int alt125=2;
+                    	    int LA125_0 = input.LA(1);
+
+                    	    if ( (LA125_0==28) ) {
+                    	        alt125=1;
+                    	    }
+                    	    else if ( (LA125_0==64) ) {
+                    	        alt125=2;
+                    	    }
+                    	    else {
                     	        if (state.backtracking>0) {state.failed=true; return current;}
                     	        NoViableAltException nvae =
-                    	            new NoViableAltException("", 102, 0, input);
+                    	            new NoViableAltException("", 125, 0, input);
 
                     	        throw nvae;
                     	    }
-
-                    	    switch (alt102) {
+                    	    switch (alt125) {
                     	        case 1 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3560:3: ( (lv_qualifiers_13_0= 'composes' ) )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3791:18: ( (lv_isDerived_16_0= 'derived' ) )
                     	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3560:3: ( (lv_qualifiers_13_0= 'composes' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3561:1: (lv_qualifiers_13_0= 'composes' )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3791:18: ( (lv_isDerived_16_0= 'derived' ) )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3792:1: (lv_isDerived_16_0= 'derived' )
                     	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3561:1: (lv_qualifiers_13_0= 'composes' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3562:3: lv_qualifiers_13_0= 'composes'
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3792:1: (lv_isDerived_16_0= 'derived' )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3793:3: lv_isDerived_16_0= 'derived'
                     	            {
-                    	            lv_qualifiers_13_0=(Token)match(input,24,FollowSets000.FOLLOW_24_in_ruleReferenceCS7725); if (state.failed) return current;
+                    	            lv_isDerived_16_0=(Token)match(input,28,FollowSets000.FOLLOW_28_in_ruleReferenceCS8837); if (state.failed) return current;
                     	            if ( state.backtracking==0 ) {
 
-                    	                      newLeafNode(lv_qualifiers_13_0, grammarAccess.getReferenceCSAccess().getQualifiersComposesKeyword_6_1_0_0_0());
+                    	                      newLeafNode(lv_isDerived_16_0, grammarAccess.getReferenceCSAccess().getIsDerivedDerivedKeyword_6_1_0_0_0());
                     	                  
                     	            }
                     	            if ( state.backtracking==0 ) {
@@ -10608,7 +11497,7 @@
                     	              	        if (current==null) {
                     	              	            current = createModelElement(grammarAccess.getReferenceCSRule());
                     	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_13_0, "composes");
+                    	                     		setWithLastConsumed(current, "isDerived", true, "derived");
                     	              	    
                     	            }
 
@@ -10621,567 +11510,35 @@
                     	            }
                     	            break;
                     	        case 2 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3576:6: ( (lv_qualifiers_14_0= '!composes' ) )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3807:7: otherlv_17= '!derived'
                     	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3576:6: ( (lv_qualifiers_14_0= '!composes' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3577:1: (lv_qualifiers_14_0= '!composes' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3577:1: (lv_qualifiers_14_0= '!composes' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3578:3: lv_qualifiers_14_0= '!composes'
-                    	            {
-                    	            lv_qualifiers_14_0=(Token)match(input,78,FollowSets000.FOLLOW_78_in_ruleReferenceCS7762); if (state.failed) return current;
+                    	            otherlv_17=(Token)match(input,64,FollowSets000.FOLLOW_64_in_ruleReferenceCS8868); if (state.failed) return current;
                     	            if ( state.backtracking==0 ) {
 
-                    	                      newLeafNode(lv_qualifiers_14_0, grammarAccess.getReferenceCSAccess().getQualifiersComposesKeyword_6_1_0_1_0());
+                    	                  	newLeafNode(otherlv_17, grammarAccess.getReferenceCSAccess().getDerivedKeyword_6_1_0_1());
                     	                  
                     	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getReferenceCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_14_0, "!composes");
-                    	              	    
-                    	            }
-
-                    	            }
-
-
-                    	            }
-
-
-                    	            }
-                    	            break;
-                    	        case 3 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3592:6: ( (lv_qualifiers_15_0= 'derived' ) )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3592:6: ( (lv_qualifiers_15_0= 'derived' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3593:1: (lv_qualifiers_15_0= 'derived' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3593:1: (lv_qualifiers_15_0= 'derived' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3594:3: lv_qualifiers_15_0= 'derived'
-                    	            {
-                    	            lv_qualifiers_15_0=(Token)match(input,28,FollowSets000.FOLLOW_28_in_ruleReferenceCS7799); if (state.failed) return current;
-                    	            if ( state.backtracking==0 ) {
-
-                    	                      newLeafNode(lv_qualifiers_15_0, grammarAccess.getReferenceCSAccess().getQualifiersDerivedKeyword_6_1_0_2_0());
-                    	                  
-                    	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getReferenceCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_15_0, "derived");
-                    	              	    
-                    	            }
-
-                    	            }
-
-
-                    	            }
-
-
-                    	            }
-                    	            break;
-                    	        case 4 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3608:6: ( (lv_qualifiers_16_0= '!derived' ) )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3608:6: ( (lv_qualifiers_16_0= '!derived' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3609:1: (lv_qualifiers_16_0= '!derived' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3609:1: (lv_qualifiers_16_0= '!derived' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3610:3: lv_qualifiers_16_0= '!derived'
-                    	            {
-                    	            lv_qualifiers_16_0=(Token)match(input,64,FollowSets000.FOLLOW_64_in_ruleReferenceCS7836); if (state.failed) return current;
-                    	            if ( state.backtracking==0 ) {
-
-                    	                      newLeafNode(lv_qualifiers_16_0, grammarAccess.getReferenceCSAccess().getQualifiersDerivedKeyword_6_1_0_3_0());
-                    	                  
-                    	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getReferenceCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_16_0, "!derived");
-                    	              	    
-                    	            }
-
-                    	            }
-
-
-                    	            }
-
-
-                    	            }
-                    	            break;
-                    	        case 5 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3624:6: ( (lv_qualifiers_17_0= 'ordered' ) )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3624:6: ( (lv_qualifiers_17_0= 'ordered' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3625:1: (lv_qualifiers_17_0= 'ordered' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3625:1: (lv_qualifiers_17_0= 'ordered' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3626:3: lv_qualifiers_17_0= 'ordered'
-                    	            {
-                    	            lv_qualifiers_17_0=(Token)match(input,38,FollowSets000.FOLLOW_38_in_ruleReferenceCS7873); if (state.failed) return current;
-                    	            if ( state.backtracking==0 ) {
-
-                    	                      newLeafNode(lv_qualifiers_17_0, grammarAccess.getReferenceCSAccess().getQualifiersOrderedKeyword_6_1_0_4_0());
-                    	                  
-                    	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getReferenceCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_17_0, "ordered");
-                    	              	    
-                    	            }
-
-                    	            }
-
-
-                    	            }
-
-
-                    	            }
-                    	            break;
-                    	        case 6 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3640:6: ( (lv_qualifiers_18_0= '!ordered' ) )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3640:6: ( (lv_qualifiers_18_0= '!ordered' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3641:1: (lv_qualifiers_18_0= '!ordered' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3641:1: (lv_qualifiers_18_0= '!ordered' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3642:3: lv_qualifiers_18_0= '!ordered'
-                    	            {
-                    	            lv_qualifiers_18_0=(Token)match(input,66,FollowSets000.FOLLOW_66_in_ruleReferenceCS7910); if (state.failed) return current;
-                    	            if ( state.backtracking==0 ) {
-
-                    	                      newLeafNode(lv_qualifiers_18_0, grammarAccess.getReferenceCSAccess().getQualifiersOrderedKeyword_6_1_0_5_0());
-                    	                  
-                    	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getReferenceCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_18_0, "!ordered");
-                    	              	    
-                    	            }
-
-                    	            }
-
-
-                    	            }
-
-
-                    	            }
-                    	            break;
-                    	        case 7 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3656:6: ( (lv_qualifiers_19_0= 'readonly' ) )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3656:6: ( (lv_qualifiers_19_0= 'readonly' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3657:1: (lv_qualifiers_19_0= 'readonly' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3657:1: (lv_qualifiers_19_0= 'readonly' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3658:3: lv_qualifiers_19_0= 'readonly'
-                    	            {
-                    	            lv_qualifiers_19_0=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleReferenceCS7947); if (state.failed) return current;
-                    	            if ( state.backtracking==0 ) {
-
-                    	                      newLeafNode(lv_qualifiers_19_0, grammarAccess.getReferenceCSAccess().getQualifiersReadonlyKeyword_6_1_0_6_0());
-                    	                  
-                    	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getReferenceCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_19_0, "readonly");
-                    	              	    
-                    	            }
-
-                    	            }
-
-
-                    	            }
-
-
-                    	            }
-                    	            break;
-                    	        case 8 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3672:6: ( (lv_qualifiers_20_0= '!readonly' ) )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3672:6: ( (lv_qualifiers_20_0= '!readonly' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3673:1: (lv_qualifiers_20_0= '!readonly' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3673:1: (lv_qualifiers_20_0= '!readonly' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3674:3: lv_qualifiers_20_0= '!readonly'
-                    	            {
-                    	            lv_qualifiers_20_0=(Token)match(input,67,FollowSets000.FOLLOW_67_in_ruleReferenceCS7984); if (state.failed) return current;
-                    	            if ( state.backtracking==0 ) {
-
-                    	                      newLeafNode(lv_qualifiers_20_0, grammarAccess.getReferenceCSAccess().getQualifiersReadonlyKeyword_6_1_0_7_0());
-                    	                  
-                    	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getReferenceCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_20_0, "!readonly");
-                    	              	    
-                    	            }
-
-                    	            }
-
-
-                    	            }
-
-
-                    	            }
-                    	            break;
-                    	        case 9 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3688:6: ( (lv_qualifiers_21_0= 'resolve' ) )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3688:6: ( (lv_qualifiers_21_0= 'resolve' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3689:1: (lv_qualifiers_21_0= 'resolve' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3689:1: (lv_qualifiers_21_0= 'resolve' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3690:3: lv_qualifiers_21_0= 'resolve'
-                    	            {
-                    	            lv_qualifiers_21_0=(Token)match(input,46,FollowSets000.FOLLOW_46_in_ruleReferenceCS8021); if (state.failed) return current;
-                    	            if ( state.backtracking==0 ) {
-
-                    	                      newLeafNode(lv_qualifiers_21_0, grammarAccess.getReferenceCSAccess().getQualifiersResolveKeyword_6_1_0_8_0());
-                    	                  
-                    	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getReferenceCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_21_0, "resolve");
-                    	              	    
-                    	            }
-
-                    	            }
-
-
-                    	            }
-
-
-                    	            }
-                    	            break;
-                    	        case 10 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3704:6: ( (lv_qualifiers_22_0= '!resolve' ) )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3704:6: ( (lv_qualifiers_22_0= '!resolve' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3705:1: (lv_qualifiers_22_0= '!resolve' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3705:1: (lv_qualifiers_22_0= '!resolve' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3706:3: lv_qualifiers_22_0= '!resolve'
-                    	            {
-                    	            lv_qualifiers_22_0=(Token)match(input,79,FollowSets000.FOLLOW_79_in_ruleReferenceCS8058); if (state.failed) return current;
-                    	            if ( state.backtracking==0 ) {
-
-                    	                      newLeafNode(lv_qualifiers_22_0, grammarAccess.getReferenceCSAccess().getQualifiersResolveKeyword_6_1_0_9_0());
-                    	                  
-                    	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getReferenceCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_22_0, "!resolve");
-                    	              	    
-                    	            }
-
-                    	            }
-
-
-                    	            }
-
-
-                    	            }
-                    	            break;
-                    	        case 11 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3720:6: ( (lv_qualifiers_23_0= 'transient' ) )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3720:6: ( (lv_qualifiers_23_0= 'transient' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3721:1: (lv_qualifiers_23_0= 'transient' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3721:1: (lv_qualifiers_23_0= 'transient' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3722:3: lv_qualifiers_23_0= 'transient'
-                    	            {
-                    	            lv_qualifiers_23_0=(Token)match(input,50,FollowSets000.FOLLOW_50_in_ruleReferenceCS8095); if (state.failed) return current;
-                    	            if ( state.backtracking==0 ) {
-
-                    	                      newLeafNode(lv_qualifiers_23_0, grammarAccess.getReferenceCSAccess().getQualifiersTransientKeyword_6_1_0_10_0());
-                    	                  
-                    	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getReferenceCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_23_0, "transient");
-                    	              	    
-                    	            }
-
-                    	            }
-
-
-                    	            }
-
-
-                    	            }
-                    	            break;
-                    	        case 12 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3736:6: ( (lv_qualifiers_24_0= '!transient' ) )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3736:6: ( (lv_qualifiers_24_0= '!transient' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3737:1: (lv_qualifiers_24_0= '!transient' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3737:1: (lv_qualifiers_24_0= '!transient' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3738:3: lv_qualifiers_24_0= '!transient'
-                    	            {
-                    	            lv_qualifiers_24_0=(Token)match(input,68,FollowSets000.FOLLOW_68_in_ruleReferenceCS8132); if (state.failed) return current;
-                    	            if ( state.backtracking==0 ) {
-
-                    	                      newLeafNode(lv_qualifiers_24_0, grammarAccess.getReferenceCSAccess().getQualifiersTransientKeyword_6_1_0_11_0());
-                    	                  
-                    	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getReferenceCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_24_0, "!transient");
-                    	              	    
-                    	            }
-
-                    	            }
-
-
-                    	            }
-
-
-                    	            }
-                    	            break;
-                    	        case 13 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3752:6: ( (lv_qualifiers_25_0= 'unique' ) )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3752:6: ( (lv_qualifiers_25_0= 'unique' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3753:1: (lv_qualifiers_25_0= 'unique' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3753:1: (lv_qualifiers_25_0= 'unique' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3754:3: lv_qualifiers_25_0= 'unique'
-                    	            {
-                    	            lv_qualifiers_25_0=(Token)match(input,51,FollowSets000.FOLLOW_51_in_ruleReferenceCS8169); if (state.failed) return current;
-                    	            if ( state.backtracking==0 ) {
-
-                    	                      newLeafNode(lv_qualifiers_25_0, grammarAccess.getReferenceCSAccess().getQualifiersUniqueKeyword_6_1_0_12_0());
-                    	                  
-                    	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getReferenceCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_25_0, "unique");
-                    	              	    
-                    	            }
-
-                    	            }
-
-
-                    	            }
-
-
-                    	            }
-                    	            break;
-                    	        case 14 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3768:6: ( (lv_qualifiers_26_0= '!unique' ) )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3768:6: ( (lv_qualifiers_26_0= '!unique' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3769:1: (lv_qualifiers_26_0= '!unique' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3769:1: (lv_qualifiers_26_0= '!unique' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3770:3: lv_qualifiers_26_0= '!unique'
-                    	            {
-                    	            lv_qualifiers_26_0=(Token)match(input,69,FollowSets000.FOLLOW_69_in_ruleReferenceCS8206); if (state.failed) return current;
-                    	            if ( state.backtracking==0 ) {
-
-                    	                      newLeafNode(lv_qualifiers_26_0, grammarAccess.getReferenceCSAccess().getQualifiersUniqueKeyword_6_1_0_13_0());
-                    	                  
-                    	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getReferenceCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_26_0, "!unique");
-                    	              	    
-                    	            }
-
-                    	            }
-
-
-                    	            }
-
-
-                    	            }
-                    	            break;
-                    	        case 15 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3784:6: ( (lv_qualifiers_27_0= 'unsettable' ) )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3784:6: ( (lv_qualifiers_27_0= 'unsettable' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3785:1: (lv_qualifiers_27_0= 'unsettable' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3785:1: (lv_qualifiers_27_0= 'unsettable' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3786:3: lv_qualifiers_27_0= 'unsettable'
-                    	            {
-                    	            lv_qualifiers_27_0=(Token)match(input,52,FollowSets000.FOLLOW_52_in_ruleReferenceCS8243); if (state.failed) return current;
-                    	            if ( state.backtracking==0 ) {
-
-                    	                      newLeafNode(lv_qualifiers_27_0, grammarAccess.getReferenceCSAccess().getQualifiersUnsettableKeyword_6_1_0_14_0());
-                    	                  
-                    	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getReferenceCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_27_0, "unsettable");
-                    	              	    
-                    	            }
-
-                    	            }
-
-
-                    	            }
-
-
-                    	            }
-                    	            break;
-                    	        case 16 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3800:6: ( (lv_qualifiers_28_0= '!unsettable' ) )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3800:6: ( (lv_qualifiers_28_0= '!unsettable' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3801:1: (lv_qualifiers_28_0= '!unsettable' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3801:1: (lv_qualifiers_28_0= '!unsettable' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3802:3: lv_qualifiers_28_0= '!unsettable'
-                    	            {
-                    	            lv_qualifiers_28_0=(Token)match(input,70,FollowSets000.FOLLOW_70_in_ruleReferenceCS8280); if (state.failed) return current;
-                    	            if ( state.backtracking==0 ) {
-
-                    	                      newLeafNode(lv_qualifiers_28_0, grammarAccess.getReferenceCSAccess().getQualifiersUnsettableKeyword_6_1_0_15_0());
-                    	                  
-                    	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getReferenceCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_28_0, "!unsettable");
-                    	              	    
-                    	            }
-
-                    	            }
-
-
-                    	            }
-
-
-                    	            }
-                    	            break;
-                    	        case 17 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3816:6: ( (lv_qualifiers_29_0= 'volatile' ) )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3816:6: ( (lv_qualifiers_29_0= 'volatile' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3817:1: (lv_qualifiers_29_0= 'volatile' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3817:1: (lv_qualifiers_29_0= 'volatile' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3818:3: lv_qualifiers_29_0= 'volatile'
-                    	            {
-                    	            lv_qualifiers_29_0=(Token)match(input,53,FollowSets000.FOLLOW_53_in_ruleReferenceCS8317); if (state.failed) return current;
-                    	            if ( state.backtracking==0 ) {
-
-                    	                      newLeafNode(lv_qualifiers_29_0, grammarAccess.getReferenceCSAccess().getQualifiersVolatileKeyword_6_1_0_16_0());
-                    	                  
-                    	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getReferenceCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_29_0, "volatile");
-                    	              	    
-                    	            }
-
-                    	            }
-
-
-                    	            }
-
-
-                    	            }
-                    	            break;
-                    	        case 18 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3832:6: ( (lv_qualifiers_30_0= '!volatile' ) )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3832:6: ( (lv_qualifiers_30_0= '!volatile' ) )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3833:1: (lv_qualifiers_30_0= '!volatile' )
-                    	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3833:1: (lv_qualifiers_30_0= '!volatile' )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3834:3: lv_qualifiers_30_0= '!volatile'
-                    	            {
-                    	            lv_qualifiers_30_0=(Token)match(input,71,FollowSets000.FOLLOW_71_in_ruleReferenceCS8354); if (state.failed) return current;
-                    	            if ( state.backtracking==0 ) {
-
-                    	                      newLeafNode(lv_qualifiers_30_0, grammarAccess.getReferenceCSAccess().getQualifiersVolatileKeyword_6_1_0_17_0());
-                    	                  
-                    	            }
-                    	            if ( state.backtracking==0 ) {
-
-                    	              	        if (current==null) {
-                    	              	            current = createModelElement(grammarAccess.getReferenceCSRule());
-                    	              	        }
-                    	                     		addWithLastConsumed(current, "qualifiers", lv_qualifiers_30_0, "!volatile");
-                    	              	    
-                    	            }
-
-                    	            }
-
-
-                    	            }
-
 
                     	            }
                     	            break;
 
                     	    }
 
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3847:3: (otherlv_31= ',' )?
-                    	    int alt103=2;
-                    	    int LA103_0 = input.LA(1);
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3811:2: (otherlv_18= ',' )?
+                    	    int alt126=2;
+                    	    int LA126_0 = input.LA(1);
 
-                    	    if ( (LA103_0==60) ) {
-                    	        alt103=1;
+                    	    if ( (LA126_0==60) ) {
+                    	        alt126=1;
                     	    }
-                    	    switch (alt103) {
+                    	    switch (alt126) {
                     	        case 1 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3847:5: otherlv_31= ','
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3811:4: otherlv_18= ','
                     	            {
-                    	            otherlv_31=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleReferenceCS8381); if (state.failed) return current;
+                    	            otherlv_18=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleReferenceCS8882); if (state.failed) return current;
                     	            if ( state.backtracking==0 ) {
 
-                    	                  	newLeafNode(otherlv_31, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_1_1());
+                    	                  	newLeafNode(otherlv_18, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_1_1());
                     	                  
                     	            }
 
@@ -11192,107 +11549,1044 @@
 
 
                     	    }
+
+
+                    	    }
+
+                    	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6());
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+                    	    break;
+                    	case 3 :
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3822:4: ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) ) ) )
+                    	    {
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3822:4: ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3823:5: {...}? => ( ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) ) )
+                    	    {
+                    	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleReferenceCS", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2)");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3823:108: ( ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3824:6: ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) )
+                    	    {
+                    	    getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2);
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3827:6: ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3827:7: {...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? )
+                    	    {
+                    	    if ( !((true)) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleReferenceCS", "true");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3827:16: ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3827:17: ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )?
+                    	    {
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3827:17: ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' )
+                    	    int alt127=2;
+                    	    int LA127_0 = input.LA(1);
+
+                    	    if ( (LA127_0==38) ) {
+                    	        alt127=1;
+                    	    }
+                    	    else if ( (LA127_0==66) ) {
+                    	        alt127=2;
+                    	    }
+                    	    else {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        NoViableAltException nvae =
+                    	            new NoViableAltException("", 127, 0, input);
+
+                    	        throw nvae;
+                    	    }
+                    	    switch (alt127) {
+                    	        case 1 :
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3827:18: ( (lv_isOrdered_19_0= 'ordered' ) )
+                    	            {
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3827:18: ( (lv_isOrdered_19_0= 'ordered' ) )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3828:1: (lv_isOrdered_19_0= 'ordered' )
+                    	            {
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3828:1: (lv_isOrdered_19_0= 'ordered' )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3829:3: lv_isOrdered_19_0= 'ordered'
+                    	            {
+                    	            lv_isOrdered_19_0=(Token)match(input,38,FollowSets000.FOLLOW_38_in_ruleReferenceCS8959); if (state.failed) return current;
+                    	            if ( state.backtracking==0 ) {
+
+                    	                      newLeafNode(lv_isOrdered_19_0, grammarAccess.getReferenceCSAccess().getIsOrderedOrderedKeyword_6_2_0_0_0());
+                    	                  
+                    	            }
+                    	            if ( state.backtracking==0 ) {
+
+                    	              	        if (current==null) {
+                    	              	            current = createModelElement(grammarAccess.getReferenceCSRule());
+                    	              	        }
+                    	                     		setWithLastConsumed(current, "isOrdered", true, "ordered");
+                    	              	    
+                    	            }
+
+                    	            }
+
+
+                    	            }
+
+
+                    	            }
+                    	            break;
+                    	        case 2 :
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3843:7: otherlv_20= '!ordered'
+                    	            {
+                    	            otherlv_20=(Token)match(input,66,FollowSets000.FOLLOW_66_in_ruleReferenceCS8990); if (state.failed) return current;
+                    	            if ( state.backtracking==0 ) {
+
+                    	                  	newLeafNode(otherlv_20, grammarAccess.getReferenceCSAccess().getOrderedKeyword_6_2_0_1());
+                    	                  
+                    	            }
+
+                    	            }
+                    	            break;
+
+                    	    }
+
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3847:2: (otherlv_21= ',' )?
+                    	    int alt128=2;
+                    	    int LA128_0 = input.LA(1);
+
+                    	    if ( (LA128_0==60) ) {
+                    	        alt128=1;
+                    	    }
+                    	    switch (alt128) {
+                    	        case 1 :
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3847:4: otherlv_21= ','
+                    	            {
+                    	            otherlv_21=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleReferenceCS9004); if (state.failed) return current;
+                    	            if ( state.backtracking==0 ) {
+
+                    	                  	newLeafNode(otherlv_21, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_2_1());
+                    	                  
+                    	            }
+
+                    	            }
+                    	            break;
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+
+                    	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6());
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+                    	    break;
+                    	case 4 :
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3858:4: ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) ) ) )
+                    	    {
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3858:4: ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3859:5: {...}? => ( ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) ) )
+                    	    {
+                    	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleReferenceCS", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3)");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3859:108: ( ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3860:6: ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) )
+                    	    {
+                    	    getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3);
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3863:6: ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3863:7: {...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? )
+                    	    {
+                    	    if ( !((true)) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleReferenceCS", "true");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3863:16: ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3863:17: ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )?
+                    	    {
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3863:17: ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' )
+                    	    int alt129=2;
+                    	    int LA129_0 = input.LA(1);
+
+                    	    if ( (LA129_0==44) ) {
+                    	        alt129=1;
+                    	    }
+                    	    else if ( (LA129_0==67) ) {
+                    	        alt129=2;
+                    	    }
+                    	    else {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        NoViableAltException nvae =
+                    	            new NoViableAltException("", 129, 0, input);
+
+                    	        throw nvae;
+                    	    }
+                    	    switch (alt129) {
+                    	        case 1 :
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3863:18: ( (lv_isReadonly_22_0= 'readonly' ) )
+                    	            {
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3863:18: ( (lv_isReadonly_22_0= 'readonly' ) )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3864:1: (lv_isReadonly_22_0= 'readonly' )
+                    	            {
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3864:1: (lv_isReadonly_22_0= 'readonly' )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3865:3: lv_isReadonly_22_0= 'readonly'
+                    	            {
+                    	            lv_isReadonly_22_0=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleReferenceCS9081); if (state.failed) return current;
+                    	            if ( state.backtracking==0 ) {
+
+                    	                      newLeafNode(lv_isReadonly_22_0, grammarAccess.getReferenceCSAccess().getIsReadonlyReadonlyKeyword_6_3_0_0_0());
+                    	                  
+                    	            }
+                    	            if ( state.backtracking==0 ) {
+
+                    	              	        if (current==null) {
+                    	              	            current = createModelElement(grammarAccess.getReferenceCSRule());
+                    	              	        }
+                    	                     		setWithLastConsumed(current, "isReadonly", true, "readonly");
+                    	              	    
+                    	            }
+
+                    	            }
+
+
+                    	            }
+
+
+                    	            }
+                    	            break;
+                    	        case 2 :
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3879:7: otherlv_23= '!readonly'
+                    	            {
+                    	            otherlv_23=(Token)match(input,67,FollowSets000.FOLLOW_67_in_ruleReferenceCS9112); if (state.failed) return current;
+                    	            if ( state.backtracking==0 ) {
+
+                    	                  	newLeafNode(otherlv_23, grammarAccess.getReferenceCSAccess().getReadonlyKeyword_6_3_0_1());
+                    	                  
+                    	            }
+
+                    	            }
+                    	            break;
+
+                    	    }
+
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3883:2: (otherlv_24= ',' )?
+                    	    int alt130=2;
+                    	    int LA130_0 = input.LA(1);
+
+                    	    if ( (LA130_0==60) ) {
+                    	        alt130=1;
+                    	    }
+                    	    switch (alt130) {
+                    	        case 1 :
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3883:4: otherlv_24= ','
+                    	            {
+                    	            otherlv_24=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleReferenceCS9126); if (state.failed) return current;
+                    	            if ( state.backtracking==0 ) {
+
+                    	                  	newLeafNode(otherlv_24, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_3_1());
+                    	                  
+                    	            }
+
+                    	            }
+                    	            break;
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+
+                    	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6());
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+                    	    break;
+                    	case 5 :
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3894:4: ({...}? => ( ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) ) ) )
+                    	    {
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3894:4: ({...}? => ( ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3895:5: {...}? => ( ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) ) )
+                    	    {
+                    	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleReferenceCS", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4)");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3895:108: ( ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3896:6: ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) )
+                    	    {
+                    	    getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4);
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3899:6: ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3899:7: {...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? )
+                    	    {
+                    	    if ( !((true)) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleReferenceCS", "true");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3899:16: ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3899:17: ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )?
+                    	    {
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3899:17: ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' )
+                    	    int alt131=2;
+                    	    int LA131_0 = input.LA(1);
+
+                    	    if ( (LA131_0==46) ) {
+                    	        alt131=1;
+                    	    }
+                    	    else if ( (LA131_0==79) ) {
+                    	        alt131=2;
+                    	    }
+                    	    else {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        NoViableAltException nvae =
+                    	            new NoViableAltException("", 131, 0, input);
+
+                    	        throw nvae;
+                    	    }
+                    	    switch (alt131) {
+                    	        case 1 :
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3899:18: ( (lv_isResolve_25_0= 'resolve' ) )
+                    	            {
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3899:18: ( (lv_isResolve_25_0= 'resolve' ) )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3900:1: (lv_isResolve_25_0= 'resolve' )
+                    	            {
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3900:1: (lv_isResolve_25_0= 'resolve' )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3901:3: lv_isResolve_25_0= 'resolve'
+                    	            {
+                    	            lv_isResolve_25_0=(Token)match(input,46,FollowSets000.FOLLOW_46_in_ruleReferenceCS9203); if (state.failed) return current;
+                    	            if ( state.backtracking==0 ) {
+
+                    	                      newLeafNode(lv_isResolve_25_0, grammarAccess.getReferenceCSAccess().getIsResolveResolveKeyword_6_4_0_0_0());
+                    	                  
+                    	            }
+                    	            if ( state.backtracking==0 ) {
+
+                    	              	        if (current==null) {
+                    	              	            current = createModelElement(grammarAccess.getReferenceCSRule());
+                    	              	        }
+                    	                     		setWithLastConsumed(current, "isResolve", true, "resolve");
+                    	              	    
+                    	            }
+
+                    	            }
+
+
+                    	            }
+
+
+                    	            }
+                    	            break;
+                    	        case 2 :
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3915:7: otherlv_26= '!resolve'
+                    	            {
+                    	            otherlv_26=(Token)match(input,79,FollowSets000.FOLLOW_79_in_ruleReferenceCS9234); if (state.failed) return current;
+                    	            if ( state.backtracking==0 ) {
+
+                    	                  	newLeafNode(otherlv_26, grammarAccess.getReferenceCSAccess().getResolveKeyword_6_4_0_1());
+                    	                  
+                    	            }
+
+                    	            }
+                    	            break;
+
+                    	    }
+
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3919:2: (otherlv_27= ',' )?
+                    	    int alt132=2;
+                    	    int LA132_0 = input.LA(1);
+
+                    	    if ( (LA132_0==60) ) {
+                    	        alt132=1;
+                    	    }
+                    	    switch (alt132) {
+                    	        case 1 :
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3919:4: otherlv_27= ','
+                    	            {
+                    	            otherlv_27=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleReferenceCS9248); if (state.failed) return current;
+                    	            if ( state.backtracking==0 ) {
+
+                    	                  	newLeafNode(otherlv_27, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_4_1());
+                    	                  
+                    	            }
+
+                    	            }
+                    	            break;
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+
+                    	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6());
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+                    	    break;
+                    	case 6 :
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3930:4: ({...}? => ( ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) ) ) )
+                    	    {
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3930:4: ({...}? => ( ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3931:5: {...}? => ( ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) ) )
+                    	    {
+                    	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleReferenceCS", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5)");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3931:108: ( ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3932:6: ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) )
+                    	    {
+                    	    getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5);
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3935:6: ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3935:7: {...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? )
+                    	    {
+                    	    if ( !((true)) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleReferenceCS", "true");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3935:16: ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3935:17: ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )?
+                    	    {
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3935:17: ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' )
+                    	    int alt133=2;
+                    	    int LA133_0 = input.LA(1);
+
+                    	    if ( (LA133_0==50) ) {
+                    	        alt133=1;
+                    	    }
+                    	    else if ( (LA133_0==68) ) {
+                    	        alt133=2;
+                    	    }
+                    	    else {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        NoViableAltException nvae =
+                    	            new NoViableAltException("", 133, 0, input);
+
+                    	        throw nvae;
+                    	    }
+                    	    switch (alt133) {
+                    	        case 1 :
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3935:18: ( (lv_isTransient_28_0= 'transient' ) )
+                    	            {
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3935:18: ( (lv_isTransient_28_0= 'transient' ) )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3936:1: (lv_isTransient_28_0= 'transient' )
+                    	            {
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3936:1: (lv_isTransient_28_0= 'transient' )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3937:3: lv_isTransient_28_0= 'transient'
+                    	            {
+                    	            lv_isTransient_28_0=(Token)match(input,50,FollowSets000.FOLLOW_50_in_ruleReferenceCS9325); if (state.failed) return current;
+                    	            if ( state.backtracking==0 ) {
+
+                    	                      newLeafNode(lv_isTransient_28_0, grammarAccess.getReferenceCSAccess().getIsTransientTransientKeyword_6_5_0_0_0());
+                    	                  
+                    	            }
+                    	            if ( state.backtracking==0 ) {
+
+                    	              	        if (current==null) {
+                    	              	            current = createModelElement(grammarAccess.getReferenceCSRule());
+                    	              	        }
+                    	                     		setWithLastConsumed(current, "isTransient", true, "transient");
+                    	              	    
+                    	            }
+
+                    	            }
+
+
+                    	            }
+
+
+                    	            }
+                    	            break;
+                    	        case 2 :
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3951:7: otherlv_29= '!transient'
+                    	            {
+                    	            otherlv_29=(Token)match(input,68,FollowSets000.FOLLOW_68_in_ruleReferenceCS9356); if (state.failed) return current;
+                    	            if ( state.backtracking==0 ) {
+
+                    	                  	newLeafNode(otherlv_29, grammarAccess.getReferenceCSAccess().getTransientKeyword_6_5_0_1());
+                    	                  
+                    	            }
+
+                    	            }
+                    	            break;
+
+                    	    }
+
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3955:2: (otherlv_30= ',' )?
+                    	    int alt134=2;
+                    	    int LA134_0 = input.LA(1);
+
+                    	    if ( (LA134_0==60) ) {
+                    	        alt134=1;
+                    	    }
+                    	    switch (alt134) {
+                    	        case 1 :
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3955:4: otherlv_30= ','
+                    	            {
+                    	            otherlv_30=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleReferenceCS9370); if (state.failed) return current;
+                    	            if ( state.backtracking==0 ) {
+
+                    	                  	newLeafNode(otherlv_30, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_5_1());
+                    	                  
+                    	            }
+
+                    	            }
+                    	            break;
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+
+                    	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6());
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+                    	    break;
+                    	case 7 :
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3966:4: ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) ) ) )
+                    	    {
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3966:4: ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3967:5: {...}? => ( ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) ) )
+                    	    {
+                    	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleReferenceCS", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6)");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3967:108: ( ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3968:6: ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) )
+                    	    {
+                    	    getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6);
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3971:6: ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3971:7: {...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? )
+                    	    {
+                    	    if ( !((true)) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleReferenceCS", "true");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3971:16: ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3971:17: ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )?
+                    	    {
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3971:17: ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' )
+                    	    int alt135=2;
+                    	    int LA135_0 = input.LA(1);
+
+                    	    if ( (LA135_0==69) ) {
+                    	        alt135=1;
+                    	    }
+                    	    else if ( (LA135_0==51) ) {
+                    	        alt135=2;
+                    	    }
+                    	    else {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        NoViableAltException nvae =
+                    	            new NoViableAltException("", 135, 0, input);
+
+                    	        throw nvae;
+                    	    }
+                    	    switch (alt135) {
+                    	        case 1 :
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3971:18: ( (lv_isNotUnique_31_0= '!unique' ) )
+                    	            {
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3971:18: ( (lv_isNotUnique_31_0= '!unique' ) )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3972:1: (lv_isNotUnique_31_0= '!unique' )
+                    	            {
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3972:1: (lv_isNotUnique_31_0= '!unique' )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3973:3: lv_isNotUnique_31_0= '!unique'
+                    	            {
+                    	            lv_isNotUnique_31_0=(Token)match(input,69,FollowSets000.FOLLOW_69_in_ruleReferenceCS9447); if (state.failed) return current;
+                    	            if ( state.backtracking==0 ) {
+
+                    	                      newLeafNode(lv_isNotUnique_31_0, grammarAccess.getReferenceCSAccess().getIsNotUniqueUniqueKeyword_6_6_0_0_0());
+                    	                  
+                    	            }
+                    	            if ( state.backtracking==0 ) {
+
+                    	              	        if (current==null) {
+                    	              	            current = createModelElement(grammarAccess.getReferenceCSRule());
+                    	              	        }
+                    	                     		setWithLastConsumed(current, "isNotUnique", true, "!unique");
+                    	              	    
+                    	            }
+
+                    	            }
+
+
+                    	            }
+
+
+                    	            }
+                    	            break;
+                    	        case 2 :
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3987:7: otherlv_32= 'unique'
+                    	            {
+                    	            otherlv_32=(Token)match(input,51,FollowSets000.FOLLOW_51_in_ruleReferenceCS9478); if (state.failed) return current;
+                    	            if ( state.backtracking==0 ) {
+
+                    	                  	newLeafNode(otherlv_32, grammarAccess.getReferenceCSAccess().getUniqueKeyword_6_6_0_1());
+                    	                  
+                    	            }
+
+                    	            }
+                    	            break;
+
+                    	    }
+
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3991:2: (otherlv_33= ',' )?
+                    	    int alt136=2;
+                    	    int LA136_0 = input.LA(1);
+
+                    	    if ( (LA136_0==60) ) {
+                    	        alt136=1;
+                    	    }
+                    	    switch (alt136) {
+                    	        case 1 :
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3991:4: otherlv_33= ','
+                    	            {
+                    	            otherlv_33=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleReferenceCS9492); if (state.failed) return current;
+                    	            if ( state.backtracking==0 ) {
+
+                    	                  	newLeafNode(otherlv_33, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_6_1());
+                    	                  
+                    	            }
+
+                    	            }
+                    	            break;
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+
+                    	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6());
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+                    	    break;
+                    	case 8 :
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4002:4: ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) ) ) )
+                    	    {
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4002:4: ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4003:5: {...}? => ( ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) ) )
+                    	    {
+                    	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleReferenceCS", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7)");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4003:108: ( ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4004:6: ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) )
+                    	    {
+                    	    getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7);
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4007:6: ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4007:7: {...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? )
+                    	    {
+                    	    if ( !((true)) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleReferenceCS", "true");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4007:16: ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4007:17: ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )?
+                    	    {
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4007:17: ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' )
+                    	    int alt137=2;
+                    	    int LA137_0 = input.LA(1);
+
+                    	    if ( (LA137_0==52) ) {
+                    	        alt137=1;
+                    	    }
+                    	    else if ( (LA137_0==70) ) {
+                    	        alt137=2;
+                    	    }
+                    	    else {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        NoViableAltException nvae =
+                    	            new NoViableAltException("", 137, 0, input);
+
+                    	        throw nvae;
+                    	    }
+                    	    switch (alt137) {
+                    	        case 1 :
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4007:18: ( (lv_isUnsettable_34_0= 'unsettable' ) )
+                    	            {
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4007:18: ( (lv_isUnsettable_34_0= 'unsettable' ) )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4008:1: (lv_isUnsettable_34_0= 'unsettable' )
+                    	            {
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4008:1: (lv_isUnsettable_34_0= 'unsettable' )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4009:3: lv_isUnsettable_34_0= 'unsettable'
+                    	            {
+                    	            lv_isUnsettable_34_0=(Token)match(input,52,FollowSets000.FOLLOW_52_in_ruleReferenceCS9569); if (state.failed) return current;
+                    	            if ( state.backtracking==0 ) {
+
+                    	                      newLeafNode(lv_isUnsettable_34_0, grammarAccess.getReferenceCSAccess().getIsUnsettableUnsettableKeyword_6_7_0_0_0());
+                    	                  
+                    	            }
+                    	            if ( state.backtracking==0 ) {
+
+                    	              	        if (current==null) {
+                    	              	            current = createModelElement(grammarAccess.getReferenceCSRule());
+                    	              	        }
+                    	                     		setWithLastConsumed(current, "isUnsettable", true, "unsettable");
+                    	              	    
+                    	            }
+
+                    	            }
+
+
+                    	            }
+
+
+                    	            }
+                    	            break;
+                    	        case 2 :
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4023:7: otherlv_35= '!unsettable'
+                    	            {
+                    	            otherlv_35=(Token)match(input,70,FollowSets000.FOLLOW_70_in_ruleReferenceCS9600); if (state.failed) return current;
+                    	            if ( state.backtracking==0 ) {
+
+                    	                  	newLeafNode(otherlv_35, grammarAccess.getReferenceCSAccess().getUnsettableKeyword_6_7_0_1());
+                    	                  
+                    	            }
+
+                    	            }
+                    	            break;
+
+                    	    }
+
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4027:2: (otherlv_36= ',' )?
+                    	    int alt138=2;
+                    	    int LA138_0 = input.LA(1);
+
+                    	    if ( (LA138_0==60) ) {
+                    	        alt138=1;
+                    	    }
+                    	    switch (alt138) {
+                    	        case 1 :
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4027:4: otherlv_36= ','
+                    	            {
+                    	            otherlv_36=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleReferenceCS9614); if (state.failed) return current;
+                    	            if ( state.backtracking==0 ) {
+
+                    	                  	newLeafNode(otherlv_36, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_7_1());
+                    	                  
+                    	            }
+
+                    	            }
+                    	            break;
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+
+                    	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6());
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+                    	    break;
+                    	case 9 :
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4038:4: ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) ) ) )
+                    	    {
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4038:4: ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4039:5: {...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) ) )
+                    	    {
+                    	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleReferenceCS", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8)");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4039:108: ( ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4040:6: ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) )
+                    	    {
+                    	    getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8);
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4043:6: ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4043:7: {...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' )
+                    	    {
+                    	    if ( !((true)) ) {
+                    	        if (state.backtracking>0) {state.failed=true; return current;}
+                    	        throw new FailedPredicateException(input, "ruleReferenceCS", "true");
+                    	    }
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4043:16: ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4043:17: ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}'
+                    	    {
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4043:17: ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )?
+                    	    int alt141=2;
+                    	    int LA141_0 = input.LA(1);
+
+                    	    if ( (LA141_0==53||LA141_0==71) ) {
+                    	        alt141=1;
+                    	    }
+                    	    switch (alt141) {
+                    	        case 1 :
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4043:18: ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )?
+                    	            {
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4043:18: ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' )
+                    	            int alt139=2;
+                    	            int LA139_0 = input.LA(1);
+
+                    	            if ( (LA139_0==53) ) {
+                    	                alt139=1;
+                    	            }
+                    	            else if ( (LA139_0==71) ) {
+                    	                alt139=2;
+                    	            }
+                    	            else {
+                    	                if (state.backtracking>0) {state.failed=true; return current;}
+                    	                NoViableAltException nvae =
+                    	                    new NoViableAltException("", 139, 0, input);
+
+                    	                throw nvae;
+                    	            }
+                    	            switch (alt139) {
+                    	                case 1 :
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4043:19: ( (lv_isVolatile_37_0= 'volatile' ) )
+                    	                    {
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4043:19: ( (lv_isVolatile_37_0= 'volatile' ) )
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4044:1: (lv_isVolatile_37_0= 'volatile' )
+                    	                    {
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4044:1: (lv_isVolatile_37_0= 'volatile' )
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4045:3: lv_isVolatile_37_0= 'volatile'
+                    	                    {
+                    	                    lv_isVolatile_37_0=(Token)match(input,53,FollowSets000.FOLLOW_53_in_ruleReferenceCS9692); if (state.failed) return current;
+                    	                    if ( state.backtracking==0 ) {
+
+                    	                              newLeafNode(lv_isVolatile_37_0, grammarAccess.getReferenceCSAccess().getIsVolatileVolatileKeyword_6_8_0_0_0_0());
+                    	                          
+                    	                    }
+                    	                    if ( state.backtracking==0 ) {
+
+                    	                      	        if (current==null) {
+                    	                      	            current = createModelElement(grammarAccess.getReferenceCSRule());
+                    	                      	        }
+                    	                             		setWithLastConsumed(current, "isVolatile", true, "volatile");
+                    	                      	    
+                    	                    }
+
+                    	                    }
+
+
+                    	                    }
+
+
+                    	                    }
+                    	                    break;
+                    	                case 2 :
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4059:7: otherlv_38= '!volatile'
+                    	                    {
+                    	                    otherlv_38=(Token)match(input,71,FollowSets000.FOLLOW_71_in_ruleReferenceCS9723); if (state.failed) return current;
+                    	                    if ( state.backtracking==0 ) {
+
+                    	                          	newLeafNode(otherlv_38, grammarAccess.getReferenceCSAccess().getVolatileKeyword_6_8_0_0_1());
+                    	                          
+                    	                    }
+
+                    	                    }
+                    	                    break;
+
+                    	            }
+
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4063:2: (otherlv_39= ',' )?
+                    	            int alt140=2;
+                    	            int LA140_0 = input.LA(1);
+
+                    	            if ( (LA140_0==60) ) {
+                    	                alt140=1;
+                    	            }
+                    	            switch (alt140) {
+                    	                case 1 :
+                    	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4063:4: otherlv_39= ','
+                    	                    {
+                    	                    otherlv_39=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleReferenceCS9737); if (state.failed) return current;
+                    	                    if ( state.backtracking==0 ) {
+
+                    	                          	newLeafNode(otherlv_39, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_8_0_1());
+                    	                          
+                    	                    }
+
+                    	                    }
+                    	                    break;
+
+                    	            }
+
+
+                    	            }
+                    	            break;
+
+                    	    }
+
+                    	    otherlv_40=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleReferenceCS9753); if (state.failed) return current;
+                    	    if ( state.backtracking==0 ) {
+
+                    	          	newLeafNode(otherlv_40, grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_6_8_1());
+                    	          
+                    	    }
+
+                    	    }
+
+
+                    	    }
+
+                    	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6());
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
                     	    break;
 
                     	default :
-                    	    if ( cnt104 >= 1 ) break loop104;
+                    	    if ( cnt142 >= 1 ) break loop142;
                     	    if (state.backtracking>0) {state.failed=true; return current;}
                                 EarlyExitException eee =
-                                    new EarlyExitException(104, input);
+                                    new EarlyExitException(142, input);
                                 throw eee;
                         }
-                        cnt104++;
+                        cnt142++;
                     } while (true);
 
-                    otherlv_32=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleReferenceCS8397); if (state.failed) return current;
-                    if ( state.backtracking==0 ) {
-
-                          	newLeafNode(otherlv_32, grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_6_2());
-                          
+                    if ( ! getUnorderedGroupHelper().canLeave(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6()) ) {
+                        if (state.backtracking>0) {state.failed=true; return current;}
+                        throw new FailedPredicateException(input, "ruleReferenceCS", "getUnorderedGroupHelper().canLeave(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6())");
                     }
 
                     }
+
+
+                    }
+
+                    getUnorderedGroupHelper().leave(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6());
+
+                    }
                     break;
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3855:3: ( (otherlv_33= '{' ( ( (lv_ownedAnnotations_34_0= ruleAnnotationElementCS ) ) | (otherlv_35= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_39= ';' ) | (otherlv_40= 'derivation' ( ruleUnrestrictedName )? otherlv_42= ':' ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? otherlv_44= ';' ) | (otherlv_45= 'initial' ( ruleUnrestrictedName )? otherlv_47= ':' ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? otherlv_49= ';' ) )* otherlv_50= '}' ) | otherlv_51= ';' )
-            int alt112=2;
-            int LA112_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4086:3: ( (otherlv_41= '{' ( ( (lv_ownedAnnotations_42_0= ruleAnnotationElementCS ) ) | (otherlv_43= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_45= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_47= ';' ) | (otherlv_48= 'derivation' ( ruleUnrestrictedName )? otherlv_50= ':' ( (lv_ownedDefaultExpressions_51_0= ruleSpecificationCS ) )? otherlv_52= ';' ) | (otherlv_53= 'initial' ( ruleUnrestrictedName )? otherlv_55= ':' ( (lv_ownedDefaultExpressions_56_0= ruleSpecificationCS ) )? otherlv_57= ';' ) )* otherlv_58= '}' ) | otherlv_59= ';' )
+            int alt150=2;
+            int LA150_0 = input.LA(1);
 
-            if ( (LA112_0==61) ) {
-                alt112=1;
+            if ( (LA150_0==61) ) {
+                alt150=1;
             }
-            else if ( (LA112_0==58) ) {
-                alt112=2;
+            else if ( (LA150_0==58) ) {
+                alt150=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 112, 0, input);
+                    new NoViableAltException("", 150, 0, input);
 
                 throw nvae;
             }
-            switch (alt112) {
+            switch (alt150) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3855:4: (otherlv_33= '{' ( ( (lv_ownedAnnotations_34_0= ruleAnnotationElementCS ) ) | (otherlv_35= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_39= ';' ) | (otherlv_40= 'derivation' ( ruleUnrestrictedName )? otherlv_42= ':' ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? otherlv_44= ';' ) | (otherlv_45= 'initial' ( ruleUnrestrictedName )? otherlv_47= ':' ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? otherlv_49= ';' ) )* otherlv_50= '}' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4086:4: (otherlv_41= '{' ( ( (lv_ownedAnnotations_42_0= ruleAnnotationElementCS ) ) | (otherlv_43= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_45= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_47= ';' ) | (otherlv_48= 'derivation' ( ruleUnrestrictedName )? otherlv_50= ':' ( (lv_ownedDefaultExpressions_51_0= ruleSpecificationCS ) )? otherlv_52= ';' ) | (otherlv_53= 'initial' ( ruleUnrestrictedName )? otherlv_55= ':' ( (lv_ownedDefaultExpressions_56_0= ruleSpecificationCS ) )? otherlv_57= ';' ) )* otherlv_58= '}' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3855:4: (otherlv_33= '{' ( ( (lv_ownedAnnotations_34_0= ruleAnnotationElementCS ) ) | (otherlv_35= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_39= ';' ) | (otherlv_40= 'derivation' ( ruleUnrestrictedName )? otherlv_42= ':' ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? otherlv_44= ';' ) | (otherlv_45= 'initial' ( ruleUnrestrictedName )? otherlv_47= ':' ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? otherlv_49= ';' ) )* otherlv_50= '}' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3855:6: otherlv_33= '{' ( ( (lv_ownedAnnotations_34_0= ruleAnnotationElementCS ) ) | (otherlv_35= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_39= ';' ) | (otherlv_40= 'derivation' ( ruleUnrestrictedName )? otherlv_42= ':' ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? otherlv_44= ';' ) | (otherlv_45= 'initial' ( ruleUnrestrictedName )? otherlv_47= ':' ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? otherlv_49= ';' ) )* otherlv_50= '}'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4086:4: (otherlv_41= '{' ( ( (lv_ownedAnnotations_42_0= ruleAnnotationElementCS ) ) | (otherlv_43= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_45= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_47= ';' ) | (otherlv_48= 'derivation' ( ruleUnrestrictedName )? otherlv_50= ':' ( (lv_ownedDefaultExpressions_51_0= ruleSpecificationCS ) )? otherlv_52= ';' ) | (otherlv_53= 'initial' ( ruleUnrestrictedName )? otherlv_55= ':' ( (lv_ownedDefaultExpressions_56_0= ruleSpecificationCS ) )? otherlv_57= ';' ) )* otherlv_58= '}' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4086:6: otherlv_41= '{' ( ( (lv_ownedAnnotations_42_0= ruleAnnotationElementCS ) ) | (otherlv_43= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_45= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_47= ';' ) | (otherlv_48= 'derivation' ( ruleUnrestrictedName )? otherlv_50= ':' ( (lv_ownedDefaultExpressions_51_0= ruleSpecificationCS ) )? otherlv_52= ';' ) | (otherlv_53= 'initial' ( ruleUnrestrictedName )? otherlv_55= ':' ( (lv_ownedDefaultExpressions_56_0= ruleSpecificationCS ) )? otherlv_57= ';' ) )* otherlv_58= '}'
                     {
-                    otherlv_33=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleReferenceCS8413); if (state.failed) return current;
+                    otherlv_41=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleReferenceCS9815); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
-                          	newLeafNode(otherlv_33, grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_7_0_0());
+                          	newLeafNode(otherlv_41, grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_7_0_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3859:1: ( ( (lv_ownedAnnotations_34_0= ruleAnnotationElementCS ) ) | (otherlv_35= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_39= ';' ) | (otherlv_40= 'derivation' ( ruleUnrestrictedName )? otherlv_42= ':' ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? otherlv_44= ';' ) | (otherlv_45= 'initial' ( ruleUnrestrictedName )? otherlv_47= ':' ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? otherlv_49= ';' ) )*
-                    loop111:
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4090:1: ( ( (lv_ownedAnnotations_42_0= ruleAnnotationElementCS ) ) | (otherlv_43= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_45= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_47= ';' ) | (otherlv_48= 'derivation' ( ruleUnrestrictedName )? otherlv_50= ':' ( (lv_ownedDefaultExpressions_51_0= ruleSpecificationCS ) )? otherlv_52= ';' ) | (otherlv_53= 'initial' ( ruleUnrestrictedName )? otherlv_55= ':' ( (lv_ownedDefaultExpressions_56_0= ruleSpecificationCS ) )? otherlv_57= ';' ) )*
+                    loop149:
                     do {
-                        int alt111=5;
+                        int alt149=5;
                         switch ( input.LA(1) ) {
                         case 59:
                         case 74:
                         case 80:
                             {
-                            alt111=1;
+                            alt149=1;
                             }
                             break;
                         case 35:
                             {
-                            alt111=2;
+                            alt149=2;
                             }
                             break;
                         case 27:
                             {
-                            alt111=3;
+                            alt149=3;
                             }
                             break;
                         case 33:
                             {
-                            alt111=4;
+                            alt149=4;
                             }
                             break;
 
                         }
 
-                        switch (alt111) {
+                        switch (alt149) {
                     	case 1 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3859:2: ( (lv_ownedAnnotations_34_0= ruleAnnotationElementCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4090:2: ( (lv_ownedAnnotations_42_0= ruleAnnotationElementCS ) )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3859:2: ( (lv_ownedAnnotations_34_0= ruleAnnotationElementCS ) )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3860:1: (lv_ownedAnnotations_34_0= ruleAnnotationElementCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4090:2: ( (lv_ownedAnnotations_42_0= ruleAnnotationElementCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4091:1: (lv_ownedAnnotations_42_0= ruleAnnotationElementCS )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3860:1: (lv_ownedAnnotations_34_0= ruleAnnotationElementCS )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3861:3: lv_ownedAnnotations_34_0= ruleAnnotationElementCS
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4091:1: (lv_ownedAnnotations_42_0= ruleAnnotationElementCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4092:3: lv_ownedAnnotations_42_0= ruleAnnotationElementCS
                     	    {
                     	    if ( state.backtracking==0 ) {
                     	       
                     	      	        newCompositeNode(grammarAccess.getReferenceCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_7_0_1_0_0()); 
                     	      	    
                     	    }
-                    	    pushFollow(FollowSets000.FOLLOW_ruleAnnotationElementCS_in_ruleReferenceCS8435);
-                    	    lv_ownedAnnotations_34_0=ruleAnnotationElementCS();
+                    	    pushFollow(FollowSets000.FOLLOW_ruleAnnotationElementCS_in_ruleReferenceCS9837);
+                    	    lv_ownedAnnotations_42_0=ruleAnnotationElementCS();
 
                     	    state._fsp--;
                     	    if (state.failed) return current;
@@ -11304,7 +12598,7 @@
                     	             		add(
                     	             			current, 
                     	             			"ownedAnnotations",
-                    	              		lv_ownedAnnotations_34_0, 
+                    	              		lv_ownedAnnotations_42_0, 
                     	              		"AnnotationElementCS");
                     	      	        afterParserOrEnumRuleCall();
                     	      	    
@@ -11319,22 +12613,22 @@
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3878:6: (otherlv_35= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_39= ';' )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4109:6: (otherlv_43= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_45= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_47= ';' )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3878:6: (otherlv_35= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_39= ';' )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3878:8: otherlv_35= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_39= ';'
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4109:6: (otherlv_43= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_45= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_47= ';' )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4109:8: otherlv_43= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_45= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_47= ';'
                     	    {
-                    	    otherlv_35=(Token)match(input,35,FollowSets000.FOLLOW_35_in_ruleReferenceCS8454); if (state.failed) return current;
+                    	    otherlv_43=(Token)match(input,35,FollowSets000.FOLLOW_35_in_ruleReferenceCS9856); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
-                    	          	newLeafNode(otherlv_35, grammarAccess.getReferenceCSAccess().getKeyKeyword_7_0_1_1_0());
+                    	          	newLeafNode(otherlv_43, grammarAccess.getReferenceCSAccess().getKeyKeyword_7_0_1_1_0());
                     	          
                     	    }
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3882:1: ( ( ruleUnrestrictedName ) )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3883:1: ( ruleUnrestrictedName )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4113:1: ( ( ruleUnrestrictedName ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4114:1: ( ruleUnrestrictedName )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3883:1: ( ruleUnrestrictedName )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3884:3: ruleUnrestrictedName
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4114:1: ( ruleUnrestrictedName )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4115:3: ruleUnrestrictedName
                     	    {
                     	    if ( state.backtracking==0 ) {
                     	       
@@ -11353,7 +12647,7 @@
                     	      	        newCompositeNode(grammarAccess.getReferenceCSAccess().getReferredKeysPropertyCrossReference_7_0_1_1_1_0()); 
                     	      	    
                     	    }
-                    	    pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleReferenceCS8481);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleReferenceCS9883);
                     	    ruleUnrestrictedName();
 
                     	    state._fsp--;
@@ -11369,32 +12663,32 @@
 
                     	    }
 
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3900:2: (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )*
-                    	    loop106:
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4131:2: (otherlv_45= ',' ( ( ruleUnrestrictedName ) ) )*
+                    	    loop144:
                     	    do {
-                    	        int alt106=2;
-                    	        int LA106_0 = input.LA(1);
+                    	        int alt144=2;
+                    	        int LA144_0 = input.LA(1);
 
-                    	        if ( (LA106_0==60) ) {
-                    	            alt106=1;
+                    	        if ( (LA144_0==60) ) {
+                    	            alt144=1;
                     	        }
 
 
-                    	        switch (alt106) {
+                    	        switch (alt144) {
                     	    	case 1 :
-                    	    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3900:4: otherlv_37= ',' ( ( ruleUnrestrictedName ) )
+                    	    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4131:4: otherlv_45= ',' ( ( ruleUnrestrictedName ) )
                     	    	    {
-                    	    	    otherlv_37=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleReferenceCS8494); if (state.failed) return current;
+                    	    	    otherlv_45=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleReferenceCS9896); if (state.failed) return current;
                     	    	    if ( state.backtracking==0 ) {
 
-                    	    	          	newLeafNode(otherlv_37, grammarAccess.getReferenceCSAccess().getCommaKeyword_7_0_1_1_2_0());
+                    	    	          	newLeafNode(otherlv_45, grammarAccess.getReferenceCSAccess().getCommaKeyword_7_0_1_1_2_0());
                     	    	          
                     	    	    }
-                    	    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3904:1: ( ( ruleUnrestrictedName ) )
-                    	    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3905:1: ( ruleUnrestrictedName )
+                    	    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4135:1: ( ( ruleUnrestrictedName ) )
+                    	    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4136:1: ( ruleUnrestrictedName )
                     	    	    {
-                    	    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3905:1: ( ruleUnrestrictedName )
-                    	    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3906:3: ruleUnrestrictedName
+                    	    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4136:1: ( ruleUnrestrictedName )
+                    	    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4137:3: ruleUnrestrictedName
                     	    	    {
                     	    	    if ( state.backtracking==0 ) {
                     	    	       
@@ -11413,7 +12707,7 @@
                     	    	      	        newCompositeNode(grammarAccess.getReferenceCSAccess().getReferredKeysPropertyCrossReference_7_0_1_1_2_1_0()); 
                     	    	      	    
                     	    	    }
-                    	    	    pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleReferenceCS8521);
+                    	    	    pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleReferenceCS9923);
                     	    	    ruleUnrestrictedName();
 
                     	    	    state._fsp--;
@@ -11434,14 +12728,14 @@
                     	    	    break;
 
                     	    	default :
-                    	    	    break loop106;
+                    	    	    break loop144;
                     	        }
                     	    } while (true);
 
-                    	    otherlv_39=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleReferenceCS8535); if (state.failed) return current;
+                    	    otherlv_47=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleReferenceCS9937); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
-                    	          	newLeafNode(otherlv_39, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_1_3());
+                    	          	newLeafNode(otherlv_47, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_1_3());
                     	          
                     	    }
 
@@ -11451,27 +12745,27 @@
                     	    }
                     	    break;
                     	case 3 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3927:6: (otherlv_40= 'derivation' ( ruleUnrestrictedName )? otherlv_42= ':' ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? otherlv_44= ';' )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4158:6: (otherlv_48= 'derivation' ( ruleUnrestrictedName )? otherlv_50= ':' ( (lv_ownedDefaultExpressions_51_0= ruleSpecificationCS ) )? otherlv_52= ';' )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3927:6: (otherlv_40= 'derivation' ( ruleUnrestrictedName )? otherlv_42= ':' ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? otherlv_44= ';' )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3927:8: otherlv_40= 'derivation' ( ruleUnrestrictedName )? otherlv_42= ':' ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? otherlv_44= ';'
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4158:6: (otherlv_48= 'derivation' ( ruleUnrestrictedName )? otherlv_50= ':' ( (lv_ownedDefaultExpressions_51_0= ruleSpecificationCS ) )? otherlv_52= ';' )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4158:8: otherlv_48= 'derivation' ( ruleUnrestrictedName )? otherlv_50= ':' ( (lv_ownedDefaultExpressions_51_0= ruleSpecificationCS ) )? otherlv_52= ';'
                     	    {
-                    	    otherlv_40=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleReferenceCS8555); if (state.failed) return current;
+                    	    otherlv_48=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleReferenceCS9957); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
-                    	          	newLeafNode(otherlv_40, grammarAccess.getReferenceCSAccess().getDerivationKeyword_7_0_1_2_0());
+                    	          	newLeafNode(otherlv_48, grammarAccess.getReferenceCSAccess().getDerivationKeyword_7_0_1_2_0());
                     	          
                     	    }
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3931:1: ( ruleUnrestrictedName )?
-                    	    int alt107=2;
-                    	    int LA107_0 = input.LA(1);
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4162:1: ( ruleUnrestrictedName )?
+                    	    int alt145=2;
+                    	    int LA145_0 = input.LA(1);
 
-                    	    if ( ((LA107_0>=RULE_SIMPLE_ID && LA107_0<=RULE_ESCAPED_ID)||LA107_0==17||(LA107_0>=19 && LA107_0<=54)||LA107_0==59||LA107_0==72||(LA107_0>=74 && LA107_0<=75)||LA107_0==80) ) {
-                    	        alt107=1;
+                    	    if ( ((LA145_0>=RULE_SIMPLE_ID && LA145_0<=RULE_ESCAPED_ID)||LA145_0==17||(LA145_0>=19 && LA145_0<=54)||LA145_0==59||LA145_0==72||(LA145_0>=74 && LA145_0<=75)||LA145_0==80) ) {
+                    	        alt145=1;
                     	    }
-                    	    switch (alt107) {
+                    	    switch (alt145) {
                     	        case 1 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3932:2: ruleUnrestrictedName
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4163:2: ruleUnrestrictedName
                     	            {
                     	            if ( state.backtracking==0 ) {
                     	               
@@ -11483,7 +12777,7 @@
                     	                      newCompositeNode(grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_2_1()); 
                     	                  
                     	            }
-                    	            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleReferenceCS8575);
+                    	            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleReferenceCS9977);
                     	            ruleUnrestrictedName();
 
                     	            state._fsp--;
@@ -11499,33 +12793,33 @@
 
                     	    }
 
-                    	    otherlv_42=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleReferenceCS8588); if (state.failed) return current;
+                    	    otherlv_50=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleReferenceCS9990); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
-                    	          	newLeafNode(otherlv_42, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_2_2());
+                    	          	newLeafNode(otherlv_50, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_2_2());
                     	          
                     	    }
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3946:1: ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )?
-                    	    int alt108=2;
-                    	    int LA108_0 = input.LA(1);
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4177:1: ( (lv_ownedDefaultExpressions_51_0= ruleSpecificationCS ) )?
+                    	    int alt146=2;
+                    	    int LA146_0 = input.LA(1);
 
-                    	    if ( ((LA108_0>=RULE_INT && LA108_0<=RULE_SINGLE_QUOTED_STRING)||(LA108_0>=RULE_UNQUOTED_STRING && LA108_0<=RULE_ESCAPED_ID)||(LA108_0>=17 && LA108_0<=55)||LA108_0==59||LA108_0==72||(LA108_0>=74 && LA108_0<=75)||LA108_0==80||(LA108_0>=83 && LA108_0<=84)||LA108_0==98||(LA108_0>=100 && LA108_0<=112)||(LA108_0>=115 && LA108_0<=119)||LA108_0==126||(LA108_0>=131 && LA108_0<=132)) ) {
-                    	        alt108=1;
+                    	    if ( ((LA146_0>=RULE_INT && LA146_0<=RULE_SINGLE_QUOTED_STRING)||(LA146_0>=RULE_UNQUOTED_STRING && LA146_0<=RULE_ESCAPED_ID)||(LA146_0>=17 && LA146_0<=55)||LA146_0==59||LA146_0==72||(LA146_0>=74 && LA146_0<=75)||LA146_0==80||(LA146_0>=83 && LA146_0<=84)||LA146_0==98||(LA146_0>=100 && LA146_0<=112)||(LA146_0>=115 && LA146_0<=119)||LA146_0==126||(LA146_0>=131 && LA146_0<=132)) ) {
+                    	        alt146=1;
                     	    }
-                    	    switch (alt108) {
+                    	    switch (alt146) {
                     	        case 1 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3947:1: (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4178:1: (lv_ownedDefaultExpressions_51_0= ruleSpecificationCS )
                     	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3947:1: (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3948:3: lv_ownedDefaultExpressions_43_0= ruleSpecificationCS
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4178:1: (lv_ownedDefaultExpressions_51_0= ruleSpecificationCS )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4179:3: lv_ownedDefaultExpressions_51_0= ruleSpecificationCS
                     	            {
                     	            if ( state.backtracking==0 ) {
                     	               
                     	              	        newCompositeNode(grammarAccess.getReferenceCSAccess().getOwnedDefaultExpressionsSpecificationCSParserRuleCall_7_0_1_2_3_0()); 
                     	              	    
                     	            }
-                    	            pushFollow(FollowSets000.FOLLOW_ruleSpecificationCS_in_ruleReferenceCS8609);
-                    	            lv_ownedDefaultExpressions_43_0=ruleSpecificationCS();
+                    	            pushFollow(FollowSets000.FOLLOW_ruleSpecificationCS_in_ruleReferenceCS10011);
+                    	            lv_ownedDefaultExpressions_51_0=ruleSpecificationCS();
 
                     	            state._fsp--;
                     	            if (state.failed) return current;
@@ -11537,7 +12831,7 @@
                     	                     		add(
                     	                     			current, 
                     	                     			"ownedDefaultExpressions",
-                    	                      		lv_ownedDefaultExpressions_43_0, 
+                    	                      		lv_ownedDefaultExpressions_51_0, 
                     	                      		"SpecificationCS");
                     	              	        afterParserOrEnumRuleCall();
                     	              	    
@@ -11551,10 +12845,10 @@
 
                     	    }
 
-                    	    otherlv_44=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleReferenceCS8622); if (state.failed) return current;
+                    	    otherlv_52=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleReferenceCS10024); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
-                    	          	newLeafNode(otherlv_44, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_2_4());
+                    	          	newLeafNode(otherlv_52, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_2_4());
                     	          
                     	    }
 
@@ -11564,27 +12858,27 @@
                     	    }
                     	    break;
                     	case 4 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3969:6: (otherlv_45= 'initial' ( ruleUnrestrictedName )? otherlv_47= ':' ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? otherlv_49= ';' )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4200:6: (otherlv_53= 'initial' ( ruleUnrestrictedName )? otherlv_55= ':' ( (lv_ownedDefaultExpressions_56_0= ruleSpecificationCS ) )? otherlv_57= ';' )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3969:6: (otherlv_45= 'initial' ( ruleUnrestrictedName )? otherlv_47= ':' ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? otherlv_49= ';' )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3969:8: otherlv_45= 'initial' ( ruleUnrestrictedName )? otherlv_47= ':' ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? otherlv_49= ';'
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4200:6: (otherlv_53= 'initial' ( ruleUnrestrictedName )? otherlv_55= ':' ( (lv_ownedDefaultExpressions_56_0= ruleSpecificationCS ) )? otherlv_57= ';' )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4200:8: otherlv_53= 'initial' ( ruleUnrestrictedName )? otherlv_55= ':' ( (lv_ownedDefaultExpressions_56_0= ruleSpecificationCS ) )? otherlv_57= ';'
                     	    {
-                    	    otherlv_45=(Token)match(input,33,FollowSets000.FOLLOW_33_in_ruleReferenceCS8642); if (state.failed) return current;
+                    	    otherlv_53=(Token)match(input,33,FollowSets000.FOLLOW_33_in_ruleReferenceCS10044); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
-                    	          	newLeafNode(otherlv_45, grammarAccess.getReferenceCSAccess().getInitialKeyword_7_0_1_3_0());
+                    	          	newLeafNode(otherlv_53, grammarAccess.getReferenceCSAccess().getInitialKeyword_7_0_1_3_0());
                     	          
                     	    }
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3973:1: ( ruleUnrestrictedName )?
-                    	    int alt109=2;
-                    	    int LA109_0 = input.LA(1);
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4204:1: ( ruleUnrestrictedName )?
+                    	    int alt147=2;
+                    	    int LA147_0 = input.LA(1);
 
-                    	    if ( ((LA109_0>=RULE_SIMPLE_ID && LA109_0<=RULE_ESCAPED_ID)||LA109_0==17||(LA109_0>=19 && LA109_0<=54)||LA109_0==59||LA109_0==72||(LA109_0>=74 && LA109_0<=75)||LA109_0==80) ) {
-                    	        alt109=1;
+                    	    if ( ((LA147_0>=RULE_SIMPLE_ID && LA147_0<=RULE_ESCAPED_ID)||LA147_0==17||(LA147_0>=19 && LA147_0<=54)||LA147_0==59||LA147_0==72||(LA147_0>=74 && LA147_0<=75)||LA147_0==80) ) {
+                    	        alt147=1;
                     	    }
-                    	    switch (alt109) {
+                    	    switch (alt147) {
                     	        case 1 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3974:2: ruleUnrestrictedName
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4205:2: ruleUnrestrictedName
                     	            {
                     	            if ( state.backtracking==0 ) {
                     	               
@@ -11596,7 +12890,7 @@
                     	                      newCompositeNode(grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_3_1()); 
                     	                  
                     	            }
-                    	            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleReferenceCS8662);
+                    	            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleReferenceCS10064);
                     	            ruleUnrestrictedName();
 
                     	            state._fsp--;
@@ -11612,33 +12906,33 @@
 
                     	    }
 
-                    	    otherlv_47=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleReferenceCS8675); if (state.failed) return current;
+                    	    otherlv_55=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleReferenceCS10077); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
-                    	          	newLeafNode(otherlv_47, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_3_2());
+                    	          	newLeafNode(otherlv_55, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_3_2());
                     	          
                     	    }
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3988:1: ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )?
-                    	    int alt110=2;
-                    	    int LA110_0 = input.LA(1);
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4219:1: ( (lv_ownedDefaultExpressions_56_0= ruleSpecificationCS ) )?
+                    	    int alt148=2;
+                    	    int LA148_0 = input.LA(1);
 
-                    	    if ( ((LA110_0>=RULE_INT && LA110_0<=RULE_SINGLE_QUOTED_STRING)||(LA110_0>=RULE_UNQUOTED_STRING && LA110_0<=RULE_ESCAPED_ID)||(LA110_0>=17 && LA110_0<=55)||LA110_0==59||LA110_0==72||(LA110_0>=74 && LA110_0<=75)||LA110_0==80||(LA110_0>=83 && LA110_0<=84)||LA110_0==98||(LA110_0>=100 && LA110_0<=112)||(LA110_0>=115 && LA110_0<=119)||LA110_0==126||(LA110_0>=131 && LA110_0<=132)) ) {
-                    	        alt110=1;
+                    	    if ( ((LA148_0>=RULE_INT && LA148_0<=RULE_SINGLE_QUOTED_STRING)||(LA148_0>=RULE_UNQUOTED_STRING && LA148_0<=RULE_ESCAPED_ID)||(LA148_0>=17 && LA148_0<=55)||LA148_0==59||LA148_0==72||(LA148_0>=74 && LA148_0<=75)||LA148_0==80||(LA148_0>=83 && LA148_0<=84)||LA148_0==98||(LA148_0>=100 && LA148_0<=112)||(LA148_0>=115 && LA148_0<=119)||LA148_0==126||(LA148_0>=131 && LA148_0<=132)) ) {
+                    	        alt148=1;
                     	    }
-                    	    switch (alt110) {
+                    	    switch (alt148) {
                     	        case 1 :
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3989:1: (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4220:1: (lv_ownedDefaultExpressions_56_0= ruleSpecificationCS )
                     	            {
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3989:1: (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS )
-                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3990:3: lv_ownedDefaultExpressions_48_0= ruleSpecificationCS
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4220:1: (lv_ownedDefaultExpressions_56_0= ruleSpecificationCS )
+                    	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4221:3: lv_ownedDefaultExpressions_56_0= ruleSpecificationCS
                     	            {
                     	            if ( state.backtracking==0 ) {
                     	               
                     	              	        newCompositeNode(grammarAccess.getReferenceCSAccess().getOwnedDefaultExpressionsSpecificationCSParserRuleCall_7_0_1_3_3_0()); 
                     	              	    
                     	            }
-                    	            pushFollow(FollowSets000.FOLLOW_ruleSpecificationCS_in_ruleReferenceCS8696);
-                    	            lv_ownedDefaultExpressions_48_0=ruleSpecificationCS();
+                    	            pushFollow(FollowSets000.FOLLOW_ruleSpecificationCS_in_ruleReferenceCS10098);
+                    	            lv_ownedDefaultExpressions_56_0=ruleSpecificationCS();
 
                     	            state._fsp--;
                     	            if (state.failed) return current;
@@ -11650,7 +12944,7 @@
                     	                     		add(
                     	                     			current, 
                     	                     			"ownedDefaultExpressions",
-                    	                      		lv_ownedDefaultExpressions_48_0, 
+                    	                      		lv_ownedDefaultExpressions_56_0, 
                     	                      		"SpecificationCS");
                     	              	        afterParserOrEnumRuleCall();
                     	              	    
@@ -11664,10 +12958,10 @@
 
                     	    }
 
-                    	    otherlv_49=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleReferenceCS8709); if (state.failed) return current;
+                    	    otherlv_57=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleReferenceCS10111); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
-                    	          	newLeafNode(otherlv_49, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_3_4());
+                    	          	newLeafNode(otherlv_57, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_3_4());
                     	          
                     	    }
 
@@ -11678,14 +12972,14 @@
                     	    break;
 
                     	default :
-                    	    break loop111;
+                    	    break loop149;
                         }
                     } while (true);
 
-                    otherlv_50=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleReferenceCS8724); if (state.failed) return current;
+                    otherlv_58=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleReferenceCS10126); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
-                          	newLeafNode(otherlv_50, grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_7_0_2());
+                          	newLeafNode(otherlv_58, grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_7_0_2());
                           
                     }
 
@@ -11695,12 +12989,12 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4015:7: otherlv_51= ';'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4246:7: otherlv_59= ';'
                     {
-                    otherlv_51=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleReferenceCS8743); if (state.failed) return current;
+                    otherlv_59=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleReferenceCS10145); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
-                          	newLeafNode(otherlv_51, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_1());
+                          	newLeafNode(otherlv_59, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_1());
                           
                     }
 
@@ -11725,6 +13019,9 @@
                 appendSkippedTokens();
             } 
         finally {
+
+            	myUnorderedGroupState.restore();
+
         }
         return current;
     }
@@ -11732,7 +13029,7 @@
 
 
     // $ANTLR start "entryRuleSpecificationCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4027:1: entryRuleSpecificationCS returns [EObject current=null] : iv_ruleSpecificationCS= ruleSpecificationCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4261:1: entryRuleSpecificationCS returns [EObject current=null] : iv_ruleSpecificationCS= ruleSpecificationCS EOF ;
     public final EObject entryRuleSpecificationCS() throws RecognitionException {
         EObject current = null;
 
@@ -11740,13 +13037,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4028:2: (iv_ruleSpecificationCS= ruleSpecificationCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4029:2: iv_ruleSpecificationCS= ruleSpecificationCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4262:2: (iv_ruleSpecificationCS= ruleSpecificationCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4263:2: iv_ruleSpecificationCS= ruleSpecificationCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getSpecificationCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleSpecificationCS_in_entryRuleSpecificationCS8780);
+            pushFollow(FollowSets000.FOLLOW_ruleSpecificationCS_in_entryRuleSpecificationCS10186);
             iv_ruleSpecificationCS=ruleSpecificationCS();
 
             state._fsp--;
@@ -11754,7 +13051,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleSpecificationCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSpecificationCS8790); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSpecificationCS10196); if (state.failed) return current;
 
             }
 
@@ -11772,7 +13069,7 @@
 
 
     // $ANTLR start "ruleSpecificationCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4036:1: ruleSpecificationCS returns [EObject current=null] : ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) | ( (lv_exprString_1_0= RULE_UNQUOTED_STRING ) ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4270:1: ruleSpecificationCS returns [EObject current=null] : ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) | ( (lv_exprString_1_0= RULE_UNQUOTED_STRING ) ) ) ;
     public final EObject ruleSpecificationCS() throws RecognitionException {
         EObject current = null;
 
@@ -11783,42 +13080,42 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4039:28: ( ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) | ( (lv_exprString_1_0= RULE_UNQUOTED_STRING ) ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4040:1: ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) | ( (lv_exprString_1_0= RULE_UNQUOTED_STRING ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4273:28: ( ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) | ( (lv_exprString_1_0= RULE_UNQUOTED_STRING ) ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4274:1: ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) | ( (lv_exprString_1_0= RULE_UNQUOTED_STRING ) ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4040:1: ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) | ( (lv_exprString_1_0= RULE_UNQUOTED_STRING ) ) )
-            int alt113=2;
-            int LA113_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4274:1: ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) | ( (lv_exprString_1_0= RULE_UNQUOTED_STRING ) ) )
+            int alt151=2;
+            int LA151_0 = input.LA(1);
 
-            if ( ((LA113_0>=RULE_INT && LA113_0<=RULE_SINGLE_QUOTED_STRING)||(LA113_0>=RULE_SIMPLE_ID && LA113_0<=RULE_ESCAPED_ID)||(LA113_0>=17 && LA113_0<=55)||LA113_0==59||LA113_0==72||(LA113_0>=74 && LA113_0<=75)||LA113_0==80||(LA113_0>=83 && LA113_0<=84)||LA113_0==98||(LA113_0>=100 && LA113_0<=112)||(LA113_0>=115 && LA113_0<=119)||LA113_0==126||(LA113_0>=131 && LA113_0<=132)) ) {
-                alt113=1;
+            if ( ((LA151_0>=RULE_INT && LA151_0<=RULE_SINGLE_QUOTED_STRING)||(LA151_0>=RULE_SIMPLE_ID && LA151_0<=RULE_ESCAPED_ID)||(LA151_0>=17 && LA151_0<=55)||LA151_0==59||LA151_0==72||(LA151_0>=74 && LA151_0<=75)||LA151_0==80||(LA151_0>=83 && LA151_0<=84)||LA151_0==98||(LA151_0>=100 && LA151_0<=112)||(LA151_0>=115 && LA151_0<=119)||LA151_0==126||(LA151_0>=131 && LA151_0<=132)) ) {
+                alt151=1;
             }
-            else if ( (LA113_0==RULE_UNQUOTED_STRING) ) {
-                alt113=2;
+            else if ( (LA151_0==RULE_UNQUOTED_STRING) ) {
+                alt151=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 113, 0, input);
+                    new NoViableAltException("", 151, 0, input);
 
                 throw nvae;
             }
-            switch (alt113) {
+            switch (alt151) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4040:2: ( (lv_ownedExpression_0_0= ruleExpCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4274:2: ( (lv_ownedExpression_0_0= ruleExpCS ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4040:2: ( (lv_ownedExpression_0_0= ruleExpCS ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4041:1: (lv_ownedExpression_0_0= ruleExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4274:2: ( (lv_ownedExpression_0_0= ruleExpCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4275:1: (lv_ownedExpression_0_0= ruleExpCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4041:1: (lv_ownedExpression_0_0= ruleExpCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4042:3: lv_ownedExpression_0_0= ruleExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4275:1: (lv_ownedExpression_0_0= ruleExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4276:3: lv_ownedExpression_0_0= ruleExpCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getSpecificationCSAccess().getOwnedExpressionExpCSParserRuleCall_0_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleSpecificationCS8836);
+                    pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleSpecificationCS10242);
                     lv_ownedExpression_0_0=ruleExpCS();
 
                     state._fsp--;
@@ -11846,15 +13143,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4059:6: ( (lv_exprString_1_0= RULE_UNQUOTED_STRING ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4293:6: ( (lv_exprString_1_0= RULE_UNQUOTED_STRING ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4059:6: ( (lv_exprString_1_0= RULE_UNQUOTED_STRING ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4060:1: (lv_exprString_1_0= RULE_UNQUOTED_STRING )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4293:6: ( (lv_exprString_1_0= RULE_UNQUOTED_STRING ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4294:1: (lv_exprString_1_0= RULE_UNQUOTED_STRING )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4060:1: (lv_exprString_1_0= RULE_UNQUOTED_STRING )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4061:3: lv_exprString_1_0= RULE_UNQUOTED_STRING
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4294:1: (lv_exprString_1_0= RULE_UNQUOTED_STRING )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4295:3: lv_exprString_1_0= RULE_UNQUOTED_STRING
                     {
-                    lv_exprString_1_0=(Token)match(input,RULE_UNQUOTED_STRING,FollowSets000.FOLLOW_RULE_UNQUOTED_STRING_in_ruleSpecificationCS8859); if (state.failed) return current;
+                    lv_exprString_1_0=(Token)match(input,RULE_UNQUOTED_STRING,FollowSets000.FOLLOW_RULE_UNQUOTED_STRING_in_ruleSpecificationCS10265); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			newLeafNode(lv_exprString_1_0, grammarAccess.getSpecificationCSAccess().getExprStringUNQUOTED_STRINGTerminalRuleCall_1_0()); 
@@ -11904,7 +13201,7 @@
 
 
     // $ANTLR start "entryRuleStructuredClassCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4085:1: entryRuleStructuredClassCS returns [EObject current=null] : iv_ruleStructuredClassCS= ruleStructuredClassCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4319:1: entryRuleStructuredClassCS returns [EObject current=null] : iv_ruleStructuredClassCS= ruleStructuredClassCS EOF ;
     public final EObject entryRuleStructuredClassCS() throws RecognitionException {
         EObject current = null;
 
@@ -11912,13 +13209,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4086:2: (iv_ruleStructuredClassCS= ruleStructuredClassCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4087:2: iv_ruleStructuredClassCS= ruleStructuredClassCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4320:2: (iv_ruleStructuredClassCS= ruleStructuredClassCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4321:2: iv_ruleStructuredClassCS= ruleStructuredClassCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getStructuredClassCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleStructuredClassCS_in_entryRuleStructuredClassCS8900);
+            pushFollow(FollowSets000.FOLLOW_ruleStructuredClassCS_in_entryRuleStructuredClassCS10306);
             iv_ruleStructuredClassCS=ruleStructuredClassCS();
 
             state._fsp--;
@@ -11926,7 +13223,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleStructuredClassCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStructuredClassCS8910); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStructuredClassCS10316); if (state.failed) return current;
 
             }
 
@@ -11944,7 +13241,7 @@
 
 
     // $ANTLR start "ruleStructuredClassCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4094:1: ruleStructuredClassCS returns [EObject current=null] : ( ( (lv_isAbstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= 'extends' ( (lv_ownedSuperTypes_5_0= ruleTypedRefCS ) ) (otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) ) )* )? (otherlv_8= ':' ( (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_10= '{' ( (lv_isInterface_11_0= 'interface' ) )? otherlv_12= '}' )? ( (otherlv_13= '{' ( ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )* otherlv_18= '}' ) | otherlv_19= ';' ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4328:1: ruleStructuredClassCS returns [EObject current=null] : ( ( (lv_isAbstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= 'extends' ( (lv_ownedSuperTypes_5_0= ruleTypedRefCS ) ) (otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) ) )* )? (otherlv_8= ':' ( (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_10= '{' ( (lv_isInterface_11_0= 'interface' ) )? otherlv_12= '}' )? ( (otherlv_13= '{' ( ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )* otherlv_18= '}' ) | otherlv_19= ';' ) ) ;
     public final EObject ruleStructuredClassCS() throws RecognitionException {
         EObject current = null;
 
@@ -11980,27 +13277,27 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4097:28: ( ( ( (lv_isAbstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= 'extends' ( (lv_ownedSuperTypes_5_0= ruleTypedRefCS ) ) (otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) ) )* )? (otherlv_8= ':' ( (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_10= '{' ( (lv_isInterface_11_0= 'interface' ) )? otherlv_12= '}' )? ( (otherlv_13= '{' ( ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )* otherlv_18= '}' ) | otherlv_19= ';' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4098:1: ( ( (lv_isAbstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= 'extends' ( (lv_ownedSuperTypes_5_0= ruleTypedRefCS ) ) (otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) ) )* )? (otherlv_8= ':' ( (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_10= '{' ( (lv_isInterface_11_0= 'interface' ) )? otherlv_12= '}' )? ( (otherlv_13= '{' ( ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )* otherlv_18= '}' ) | otherlv_19= ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4331:28: ( ( ( (lv_isAbstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= 'extends' ( (lv_ownedSuperTypes_5_0= ruleTypedRefCS ) ) (otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) ) )* )? (otherlv_8= ':' ( (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_10= '{' ( (lv_isInterface_11_0= 'interface' ) )? otherlv_12= '}' )? ( (otherlv_13= '{' ( ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )* otherlv_18= '}' ) | otherlv_19= ';' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4332:1: ( ( (lv_isAbstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= 'extends' ( (lv_ownedSuperTypes_5_0= ruleTypedRefCS ) ) (otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) ) )* )? (otherlv_8= ':' ( (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_10= '{' ( (lv_isInterface_11_0= 'interface' ) )? otherlv_12= '}' )? ( (otherlv_13= '{' ( ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )* otherlv_18= '}' ) | otherlv_19= ';' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4098:1: ( ( (lv_isAbstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= 'extends' ( (lv_ownedSuperTypes_5_0= ruleTypedRefCS ) ) (otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) ) )* )? (otherlv_8= ':' ( (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_10= '{' ( (lv_isInterface_11_0= 'interface' ) )? otherlv_12= '}' )? ( (otherlv_13= '{' ( ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )* otherlv_18= '}' ) | otherlv_19= ';' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4098:2: ( (lv_isAbstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= 'extends' ( (lv_ownedSuperTypes_5_0= ruleTypedRefCS ) ) (otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) ) )* )? (otherlv_8= ':' ( (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_10= '{' ( (lv_isInterface_11_0= 'interface' ) )? otherlv_12= '}' )? ( (otherlv_13= '{' ( ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )* otherlv_18= '}' ) | otherlv_19= ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4332:1: ( ( (lv_isAbstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= 'extends' ( (lv_ownedSuperTypes_5_0= ruleTypedRefCS ) ) (otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) ) )* )? (otherlv_8= ':' ( (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_10= '{' ( (lv_isInterface_11_0= 'interface' ) )? otherlv_12= '}' )? ( (otherlv_13= '{' ( ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )* otherlv_18= '}' ) | otherlv_19= ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4332:2: ( (lv_isAbstract_0_0= 'abstract' ) )? otherlv_1= 'class' ( (lv_name_2_0= ruleUnrestrictedName ) ) ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? (otherlv_4= 'extends' ( (lv_ownedSuperTypes_5_0= ruleTypedRefCS ) ) (otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) ) )* )? (otherlv_8= ':' ( (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_10= '{' ( (lv_isInterface_11_0= 'interface' ) )? otherlv_12= '}' )? ( (otherlv_13= '{' ( ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )* otherlv_18= '}' ) | otherlv_19= ';' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4098:2: ( (lv_isAbstract_0_0= 'abstract' ) )?
-            int alt114=2;
-            int LA114_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4332:2: ( (lv_isAbstract_0_0= 'abstract' ) )?
+            int alt152=2;
+            int LA152_0 = input.LA(1);
 
-            if ( (LA114_0==19) ) {
-                alt114=1;
+            if ( (LA152_0==19) ) {
+                alt152=1;
             }
-            switch (alt114) {
+            switch (alt152) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4099:1: (lv_isAbstract_0_0= 'abstract' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4333:1: (lv_isAbstract_0_0= 'abstract' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4099:1: (lv_isAbstract_0_0= 'abstract' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4100:3: lv_isAbstract_0_0= 'abstract'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4333:1: (lv_isAbstract_0_0= 'abstract' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4334:3: lv_isAbstract_0_0= 'abstract'
                     {
-                    lv_isAbstract_0_0=(Token)match(input,19,FollowSets000.FOLLOW_19_in_ruleStructuredClassCS8953); if (state.failed) return current;
+                    lv_isAbstract_0_0=(Token)match(input,19,FollowSets000.FOLLOW_19_in_ruleStructuredClassCS10359); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               newLeafNode(lv_isAbstract_0_0, grammarAccess.getStructuredClassCSAccess().getIsAbstractAbstractKeyword_0_0());
@@ -12023,24 +13320,24 @@
 
             }
 
-            otherlv_1=(Token)match(input,23,FollowSets000.FOLLOW_23_in_ruleStructuredClassCS8979); if (state.failed) return current;
+            otherlv_1=(Token)match(input,23,FollowSets000.FOLLOW_23_in_ruleStructuredClassCS10385); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_1, grammarAccess.getStructuredClassCSAccess().getClassKeyword_1());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4117:1: ( (lv_name_2_0= ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4118:1: (lv_name_2_0= ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4351:1: ( (lv_name_2_0= ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4352:1: (lv_name_2_0= ruleUnrestrictedName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4118:1: (lv_name_2_0= ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4119:3: lv_name_2_0= ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4352:1: (lv_name_2_0= ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4353:3: lv_name_2_0= ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getStructuredClassCSAccess().getNameUnrestrictedNameParserRuleCall_2_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleStructuredClassCS9000);
+            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleStructuredClassCS10406);
             lv_name_2_0=ruleUnrestrictedName();
 
             state._fsp--;
@@ -12064,26 +13361,26 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4135:2: ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )?
-            int alt115=2;
-            int LA115_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4369:2: ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )?
+            int alt153=2;
+            int LA153_0 = input.LA(1);
 
-            if ( (LA115_0==55||LA115_0==81) ) {
-                alt115=1;
+            if ( (LA153_0==55||LA153_0==81) ) {
+                alt153=1;
             }
-            switch (alt115) {
+            switch (alt153) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4136:1: (lv_ownedSignature_3_0= ruleTemplateSignatureCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4370:1: (lv_ownedSignature_3_0= ruleTemplateSignatureCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4136:1: (lv_ownedSignature_3_0= ruleTemplateSignatureCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4137:3: lv_ownedSignature_3_0= ruleTemplateSignatureCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4370:1: (lv_ownedSignature_3_0= ruleTemplateSignatureCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4371:3: lv_ownedSignature_3_0= ruleTemplateSignatureCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getStructuredClassCSAccess().getOwnedSignatureTemplateSignatureCSParserRuleCall_3_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTemplateSignatureCS_in_ruleStructuredClassCS9021);
+                    pushFollow(FollowSets000.FOLLOW_ruleTemplateSignatureCS_in_ruleStructuredClassCS10427);
                     lv_ownedSignature_3_0=ruleTemplateSignatureCS();
 
                     state._fsp--;
@@ -12110,35 +13407,35 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4153:3: (otherlv_4= 'extends' ( (lv_ownedSuperTypes_5_0= ruleTypedRefCS ) ) (otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) ) )* )?
-            int alt117=2;
-            int LA117_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4387:3: (otherlv_4= 'extends' ( (lv_ownedSuperTypes_5_0= ruleTypedRefCS ) ) (otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) ) )* )?
+            int alt155=2;
+            int LA155_0 = input.LA(1);
 
-            if ( (LA117_0==30) ) {
-                alt117=1;
+            if ( (LA155_0==30) ) {
+                alt155=1;
             }
-            switch (alt117) {
+            switch (alt155) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4153:5: otherlv_4= 'extends' ( (lv_ownedSuperTypes_5_0= ruleTypedRefCS ) ) (otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) ) )*
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4387:5: otherlv_4= 'extends' ( (lv_ownedSuperTypes_5_0= ruleTypedRefCS ) ) (otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) ) )*
                     {
-                    otherlv_4=(Token)match(input,30,FollowSets000.FOLLOW_30_in_ruleStructuredClassCS9035); if (state.failed) return current;
+                    otherlv_4=(Token)match(input,30,FollowSets000.FOLLOW_30_in_ruleStructuredClassCS10441); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_4, grammarAccess.getStructuredClassCSAccess().getExtendsKeyword_4_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4157:1: ( (lv_ownedSuperTypes_5_0= ruleTypedRefCS ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4158:1: (lv_ownedSuperTypes_5_0= ruleTypedRefCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4391:1: ( (lv_ownedSuperTypes_5_0= ruleTypedRefCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4392:1: (lv_ownedSuperTypes_5_0= ruleTypedRefCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4158:1: (lv_ownedSuperTypes_5_0= ruleTypedRefCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4159:3: lv_ownedSuperTypes_5_0= ruleTypedRefCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4392:1: (lv_ownedSuperTypes_5_0= ruleTypedRefCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4393:3: lv_ownedSuperTypes_5_0= ruleTypedRefCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getStructuredClassCSAccess().getOwnedSuperTypesTypedRefCSParserRuleCall_4_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_ruleStructuredClassCS9056);
+                    pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_ruleStructuredClassCS10462);
                     lv_ownedSuperTypes_5_0=ruleTypedRefCS();
 
                     state._fsp--;
@@ -12162,39 +13459,39 @@
 
                     }
 
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4175:2: (otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) ) )*
-                    loop116:
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4409:2: (otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) ) )*
+                    loop154:
                     do {
-                        int alt116=2;
-                        int LA116_0 = input.LA(1);
+                        int alt154=2;
+                        int LA154_0 = input.LA(1);
 
-                        if ( (LA116_0==60) ) {
-                            alt116=1;
+                        if ( (LA154_0==60) ) {
+                            alt154=1;
                         }
 
 
-                        switch (alt116) {
+                        switch (alt154) {
                     	case 1 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4175:4: otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4409:4: otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) )
                     	    {
-                    	    otherlv_6=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleStructuredClassCS9069); if (state.failed) return current;
+                    	    otherlv_6=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleStructuredClassCS10475); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
                     	          	newLeafNode(otherlv_6, grammarAccess.getStructuredClassCSAccess().getCommaKeyword_4_2_0());
                     	          
                     	    }
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4179:1: ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4180:1: (lv_ownedSuperTypes_7_0= ruleTypedRefCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4413:1: ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4414:1: (lv_ownedSuperTypes_7_0= ruleTypedRefCS )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4180:1: (lv_ownedSuperTypes_7_0= ruleTypedRefCS )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4181:3: lv_ownedSuperTypes_7_0= ruleTypedRefCS
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4414:1: (lv_ownedSuperTypes_7_0= ruleTypedRefCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4415:3: lv_ownedSuperTypes_7_0= ruleTypedRefCS
                     	    {
                     	    if ( state.backtracking==0 ) {
                     	       
                     	      	        newCompositeNode(grammarAccess.getStructuredClassCSAccess().getOwnedSuperTypesTypedRefCSParserRuleCall_4_2_1_0()); 
                     	      	    
                     	    }
-                    	    pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_ruleStructuredClassCS9090);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_ruleStructuredClassCS10496);
                     	    lv_ownedSuperTypes_7_0=ruleTypedRefCS();
 
                     	    state._fsp--;
@@ -12223,7 +13520,7 @@
                     	    break;
 
                     	default :
-                    	    break loop116;
+                    	    break loop154;
                         }
                     } while (true);
 
@@ -12233,30 +13530,30 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4197:6: (otherlv_8= ':' ( (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING ) ) )?
-            int alt118=2;
-            int LA118_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4431:6: (otherlv_8= ':' ( (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING ) ) )?
+            int alt156=2;
+            int LA156_0 = input.LA(1);
 
-            if ( (LA118_0==57) ) {
-                alt118=1;
+            if ( (LA156_0==57) ) {
+                alt156=1;
             }
-            switch (alt118) {
+            switch (alt156) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4197:8: otherlv_8= ':' ( (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4431:8: otherlv_8= ':' ( (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING ) )
                     {
-                    otherlv_8=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleStructuredClassCS9107); if (state.failed) return current;
+                    otherlv_8=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleStructuredClassCS10513); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_8, grammarAccess.getStructuredClassCSAccess().getColonKeyword_5_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4201:1: ( (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4202:1: (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4435:1: ( (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4436:1: (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4202:1: (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4203:3: lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4436:1: (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4437:3: lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING
                     {
-                    lv_instanceClassName_9_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleStructuredClassCS9124); if (state.failed) return current;
+                    lv_instanceClassName_9_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleStructuredClassCS10530); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       			newLeafNode(lv_instanceClassName_9_0, grammarAccess.getStructuredClassCSAccess().getInstanceClassNameSINGLE_QUOTED_STRINGTerminalRuleCall_5_1_0()); 
@@ -12286,49 +13583,49 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4219:4: (otherlv_10= '{' ( (lv_isInterface_11_0= 'interface' ) )? otherlv_12= '}' )?
-            int alt120=2;
-            int LA120_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4453:4: (otherlv_10= '{' ( (lv_isInterface_11_0= 'interface' ) )? otherlv_12= '}' )?
+            int alt158=2;
+            int LA158_0 = input.LA(1);
 
-            if ( (LA120_0==61) ) {
-                int LA120_1 = input.LA(2);
+            if ( (LA158_0==61) ) {
+                int LA158_1 = input.LA(2);
 
-                if ( (LA120_1==34) ) {
-                    alt120=1;
+                if ( (LA158_1==34) ) {
+                    alt158=1;
                 }
-                else if ( (LA120_1==62) ) {
-                    int LA120_4 = input.LA(3);
+                else if ( (LA158_1==62) ) {
+                    int LA158_4 = input.LA(3);
 
-                    if ( (LA120_4==58||LA120_4==61) ) {
-                        alt120=1;
+                    if ( (LA158_4==58||LA158_4==61) ) {
+                        alt158=1;
                     }
                 }
             }
-            switch (alt120) {
+            switch (alt158) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4219:6: otherlv_10= '{' ( (lv_isInterface_11_0= 'interface' ) )? otherlv_12= '}'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4453:6: otherlv_10= '{' ( (lv_isInterface_11_0= 'interface' ) )? otherlv_12= '}'
                     {
-                    otherlv_10=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleStructuredClassCS9144); if (state.failed) return current;
+                    otherlv_10=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleStructuredClassCS10550); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_10, grammarAccess.getStructuredClassCSAccess().getLeftCurlyBracketKeyword_6_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4223:1: ( (lv_isInterface_11_0= 'interface' ) )?
-                    int alt119=2;
-                    int LA119_0 = input.LA(1);
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4457:1: ( (lv_isInterface_11_0= 'interface' ) )?
+                    int alt157=2;
+                    int LA157_0 = input.LA(1);
 
-                    if ( (LA119_0==34) ) {
-                        alt119=1;
+                    if ( (LA157_0==34) ) {
+                        alt157=1;
                     }
-                    switch (alt119) {
+                    switch (alt157) {
                         case 1 :
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4224:1: (lv_isInterface_11_0= 'interface' )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4458:1: (lv_isInterface_11_0= 'interface' )
                             {
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4224:1: (lv_isInterface_11_0= 'interface' )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4225:3: lv_isInterface_11_0= 'interface'
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4458:1: (lv_isInterface_11_0= 'interface' )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4459:3: lv_isInterface_11_0= 'interface'
                             {
-                            lv_isInterface_11_0=(Token)match(input,34,FollowSets000.FOLLOW_34_in_ruleStructuredClassCS9162); if (state.failed) return current;
+                            lv_isInterface_11_0=(Token)match(input,34,FollowSets000.FOLLOW_34_in_ruleStructuredClassCS10568); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
 
                                       newLeafNode(lv_isInterface_11_0, grammarAccess.getStructuredClassCSAccess().getIsInterfaceInterfaceKeyword_6_1_0());
@@ -12351,7 +13648,7 @@
 
                     }
 
-                    otherlv_12=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleStructuredClassCS9188); if (state.failed) return current;
+                    otherlv_12=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleStructuredClassCS10594); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_12, grammarAccess.getStructuredClassCSAccess().getRightCurlyBracketKeyword_6_2());
@@ -12363,57 +13660,57 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4242:3: ( (otherlv_13= '{' ( ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )* otherlv_18= '}' ) | otherlv_19= ';' )
-            int alt122=2;
-            int LA122_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4476:3: ( (otherlv_13= '{' ( ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )* otherlv_18= '}' ) | otherlv_19= ';' )
+            int alt160=2;
+            int LA160_0 = input.LA(1);
 
-            if ( (LA122_0==61) ) {
-                alt122=1;
+            if ( (LA160_0==61) ) {
+                alt160=1;
             }
-            else if ( (LA122_0==58) ) {
-                alt122=2;
+            else if ( (LA160_0==58) ) {
+                alt160=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 122, 0, input);
+                    new NoViableAltException("", 160, 0, input);
 
                 throw nvae;
             }
-            switch (alt122) {
+            switch (alt160) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4242:4: (otherlv_13= '{' ( ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )* otherlv_18= '}' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4476:4: (otherlv_13= '{' ( ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )* otherlv_18= '}' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4242:4: (otherlv_13= '{' ( ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )* otherlv_18= '}' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4242:6: otherlv_13= '{' ( ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )* otherlv_18= '}'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4476:4: (otherlv_13= '{' ( ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )* otherlv_18= '}' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4476:6: otherlv_13= '{' ( ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )* otherlv_18= '}'
                     {
-                    otherlv_13=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleStructuredClassCS9204); if (state.failed) return current;
+                    otherlv_13=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleStructuredClassCS10610); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_13, grammarAccess.getStructuredClassCSAccess().getLeftCurlyBracketKeyword_7_0_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4246:1: ( ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )*
-                    loop121:
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4480:1: ( ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )*
+                    loop159:
                     do {
-                        int alt121=5;
-                        alt121 = dfa121.predict(input);
-                        switch (alt121) {
+                        int alt159=5;
+                        alt159 = dfa159.predict(input);
+                        switch (alt159) {
                     	case 1 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4246:2: ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4480:2: ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4246:2: ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4247:1: (lv_ownedAnnotations_14_0= ruleAnnotationElementCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4480:2: ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4481:1: (lv_ownedAnnotations_14_0= ruleAnnotationElementCS )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4247:1: (lv_ownedAnnotations_14_0= ruleAnnotationElementCS )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4248:3: lv_ownedAnnotations_14_0= ruleAnnotationElementCS
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4481:1: (lv_ownedAnnotations_14_0= ruleAnnotationElementCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4482:3: lv_ownedAnnotations_14_0= ruleAnnotationElementCS
                     	    {
                     	    if ( state.backtracking==0 ) {
                     	       
                     	      	        newCompositeNode(grammarAccess.getStructuredClassCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_7_0_1_0_0()); 
                     	      	    
                     	    }
-                    	    pushFollow(FollowSets000.FOLLOW_ruleAnnotationElementCS_in_ruleStructuredClassCS9226);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleAnnotationElementCS_in_ruleStructuredClassCS10632);
                     	    lv_ownedAnnotations_14_0=ruleAnnotationElementCS();
 
                     	    state._fsp--;
@@ -12441,20 +13738,20 @@
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4265:6: ( (lv_ownedOperations_15_0= ruleOperationCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4499:6: ( (lv_ownedOperations_15_0= ruleOperationCS ) )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4265:6: ( (lv_ownedOperations_15_0= ruleOperationCS ) )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4266:1: (lv_ownedOperations_15_0= ruleOperationCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4499:6: ( (lv_ownedOperations_15_0= ruleOperationCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4500:1: (lv_ownedOperations_15_0= ruleOperationCS )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4266:1: (lv_ownedOperations_15_0= ruleOperationCS )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4267:3: lv_ownedOperations_15_0= ruleOperationCS
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4500:1: (lv_ownedOperations_15_0= ruleOperationCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4501:3: lv_ownedOperations_15_0= ruleOperationCS
                     	    {
                     	    if ( state.backtracking==0 ) {
                     	       
                     	      	        newCompositeNode(grammarAccess.getStructuredClassCSAccess().getOwnedOperationsOperationCSParserRuleCall_7_0_1_1_0()); 
                     	      	    
                     	    }
-                    	    pushFollow(FollowSets000.FOLLOW_ruleOperationCS_in_ruleStructuredClassCS9253);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleOperationCS_in_ruleStructuredClassCS10659);
                     	    lv_ownedOperations_15_0=ruleOperationCS();
 
                     	    state._fsp--;
@@ -12482,20 +13779,20 @@
                     	    }
                     	    break;
                     	case 3 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4284:6: ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4518:6: ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4284:6: ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4285:1: (lv_ownedProperties_16_0= ruleStructuralFeatureCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4518:6: ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4519:1: (lv_ownedProperties_16_0= ruleStructuralFeatureCS )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4285:1: (lv_ownedProperties_16_0= ruleStructuralFeatureCS )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4286:3: lv_ownedProperties_16_0= ruleStructuralFeatureCS
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4519:1: (lv_ownedProperties_16_0= ruleStructuralFeatureCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4520:3: lv_ownedProperties_16_0= ruleStructuralFeatureCS
                     	    {
                     	    if ( state.backtracking==0 ) {
                     	       
                     	      	        newCompositeNode(grammarAccess.getStructuredClassCSAccess().getOwnedPropertiesStructuralFeatureCSParserRuleCall_7_0_1_2_0()); 
                     	      	    
                     	    }
-                    	    pushFollow(FollowSets000.FOLLOW_ruleStructuralFeatureCS_in_ruleStructuredClassCS9280);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleStructuralFeatureCS_in_ruleStructuredClassCS10686);
                     	    lv_ownedProperties_16_0=ruleStructuralFeatureCS();
 
                     	    state._fsp--;
@@ -12523,20 +13820,20 @@
                     	    }
                     	    break;
                     	case 4 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4303:6: ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4537:6: ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4303:6: ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4304:1: (lv_ownedConstraints_17_0= ruleInvariantConstraintCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4537:6: ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4538:1: (lv_ownedConstraints_17_0= ruleInvariantConstraintCS )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4304:1: (lv_ownedConstraints_17_0= ruleInvariantConstraintCS )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4305:3: lv_ownedConstraints_17_0= ruleInvariantConstraintCS
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4538:1: (lv_ownedConstraints_17_0= ruleInvariantConstraintCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4539:3: lv_ownedConstraints_17_0= ruleInvariantConstraintCS
                     	    {
                     	    if ( state.backtracking==0 ) {
                     	       
                     	      	        newCompositeNode(grammarAccess.getStructuredClassCSAccess().getOwnedConstraintsInvariantConstraintCSParserRuleCall_7_0_1_3_0()); 
                     	      	    
                     	    }
-                    	    pushFollow(FollowSets000.FOLLOW_ruleInvariantConstraintCS_in_ruleStructuredClassCS9307);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleInvariantConstraintCS_in_ruleStructuredClassCS10713);
                     	    lv_ownedConstraints_17_0=ruleInvariantConstraintCS();
 
                     	    state._fsp--;
@@ -12565,11 +13862,11 @@
                     	    break;
 
                     	default :
-                    	    break loop121;
+                    	    break loop159;
                         }
                     } while (true);
 
-                    otherlv_18=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleStructuredClassCS9321); if (state.failed) return current;
+                    otherlv_18=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleStructuredClassCS10727); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_18, grammarAccess.getStructuredClassCSAccess().getRightCurlyBracketKeyword_7_0_2());
@@ -12582,9 +13879,9 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4326:7: otherlv_19= ';'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4560:7: otherlv_19= ';'
                     {
-                    otherlv_19=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleStructuredClassCS9340); if (state.failed) return current;
+                    otherlv_19=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleStructuredClassCS10746); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_19, grammarAccess.getStructuredClassCSAccess().getSemicolonKeyword_7_1());
@@ -12619,7 +13916,7 @@
 
 
     // $ANTLR start "entryRuleStructuralFeatureCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4338:1: entryRuleStructuralFeatureCS returns [EObject current=null] : iv_ruleStructuralFeatureCS= ruleStructuralFeatureCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4572:1: entryRuleStructuralFeatureCS returns [EObject current=null] : iv_ruleStructuralFeatureCS= ruleStructuralFeatureCS EOF ;
     public final EObject entryRuleStructuralFeatureCS() throws RecognitionException {
         EObject current = null;
 
@@ -12627,13 +13924,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4339:2: (iv_ruleStructuralFeatureCS= ruleStructuralFeatureCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4340:2: iv_ruleStructuralFeatureCS= ruleStructuralFeatureCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4573:2: (iv_ruleStructuralFeatureCS= ruleStructuralFeatureCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4574:2: iv_ruleStructuralFeatureCS= ruleStructuralFeatureCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getStructuralFeatureCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleStructuralFeatureCS_in_entryRuleStructuralFeatureCS9377);
+            pushFollow(FollowSets000.FOLLOW_ruleStructuralFeatureCS_in_entryRuleStructuralFeatureCS10783);
             iv_ruleStructuralFeatureCS=ruleStructuralFeatureCS();
 
             state._fsp--;
@@ -12641,7 +13938,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleStructuralFeatureCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStructuralFeatureCS9387); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStructuralFeatureCS10793); if (state.failed) return current;
 
             }
 
@@ -12659,7 +13956,7 @@
 
 
     // $ANTLR start "ruleStructuralFeatureCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4347:1: ruleStructuralFeatureCS returns [EObject current=null] : (this_AttributeCS_0= ruleAttributeCS | this_ReferenceCS_1= ruleReferenceCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4581:1: ruleStructuralFeatureCS returns [EObject current=null] : (this_AttributeCS_0= ruleAttributeCS | this_ReferenceCS_1= ruleReferenceCS ) ;
     public final EObject ruleStructuralFeatureCS() throws RecognitionException {
         EObject current = null;
 
@@ -12671,117 +13968,15 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4350:28: ( (this_AttributeCS_0= ruleAttributeCS | this_ReferenceCS_1= ruleReferenceCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4351:1: (this_AttributeCS_0= ruleAttributeCS | this_ReferenceCS_1= ruleReferenceCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4584:28: ( (this_AttributeCS_0= ruleAttributeCS | this_ReferenceCS_1= ruleReferenceCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4585:1: (this_AttributeCS_0= ruleAttributeCS | this_ReferenceCS_1= ruleReferenceCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4351:1: (this_AttributeCS_0= ruleAttributeCS | this_ReferenceCS_1= ruleReferenceCS )
-            int alt123=2;
-            switch ( input.LA(1) ) {
-            case 47:
-                {
-                switch ( input.LA(2) ) {
-                case 26:
-                    {
-                    int LA123_5 = input.LA(3);
-
-                    if ( (LA123_5==43) ) {
-                        alt123=2;
-                    }
-                    else if ( (LA123_5==20) ) {
-                        alt123=1;
-                    }
-                    else {
-                        if (state.backtracking>0) {state.failed=true; return current;}
-                        NoViableAltException nvae =
-                            new NoViableAltException("", 123, 5, input);
-
-                        throw nvae;
-                    }
-                    }
-                    break;
-                case 20:
-                    {
-                    alt123=1;
-                    }
-                    break;
-                case 43:
-                    {
-                    alt123=2;
-                    }
-                    break;
-                default:
-                    if (state.backtracking>0) {state.failed=true; return current;}
-                    NoViableAltException nvae =
-                        new NoViableAltException("", 123, 1, input);
-
-                    throw nvae;
-                }
-
-                }
-                break;
-            case 26:
-                {
-                switch ( input.LA(2) ) {
-                case 47:
-                    {
-                    int LA123_6 = input.LA(3);
-
-                    if ( (LA123_6==43) ) {
-                        alt123=2;
-                    }
-                    else if ( (LA123_6==20) ) {
-                        alt123=1;
-                    }
-                    else {
-                        if (state.backtracking>0) {state.failed=true; return current;}
-                        NoViableAltException nvae =
-                            new NoViableAltException("", 123, 6, input);
-
-                        throw nvae;
-                    }
-                    }
-                    break;
-                case 20:
-                    {
-                    alt123=1;
-                    }
-                    break;
-                case 43:
-                    {
-                    alt123=2;
-                    }
-                    break;
-                default:
-                    if (state.backtracking>0) {state.failed=true; return current;}
-                    NoViableAltException nvae =
-                        new NoViableAltException("", 123, 2, input);
-
-                    throw nvae;
-                }
-
-                }
-                break;
-            case 20:
-                {
-                alt123=1;
-                }
-                break;
-            case 43:
-                {
-                alt123=2;
-                }
-                break;
-            default:
-                if (state.backtracking>0) {state.failed=true; return current;}
-                NoViableAltException nvae =
-                    new NoViableAltException("", 123, 0, input);
-
-                throw nvae;
-            }
-
-            switch (alt123) {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4585:1: (this_AttributeCS_0= ruleAttributeCS | this_ReferenceCS_1= ruleReferenceCS )
+            int alt161=2;
+            alt161 = dfa161.predict(input);
+            switch (alt161) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4352:2: this_AttributeCS_0= ruleAttributeCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4586:2: this_AttributeCS_0= ruleAttributeCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -12793,7 +13988,7 @@
                               newCompositeNode(grammarAccess.getStructuralFeatureCSAccess().getAttributeCSParserRuleCall_0()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleAttributeCS_in_ruleStructuralFeatureCS9437);
+                    pushFollow(FollowSets000.FOLLOW_ruleAttributeCS_in_ruleStructuralFeatureCS10843);
                     this_AttributeCS_0=ruleAttributeCS();
 
                     state._fsp--;
@@ -12808,7 +14003,7 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4365:2: this_ReferenceCS_1= ruleReferenceCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4599:2: this_ReferenceCS_1= ruleReferenceCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -12820,7 +14015,7 @@
                               newCompositeNode(grammarAccess.getStructuralFeatureCSAccess().getReferenceCSParserRuleCall_1()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleReferenceCS_in_ruleStructuralFeatureCS9467);
+                    pushFollow(FollowSets000.FOLLOW_ruleReferenceCS_in_ruleStructuralFeatureCS10873);
                     this_ReferenceCS_1=ruleReferenceCS();
 
                     state._fsp--;
@@ -12857,7 +14052,7 @@
 
 
     // $ANTLR start "entryRuleSysMLCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4384:1: entryRuleSysMLCS returns [EObject current=null] : iv_ruleSysMLCS= ruleSysMLCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4618:1: entryRuleSysMLCS returns [EObject current=null] : iv_ruleSysMLCS= ruleSysMLCS EOF ;
     public final EObject entryRuleSysMLCS() throws RecognitionException {
         EObject current = null;
 
@@ -12865,13 +14060,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4385:2: (iv_ruleSysMLCS= ruleSysMLCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4386:2: iv_ruleSysMLCS= ruleSysMLCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4619:2: (iv_ruleSysMLCS= ruleSysMLCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4620:2: iv_ruleSysMLCS= ruleSysMLCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getSysMLCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleSysMLCS_in_entryRuleSysMLCS9502);
+            pushFollow(FollowSets000.FOLLOW_ruleSysMLCS_in_entryRuleSysMLCS10908);
             iv_ruleSysMLCS=ruleSysMLCS();
 
             state._fsp--;
@@ -12879,7 +14074,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleSysMLCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSysMLCS9512); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSysMLCS10918); if (state.failed) return current;
 
             }
 
@@ -12897,7 +14092,7 @@
 
 
     // $ANTLR start "ruleSysMLCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4393:1: ruleSysMLCS returns [EObject current=null] : ( () otherlv_1= 'sysml' ( ( ( (lv_ownedDetails_2_0= ruleDetailCS ) ) otherlv_3= ';' ) | (otherlv_4= '{' ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )* otherlv_7= '}' ) ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4627:1: ruleSysMLCS returns [EObject current=null] : ( () otherlv_1= 'sysml' ( ( ( (lv_ownedDetails_2_0= ruleDetailCS ) ) otherlv_3= ';' ) | (otherlv_4= '{' ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )* otherlv_7= '}' ) ) ) ;
     public final EObject ruleSysMLCS() throws RecognitionException {
         EObject current = null;
 
@@ -12914,14 +14109,14 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4396:28: ( ( () otherlv_1= 'sysml' ( ( ( (lv_ownedDetails_2_0= ruleDetailCS ) ) otherlv_3= ';' ) | (otherlv_4= '{' ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )* otherlv_7= '}' ) ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4397:1: ( () otherlv_1= 'sysml' ( ( ( (lv_ownedDetails_2_0= ruleDetailCS ) ) otherlv_3= ';' ) | (otherlv_4= '{' ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )* otherlv_7= '}' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4630:28: ( ( () otherlv_1= 'sysml' ( ( ( (lv_ownedDetails_2_0= ruleDetailCS ) ) otherlv_3= ';' ) | (otherlv_4= '{' ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )* otherlv_7= '}' ) ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4631:1: ( () otherlv_1= 'sysml' ( ( ( (lv_ownedDetails_2_0= ruleDetailCS ) ) otherlv_3= ';' ) | (otherlv_4= '{' ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )* otherlv_7= '}' ) ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4397:1: ( () otherlv_1= 'sysml' ( ( ( (lv_ownedDetails_2_0= ruleDetailCS ) ) otherlv_3= ';' ) | (otherlv_4= '{' ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )* otherlv_7= '}' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4397:2: () otherlv_1= 'sysml' ( ( ( (lv_ownedDetails_2_0= ruleDetailCS ) ) otherlv_3= ';' ) | (otherlv_4= '{' ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )* otherlv_7= '}' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4631:1: ( () otherlv_1= 'sysml' ( ( ( (lv_ownedDetails_2_0= ruleDetailCS ) ) otherlv_3= ';' ) | (otherlv_4= '{' ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )* otherlv_7= '}' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4631:2: () otherlv_1= 'sysml' ( ( ( (lv_ownedDetails_2_0= ruleDetailCS ) ) otherlv_3= ';' ) | (otherlv_4= '{' ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )* otherlv_7= '}' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4397:2: ()
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4398:2: 
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4631:2: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4632:2: 
             {
             if ( state.backtracking==0 ) {
                
@@ -12938,48 +14133,48 @@
 
             }
 
-            otherlv_1=(Token)match(input,80,FollowSets000.FOLLOW_80_in_ruleSysMLCS9561); if (state.failed) return current;
+            otherlv_1=(Token)match(input,80,FollowSets000.FOLLOW_80_in_ruleSysMLCS10967); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_1, grammarAccess.getSysMLCSAccess().getSysmlKeyword_1());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4410:1: ( ( ( (lv_ownedDetails_2_0= ruleDetailCS ) ) otherlv_3= ';' ) | (otherlv_4= '{' ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )* otherlv_7= '}' ) )
-            int alt125=2;
-            int LA125_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4644:1: ( ( ( (lv_ownedDetails_2_0= ruleDetailCS ) ) otherlv_3= ';' ) | (otherlv_4= '{' ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )* otherlv_7= '}' ) )
+            int alt163=2;
+            int LA163_0 = input.LA(1);
 
-            if ( (LA125_0==RULE_SINGLE_QUOTED_STRING||(LA125_0>=RULE_SIMPLE_ID && LA125_0<=RULE_ESCAPED_ID)||LA125_0==17||(LA125_0>=19 && LA125_0<=54)||LA125_0==59||LA125_0==72||(LA125_0>=74 && LA125_0<=75)||LA125_0==80) ) {
-                alt125=1;
+            if ( (LA163_0==RULE_SINGLE_QUOTED_STRING||(LA163_0>=RULE_SIMPLE_ID && LA163_0<=RULE_ESCAPED_ID)||LA163_0==17||(LA163_0>=19 && LA163_0<=54)||LA163_0==59||LA163_0==72||(LA163_0>=74 && LA163_0<=75)||LA163_0==80) ) {
+                alt163=1;
             }
-            else if ( (LA125_0==61) ) {
-                alt125=2;
+            else if ( (LA163_0==61) ) {
+                alt163=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 125, 0, input);
+                    new NoViableAltException("", 163, 0, input);
 
                 throw nvae;
             }
-            switch (alt125) {
+            switch (alt163) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4410:2: ( ( (lv_ownedDetails_2_0= ruleDetailCS ) ) otherlv_3= ';' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4644:2: ( ( (lv_ownedDetails_2_0= ruleDetailCS ) ) otherlv_3= ';' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4410:2: ( ( (lv_ownedDetails_2_0= ruleDetailCS ) ) otherlv_3= ';' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4410:3: ( (lv_ownedDetails_2_0= ruleDetailCS ) ) otherlv_3= ';'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4644:2: ( ( (lv_ownedDetails_2_0= ruleDetailCS ) ) otherlv_3= ';' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4644:3: ( (lv_ownedDetails_2_0= ruleDetailCS ) ) otherlv_3= ';'
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4410:3: ( (lv_ownedDetails_2_0= ruleDetailCS ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4411:1: (lv_ownedDetails_2_0= ruleDetailCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4644:3: ( (lv_ownedDetails_2_0= ruleDetailCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4645:1: (lv_ownedDetails_2_0= ruleDetailCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4411:1: (lv_ownedDetails_2_0= ruleDetailCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4412:3: lv_ownedDetails_2_0= ruleDetailCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4645:1: (lv_ownedDetails_2_0= ruleDetailCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4646:3: lv_ownedDetails_2_0= ruleDetailCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getSysMLCSAccess().getOwnedDetailsDetailCSParserRuleCall_2_0_0_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleDetailCS_in_ruleSysMLCS9584);
+                    pushFollow(FollowSets000.FOLLOW_ruleDetailCS_in_ruleSysMLCS10990);
                     lv_ownedDetails_2_0=ruleDetailCS();
 
                     state._fsp--;
@@ -13003,7 +14198,7 @@
 
                     }
 
-                    otherlv_3=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleSysMLCS9596); if (state.failed) return current;
+                    otherlv_3=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleSysMLCS11002); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_3, grammarAccess.getSysMLCSAccess().getSemicolonKeyword_2_0_1());
@@ -13016,44 +14211,44 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4433:6: (otherlv_4= '{' ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )* otherlv_7= '}' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4667:6: (otherlv_4= '{' ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )* otherlv_7= '}' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4433:6: (otherlv_4= '{' ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )* otherlv_7= '}' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4433:8: otherlv_4= '{' ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )* otherlv_7= '}'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4667:6: (otherlv_4= '{' ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )* otherlv_7= '}' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4667:8: otherlv_4= '{' ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )* otherlv_7= '}'
                     {
-                    otherlv_4=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleSysMLCS9616); if (state.failed) return current;
+                    otherlv_4=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleSysMLCS11022); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_4, grammarAccess.getSysMLCSAccess().getLeftCurlyBracketKeyword_2_1_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4437:1: ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )*
-                    loop124:
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4671:1: ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )*
+                    loop162:
                     do {
-                        int alt124=2;
-                        int LA124_0 = input.LA(1);
+                        int alt162=2;
+                        int LA162_0 = input.LA(1);
 
-                        if ( (LA124_0==RULE_SINGLE_QUOTED_STRING||(LA124_0>=RULE_SIMPLE_ID && LA124_0<=RULE_ESCAPED_ID)||LA124_0==17||(LA124_0>=19 && LA124_0<=54)||LA124_0==59||LA124_0==72||(LA124_0>=74 && LA124_0<=75)||LA124_0==80) ) {
-                            alt124=1;
+                        if ( (LA162_0==RULE_SINGLE_QUOTED_STRING||(LA162_0>=RULE_SIMPLE_ID && LA162_0<=RULE_ESCAPED_ID)||LA162_0==17||(LA162_0>=19 && LA162_0<=54)||LA162_0==59||LA162_0==72||(LA162_0>=74 && LA162_0<=75)||LA162_0==80) ) {
+                            alt162=1;
                         }
 
 
-                        switch (alt124) {
+                        switch (alt162) {
                     	case 1 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4437:2: ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';'
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4671:2: ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';'
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4437:2: ( (lv_ownedDetails_5_0= ruleDetailCS ) )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4438:1: (lv_ownedDetails_5_0= ruleDetailCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4671:2: ( (lv_ownedDetails_5_0= ruleDetailCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4672:1: (lv_ownedDetails_5_0= ruleDetailCS )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4438:1: (lv_ownedDetails_5_0= ruleDetailCS )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4439:3: lv_ownedDetails_5_0= ruleDetailCS
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4672:1: (lv_ownedDetails_5_0= ruleDetailCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4673:3: lv_ownedDetails_5_0= ruleDetailCS
                     	    {
                     	    if ( state.backtracking==0 ) {
                     	       
                     	      	        newCompositeNode(grammarAccess.getSysMLCSAccess().getOwnedDetailsDetailCSParserRuleCall_2_1_1_0_0()); 
                     	      	    
                     	    }
-                    	    pushFollow(FollowSets000.FOLLOW_ruleDetailCS_in_ruleSysMLCS9638);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleDetailCS_in_ruleSysMLCS11044);
                     	    lv_ownedDetails_5_0=ruleDetailCS();
 
                     	    state._fsp--;
@@ -13077,7 +14272,7 @@
 
                     	    }
 
-                    	    otherlv_6=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleSysMLCS9650); if (state.failed) return current;
+                    	    otherlv_6=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleSysMLCS11056); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
                     	          	newLeafNode(otherlv_6, grammarAccess.getSysMLCSAccess().getSemicolonKeyword_2_1_1_1());
@@ -13088,11 +14283,11 @@
                     	    break;
 
                     	default :
-                    	    break loop124;
+                    	    break loop162;
                         }
                     } while (true);
 
-                    otherlv_7=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleSysMLCS9664); if (state.failed) return current;
+                    otherlv_7=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleSysMLCS11070); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_7, grammarAccess.getSysMLCSAccess().getRightCurlyBracketKeyword_2_1_2());
@@ -13130,7 +14325,7 @@
 
 
     // $ANTLR start "entryRuleTypedMultiplicityRefCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4473:1: entryRuleTypedMultiplicityRefCS returns [EObject current=null] : iv_ruleTypedMultiplicityRefCS= ruleTypedMultiplicityRefCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4707:1: entryRuleTypedMultiplicityRefCS returns [EObject current=null] : iv_ruleTypedMultiplicityRefCS= ruleTypedMultiplicityRefCS EOF ;
     public final EObject entryRuleTypedMultiplicityRefCS() throws RecognitionException {
         EObject current = null;
 
@@ -13138,13 +14333,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4474:2: (iv_ruleTypedMultiplicityRefCS= ruleTypedMultiplicityRefCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4475:2: iv_ruleTypedMultiplicityRefCS= ruleTypedMultiplicityRefCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4708:2: (iv_ruleTypedMultiplicityRefCS= ruleTypedMultiplicityRefCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4709:2: iv_ruleTypedMultiplicityRefCS= ruleTypedMultiplicityRefCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTypedMultiplicityRefCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleTypedMultiplicityRefCS_in_entryRuleTypedMultiplicityRefCS9704);
+            pushFollow(FollowSets000.FOLLOW_ruleTypedMultiplicityRefCS_in_entryRuleTypedMultiplicityRefCS11110);
             iv_ruleTypedMultiplicityRefCS=ruleTypedMultiplicityRefCS();
 
             state._fsp--;
@@ -13152,7 +14347,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleTypedMultiplicityRefCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypedMultiplicityRefCS9714); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypedMultiplicityRefCS11120); if (state.failed) return current;
 
             }
 
@@ -13170,7 +14365,7 @@
 
 
     // $ANTLR start "ruleTypedMultiplicityRefCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4482:1: ruleTypedMultiplicityRefCS returns [EObject current=null] : (this_TypedRefCS_0= ruleTypedRefCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4716:1: ruleTypedMultiplicityRefCS returns [EObject current=null] : (this_TypedRefCS_0= ruleTypedRefCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? ) ;
     public final EObject ruleTypedMultiplicityRefCS() throws RecognitionException {
         EObject current = null;
 
@@ -13182,11 +14377,11 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4485:28: ( (this_TypedRefCS_0= ruleTypedRefCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4486:1: (this_TypedRefCS_0= ruleTypedRefCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4719:28: ( (this_TypedRefCS_0= ruleTypedRefCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4720:1: (this_TypedRefCS_0= ruleTypedRefCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4486:1: (this_TypedRefCS_0= ruleTypedRefCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4487:2: this_TypedRefCS_0= ruleTypedRefCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4720:1: (this_TypedRefCS_0= ruleTypedRefCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4721:2: this_TypedRefCS_0= ruleTypedRefCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )?
             {
             if ( state.backtracking==0 ) {
                
@@ -13198,7 +14393,7 @@
                       newCompositeNode(grammarAccess.getTypedMultiplicityRefCSAccess().getTypedRefCSParserRuleCall_0()); 
                   
             }
-            pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_ruleTypedMultiplicityRefCS9764);
+            pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_ruleTypedMultiplicityRefCS11170);
             this_TypedRefCS_0=ruleTypedRefCS();
 
             state._fsp--;
@@ -13209,26 +14404,26 @@
                       afterParserOrEnumRuleCall();
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4498:1: ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )?
-            int alt126=2;
-            int LA126_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4732:1: ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )?
+            int alt164=2;
+            int LA164_0 = input.LA(1);
 
-            if ( (LA126_0==122) ) {
-                alt126=1;
+            if ( (LA164_0==122) ) {
+                alt164=1;
             }
-            switch (alt126) {
+            switch (alt164) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4499:1: (lv_ownedMultiplicity_1_0= ruleMultiplicityCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4733:1: (lv_ownedMultiplicity_1_0= ruleMultiplicityCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4499:1: (lv_ownedMultiplicity_1_0= ruleMultiplicityCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4500:3: lv_ownedMultiplicity_1_0= ruleMultiplicityCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4733:1: (lv_ownedMultiplicity_1_0= ruleMultiplicityCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4734:3: lv_ownedMultiplicity_1_0= ruleMultiplicityCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getTypedMultiplicityRefCSAccess().getOwnedMultiplicityMultiplicityCSParserRuleCall_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleMultiplicityCS_in_ruleTypedMultiplicityRefCS9784);
+                    pushFollow(FollowSets000.FOLLOW_ruleMultiplicityCS_in_ruleTypedMultiplicityRefCS11190);
                     lv_ownedMultiplicity_1_0=ruleMultiplicityCS();
 
                     state._fsp--;
@@ -13278,7 +14473,7 @@
 
 
     // $ANTLR start "entryRuleTemplateBindingCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4524:1: entryRuleTemplateBindingCS returns [EObject current=null] : iv_ruleTemplateBindingCS= ruleTemplateBindingCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4758:1: entryRuleTemplateBindingCS returns [EObject current=null] : iv_ruleTemplateBindingCS= ruleTemplateBindingCS EOF ;
     public final EObject entryRuleTemplateBindingCS() throws RecognitionException {
         EObject current = null;
 
@@ -13286,13 +14481,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4525:2: (iv_ruleTemplateBindingCS= ruleTemplateBindingCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4526:2: iv_ruleTemplateBindingCS= ruleTemplateBindingCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4759:2: (iv_ruleTemplateBindingCS= ruleTemplateBindingCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4760:2: iv_ruleTemplateBindingCS= ruleTemplateBindingCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTemplateBindingCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleTemplateBindingCS_in_entryRuleTemplateBindingCS9821);
+            pushFollow(FollowSets000.FOLLOW_ruleTemplateBindingCS_in_entryRuleTemplateBindingCS11227);
             iv_ruleTemplateBindingCS=ruleTemplateBindingCS();
 
             state._fsp--;
@@ -13300,7 +14495,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleTemplateBindingCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTemplateBindingCS9831); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTemplateBindingCS11237); if (state.failed) return current;
 
             }
 
@@ -13318,7 +14513,7 @@
 
 
     // $ANTLR start "ruleTemplateBindingCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4533:1: ruleTemplateBindingCS returns [EObject current=null] : ( (otherlv_0= '(' ( (lv_ownedSubstitutions_1_0= ruleTemplateParameterSubstitutionCS ) ) (otherlv_2= ',' ( (lv_ownedSubstitutions_3_0= ruleTemplateParameterSubstitutionCS ) ) )* otherlv_4= ')' ) | (otherlv_5= '<' ( (lv_ownedSubstitutions_6_0= ruleTemplateParameterSubstitutionCS ) ) (otherlv_7= ',' ( (lv_ownedSubstitutions_8_0= ruleTemplateParameterSubstitutionCS ) ) )* otherlv_9= '>' ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4767:1: ruleTemplateBindingCS returns [EObject current=null] : ( (otherlv_0= '(' ( (lv_ownedSubstitutions_1_0= ruleTemplateParameterSubstitutionCS ) ) (otherlv_2= ',' ( (lv_ownedSubstitutions_3_0= ruleTemplateParameterSubstitutionCS ) ) )* otherlv_4= ')' ) | (otherlv_5= '<' ( (lv_ownedSubstitutions_6_0= ruleTemplateParameterSubstitutionCS ) ) (otherlv_7= ',' ( (lv_ownedSubstitutions_8_0= ruleTemplateParameterSubstitutionCS ) ) )* otherlv_9= '>' ) ) ;
     public final EObject ruleTemplateBindingCS() throws RecognitionException {
         EObject current = null;
 
@@ -13340,51 +14535,51 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4536:28: ( ( (otherlv_0= '(' ( (lv_ownedSubstitutions_1_0= ruleTemplateParameterSubstitutionCS ) ) (otherlv_2= ',' ( (lv_ownedSubstitutions_3_0= ruleTemplateParameterSubstitutionCS ) ) )* otherlv_4= ')' ) | (otherlv_5= '<' ( (lv_ownedSubstitutions_6_0= ruleTemplateParameterSubstitutionCS ) ) (otherlv_7= ',' ( (lv_ownedSubstitutions_8_0= ruleTemplateParameterSubstitutionCS ) ) )* otherlv_9= '>' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4537:1: ( (otherlv_0= '(' ( (lv_ownedSubstitutions_1_0= ruleTemplateParameterSubstitutionCS ) ) (otherlv_2= ',' ( (lv_ownedSubstitutions_3_0= ruleTemplateParameterSubstitutionCS ) ) )* otherlv_4= ')' ) | (otherlv_5= '<' ( (lv_ownedSubstitutions_6_0= ruleTemplateParameterSubstitutionCS ) ) (otherlv_7= ',' ( (lv_ownedSubstitutions_8_0= ruleTemplateParameterSubstitutionCS ) ) )* otherlv_9= '>' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4770:28: ( ( (otherlv_0= '(' ( (lv_ownedSubstitutions_1_0= ruleTemplateParameterSubstitutionCS ) ) (otherlv_2= ',' ( (lv_ownedSubstitutions_3_0= ruleTemplateParameterSubstitutionCS ) ) )* otherlv_4= ')' ) | (otherlv_5= '<' ( (lv_ownedSubstitutions_6_0= ruleTemplateParameterSubstitutionCS ) ) (otherlv_7= ',' ( (lv_ownedSubstitutions_8_0= ruleTemplateParameterSubstitutionCS ) ) )* otherlv_9= '>' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4771:1: ( (otherlv_0= '(' ( (lv_ownedSubstitutions_1_0= ruleTemplateParameterSubstitutionCS ) ) (otherlv_2= ',' ( (lv_ownedSubstitutions_3_0= ruleTemplateParameterSubstitutionCS ) ) )* otherlv_4= ')' ) | (otherlv_5= '<' ( (lv_ownedSubstitutions_6_0= ruleTemplateParameterSubstitutionCS ) ) (otherlv_7= ',' ( (lv_ownedSubstitutions_8_0= ruleTemplateParameterSubstitutionCS ) ) )* otherlv_9= '>' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4537:1: ( (otherlv_0= '(' ( (lv_ownedSubstitutions_1_0= ruleTemplateParameterSubstitutionCS ) ) (otherlv_2= ',' ( (lv_ownedSubstitutions_3_0= ruleTemplateParameterSubstitutionCS ) ) )* otherlv_4= ')' ) | (otherlv_5= '<' ( (lv_ownedSubstitutions_6_0= ruleTemplateParameterSubstitutionCS ) ) (otherlv_7= ',' ( (lv_ownedSubstitutions_8_0= ruleTemplateParameterSubstitutionCS ) ) )* otherlv_9= '>' ) )
-            int alt129=2;
-            int LA129_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4771:1: ( (otherlv_0= '(' ( (lv_ownedSubstitutions_1_0= ruleTemplateParameterSubstitutionCS ) ) (otherlv_2= ',' ( (lv_ownedSubstitutions_3_0= ruleTemplateParameterSubstitutionCS ) ) )* otherlv_4= ')' ) | (otherlv_5= '<' ( (lv_ownedSubstitutions_6_0= ruleTemplateParameterSubstitutionCS ) ) (otherlv_7= ',' ( (lv_ownedSubstitutions_8_0= ruleTemplateParameterSubstitutionCS ) ) )* otherlv_9= '>' ) )
+            int alt167=2;
+            int LA167_0 = input.LA(1);
 
-            if ( (LA129_0==55) ) {
-                alt129=1;
+            if ( (LA167_0==55) ) {
+                alt167=1;
             }
-            else if ( (LA129_0==81) ) {
-                alt129=2;
+            else if ( (LA167_0==81) ) {
+                alt167=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 129, 0, input);
+                    new NoViableAltException("", 167, 0, input);
 
                 throw nvae;
             }
-            switch (alt129) {
+            switch (alt167) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4537:2: (otherlv_0= '(' ( (lv_ownedSubstitutions_1_0= ruleTemplateParameterSubstitutionCS ) ) (otherlv_2= ',' ( (lv_ownedSubstitutions_3_0= ruleTemplateParameterSubstitutionCS ) ) )* otherlv_4= ')' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4771:2: (otherlv_0= '(' ( (lv_ownedSubstitutions_1_0= ruleTemplateParameterSubstitutionCS ) ) (otherlv_2= ',' ( (lv_ownedSubstitutions_3_0= ruleTemplateParameterSubstitutionCS ) ) )* otherlv_4= ')' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4537:2: (otherlv_0= '(' ( (lv_ownedSubstitutions_1_0= ruleTemplateParameterSubstitutionCS ) ) (otherlv_2= ',' ( (lv_ownedSubstitutions_3_0= ruleTemplateParameterSubstitutionCS ) ) )* otherlv_4= ')' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4537:4: otherlv_0= '(' ( (lv_ownedSubstitutions_1_0= ruleTemplateParameterSubstitutionCS ) ) (otherlv_2= ',' ( (lv_ownedSubstitutions_3_0= ruleTemplateParameterSubstitutionCS ) ) )* otherlv_4= ')'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4771:2: (otherlv_0= '(' ( (lv_ownedSubstitutions_1_0= ruleTemplateParameterSubstitutionCS ) ) (otherlv_2= ',' ( (lv_ownedSubstitutions_3_0= ruleTemplateParameterSubstitutionCS ) ) )* otherlv_4= ')' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4771:4: otherlv_0= '(' ( (lv_ownedSubstitutions_1_0= ruleTemplateParameterSubstitutionCS ) ) (otherlv_2= ',' ( (lv_ownedSubstitutions_3_0= ruleTemplateParameterSubstitutionCS ) ) )* otherlv_4= ')'
                     {
-                    otherlv_0=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleTemplateBindingCS9869); if (state.failed) return current;
+                    otherlv_0=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleTemplateBindingCS11275); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_0, grammarAccess.getTemplateBindingCSAccess().getLeftParenthesisKeyword_0_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4541:1: ( (lv_ownedSubstitutions_1_0= ruleTemplateParameterSubstitutionCS ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4542:1: (lv_ownedSubstitutions_1_0= ruleTemplateParameterSubstitutionCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4775:1: ( (lv_ownedSubstitutions_1_0= ruleTemplateParameterSubstitutionCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4776:1: (lv_ownedSubstitutions_1_0= ruleTemplateParameterSubstitutionCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4542:1: (lv_ownedSubstitutions_1_0= ruleTemplateParameterSubstitutionCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4543:3: lv_ownedSubstitutions_1_0= ruleTemplateParameterSubstitutionCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4776:1: (lv_ownedSubstitutions_1_0= ruleTemplateParameterSubstitutionCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4777:3: lv_ownedSubstitutions_1_0= ruleTemplateParameterSubstitutionCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getTemplateBindingCSAccess().getOwnedSubstitutionsTemplateParameterSubstitutionCSParserRuleCall_0_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTemplateParameterSubstitutionCS_in_ruleTemplateBindingCS9890);
+                    pushFollow(FollowSets000.FOLLOW_ruleTemplateParameterSubstitutionCS_in_ruleTemplateBindingCS11296);
                     lv_ownedSubstitutions_1_0=ruleTemplateParameterSubstitutionCS();
 
                     state._fsp--;
@@ -13408,39 +14603,39 @@
 
                     }
 
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4559:2: (otherlv_2= ',' ( (lv_ownedSubstitutions_3_0= ruleTemplateParameterSubstitutionCS ) ) )*
-                    loop127:
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4793:2: (otherlv_2= ',' ( (lv_ownedSubstitutions_3_0= ruleTemplateParameterSubstitutionCS ) ) )*
+                    loop165:
                     do {
-                        int alt127=2;
-                        int LA127_0 = input.LA(1);
+                        int alt165=2;
+                        int LA165_0 = input.LA(1);
 
-                        if ( (LA127_0==60) ) {
-                            alt127=1;
+                        if ( (LA165_0==60) ) {
+                            alt165=1;
                         }
 
 
-                        switch (alt127) {
+                        switch (alt165) {
                     	case 1 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4559:4: otherlv_2= ',' ( (lv_ownedSubstitutions_3_0= ruleTemplateParameterSubstitutionCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4793:4: otherlv_2= ',' ( (lv_ownedSubstitutions_3_0= ruleTemplateParameterSubstitutionCS ) )
                     	    {
-                    	    otherlv_2=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleTemplateBindingCS9903); if (state.failed) return current;
+                    	    otherlv_2=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleTemplateBindingCS11309); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
                     	          	newLeafNode(otherlv_2, grammarAccess.getTemplateBindingCSAccess().getCommaKeyword_0_2_0());
                     	          
                     	    }
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4563:1: ( (lv_ownedSubstitutions_3_0= ruleTemplateParameterSubstitutionCS ) )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4564:1: (lv_ownedSubstitutions_3_0= ruleTemplateParameterSubstitutionCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4797:1: ( (lv_ownedSubstitutions_3_0= ruleTemplateParameterSubstitutionCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4798:1: (lv_ownedSubstitutions_3_0= ruleTemplateParameterSubstitutionCS )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4564:1: (lv_ownedSubstitutions_3_0= ruleTemplateParameterSubstitutionCS )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4565:3: lv_ownedSubstitutions_3_0= ruleTemplateParameterSubstitutionCS
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4798:1: (lv_ownedSubstitutions_3_0= ruleTemplateParameterSubstitutionCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4799:3: lv_ownedSubstitutions_3_0= ruleTemplateParameterSubstitutionCS
                     	    {
                     	    if ( state.backtracking==0 ) {
                     	       
                     	      	        newCompositeNode(grammarAccess.getTemplateBindingCSAccess().getOwnedSubstitutionsTemplateParameterSubstitutionCSParserRuleCall_0_2_1_0()); 
                     	      	    
                     	    }
-                    	    pushFollow(FollowSets000.FOLLOW_ruleTemplateParameterSubstitutionCS_in_ruleTemplateBindingCS9924);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleTemplateParameterSubstitutionCS_in_ruleTemplateBindingCS11330);
                     	    lv_ownedSubstitutions_3_0=ruleTemplateParameterSubstitutionCS();
 
                     	    state._fsp--;
@@ -13469,11 +14664,11 @@
                     	    break;
 
                     	default :
-                    	    break loop127;
+                    	    break loop165;
                         }
                     } while (true);
 
-                    otherlv_4=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleTemplateBindingCS9938); if (state.failed) return current;
+                    otherlv_4=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleTemplateBindingCS11344); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_4, grammarAccess.getTemplateBindingCSAccess().getRightParenthesisKeyword_0_3());
@@ -13486,29 +14681,29 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4586:6: (otherlv_5= '<' ( (lv_ownedSubstitutions_6_0= ruleTemplateParameterSubstitutionCS ) ) (otherlv_7= ',' ( (lv_ownedSubstitutions_8_0= ruleTemplateParameterSubstitutionCS ) ) )* otherlv_9= '>' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4820:6: (otherlv_5= '<' ( (lv_ownedSubstitutions_6_0= ruleTemplateParameterSubstitutionCS ) ) (otherlv_7= ',' ( (lv_ownedSubstitutions_8_0= ruleTemplateParameterSubstitutionCS ) ) )* otherlv_9= '>' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4586:6: (otherlv_5= '<' ( (lv_ownedSubstitutions_6_0= ruleTemplateParameterSubstitutionCS ) ) (otherlv_7= ',' ( (lv_ownedSubstitutions_8_0= ruleTemplateParameterSubstitutionCS ) ) )* otherlv_9= '>' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4586:8: otherlv_5= '<' ( (lv_ownedSubstitutions_6_0= ruleTemplateParameterSubstitutionCS ) ) (otherlv_7= ',' ( (lv_ownedSubstitutions_8_0= ruleTemplateParameterSubstitutionCS ) ) )* otherlv_9= '>'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4820:6: (otherlv_5= '<' ( (lv_ownedSubstitutions_6_0= ruleTemplateParameterSubstitutionCS ) ) (otherlv_7= ',' ( (lv_ownedSubstitutions_8_0= ruleTemplateParameterSubstitutionCS ) ) )* otherlv_9= '>' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4820:8: otherlv_5= '<' ( (lv_ownedSubstitutions_6_0= ruleTemplateParameterSubstitutionCS ) ) (otherlv_7= ',' ( (lv_ownedSubstitutions_8_0= ruleTemplateParameterSubstitutionCS ) ) )* otherlv_9= '>'
                     {
-                    otherlv_5=(Token)match(input,81,FollowSets000.FOLLOW_81_in_ruleTemplateBindingCS9958); if (state.failed) return current;
+                    otherlv_5=(Token)match(input,81,FollowSets000.FOLLOW_81_in_ruleTemplateBindingCS11364); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_5, grammarAccess.getTemplateBindingCSAccess().getLessThanSignKeyword_1_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4590:1: ( (lv_ownedSubstitutions_6_0= ruleTemplateParameterSubstitutionCS ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4591:1: (lv_ownedSubstitutions_6_0= ruleTemplateParameterSubstitutionCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4824:1: ( (lv_ownedSubstitutions_6_0= ruleTemplateParameterSubstitutionCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4825:1: (lv_ownedSubstitutions_6_0= ruleTemplateParameterSubstitutionCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4591:1: (lv_ownedSubstitutions_6_0= ruleTemplateParameterSubstitutionCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4592:3: lv_ownedSubstitutions_6_0= ruleTemplateParameterSubstitutionCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4825:1: (lv_ownedSubstitutions_6_0= ruleTemplateParameterSubstitutionCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4826:3: lv_ownedSubstitutions_6_0= ruleTemplateParameterSubstitutionCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getTemplateBindingCSAccess().getOwnedSubstitutionsTemplateParameterSubstitutionCSParserRuleCall_1_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTemplateParameterSubstitutionCS_in_ruleTemplateBindingCS9979);
+                    pushFollow(FollowSets000.FOLLOW_ruleTemplateParameterSubstitutionCS_in_ruleTemplateBindingCS11385);
                     lv_ownedSubstitutions_6_0=ruleTemplateParameterSubstitutionCS();
 
                     state._fsp--;
@@ -13532,39 +14727,39 @@
 
                     }
 
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4608:2: (otherlv_7= ',' ( (lv_ownedSubstitutions_8_0= ruleTemplateParameterSubstitutionCS ) ) )*
-                    loop128:
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4842:2: (otherlv_7= ',' ( (lv_ownedSubstitutions_8_0= ruleTemplateParameterSubstitutionCS ) ) )*
+                    loop166:
                     do {
-                        int alt128=2;
-                        int LA128_0 = input.LA(1);
+                        int alt166=2;
+                        int LA166_0 = input.LA(1);
 
-                        if ( (LA128_0==60) ) {
-                            alt128=1;
+                        if ( (LA166_0==60) ) {
+                            alt166=1;
                         }
 
 
-                        switch (alt128) {
+                        switch (alt166) {
                     	case 1 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4608:4: otherlv_7= ',' ( (lv_ownedSubstitutions_8_0= ruleTemplateParameterSubstitutionCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4842:4: otherlv_7= ',' ( (lv_ownedSubstitutions_8_0= ruleTemplateParameterSubstitutionCS ) )
                     	    {
-                    	    otherlv_7=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleTemplateBindingCS9992); if (state.failed) return current;
+                    	    otherlv_7=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleTemplateBindingCS11398); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
                     	          	newLeafNode(otherlv_7, grammarAccess.getTemplateBindingCSAccess().getCommaKeyword_1_2_0());
                     	          
                     	    }
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4612:1: ( (lv_ownedSubstitutions_8_0= ruleTemplateParameterSubstitutionCS ) )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4613:1: (lv_ownedSubstitutions_8_0= ruleTemplateParameterSubstitutionCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4846:1: ( (lv_ownedSubstitutions_8_0= ruleTemplateParameterSubstitutionCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4847:1: (lv_ownedSubstitutions_8_0= ruleTemplateParameterSubstitutionCS )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4613:1: (lv_ownedSubstitutions_8_0= ruleTemplateParameterSubstitutionCS )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4614:3: lv_ownedSubstitutions_8_0= ruleTemplateParameterSubstitutionCS
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4847:1: (lv_ownedSubstitutions_8_0= ruleTemplateParameterSubstitutionCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4848:3: lv_ownedSubstitutions_8_0= ruleTemplateParameterSubstitutionCS
                     	    {
                     	    if ( state.backtracking==0 ) {
                     	       
                     	      	        newCompositeNode(grammarAccess.getTemplateBindingCSAccess().getOwnedSubstitutionsTemplateParameterSubstitutionCSParserRuleCall_1_2_1_0()); 
                     	      	    
                     	    }
-                    	    pushFollow(FollowSets000.FOLLOW_ruleTemplateParameterSubstitutionCS_in_ruleTemplateBindingCS10013);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleTemplateParameterSubstitutionCS_in_ruleTemplateBindingCS11419);
                     	    lv_ownedSubstitutions_8_0=ruleTemplateParameterSubstitutionCS();
 
                     	    state._fsp--;
@@ -13593,11 +14788,11 @@
                     	    break;
 
                     	default :
-                    	    break loop128;
+                    	    break loop166;
                         }
                     } while (true);
 
-                    otherlv_9=(Token)match(input,82,FollowSets000.FOLLOW_82_in_ruleTemplateBindingCS10027); if (state.failed) return current;
+                    otherlv_9=(Token)match(input,82,FollowSets000.FOLLOW_82_in_ruleTemplateBindingCS11433); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_9, grammarAccess.getTemplateBindingCSAccess().getGreaterThanSignKeyword_1_3());
@@ -13632,7 +14827,7 @@
 
 
     // $ANTLR start "entryRuleTemplateSignatureCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4642:1: entryRuleTemplateSignatureCS returns [EObject current=null] : iv_ruleTemplateSignatureCS= ruleTemplateSignatureCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4876:1: entryRuleTemplateSignatureCS returns [EObject current=null] : iv_ruleTemplateSignatureCS= ruleTemplateSignatureCS EOF ;
     public final EObject entryRuleTemplateSignatureCS() throws RecognitionException {
         EObject current = null;
 
@@ -13640,13 +14835,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4643:2: (iv_ruleTemplateSignatureCS= ruleTemplateSignatureCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4644:2: iv_ruleTemplateSignatureCS= ruleTemplateSignatureCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4877:2: (iv_ruleTemplateSignatureCS= ruleTemplateSignatureCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4878:2: iv_ruleTemplateSignatureCS= ruleTemplateSignatureCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTemplateSignatureCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleTemplateSignatureCS_in_entryRuleTemplateSignatureCS10064);
+            pushFollow(FollowSets000.FOLLOW_ruleTemplateSignatureCS_in_entryRuleTemplateSignatureCS11470);
             iv_ruleTemplateSignatureCS=ruleTemplateSignatureCS();
 
             state._fsp--;
@@ -13654,7 +14849,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleTemplateSignatureCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTemplateSignatureCS10074); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTemplateSignatureCS11480); if (state.failed) return current;
 
             }
 
@@ -13672,7 +14867,7 @@
 
 
     // $ANTLR start "ruleTemplateSignatureCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4651:1: ruleTemplateSignatureCS returns [EObject current=null] : ( (otherlv_0= '(' ( (lv_ownedParameters_1_0= ruleTypeParameterCS ) ) (otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) )* otherlv_4= ')' ) | (otherlv_5= '<' ( (lv_ownedParameters_6_0= ruleTypeParameterCS ) ) (otherlv_7= ',' ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) ) )* otherlv_9= '>' ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4885:1: ruleTemplateSignatureCS returns [EObject current=null] : ( (otherlv_0= '(' ( (lv_ownedParameters_1_0= ruleTypeParameterCS ) ) (otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) )* otherlv_4= ')' ) | (otherlv_5= '<' ( (lv_ownedParameters_6_0= ruleTypeParameterCS ) ) (otherlv_7= ',' ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) ) )* otherlv_9= '>' ) ) ;
     public final EObject ruleTemplateSignatureCS() throws RecognitionException {
         EObject current = null;
 
@@ -13694,51 +14889,51 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4654:28: ( ( (otherlv_0= '(' ( (lv_ownedParameters_1_0= ruleTypeParameterCS ) ) (otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) )* otherlv_4= ')' ) | (otherlv_5= '<' ( (lv_ownedParameters_6_0= ruleTypeParameterCS ) ) (otherlv_7= ',' ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) ) )* otherlv_9= '>' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4655:1: ( (otherlv_0= '(' ( (lv_ownedParameters_1_0= ruleTypeParameterCS ) ) (otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) )* otherlv_4= ')' ) | (otherlv_5= '<' ( (lv_ownedParameters_6_0= ruleTypeParameterCS ) ) (otherlv_7= ',' ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) ) )* otherlv_9= '>' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4888:28: ( ( (otherlv_0= '(' ( (lv_ownedParameters_1_0= ruleTypeParameterCS ) ) (otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) )* otherlv_4= ')' ) | (otherlv_5= '<' ( (lv_ownedParameters_6_0= ruleTypeParameterCS ) ) (otherlv_7= ',' ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) ) )* otherlv_9= '>' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4889:1: ( (otherlv_0= '(' ( (lv_ownedParameters_1_0= ruleTypeParameterCS ) ) (otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) )* otherlv_4= ')' ) | (otherlv_5= '<' ( (lv_ownedParameters_6_0= ruleTypeParameterCS ) ) (otherlv_7= ',' ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) ) )* otherlv_9= '>' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4655:1: ( (otherlv_0= '(' ( (lv_ownedParameters_1_0= ruleTypeParameterCS ) ) (otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) )* otherlv_4= ')' ) | (otherlv_5= '<' ( (lv_ownedParameters_6_0= ruleTypeParameterCS ) ) (otherlv_7= ',' ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) ) )* otherlv_9= '>' ) )
-            int alt132=2;
-            int LA132_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4889:1: ( (otherlv_0= '(' ( (lv_ownedParameters_1_0= ruleTypeParameterCS ) ) (otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) )* otherlv_4= ')' ) | (otherlv_5= '<' ( (lv_ownedParameters_6_0= ruleTypeParameterCS ) ) (otherlv_7= ',' ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) ) )* otherlv_9= '>' ) )
+            int alt170=2;
+            int LA170_0 = input.LA(1);
 
-            if ( (LA132_0==55) ) {
-                alt132=1;
+            if ( (LA170_0==55) ) {
+                alt170=1;
             }
-            else if ( (LA132_0==81) ) {
-                alt132=2;
+            else if ( (LA170_0==81) ) {
+                alt170=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 132, 0, input);
+                    new NoViableAltException("", 170, 0, input);
 
                 throw nvae;
             }
-            switch (alt132) {
+            switch (alt170) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4655:2: (otherlv_0= '(' ( (lv_ownedParameters_1_0= ruleTypeParameterCS ) ) (otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) )* otherlv_4= ')' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4889:2: (otherlv_0= '(' ( (lv_ownedParameters_1_0= ruleTypeParameterCS ) ) (otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) )* otherlv_4= ')' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4655:2: (otherlv_0= '(' ( (lv_ownedParameters_1_0= ruleTypeParameterCS ) ) (otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) )* otherlv_4= ')' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4655:4: otherlv_0= '(' ( (lv_ownedParameters_1_0= ruleTypeParameterCS ) ) (otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) )* otherlv_4= ')'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4889:2: (otherlv_0= '(' ( (lv_ownedParameters_1_0= ruleTypeParameterCS ) ) (otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) )* otherlv_4= ')' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4889:4: otherlv_0= '(' ( (lv_ownedParameters_1_0= ruleTypeParameterCS ) ) (otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) )* otherlv_4= ')'
                     {
-                    otherlv_0=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleTemplateSignatureCS10112); if (state.failed) return current;
+                    otherlv_0=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleTemplateSignatureCS11518); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_0, grammarAccess.getTemplateSignatureCSAccess().getLeftParenthesisKeyword_0_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4659:1: ( (lv_ownedParameters_1_0= ruleTypeParameterCS ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4660:1: (lv_ownedParameters_1_0= ruleTypeParameterCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4893:1: ( (lv_ownedParameters_1_0= ruleTypeParameterCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4894:1: (lv_ownedParameters_1_0= ruleTypeParameterCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4660:1: (lv_ownedParameters_1_0= ruleTypeParameterCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4661:3: lv_ownedParameters_1_0= ruleTypeParameterCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4894:1: (lv_ownedParameters_1_0= ruleTypeParameterCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4895:3: lv_ownedParameters_1_0= ruleTypeParameterCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getTemplateSignatureCSAccess().getOwnedParametersTypeParameterCSParserRuleCall_0_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTypeParameterCS_in_ruleTemplateSignatureCS10133);
+                    pushFollow(FollowSets000.FOLLOW_ruleTypeParameterCS_in_ruleTemplateSignatureCS11539);
                     lv_ownedParameters_1_0=ruleTypeParameterCS();
 
                     state._fsp--;
@@ -13762,39 +14957,39 @@
 
                     }
 
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4677:2: (otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) )*
-                    loop130:
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4911:2: (otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) )*
+                    loop168:
                     do {
-                        int alt130=2;
-                        int LA130_0 = input.LA(1);
+                        int alt168=2;
+                        int LA168_0 = input.LA(1);
 
-                        if ( (LA130_0==60) ) {
-                            alt130=1;
+                        if ( (LA168_0==60) ) {
+                            alt168=1;
                         }
 
 
-                        switch (alt130) {
+                        switch (alt168) {
                     	case 1 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4677:4: otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4911:4: otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) )
                     	    {
-                    	    otherlv_2=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleTemplateSignatureCS10146); if (state.failed) return current;
+                    	    otherlv_2=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleTemplateSignatureCS11552); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
                     	          	newLeafNode(otherlv_2, grammarAccess.getTemplateSignatureCSAccess().getCommaKeyword_0_2_0());
                     	          
                     	    }
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4681:1: ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4682:1: (lv_ownedParameters_3_0= ruleTypeParameterCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4915:1: ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4916:1: (lv_ownedParameters_3_0= ruleTypeParameterCS )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4682:1: (lv_ownedParameters_3_0= ruleTypeParameterCS )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4683:3: lv_ownedParameters_3_0= ruleTypeParameterCS
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4916:1: (lv_ownedParameters_3_0= ruleTypeParameterCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4917:3: lv_ownedParameters_3_0= ruleTypeParameterCS
                     	    {
                     	    if ( state.backtracking==0 ) {
                     	       
                     	      	        newCompositeNode(grammarAccess.getTemplateSignatureCSAccess().getOwnedParametersTypeParameterCSParserRuleCall_0_2_1_0()); 
                     	      	    
                     	    }
-                    	    pushFollow(FollowSets000.FOLLOW_ruleTypeParameterCS_in_ruleTemplateSignatureCS10167);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleTypeParameterCS_in_ruleTemplateSignatureCS11573);
                     	    lv_ownedParameters_3_0=ruleTypeParameterCS();
 
                     	    state._fsp--;
@@ -13823,11 +15018,11 @@
                     	    break;
 
                     	default :
-                    	    break loop130;
+                    	    break loop168;
                         }
                     } while (true);
 
-                    otherlv_4=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleTemplateSignatureCS10181); if (state.failed) return current;
+                    otherlv_4=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleTemplateSignatureCS11587); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_4, grammarAccess.getTemplateSignatureCSAccess().getRightParenthesisKeyword_0_3());
@@ -13840,29 +15035,29 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4704:6: (otherlv_5= '<' ( (lv_ownedParameters_6_0= ruleTypeParameterCS ) ) (otherlv_7= ',' ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) ) )* otherlv_9= '>' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4938:6: (otherlv_5= '<' ( (lv_ownedParameters_6_0= ruleTypeParameterCS ) ) (otherlv_7= ',' ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) ) )* otherlv_9= '>' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4704:6: (otherlv_5= '<' ( (lv_ownedParameters_6_0= ruleTypeParameterCS ) ) (otherlv_7= ',' ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) ) )* otherlv_9= '>' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4704:8: otherlv_5= '<' ( (lv_ownedParameters_6_0= ruleTypeParameterCS ) ) (otherlv_7= ',' ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) ) )* otherlv_9= '>'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4938:6: (otherlv_5= '<' ( (lv_ownedParameters_6_0= ruleTypeParameterCS ) ) (otherlv_7= ',' ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) ) )* otherlv_9= '>' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4938:8: otherlv_5= '<' ( (lv_ownedParameters_6_0= ruleTypeParameterCS ) ) (otherlv_7= ',' ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) ) )* otherlv_9= '>'
                     {
-                    otherlv_5=(Token)match(input,81,FollowSets000.FOLLOW_81_in_ruleTemplateSignatureCS10201); if (state.failed) return current;
+                    otherlv_5=(Token)match(input,81,FollowSets000.FOLLOW_81_in_ruleTemplateSignatureCS11607); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_5, grammarAccess.getTemplateSignatureCSAccess().getLessThanSignKeyword_1_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4708:1: ( (lv_ownedParameters_6_0= ruleTypeParameterCS ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4709:1: (lv_ownedParameters_6_0= ruleTypeParameterCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4942:1: ( (lv_ownedParameters_6_0= ruleTypeParameterCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4943:1: (lv_ownedParameters_6_0= ruleTypeParameterCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4709:1: (lv_ownedParameters_6_0= ruleTypeParameterCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4710:3: lv_ownedParameters_6_0= ruleTypeParameterCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4943:1: (lv_ownedParameters_6_0= ruleTypeParameterCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4944:3: lv_ownedParameters_6_0= ruleTypeParameterCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getTemplateSignatureCSAccess().getOwnedParametersTypeParameterCSParserRuleCall_1_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTypeParameterCS_in_ruleTemplateSignatureCS10222);
+                    pushFollow(FollowSets000.FOLLOW_ruleTypeParameterCS_in_ruleTemplateSignatureCS11628);
                     lv_ownedParameters_6_0=ruleTypeParameterCS();
 
                     state._fsp--;
@@ -13886,39 +15081,39 @@
 
                     }
 
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4726:2: (otherlv_7= ',' ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) ) )*
-                    loop131:
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4960:2: (otherlv_7= ',' ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) ) )*
+                    loop169:
                     do {
-                        int alt131=2;
-                        int LA131_0 = input.LA(1);
+                        int alt169=2;
+                        int LA169_0 = input.LA(1);
 
-                        if ( (LA131_0==60) ) {
-                            alt131=1;
+                        if ( (LA169_0==60) ) {
+                            alt169=1;
                         }
 
 
-                        switch (alt131) {
+                        switch (alt169) {
                     	case 1 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4726:4: otherlv_7= ',' ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4960:4: otherlv_7= ',' ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) )
                     	    {
-                    	    otherlv_7=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleTemplateSignatureCS10235); if (state.failed) return current;
+                    	    otherlv_7=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleTemplateSignatureCS11641); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
                     	          	newLeafNode(otherlv_7, grammarAccess.getTemplateSignatureCSAccess().getCommaKeyword_1_2_0());
                     	          
                     	    }
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4730:1: ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4731:1: (lv_ownedParameters_8_0= ruleTypeParameterCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4964:1: ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4965:1: (lv_ownedParameters_8_0= ruleTypeParameterCS )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4731:1: (lv_ownedParameters_8_0= ruleTypeParameterCS )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4732:3: lv_ownedParameters_8_0= ruleTypeParameterCS
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4965:1: (lv_ownedParameters_8_0= ruleTypeParameterCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4966:3: lv_ownedParameters_8_0= ruleTypeParameterCS
                     	    {
                     	    if ( state.backtracking==0 ) {
                     	       
                     	      	        newCompositeNode(grammarAccess.getTemplateSignatureCSAccess().getOwnedParametersTypeParameterCSParserRuleCall_1_2_1_0()); 
                     	      	    
                     	    }
-                    	    pushFollow(FollowSets000.FOLLOW_ruleTypeParameterCS_in_ruleTemplateSignatureCS10256);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleTypeParameterCS_in_ruleTemplateSignatureCS11662);
                     	    lv_ownedParameters_8_0=ruleTypeParameterCS();
 
                     	    state._fsp--;
@@ -13947,11 +15142,11 @@
                     	    break;
 
                     	default :
-                    	    break loop131;
+                    	    break loop169;
                         }
                     } while (true);
 
-                    otherlv_9=(Token)match(input,82,FollowSets000.FOLLOW_82_in_ruleTemplateSignatureCS10270); if (state.failed) return current;
+                    otherlv_9=(Token)match(input,82,FollowSets000.FOLLOW_82_in_ruleTemplateSignatureCS11676); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_9, grammarAccess.getTemplateSignatureCSAccess().getGreaterThanSignKeyword_1_3());
@@ -13986,7 +15181,7 @@
 
 
     // $ANTLR start "entryRuleTypedRefCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4760:1: entryRuleTypedRefCS returns [EObject current=null] : iv_ruleTypedRefCS= ruleTypedRefCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4994:1: entryRuleTypedRefCS returns [EObject current=null] : iv_ruleTypedRefCS= ruleTypedRefCS EOF ;
     public final EObject entryRuleTypedRefCS() throws RecognitionException {
         EObject current = null;
 
@@ -13994,13 +15189,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4761:2: (iv_ruleTypedRefCS= ruleTypedRefCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4762:2: iv_ruleTypedRefCS= ruleTypedRefCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4995:2: (iv_ruleTypedRefCS= ruleTypedRefCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4996:2: iv_ruleTypedRefCS= ruleTypedRefCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTypedRefCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_entryRuleTypedRefCS10307);
+            pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_entryRuleTypedRefCS11713);
             iv_ruleTypedRefCS=ruleTypedRefCS();
 
             state._fsp--;
@@ -14008,7 +15203,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleTypedRefCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypedRefCS10317); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypedRefCS11723); if (state.failed) return current;
 
             }
 
@@ -14026,7 +15221,7 @@
 
 
     // $ANTLR start "ruleTypedRefCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4769:1: ruleTypedRefCS returns [EObject current=null] : (this_TypeLiteralCS_0= ruleTypeLiteralCS | this_TypedTypeRefCS_1= ruleTypedTypeRefCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5003:1: ruleTypedRefCS returns [EObject current=null] : (this_TypeLiteralCS_0= ruleTypeLiteralCS | this_TypedTypeRefCS_1= ruleTypedTypeRefCS ) ;
     public final EObject ruleTypedRefCS() throws RecognitionException {
         EObject current = null;
 
@@ -14038,29 +15233,29 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4772:28: ( (this_TypeLiteralCS_0= ruleTypeLiteralCS | this_TypedTypeRefCS_1= ruleTypedTypeRefCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4773:1: (this_TypeLiteralCS_0= ruleTypeLiteralCS | this_TypedTypeRefCS_1= ruleTypedTypeRefCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5006:28: ( (this_TypeLiteralCS_0= ruleTypeLiteralCS | this_TypedTypeRefCS_1= ruleTypedTypeRefCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5007:1: (this_TypeLiteralCS_0= ruleTypeLiteralCS | this_TypedTypeRefCS_1= ruleTypedTypeRefCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4773:1: (this_TypeLiteralCS_0= ruleTypeLiteralCS | this_TypedTypeRefCS_1= ruleTypedTypeRefCS )
-            int alt133=2;
-            int LA133_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5007:1: (this_TypeLiteralCS_0= ruleTypeLiteralCS | this_TypedTypeRefCS_1= ruleTypedTypeRefCS )
+            int alt171=2;
+            int LA171_0 = input.LA(1);
 
-            if ( (LA133_0==98||(LA133_0>=100 && LA133_0<=112)) ) {
-                alt133=1;
+            if ( (LA171_0==98||(LA171_0>=100 && LA171_0<=112)) ) {
+                alt171=1;
             }
-            else if ( ((LA133_0>=RULE_SIMPLE_ID && LA133_0<=RULE_ESCAPED_ID)||LA133_0==17||(LA133_0>=19 && LA133_0<=54)||LA133_0==59||LA133_0==72||(LA133_0>=74 && LA133_0<=75)||LA133_0==80) ) {
-                alt133=2;
+            else if ( ((LA171_0>=RULE_SIMPLE_ID && LA171_0<=RULE_ESCAPED_ID)||LA171_0==17||(LA171_0>=19 && LA171_0<=54)||LA171_0==59||LA171_0==72||(LA171_0>=74 && LA171_0<=75)||LA171_0==80) ) {
+                alt171=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 133, 0, input);
+                    new NoViableAltException("", 171, 0, input);
 
                 throw nvae;
             }
-            switch (alt133) {
+            switch (alt171) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4774:2: this_TypeLiteralCS_0= ruleTypeLiteralCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5008:2: this_TypeLiteralCS_0= ruleTypeLiteralCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -14072,7 +15267,7 @@
                               newCompositeNode(grammarAccess.getTypedRefCSAccess().getTypeLiteralCSParserRuleCall_0()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralCS_in_ruleTypedRefCS10367);
+                    pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralCS_in_ruleTypedRefCS11773);
                     this_TypeLiteralCS_0=ruleTypeLiteralCS();
 
                     state._fsp--;
@@ -14087,7 +15282,7 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4787:2: this_TypedTypeRefCS_1= ruleTypedTypeRefCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5021:2: this_TypedTypeRefCS_1= ruleTypedTypeRefCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -14099,7 +15294,7 @@
                               newCompositeNode(grammarAccess.getTypedRefCSAccess().getTypedTypeRefCSParserRuleCall_1()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTypedTypeRefCS_in_ruleTypedRefCS10397);
+                    pushFollow(FollowSets000.FOLLOW_ruleTypedTypeRefCS_in_ruleTypedRefCS11803);
                     this_TypedTypeRefCS_1=ruleTypedTypeRefCS();
 
                     state._fsp--;
@@ -14136,7 +15331,7 @@
 
 
     // $ANTLR start "entryRuleUnrestrictedName"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4806:1: entryRuleUnrestrictedName returns [String current=null] : iv_ruleUnrestrictedName= ruleUnrestrictedName EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5040:1: entryRuleUnrestrictedName returns [String current=null] : iv_ruleUnrestrictedName= ruleUnrestrictedName EOF ;
     public final String entryRuleUnrestrictedName() throws RecognitionException {
         String current = null;
 
@@ -14144,13 +15339,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4807:2: (iv_ruleUnrestrictedName= ruleUnrestrictedName EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4808:2: iv_ruleUnrestrictedName= ruleUnrestrictedName EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5041:2: (iv_ruleUnrestrictedName= ruleUnrestrictedName EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5042:2: iv_ruleUnrestrictedName= ruleUnrestrictedName EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getUnrestrictedNameRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_entryRuleUnrestrictedName10433);
+            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_entryRuleUnrestrictedName11839);
             iv_ruleUnrestrictedName=ruleUnrestrictedName();
 
             state._fsp--;
@@ -14158,7 +15353,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleUnrestrictedName.getText(); 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleUnrestrictedName10444); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleUnrestrictedName11850); if (state.failed) return current;
 
             }
 
@@ -14176,7 +15371,7 @@
 
 
     // $ANTLR start "ruleUnrestrictedName"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4815:1: ruleUnrestrictedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_EnumerationLiteralName_0= ruleEnumerationLiteralName | kw= 'annotation' | kw= 'documentation' | kw= 'invariant' | kw= 'literal' | kw= 'serializable' | kw= 'sysml' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5049:1: ruleUnrestrictedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_EnumerationLiteralName_0= ruleEnumerationLiteralName | kw= 'annotation' | kw= 'documentation' | kw= 'invariant' | kw= 'literal' | kw= 'serializable' | kw= 'sysml' ) ;
     public final AntlrDatatypeRuleToken ruleUnrestrictedName() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -14187,11 +15382,11 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4818:28: ( (this_EnumerationLiteralName_0= ruleEnumerationLiteralName | kw= 'annotation' | kw= 'documentation' | kw= 'invariant' | kw= 'literal' | kw= 'serializable' | kw= 'sysml' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4819:1: (this_EnumerationLiteralName_0= ruleEnumerationLiteralName | kw= 'annotation' | kw= 'documentation' | kw= 'invariant' | kw= 'literal' | kw= 'serializable' | kw= 'sysml' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5052:28: ( (this_EnumerationLiteralName_0= ruleEnumerationLiteralName | kw= 'annotation' | kw= 'documentation' | kw= 'invariant' | kw= 'literal' | kw= 'serializable' | kw= 'sysml' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5053:1: (this_EnumerationLiteralName_0= ruleEnumerationLiteralName | kw= 'annotation' | kw= 'documentation' | kw= 'invariant' | kw= 'literal' | kw= 'serializable' | kw= 'sysml' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4819:1: (this_EnumerationLiteralName_0= ruleEnumerationLiteralName | kw= 'annotation' | kw= 'documentation' | kw= 'invariant' | kw= 'literal' | kw= 'serializable' | kw= 'sysml' )
-            int alt134=7;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5053:1: (this_EnumerationLiteralName_0= ruleEnumerationLiteralName | kw= 'annotation' | kw= 'documentation' | kw= 'invariant' | kw= 'literal' | kw= 'serializable' | kw= 'sysml' )
+            int alt172=7;
             switch ( input.LA(1) ) {
             case RULE_SIMPLE_ID:
             case RULE_ESCAPED_ID:
@@ -14232,57 +15427,57 @@
             case 52:
             case 53:
                 {
-                alt134=1;
+                alt172=1;
                 }
                 break;
             case 59:
                 {
-                alt134=2;
+                alt172=2;
                 }
                 break;
             case 74:
                 {
-                alt134=3;
+                alt172=3;
                 }
                 break;
             case 54:
                 {
-                alt134=4;
+                alt172=4;
                 }
                 break;
             case 75:
                 {
-                alt134=5;
+                alt172=5;
                 }
                 break;
             case 72:
                 {
-                alt134=6;
+                alt172=6;
                 }
                 break;
             case 80:
                 {
-                alt134=7;
+                alt172=7;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 134, 0, input);
+                    new NoViableAltException("", 172, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt134) {
+            switch (alt172) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4820:5: this_EnumerationLiteralName_0= ruleEnumerationLiteralName
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5054:5: this_EnumerationLiteralName_0= ruleEnumerationLiteralName
                     {
                     if ( state.backtracking==0 ) {
                        
                               newCompositeNode(grammarAccess.getUnrestrictedNameAccess().getEnumerationLiteralNameParserRuleCall_0()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleEnumerationLiteralName_in_ruleUnrestrictedName10491);
+                    pushFollow(FollowSets000.FOLLOW_ruleEnumerationLiteralName_in_ruleUnrestrictedName11897);
                     this_EnumerationLiteralName_0=ruleEnumerationLiteralName();
 
                     state._fsp--;
@@ -14301,9 +15496,9 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4832:2: kw= 'annotation'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5066:2: kw= 'annotation'
                     {
-                    kw=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleUnrestrictedName10515); if (state.failed) return current;
+                    kw=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleUnrestrictedName11921); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -14314,9 +15509,9 @@
                     }
                     break;
                 case 3 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4839:2: kw= 'documentation'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5073:2: kw= 'documentation'
                     {
-                    kw=(Token)match(input,74,FollowSets000.FOLLOW_74_in_ruleUnrestrictedName10534); if (state.failed) return current;
+                    kw=(Token)match(input,74,FollowSets000.FOLLOW_74_in_ruleUnrestrictedName11940); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -14327,9 +15522,9 @@
                     }
                     break;
                 case 4 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4846:2: kw= 'invariant'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5080:2: kw= 'invariant'
                     {
-                    kw=(Token)match(input,54,FollowSets000.FOLLOW_54_in_ruleUnrestrictedName10553); if (state.failed) return current;
+                    kw=(Token)match(input,54,FollowSets000.FOLLOW_54_in_ruleUnrestrictedName11959); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -14340,9 +15535,9 @@
                     }
                     break;
                 case 5 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4853:2: kw= 'literal'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5087:2: kw= 'literal'
                     {
-                    kw=(Token)match(input,75,FollowSets000.FOLLOW_75_in_ruleUnrestrictedName10572); if (state.failed) return current;
+                    kw=(Token)match(input,75,FollowSets000.FOLLOW_75_in_ruleUnrestrictedName11978); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -14353,9 +15548,9 @@
                     }
                     break;
                 case 6 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4860:2: kw= 'serializable'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5094:2: kw= 'serializable'
                     {
-                    kw=(Token)match(input,72,FollowSets000.FOLLOW_72_in_ruleUnrestrictedName10591); if (state.failed) return current;
+                    kw=(Token)match(input,72,FollowSets000.FOLLOW_72_in_ruleUnrestrictedName11997); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -14366,9 +15561,9 @@
                     }
                     break;
                 case 7 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4867:2: kw= 'sysml'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5101:2: kw= 'sysml'
                     {
-                    kw=(Token)match(input,80,FollowSets000.FOLLOW_80_in_ruleUnrestrictedName10610); if (state.failed) return current;
+                    kw=(Token)match(input,80,FollowSets000.FOLLOW_80_in_ruleUnrestrictedName12016); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -14401,7 +15596,7 @@
 
 
     // $ANTLR start "entryRuleEssentialOCLUnaryOperatorName"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4884:1: entryRuleEssentialOCLUnaryOperatorName returns [String current=null] : iv_ruleEssentialOCLUnaryOperatorName= ruleEssentialOCLUnaryOperatorName EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5118:1: entryRuleEssentialOCLUnaryOperatorName returns [String current=null] : iv_ruleEssentialOCLUnaryOperatorName= ruleEssentialOCLUnaryOperatorName EOF ;
     public final String entryRuleEssentialOCLUnaryOperatorName() throws RecognitionException {
         String current = null;
 
@@ -14409,13 +15604,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4885:2: (iv_ruleEssentialOCLUnaryOperatorName= ruleEssentialOCLUnaryOperatorName EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4886:2: iv_ruleEssentialOCLUnaryOperatorName= ruleEssentialOCLUnaryOperatorName EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5119:2: (iv_ruleEssentialOCLUnaryOperatorName= ruleEssentialOCLUnaryOperatorName EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5120:2: iv_ruleEssentialOCLUnaryOperatorName= ruleEssentialOCLUnaryOperatorName EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getEssentialOCLUnaryOperatorNameRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLUnaryOperatorName_in_entryRuleEssentialOCLUnaryOperatorName10655);
+            pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLUnaryOperatorName_in_entryRuleEssentialOCLUnaryOperatorName12061);
             iv_ruleEssentialOCLUnaryOperatorName=ruleEssentialOCLUnaryOperatorName();
 
             state._fsp--;
@@ -14423,7 +15618,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleEssentialOCLUnaryOperatorName.getText(); 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEssentialOCLUnaryOperatorName10666); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEssentialOCLUnaryOperatorName12072); if (state.failed) return current;
 
             }
 
@@ -14441,7 +15636,7 @@
 
 
     // $ANTLR start "ruleEssentialOCLUnaryOperatorName"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4893:1: ruleEssentialOCLUnaryOperatorName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '-' | kw= 'not' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5127:1: ruleEssentialOCLUnaryOperatorName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '-' | kw= 'not' ) ;
     public final AntlrDatatypeRuleToken ruleEssentialOCLUnaryOperatorName() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -14450,31 +15645,31 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4896:28: ( (kw= '-' | kw= 'not' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4897:1: (kw= '-' | kw= 'not' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5130:28: ( (kw= '-' | kw= 'not' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5131:1: (kw= '-' | kw= 'not' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4897:1: (kw= '-' | kw= 'not' )
-            int alt135=2;
-            int LA135_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5131:1: (kw= '-' | kw= 'not' )
+            int alt173=2;
+            int LA173_0 = input.LA(1);
 
-            if ( (LA135_0==18) ) {
-                alt135=1;
+            if ( (LA173_0==18) ) {
+                alt173=1;
             }
-            else if ( (LA135_0==83) ) {
-                alt135=2;
+            else if ( (LA173_0==83) ) {
+                alt173=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 135, 0, input);
+                    new NoViableAltException("", 173, 0, input);
 
                 throw nvae;
             }
-            switch (alt135) {
+            switch (alt173) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4898:2: kw= '-'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5132:2: kw= '-'
                     {
-                    kw=(Token)match(input,18,FollowSets000.FOLLOW_18_in_ruleEssentialOCLUnaryOperatorName10704); if (state.failed) return current;
+                    kw=(Token)match(input,18,FollowSets000.FOLLOW_18_in_ruleEssentialOCLUnaryOperatorName12110); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -14485,9 +15680,9 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4905:2: kw= 'not'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5139:2: kw= 'not'
                     {
-                    kw=(Token)match(input,83,FollowSets000.FOLLOW_83_in_ruleEssentialOCLUnaryOperatorName10723); if (state.failed) return current;
+                    kw=(Token)match(input,83,FollowSets000.FOLLOW_83_in_ruleEssentialOCLUnaryOperatorName12129); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -14520,7 +15715,7 @@
 
 
     // $ANTLR start "entryRuleEssentialOCLInfixOperatorName"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4918:1: entryRuleEssentialOCLInfixOperatorName returns [String current=null] : iv_ruleEssentialOCLInfixOperatorName= ruleEssentialOCLInfixOperatorName EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5152:1: entryRuleEssentialOCLInfixOperatorName returns [String current=null] : iv_ruleEssentialOCLInfixOperatorName= ruleEssentialOCLInfixOperatorName EOF ;
     public final String entryRuleEssentialOCLInfixOperatorName() throws RecognitionException {
         String current = null;
 
@@ -14528,13 +15723,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4919:2: (iv_ruleEssentialOCLInfixOperatorName= ruleEssentialOCLInfixOperatorName EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4920:2: iv_ruleEssentialOCLInfixOperatorName= ruleEssentialOCLInfixOperatorName EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5153:2: (iv_ruleEssentialOCLInfixOperatorName= ruleEssentialOCLInfixOperatorName EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5154:2: iv_ruleEssentialOCLInfixOperatorName= ruleEssentialOCLInfixOperatorName EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getEssentialOCLInfixOperatorNameRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLInfixOperatorName_in_entryRuleEssentialOCLInfixOperatorName10764);
+            pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLInfixOperatorName_in_entryRuleEssentialOCLInfixOperatorName12170);
             iv_ruleEssentialOCLInfixOperatorName=ruleEssentialOCLInfixOperatorName();
 
             state._fsp--;
@@ -14542,7 +15737,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleEssentialOCLInfixOperatorName.getText(); 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEssentialOCLInfixOperatorName10775); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEssentialOCLInfixOperatorName12181); if (state.failed) return current;
 
             }
 
@@ -14560,7 +15755,7 @@
 
 
     // $ANTLR start "ruleEssentialOCLInfixOperatorName"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4927:1: ruleEssentialOCLInfixOperatorName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '*' | kw= '/' | kw= '+' | kw= '-' | kw= '>' | kw= '<' | kw= '>=' | kw= '<=' | kw= '=' | kw= '<>' | kw= 'and' | kw= 'or' | kw= 'xor' | kw= 'implies' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5161:1: ruleEssentialOCLInfixOperatorName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '*' | kw= '/' | kw= '+' | kw= '-' | kw= '>' | kw= '<' | kw= '>=' | kw= '<=' | kw= '=' | kw= '<>' | kw= 'and' | kw= 'or' | kw= 'xor' | kw= 'implies' ) ;
     public final AntlrDatatypeRuleToken ruleEssentialOCLInfixOperatorName() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -14569,95 +15764,95 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4930:28: ( (kw= '*' | kw= '/' | kw= '+' | kw= '-' | kw= '>' | kw= '<' | kw= '>=' | kw= '<=' | kw= '=' | kw= '<>' | kw= 'and' | kw= 'or' | kw= 'xor' | kw= 'implies' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4931:1: (kw= '*' | kw= '/' | kw= '+' | kw= '-' | kw= '>' | kw= '<' | kw= '>=' | kw= '<=' | kw= '=' | kw= '<>' | kw= 'and' | kw= 'or' | kw= 'xor' | kw= 'implies' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5164:28: ( (kw= '*' | kw= '/' | kw= '+' | kw= '-' | kw= '>' | kw= '<' | kw= '>=' | kw= '<=' | kw= '=' | kw= '<>' | kw= 'and' | kw= 'or' | kw= 'xor' | kw= 'implies' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5165:1: (kw= '*' | kw= '/' | kw= '+' | kw= '-' | kw= '>' | kw= '<' | kw= '>=' | kw= '<=' | kw= '=' | kw= '<>' | kw= 'and' | kw= 'or' | kw= 'xor' | kw= 'implies' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4931:1: (kw= '*' | kw= '/' | kw= '+' | kw= '-' | kw= '>' | kw= '<' | kw= '>=' | kw= '<=' | kw= '=' | kw= '<>' | kw= 'and' | kw= 'or' | kw= 'xor' | kw= 'implies' )
-            int alt136=14;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5165:1: (kw= '*' | kw= '/' | kw= '+' | kw= '-' | kw= '>' | kw= '<' | kw= '>=' | kw= '<=' | kw= '=' | kw= '<>' | kw= 'and' | kw= 'or' | kw= 'xor' | kw= 'implies' )
+            int alt174=14;
             switch ( input.LA(1) ) {
             case 84:
                 {
-                alt136=1;
+                alt174=1;
                 }
                 break;
             case 85:
                 {
-                alt136=2;
+                alt174=2;
                 }
                 break;
             case 86:
                 {
-                alt136=3;
+                alt174=3;
                 }
                 break;
             case 18:
                 {
-                alt136=4;
+                alt174=4;
                 }
                 break;
             case 82:
                 {
-                alt136=5;
+                alt174=5;
                 }
                 break;
             case 81:
                 {
-                alt136=6;
+                alt174=6;
                 }
                 break;
             case 87:
                 {
-                alt136=7;
+                alt174=7;
                 }
                 break;
             case 88:
                 {
-                alt136=8;
+                alt174=8;
                 }
                 break;
             case 63:
                 {
-                alt136=9;
+                alt174=9;
                 }
                 break;
             case 89:
                 {
-                alt136=10;
+                alt174=10;
                 }
                 break;
             case 90:
                 {
-                alt136=11;
+                alt174=11;
                 }
                 break;
             case 91:
                 {
-                alt136=12;
+                alt174=12;
                 }
                 break;
             case 92:
                 {
-                alt136=13;
+                alt174=13;
                 }
                 break;
             case 93:
                 {
-                alt136=14;
+                alt174=14;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 136, 0, input);
+                    new NoViableAltException("", 174, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt136) {
+            switch (alt174) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4932:2: kw= '*'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5166:2: kw= '*'
                     {
-                    kw=(Token)match(input,84,FollowSets000.FOLLOW_84_in_ruleEssentialOCLInfixOperatorName10813); if (state.failed) return current;
+                    kw=(Token)match(input,84,FollowSets000.FOLLOW_84_in_ruleEssentialOCLInfixOperatorName12219); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -14668,9 +15863,9 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4939:2: kw= '/'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5173:2: kw= '/'
                     {
-                    kw=(Token)match(input,85,FollowSets000.FOLLOW_85_in_ruleEssentialOCLInfixOperatorName10832); if (state.failed) return current;
+                    kw=(Token)match(input,85,FollowSets000.FOLLOW_85_in_ruleEssentialOCLInfixOperatorName12238); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -14681,9 +15876,9 @@
                     }
                     break;
                 case 3 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4946:2: kw= '+'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5180:2: kw= '+'
                     {
-                    kw=(Token)match(input,86,FollowSets000.FOLLOW_86_in_ruleEssentialOCLInfixOperatorName10851); if (state.failed) return current;
+                    kw=(Token)match(input,86,FollowSets000.FOLLOW_86_in_ruleEssentialOCLInfixOperatorName12257); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -14694,9 +15889,9 @@
                     }
                     break;
                 case 4 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4953:2: kw= '-'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5187:2: kw= '-'
                     {
-                    kw=(Token)match(input,18,FollowSets000.FOLLOW_18_in_ruleEssentialOCLInfixOperatorName10870); if (state.failed) return current;
+                    kw=(Token)match(input,18,FollowSets000.FOLLOW_18_in_ruleEssentialOCLInfixOperatorName12276); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -14707,9 +15902,9 @@
                     }
                     break;
                 case 5 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4960:2: kw= '>'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5194:2: kw= '>'
                     {
-                    kw=(Token)match(input,82,FollowSets000.FOLLOW_82_in_ruleEssentialOCLInfixOperatorName10889); if (state.failed) return current;
+                    kw=(Token)match(input,82,FollowSets000.FOLLOW_82_in_ruleEssentialOCLInfixOperatorName12295); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -14720,9 +15915,9 @@
                     }
                     break;
                 case 6 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4967:2: kw= '<'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5201:2: kw= '<'
                     {
-                    kw=(Token)match(input,81,FollowSets000.FOLLOW_81_in_ruleEssentialOCLInfixOperatorName10908); if (state.failed) return current;
+                    kw=(Token)match(input,81,FollowSets000.FOLLOW_81_in_ruleEssentialOCLInfixOperatorName12314); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -14733,9 +15928,9 @@
                     }
                     break;
                 case 7 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4974:2: kw= '>='
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5208:2: kw= '>='
                     {
-                    kw=(Token)match(input,87,FollowSets000.FOLLOW_87_in_ruleEssentialOCLInfixOperatorName10927); if (state.failed) return current;
+                    kw=(Token)match(input,87,FollowSets000.FOLLOW_87_in_ruleEssentialOCLInfixOperatorName12333); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -14746,9 +15941,9 @@
                     }
                     break;
                 case 8 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4981:2: kw= '<='
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5215:2: kw= '<='
                     {
-                    kw=(Token)match(input,88,FollowSets000.FOLLOW_88_in_ruleEssentialOCLInfixOperatorName10946); if (state.failed) return current;
+                    kw=(Token)match(input,88,FollowSets000.FOLLOW_88_in_ruleEssentialOCLInfixOperatorName12352); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -14759,9 +15954,9 @@
                     }
                     break;
                 case 9 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4988:2: kw= '='
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5222:2: kw= '='
                     {
-                    kw=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleEssentialOCLInfixOperatorName10965); if (state.failed) return current;
+                    kw=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleEssentialOCLInfixOperatorName12371); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -14772,9 +15967,9 @@
                     }
                     break;
                 case 10 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4995:2: kw= '<>'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5229:2: kw= '<>'
                     {
-                    kw=(Token)match(input,89,FollowSets000.FOLLOW_89_in_ruleEssentialOCLInfixOperatorName10984); if (state.failed) return current;
+                    kw=(Token)match(input,89,FollowSets000.FOLLOW_89_in_ruleEssentialOCLInfixOperatorName12390); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -14785,9 +15980,9 @@
                     }
                     break;
                 case 11 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5002:2: kw= 'and'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5236:2: kw= 'and'
                     {
-                    kw=(Token)match(input,90,FollowSets000.FOLLOW_90_in_ruleEssentialOCLInfixOperatorName11003); if (state.failed) return current;
+                    kw=(Token)match(input,90,FollowSets000.FOLLOW_90_in_ruleEssentialOCLInfixOperatorName12409); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -14798,9 +15993,9 @@
                     }
                     break;
                 case 12 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5009:2: kw= 'or'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5243:2: kw= 'or'
                     {
-                    kw=(Token)match(input,91,FollowSets000.FOLLOW_91_in_ruleEssentialOCLInfixOperatorName11022); if (state.failed) return current;
+                    kw=(Token)match(input,91,FollowSets000.FOLLOW_91_in_ruleEssentialOCLInfixOperatorName12428); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -14811,9 +16006,9 @@
                     }
                     break;
                 case 13 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5016:2: kw= 'xor'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5250:2: kw= 'xor'
                     {
-                    kw=(Token)match(input,92,FollowSets000.FOLLOW_92_in_ruleEssentialOCLInfixOperatorName11041); if (state.failed) return current;
+                    kw=(Token)match(input,92,FollowSets000.FOLLOW_92_in_ruleEssentialOCLInfixOperatorName12447); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -14824,9 +16019,9 @@
                     }
                     break;
                 case 14 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5023:2: kw= 'implies'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5257:2: kw= 'implies'
                     {
-                    kw=(Token)match(input,93,FollowSets000.FOLLOW_93_in_ruleEssentialOCLInfixOperatorName11060); if (state.failed) return current;
+                    kw=(Token)match(input,93,FollowSets000.FOLLOW_93_in_ruleEssentialOCLInfixOperatorName12466); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -14859,7 +16054,7 @@
 
 
     // $ANTLR start "entryRuleEssentialOCLNavigationOperatorName"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5036:1: entryRuleEssentialOCLNavigationOperatorName returns [String current=null] : iv_ruleEssentialOCLNavigationOperatorName= ruleEssentialOCLNavigationOperatorName EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5270:1: entryRuleEssentialOCLNavigationOperatorName returns [String current=null] : iv_ruleEssentialOCLNavigationOperatorName= ruleEssentialOCLNavigationOperatorName EOF ;
     public final String entryRuleEssentialOCLNavigationOperatorName() throws RecognitionException {
         String current = null;
 
@@ -14867,13 +16062,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5037:2: (iv_ruleEssentialOCLNavigationOperatorName= ruleEssentialOCLNavigationOperatorName EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5038:2: iv_ruleEssentialOCLNavigationOperatorName= ruleEssentialOCLNavigationOperatorName EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5271:2: (iv_ruleEssentialOCLNavigationOperatorName= ruleEssentialOCLNavigationOperatorName EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5272:2: iv_ruleEssentialOCLNavigationOperatorName= ruleEssentialOCLNavigationOperatorName EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getEssentialOCLNavigationOperatorNameRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLNavigationOperatorName_in_entryRuleEssentialOCLNavigationOperatorName11101);
+            pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLNavigationOperatorName_in_entryRuleEssentialOCLNavigationOperatorName12507);
             iv_ruleEssentialOCLNavigationOperatorName=ruleEssentialOCLNavigationOperatorName();
 
             state._fsp--;
@@ -14881,7 +16076,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleEssentialOCLNavigationOperatorName.getText(); 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEssentialOCLNavigationOperatorName11112); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEssentialOCLNavigationOperatorName12518); if (state.failed) return current;
 
             }
 
@@ -14899,7 +16094,7 @@
 
 
     // $ANTLR start "ruleEssentialOCLNavigationOperatorName"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5045:1: ruleEssentialOCLNavigationOperatorName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '.' | kw= '->' | kw= '?.' | kw= '?->' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5279:1: ruleEssentialOCLNavigationOperatorName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '.' | kw= '->' | kw= '?.' | kw= '?->' ) ;
     public final AntlrDatatypeRuleToken ruleEssentialOCLNavigationOperatorName() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -14908,45 +16103,45 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5048:28: ( (kw= '.' | kw= '->' | kw= '?.' | kw= '?->' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5049:1: (kw= '.' | kw= '->' | kw= '?.' | kw= '?->' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5282:28: ( (kw= '.' | kw= '->' | kw= '?.' | kw= '?->' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5283:1: (kw= '.' | kw= '->' | kw= '?.' | kw= '?->' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5049:1: (kw= '.' | kw= '->' | kw= '?.' | kw= '?->' )
-            int alt137=4;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5283:1: (kw= '.' | kw= '->' | kw= '?.' | kw= '?->' )
+            int alt175=4;
             switch ( input.LA(1) ) {
             case 94:
                 {
-                alt137=1;
+                alt175=1;
                 }
                 break;
             case 95:
                 {
-                alt137=2;
+                alt175=2;
                 }
                 break;
             case 96:
                 {
-                alt137=3;
+                alt175=3;
                 }
                 break;
             case 97:
                 {
-                alt137=4;
+                alt175=4;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 137, 0, input);
+                    new NoViableAltException("", 175, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt137) {
+            switch (alt175) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5050:2: kw= '.'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5284:2: kw= '.'
                     {
-                    kw=(Token)match(input,94,FollowSets000.FOLLOW_94_in_ruleEssentialOCLNavigationOperatorName11150); if (state.failed) return current;
+                    kw=(Token)match(input,94,FollowSets000.FOLLOW_94_in_ruleEssentialOCLNavigationOperatorName12556); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -14957,9 +16152,9 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5057:2: kw= '->'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5291:2: kw= '->'
                     {
-                    kw=(Token)match(input,95,FollowSets000.FOLLOW_95_in_ruleEssentialOCLNavigationOperatorName11169); if (state.failed) return current;
+                    kw=(Token)match(input,95,FollowSets000.FOLLOW_95_in_ruleEssentialOCLNavigationOperatorName12575); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -14970,9 +16165,9 @@
                     }
                     break;
                 case 3 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5064:2: kw= '?.'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5298:2: kw= '?.'
                     {
-                    kw=(Token)match(input,96,FollowSets000.FOLLOW_96_in_ruleEssentialOCLNavigationOperatorName11188); if (state.failed) return current;
+                    kw=(Token)match(input,96,FollowSets000.FOLLOW_96_in_ruleEssentialOCLNavigationOperatorName12594); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -14983,9 +16178,9 @@
                     }
                     break;
                 case 4 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5071:2: kw= '?->'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5305:2: kw= '?->'
                     {
-                    kw=(Token)match(input,97,FollowSets000.FOLLOW_97_in_ruleEssentialOCLNavigationOperatorName11207); if (state.failed) return current;
+                    kw=(Token)match(input,97,FollowSets000.FOLLOW_97_in_ruleEssentialOCLNavigationOperatorName12613); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -15018,7 +16213,7 @@
 
 
     // $ANTLR start "entryRuleBinaryOperatorName"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5084:1: entryRuleBinaryOperatorName returns [String current=null] : iv_ruleBinaryOperatorName= ruleBinaryOperatorName EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5318:1: entryRuleBinaryOperatorName returns [String current=null] : iv_ruleBinaryOperatorName= ruleBinaryOperatorName EOF ;
     public final String entryRuleBinaryOperatorName() throws RecognitionException {
         String current = null;
 
@@ -15026,13 +16221,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5085:2: (iv_ruleBinaryOperatorName= ruleBinaryOperatorName EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5086:2: iv_ruleBinaryOperatorName= ruleBinaryOperatorName EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5319:2: (iv_ruleBinaryOperatorName= ruleBinaryOperatorName EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5320:2: iv_ruleBinaryOperatorName= ruleBinaryOperatorName EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getBinaryOperatorNameRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleBinaryOperatorName_in_entryRuleBinaryOperatorName11248);
+            pushFollow(FollowSets000.FOLLOW_ruleBinaryOperatorName_in_entryRuleBinaryOperatorName12654);
             iv_ruleBinaryOperatorName=ruleBinaryOperatorName();
 
             state._fsp--;
@@ -15040,7 +16235,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleBinaryOperatorName.getText(); 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBinaryOperatorName11259); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBinaryOperatorName12665); if (state.failed) return current;
 
             }
 
@@ -15058,7 +16253,7 @@
 
 
     // $ANTLR start "ruleBinaryOperatorName"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5093:1: ruleBinaryOperatorName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_InfixOperatorName_0= ruleInfixOperatorName | this_NavigationOperatorName_1= ruleNavigationOperatorName ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5327:1: ruleBinaryOperatorName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_InfixOperatorName_0= ruleInfixOperatorName | this_NavigationOperatorName_1= ruleNavigationOperatorName ) ;
     public final AntlrDatatypeRuleToken ruleBinaryOperatorName() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -15070,36 +16265,36 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5096:28: ( (this_InfixOperatorName_0= ruleInfixOperatorName | this_NavigationOperatorName_1= ruleNavigationOperatorName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5097:1: (this_InfixOperatorName_0= ruleInfixOperatorName | this_NavigationOperatorName_1= ruleNavigationOperatorName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5330:28: ( (this_InfixOperatorName_0= ruleInfixOperatorName | this_NavigationOperatorName_1= ruleNavigationOperatorName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5331:1: (this_InfixOperatorName_0= ruleInfixOperatorName | this_NavigationOperatorName_1= ruleNavigationOperatorName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5097:1: (this_InfixOperatorName_0= ruleInfixOperatorName | this_NavigationOperatorName_1= ruleNavigationOperatorName )
-            int alt138=2;
-            int LA138_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5331:1: (this_InfixOperatorName_0= ruleInfixOperatorName | this_NavigationOperatorName_1= ruleNavigationOperatorName )
+            int alt176=2;
+            int LA176_0 = input.LA(1);
 
-            if ( (LA138_0==18||LA138_0==63||(LA138_0>=81 && LA138_0<=82)||(LA138_0>=84 && LA138_0<=93)) ) {
-                alt138=1;
+            if ( (LA176_0==18||LA176_0==63||(LA176_0>=81 && LA176_0<=82)||(LA176_0>=84 && LA176_0<=93)) ) {
+                alt176=1;
             }
-            else if ( ((LA138_0>=94 && LA138_0<=97)) ) {
-                alt138=2;
+            else if ( ((LA176_0>=94 && LA176_0<=97)) ) {
+                alt176=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 138, 0, input);
+                    new NoViableAltException("", 176, 0, input);
 
                 throw nvae;
             }
-            switch (alt138) {
+            switch (alt176) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5098:5: this_InfixOperatorName_0= ruleInfixOperatorName
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5332:5: this_InfixOperatorName_0= ruleInfixOperatorName
                     {
                     if ( state.backtracking==0 ) {
                        
                               newCompositeNode(grammarAccess.getBinaryOperatorNameAccess().getInfixOperatorNameParserRuleCall_0()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleInfixOperatorName_in_ruleBinaryOperatorName11306);
+                    pushFollow(FollowSets000.FOLLOW_ruleInfixOperatorName_in_ruleBinaryOperatorName12712);
                     this_InfixOperatorName_0=ruleInfixOperatorName();
 
                     state._fsp--;
@@ -15118,14 +16313,14 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5110:5: this_NavigationOperatorName_1= ruleNavigationOperatorName
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5344:5: this_NavigationOperatorName_1= ruleNavigationOperatorName
                     {
                     if ( state.backtracking==0 ) {
                        
                               newCompositeNode(grammarAccess.getBinaryOperatorNameAccess().getNavigationOperatorNameParserRuleCall_1()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleNavigationOperatorName_in_ruleBinaryOperatorName11339);
+                    pushFollow(FollowSets000.FOLLOW_ruleNavigationOperatorName_in_ruleBinaryOperatorName12745);
                     this_NavigationOperatorName_1=ruleNavigationOperatorName();
 
                     state._fsp--;
@@ -15166,7 +16361,7 @@
 
 
     // $ANTLR start "entryRuleInfixOperatorName"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5128:1: entryRuleInfixOperatorName returns [String current=null] : iv_ruleInfixOperatorName= ruleInfixOperatorName EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5362:1: entryRuleInfixOperatorName returns [String current=null] : iv_ruleInfixOperatorName= ruleInfixOperatorName EOF ;
     public final String entryRuleInfixOperatorName() throws RecognitionException {
         String current = null;
 
@@ -15174,13 +16369,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5129:2: (iv_ruleInfixOperatorName= ruleInfixOperatorName EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5130:2: iv_ruleInfixOperatorName= ruleInfixOperatorName EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5363:2: (iv_ruleInfixOperatorName= ruleInfixOperatorName EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5364:2: iv_ruleInfixOperatorName= ruleInfixOperatorName EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getInfixOperatorNameRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleInfixOperatorName_in_entryRuleInfixOperatorName11385);
+            pushFollow(FollowSets000.FOLLOW_ruleInfixOperatorName_in_entryRuleInfixOperatorName12791);
             iv_ruleInfixOperatorName=ruleInfixOperatorName();
 
             state._fsp--;
@@ -15188,7 +16383,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleInfixOperatorName.getText(); 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleInfixOperatorName11396); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleInfixOperatorName12802); if (state.failed) return current;
 
             }
 
@@ -15206,7 +16401,7 @@
 
 
     // $ANTLR start "ruleInfixOperatorName"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5137:1: ruleInfixOperatorName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_EssentialOCLInfixOperatorName_0= ruleEssentialOCLInfixOperatorName ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5371:1: ruleInfixOperatorName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_EssentialOCLInfixOperatorName_0= ruleEssentialOCLInfixOperatorName ;
     public final AntlrDatatypeRuleToken ruleInfixOperatorName() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -15216,15 +16411,15 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5140:28: (this_EssentialOCLInfixOperatorName_0= ruleEssentialOCLInfixOperatorName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5142:5: this_EssentialOCLInfixOperatorName_0= ruleEssentialOCLInfixOperatorName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5374:28: (this_EssentialOCLInfixOperatorName_0= ruleEssentialOCLInfixOperatorName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5376:5: this_EssentialOCLInfixOperatorName_0= ruleEssentialOCLInfixOperatorName
             {
             if ( state.backtracking==0 ) {
                
                       newCompositeNode(grammarAccess.getInfixOperatorNameAccess().getEssentialOCLInfixOperatorNameParserRuleCall()); 
                   
             }
-            pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLInfixOperatorName_in_ruleInfixOperatorName11442);
+            pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLInfixOperatorName_in_ruleInfixOperatorName12848);
             this_EssentialOCLInfixOperatorName_0=ruleEssentialOCLInfixOperatorName();
 
             state._fsp--;
@@ -15259,7 +16454,7 @@
 
 
     // $ANTLR start "entryRuleNavigationOperatorName"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5160:1: entryRuleNavigationOperatorName returns [String current=null] : iv_ruleNavigationOperatorName= ruleNavigationOperatorName EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5394:1: entryRuleNavigationOperatorName returns [String current=null] : iv_ruleNavigationOperatorName= ruleNavigationOperatorName EOF ;
     public final String entryRuleNavigationOperatorName() throws RecognitionException {
         String current = null;
 
@@ -15267,13 +16462,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5161:2: (iv_ruleNavigationOperatorName= ruleNavigationOperatorName EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5162:2: iv_ruleNavigationOperatorName= ruleNavigationOperatorName EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5395:2: (iv_ruleNavigationOperatorName= ruleNavigationOperatorName EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5396:2: iv_ruleNavigationOperatorName= ruleNavigationOperatorName EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getNavigationOperatorNameRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleNavigationOperatorName_in_entryRuleNavigationOperatorName11487);
+            pushFollow(FollowSets000.FOLLOW_ruleNavigationOperatorName_in_entryRuleNavigationOperatorName12893);
             iv_ruleNavigationOperatorName=ruleNavigationOperatorName();
 
             state._fsp--;
@@ -15281,7 +16476,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleNavigationOperatorName.getText(); 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNavigationOperatorName11498); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNavigationOperatorName12904); if (state.failed) return current;
 
             }
 
@@ -15299,7 +16494,7 @@
 
 
     // $ANTLR start "ruleNavigationOperatorName"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5169:1: ruleNavigationOperatorName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_EssentialOCLNavigationOperatorName_0= ruleEssentialOCLNavigationOperatorName ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5403:1: ruleNavigationOperatorName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_EssentialOCLNavigationOperatorName_0= ruleEssentialOCLNavigationOperatorName ;
     public final AntlrDatatypeRuleToken ruleNavigationOperatorName() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -15309,15 +16504,15 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5172:28: (this_EssentialOCLNavigationOperatorName_0= ruleEssentialOCLNavigationOperatorName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5174:5: this_EssentialOCLNavigationOperatorName_0= ruleEssentialOCLNavigationOperatorName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5406:28: (this_EssentialOCLNavigationOperatorName_0= ruleEssentialOCLNavigationOperatorName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5408:5: this_EssentialOCLNavigationOperatorName_0= ruleEssentialOCLNavigationOperatorName
             {
             if ( state.backtracking==0 ) {
                
                       newCompositeNode(grammarAccess.getNavigationOperatorNameAccess().getEssentialOCLNavigationOperatorNameParserRuleCall()); 
                   
             }
-            pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLNavigationOperatorName_in_ruleNavigationOperatorName11544);
+            pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLNavigationOperatorName_in_ruleNavigationOperatorName12950);
             this_EssentialOCLNavigationOperatorName_0=ruleEssentialOCLNavigationOperatorName();
 
             state._fsp--;
@@ -15352,7 +16547,7 @@
 
 
     // $ANTLR start "entryRuleUnaryOperatorName"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5192:1: entryRuleUnaryOperatorName returns [String current=null] : iv_ruleUnaryOperatorName= ruleUnaryOperatorName EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5426:1: entryRuleUnaryOperatorName returns [String current=null] : iv_ruleUnaryOperatorName= ruleUnaryOperatorName EOF ;
     public final String entryRuleUnaryOperatorName() throws RecognitionException {
         String current = null;
 
@@ -15360,13 +16555,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5193:2: (iv_ruleUnaryOperatorName= ruleUnaryOperatorName EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5194:2: iv_ruleUnaryOperatorName= ruleUnaryOperatorName EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5427:2: (iv_ruleUnaryOperatorName= ruleUnaryOperatorName EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5428:2: iv_ruleUnaryOperatorName= ruleUnaryOperatorName EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getUnaryOperatorNameRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleUnaryOperatorName_in_entryRuleUnaryOperatorName11589);
+            pushFollow(FollowSets000.FOLLOW_ruleUnaryOperatorName_in_entryRuleUnaryOperatorName12995);
             iv_ruleUnaryOperatorName=ruleUnaryOperatorName();
 
             state._fsp--;
@@ -15374,7 +16569,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleUnaryOperatorName.getText(); 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleUnaryOperatorName11600); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleUnaryOperatorName13006); if (state.failed) return current;
 
             }
 
@@ -15392,7 +16587,7 @@
 
 
     // $ANTLR start "ruleUnaryOperatorName"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5201:1: ruleUnaryOperatorName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_EssentialOCLUnaryOperatorName_0= ruleEssentialOCLUnaryOperatorName ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5435:1: ruleUnaryOperatorName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_EssentialOCLUnaryOperatorName_0= ruleEssentialOCLUnaryOperatorName ;
     public final AntlrDatatypeRuleToken ruleUnaryOperatorName() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -15402,15 +16597,15 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5204:28: (this_EssentialOCLUnaryOperatorName_0= ruleEssentialOCLUnaryOperatorName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5206:5: this_EssentialOCLUnaryOperatorName_0= ruleEssentialOCLUnaryOperatorName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5438:28: (this_EssentialOCLUnaryOperatorName_0= ruleEssentialOCLUnaryOperatorName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5440:5: this_EssentialOCLUnaryOperatorName_0= ruleEssentialOCLUnaryOperatorName
             {
             if ( state.backtracking==0 ) {
                
                       newCompositeNode(grammarAccess.getUnaryOperatorNameAccess().getEssentialOCLUnaryOperatorNameParserRuleCall()); 
                   
             }
-            pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLUnaryOperatorName_in_ruleUnaryOperatorName11646);
+            pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLUnaryOperatorName_in_ruleUnaryOperatorName13052);
             this_EssentialOCLUnaryOperatorName_0=ruleEssentialOCLUnaryOperatorName();
 
             state._fsp--;
@@ -15445,7 +16640,7 @@
 
 
     // $ANTLR start "entryRuleEssentialOCLUnrestrictedName"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5224:1: entryRuleEssentialOCLUnrestrictedName returns [String current=null] : iv_ruleEssentialOCLUnrestrictedName= ruleEssentialOCLUnrestrictedName EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5458:1: entryRuleEssentialOCLUnrestrictedName returns [String current=null] : iv_ruleEssentialOCLUnrestrictedName= ruleEssentialOCLUnrestrictedName EOF ;
     public final String entryRuleEssentialOCLUnrestrictedName() throws RecognitionException {
         String current = null;
 
@@ -15453,13 +16648,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5225:2: (iv_ruleEssentialOCLUnrestrictedName= ruleEssentialOCLUnrestrictedName EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5226:2: iv_ruleEssentialOCLUnrestrictedName= ruleEssentialOCLUnrestrictedName EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5459:2: (iv_ruleEssentialOCLUnrestrictedName= ruleEssentialOCLUnrestrictedName EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5460:2: iv_ruleEssentialOCLUnrestrictedName= ruleEssentialOCLUnrestrictedName EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getEssentialOCLUnrestrictedNameRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLUnrestrictedName_in_entryRuleEssentialOCLUnrestrictedName11691);
+            pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLUnrestrictedName_in_entryRuleEssentialOCLUnrestrictedName13097);
             iv_ruleEssentialOCLUnrestrictedName=ruleEssentialOCLUnrestrictedName();
 
             state._fsp--;
@@ -15467,7 +16662,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleEssentialOCLUnrestrictedName.getText(); 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEssentialOCLUnrestrictedName11702); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEssentialOCLUnrestrictedName13108); if (state.failed) return current;
 
             }
 
@@ -15485,7 +16680,7 @@
 
 
     // $ANTLR start "ruleEssentialOCLUnrestrictedName"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5233:1: ruleEssentialOCLUnrestrictedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_Identifier_0= ruleIdentifier ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5467:1: ruleEssentialOCLUnrestrictedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_Identifier_0= ruleIdentifier ;
     public final AntlrDatatypeRuleToken ruleEssentialOCLUnrestrictedName() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -15495,15 +16690,15 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5236:28: (this_Identifier_0= ruleIdentifier )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5238:5: this_Identifier_0= ruleIdentifier
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5470:28: (this_Identifier_0= ruleIdentifier )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5472:5: this_Identifier_0= ruleIdentifier
             {
             if ( state.backtracking==0 ) {
                
                       newCompositeNode(grammarAccess.getEssentialOCLUnrestrictedNameAccess().getIdentifierParserRuleCall()); 
                   
             }
-            pushFollow(FollowSets000.FOLLOW_ruleIdentifier_in_ruleEssentialOCLUnrestrictedName11748);
+            pushFollow(FollowSets000.FOLLOW_ruleIdentifier_in_ruleEssentialOCLUnrestrictedName13154);
             this_Identifier_0=ruleIdentifier();
 
             state._fsp--;
@@ -15538,7 +16733,7 @@
 
 
     // $ANTLR start "entryRuleEssentialOCLUnreservedName"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5256:1: entryRuleEssentialOCLUnreservedName returns [String current=null] : iv_ruleEssentialOCLUnreservedName= ruleEssentialOCLUnreservedName EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5490:1: entryRuleEssentialOCLUnreservedName returns [String current=null] : iv_ruleEssentialOCLUnreservedName= ruleEssentialOCLUnreservedName EOF ;
     public final String entryRuleEssentialOCLUnreservedName() throws RecognitionException {
         String current = null;
 
@@ -15546,13 +16741,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5257:2: (iv_ruleEssentialOCLUnreservedName= ruleEssentialOCLUnreservedName EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5258:2: iv_ruleEssentialOCLUnreservedName= ruleEssentialOCLUnreservedName EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5491:2: (iv_ruleEssentialOCLUnreservedName= ruleEssentialOCLUnreservedName EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5492:2: iv_ruleEssentialOCLUnreservedName= ruleEssentialOCLUnreservedName EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getEssentialOCLUnreservedNameRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLUnreservedName_in_entryRuleEssentialOCLUnreservedName11793);
+            pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLUnreservedName_in_entryRuleEssentialOCLUnreservedName13199);
             iv_ruleEssentialOCLUnreservedName=ruleEssentialOCLUnreservedName();
 
             state._fsp--;
@@ -15560,7 +16755,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleEssentialOCLUnreservedName.getText(); 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEssentialOCLUnreservedName11804); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEssentialOCLUnreservedName13210); if (state.failed) return current;
 
             }
 
@@ -15578,7 +16773,7 @@
 
 
     // $ANTLR start "ruleEssentialOCLUnreservedName"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5265:1: ruleEssentialOCLUnreservedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_UnrestrictedName_0= ruleUnrestrictedName | this_CollectionTypeIdentifier_1= ruleCollectionTypeIdentifier | this_PrimitiveTypeIdentifier_2= rulePrimitiveTypeIdentifier | kw= 'Tuple' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5499:1: ruleEssentialOCLUnreservedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_UnrestrictedName_0= ruleUnrestrictedName | this_CollectionTypeIdentifier_1= ruleCollectionTypeIdentifier | this_PrimitiveTypeIdentifier_2= rulePrimitiveTypeIdentifier | kw= 'Tuple' ) ;
     public final AntlrDatatypeRuleToken ruleEssentialOCLUnreservedName() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -15593,11 +16788,11 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5268:28: ( (this_UnrestrictedName_0= ruleUnrestrictedName | this_CollectionTypeIdentifier_1= ruleCollectionTypeIdentifier | this_PrimitiveTypeIdentifier_2= rulePrimitiveTypeIdentifier | kw= 'Tuple' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5269:1: (this_UnrestrictedName_0= ruleUnrestrictedName | this_CollectionTypeIdentifier_1= ruleCollectionTypeIdentifier | this_PrimitiveTypeIdentifier_2= rulePrimitiveTypeIdentifier | kw= 'Tuple' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5502:28: ( (this_UnrestrictedName_0= ruleUnrestrictedName | this_CollectionTypeIdentifier_1= ruleCollectionTypeIdentifier | this_PrimitiveTypeIdentifier_2= rulePrimitiveTypeIdentifier | kw= 'Tuple' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5503:1: (this_UnrestrictedName_0= ruleUnrestrictedName | this_CollectionTypeIdentifier_1= ruleCollectionTypeIdentifier | this_PrimitiveTypeIdentifier_2= rulePrimitiveTypeIdentifier | kw= 'Tuple' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5269:1: (this_UnrestrictedName_0= ruleUnrestrictedName | this_CollectionTypeIdentifier_1= ruleCollectionTypeIdentifier | this_PrimitiveTypeIdentifier_2= rulePrimitiveTypeIdentifier | kw= 'Tuple' )
-            int alt139=4;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5503:1: (this_UnrestrictedName_0= ruleUnrestrictedName | this_CollectionTypeIdentifier_1= ruleCollectionTypeIdentifier | this_PrimitiveTypeIdentifier_2= rulePrimitiveTypeIdentifier | kw= 'Tuple' )
+            int alt177=4;
             switch ( input.LA(1) ) {
             case RULE_SIMPLE_ID:
             case RULE_ESCAPED_ID:
@@ -15644,7 +16839,7 @@
             case 75:
             case 80:
                 {
-                alt139=1;
+                alt177=1;
                 }
                 break;
             case 108:
@@ -15653,7 +16848,7 @@
             case 111:
             case 112:
                 {
-                alt139=2;
+                alt177=2;
                 }
                 break;
             case 100:
@@ -15665,32 +16860,32 @@
             case 106:
             case 107:
                 {
-                alt139=3;
+                alt177=3;
                 }
                 break;
             case 98:
                 {
-                alt139=4;
+                alt177=4;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 139, 0, input);
+                    new NoViableAltException("", 177, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt139) {
+            switch (alt177) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5270:5: this_UnrestrictedName_0= ruleUnrestrictedName
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5504:5: this_UnrestrictedName_0= ruleUnrestrictedName
                     {
                     if ( state.backtracking==0 ) {
                        
                               newCompositeNode(grammarAccess.getEssentialOCLUnreservedNameAccess().getUnrestrictedNameParserRuleCall_0()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleEssentialOCLUnreservedName11851);
+                    pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleEssentialOCLUnreservedName13257);
                     this_UnrestrictedName_0=ruleUnrestrictedName();
 
                     state._fsp--;
@@ -15709,14 +16904,14 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5282:5: this_CollectionTypeIdentifier_1= ruleCollectionTypeIdentifier
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5516:5: this_CollectionTypeIdentifier_1= ruleCollectionTypeIdentifier
                     {
                     if ( state.backtracking==0 ) {
                        
                               newCompositeNode(grammarAccess.getEssentialOCLUnreservedNameAccess().getCollectionTypeIdentifierParserRuleCall_1()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleCollectionTypeIdentifier_in_ruleEssentialOCLUnreservedName11884);
+                    pushFollow(FollowSets000.FOLLOW_ruleCollectionTypeIdentifier_in_ruleEssentialOCLUnreservedName13290);
                     this_CollectionTypeIdentifier_1=ruleCollectionTypeIdentifier();
 
                     state._fsp--;
@@ -15735,14 +16930,14 @@
                     }
                     break;
                 case 3 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5294:5: this_PrimitiveTypeIdentifier_2= rulePrimitiveTypeIdentifier
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5528:5: this_PrimitiveTypeIdentifier_2= rulePrimitiveTypeIdentifier
                     {
                     if ( state.backtracking==0 ) {
                        
                               newCompositeNode(grammarAccess.getEssentialOCLUnreservedNameAccess().getPrimitiveTypeIdentifierParserRuleCall_2()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_rulePrimitiveTypeIdentifier_in_ruleEssentialOCLUnreservedName11917);
+                    pushFollow(FollowSets000.FOLLOW_rulePrimitiveTypeIdentifier_in_ruleEssentialOCLUnreservedName13323);
                     this_PrimitiveTypeIdentifier_2=rulePrimitiveTypeIdentifier();
 
                     state._fsp--;
@@ -15761,9 +16956,9 @@
                     }
                     break;
                 case 4 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5306:2: kw= 'Tuple'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5540:2: kw= 'Tuple'
                     {
-                    kw=(Token)match(input,98,FollowSets000.FOLLOW_98_in_ruleEssentialOCLUnreservedName11941); if (state.failed) return current;
+                    kw=(Token)match(input,98,FollowSets000.FOLLOW_98_in_ruleEssentialOCLUnreservedName13347); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -15796,7 +16991,7 @@
 
 
     // $ANTLR start "entryRuleUnreservedName"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5319:1: entryRuleUnreservedName returns [String current=null] : iv_ruleUnreservedName= ruleUnreservedName EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5553:1: entryRuleUnreservedName returns [String current=null] : iv_ruleUnreservedName= ruleUnreservedName EOF ;
     public final String entryRuleUnreservedName() throws RecognitionException {
         String current = null;
 
@@ -15804,13 +16999,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5320:2: (iv_ruleUnreservedName= ruleUnreservedName EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5321:2: iv_ruleUnreservedName= ruleUnreservedName EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5554:2: (iv_ruleUnreservedName= ruleUnreservedName EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5555:2: iv_ruleUnreservedName= ruleUnreservedName EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getUnreservedNameRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleUnreservedName_in_entryRuleUnreservedName11982);
+            pushFollow(FollowSets000.FOLLOW_ruleUnreservedName_in_entryRuleUnreservedName13388);
             iv_ruleUnreservedName=ruleUnreservedName();
 
             state._fsp--;
@@ -15818,7 +17013,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleUnreservedName.getText(); 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleUnreservedName11993); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleUnreservedName13399); if (state.failed) return current;
 
             }
 
@@ -15836,7 +17031,7 @@
 
 
     // $ANTLR start "ruleUnreservedName"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5328:1: ruleUnreservedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_EssentialOCLUnreservedName_0= ruleEssentialOCLUnreservedName ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5562:1: ruleUnreservedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_EssentialOCLUnreservedName_0= ruleEssentialOCLUnreservedName ;
     public final AntlrDatatypeRuleToken ruleUnreservedName() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -15846,15 +17041,15 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5331:28: (this_EssentialOCLUnreservedName_0= ruleEssentialOCLUnreservedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5333:5: this_EssentialOCLUnreservedName_0= ruleEssentialOCLUnreservedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5565:28: (this_EssentialOCLUnreservedName_0= ruleEssentialOCLUnreservedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5567:5: this_EssentialOCLUnreservedName_0= ruleEssentialOCLUnreservedName
             {
             if ( state.backtracking==0 ) {
                
                       newCompositeNode(grammarAccess.getUnreservedNameAccess().getEssentialOCLUnreservedNameParserRuleCall()); 
                   
             }
-            pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLUnreservedName_in_ruleUnreservedName12039);
+            pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLUnreservedName_in_ruleUnreservedName13445);
             this_EssentialOCLUnreservedName_0=ruleEssentialOCLUnreservedName();
 
             state._fsp--;
@@ -15889,7 +17084,7 @@
 
 
     // $ANTLR start "entryRuleURIPathNameCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5351:1: entryRuleURIPathNameCS returns [EObject current=null] : iv_ruleURIPathNameCS= ruleURIPathNameCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5585:1: entryRuleURIPathNameCS returns [EObject current=null] : iv_ruleURIPathNameCS= ruleURIPathNameCS EOF ;
     public final EObject entryRuleURIPathNameCS() throws RecognitionException {
         EObject current = null;
 
@@ -15897,13 +17092,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5352:2: (iv_ruleURIPathNameCS= ruleURIPathNameCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5353:2: iv_ruleURIPathNameCS= ruleURIPathNameCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5586:2: (iv_ruleURIPathNameCS= ruleURIPathNameCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5587:2: iv_ruleURIPathNameCS= ruleURIPathNameCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getURIPathNameCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleURIPathNameCS_in_entryRuleURIPathNameCS12083);
+            pushFollow(FollowSets000.FOLLOW_ruleURIPathNameCS_in_entryRuleURIPathNameCS13489);
             iv_ruleURIPathNameCS=ruleURIPathNameCS();
 
             state._fsp--;
@@ -15911,7 +17106,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleURIPathNameCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleURIPathNameCS12093); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleURIPathNameCS13499); if (state.failed) return current;
 
             }
 
@@ -15929,7 +17124,7 @@
 
 
     // $ANTLR start "ruleURIPathNameCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5360:1: ruleURIPathNameCS returns [EObject current=null] : ( ( (lv_ownedPathElements_0_0= ruleURIFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5594:1: ruleURIPathNameCS returns [EObject current=null] : ( ( (lv_ownedPathElements_0_0= ruleURIFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* ) ;
     public final EObject ruleURIPathNameCS() throws RecognitionException {
         EObject current = null;
 
@@ -15942,24 +17137,24 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5363:28: ( ( ( (lv_ownedPathElements_0_0= ruleURIFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5364:1: ( ( (lv_ownedPathElements_0_0= ruleURIFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5597:28: ( ( ( (lv_ownedPathElements_0_0= ruleURIFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5598:1: ( ( (lv_ownedPathElements_0_0= ruleURIFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5364:1: ( ( (lv_ownedPathElements_0_0= ruleURIFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5364:2: ( (lv_ownedPathElements_0_0= ruleURIFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5598:1: ( ( (lv_ownedPathElements_0_0= ruleURIFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5598:2: ( (lv_ownedPathElements_0_0= ruleURIFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )*
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5364:2: ( (lv_ownedPathElements_0_0= ruleURIFirstPathElementCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5365:1: (lv_ownedPathElements_0_0= ruleURIFirstPathElementCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5598:2: ( (lv_ownedPathElements_0_0= ruleURIFirstPathElementCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5599:1: (lv_ownedPathElements_0_0= ruleURIFirstPathElementCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5365:1: (lv_ownedPathElements_0_0= ruleURIFirstPathElementCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5366:3: lv_ownedPathElements_0_0= ruleURIFirstPathElementCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5599:1: (lv_ownedPathElements_0_0= ruleURIFirstPathElementCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5600:3: lv_ownedPathElements_0_0= ruleURIFirstPathElementCS
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getURIPathNameCSAccess().getOwnedPathElementsURIFirstPathElementCSParserRuleCall_0_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleURIFirstPathElementCS_in_ruleURIPathNameCS12139);
+            pushFollow(FollowSets000.FOLLOW_ruleURIFirstPathElementCS_in_ruleURIPathNameCS13545);
             lv_ownedPathElements_0_0=ruleURIFirstPathElementCS();
 
             state._fsp--;
@@ -15983,39 +17178,39 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5382:2: (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )*
-            loop140:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5616:2: (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )*
+            loop178:
             do {
-                int alt140=2;
-                int LA140_0 = input.LA(1);
+                int alt178=2;
+                int LA178_0 = input.LA(1);
 
-                if ( (LA140_0==99) ) {
-                    alt140=1;
+                if ( (LA178_0==99) ) {
+                    alt178=1;
                 }
 
 
-                switch (alt140) {
+                switch (alt178) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5382:4: otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5616:4: otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) )
             	    {
-            	    otherlv_1=(Token)match(input,99,FollowSets000.FOLLOW_99_in_ruleURIPathNameCS12152); if (state.failed) return current;
+            	    otherlv_1=(Token)match(input,99,FollowSets000.FOLLOW_99_in_ruleURIPathNameCS13558); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
             	          	newLeafNode(otherlv_1, grammarAccess.getURIPathNameCSAccess().getColonColonKeyword_1_0());
             	          
             	    }
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5386:1: ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) )
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5387:1: (lv_ownedPathElements_2_0= ruleNextPathElementCS )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5620:1: ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5621:1: (lv_ownedPathElements_2_0= ruleNextPathElementCS )
             	    {
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5387:1: (lv_ownedPathElements_2_0= ruleNextPathElementCS )
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5388:3: lv_ownedPathElements_2_0= ruleNextPathElementCS
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5621:1: (lv_ownedPathElements_2_0= ruleNextPathElementCS )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5622:3: lv_ownedPathElements_2_0= ruleNextPathElementCS
             	    {
             	    if ( state.backtracking==0 ) {
             	       
             	      	        newCompositeNode(grammarAccess.getURIPathNameCSAccess().getOwnedPathElementsNextPathElementCSParserRuleCall_1_1_0()); 
             	      	    
             	    }
-            	    pushFollow(FollowSets000.FOLLOW_ruleNextPathElementCS_in_ruleURIPathNameCS12173);
+            	    pushFollow(FollowSets000.FOLLOW_ruleNextPathElementCS_in_ruleURIPathNameCS13579);
             	    lv_ownedPathElements_2_0=ruleNextPathElementCS();
 
             	    state._fsp--;
@@ -16044,7 +17239,7 @@
             	    break;
 
             	default :
-            	    break loop140;
+            	    break loop178;
                 }
             } while (true);
 
@@ -16071,7 +17266,7 @@
 
 
     // $ANTLR start "entryRuleURIFirstPathElementCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5412:1: entryRuleURIFirstPathElementCS returns [EObject current=null] : iv_ruleURIFirstPathElementCS= ruleURIFirstPathElementCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5646:1: entryRuleURIFirstPathElementCS returns [EObject current=null] : iv_ruleURIFirstPathElementCS= ruleURIFirstPathElementCS EOF ;
     public final EObject entryRuleURIFirstPathElementCS() throws RecognitionException {
         EObject current = null;
 
@@ -16079,13 +17274,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5413:2: (iv_ruleURIFirstPathElementCS= ruleURIFirstPathElementCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5414:2: iv_ruleURIFirstPathElementCS= ruleURIFirstPathElementCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5647:2: (iv_ruleURIFirstPathElementCS= ruleURIFirstPathElementCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5648:2: iv_ruleURIFirstPathElementCS= ruleURIFirstPathElementCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getURIFirstPathElementCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleURIFirstPathElementCS_in_entryRuleURIFirstPathElementCS12211);
+            pushFollow(FollowSets000.FOLLOW_ruleURIFirstPathElementCS_in_entryRuleURIFirstPathElementCS13617);
             iv_ruleURIFirstPathElementCS=ruleURIFirstPathElementCS();
 
             state._fsp--;
@@ -16093,7 +17288,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleURIFirstPathElementCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleURIFirstPathElementCS12221); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleURIFirstPathElementCS13627); if (state.failed) return current;
 
             }
 
@@ -16111,42 +17306,42 @@
 
 
     // $ANTLR start "ruleURIFirstPathElementCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5421:1: ruleURIFirstPathElementCS returns [EObject current=null] : ( ( ( ruleUnrestrictedName ) ) | ( () ( ( ruleURI ) ) ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5655:1: ruleURIFirstPathElementCS returns [EObject current=null] : ( ( ( ruleUnrestrictedName ) ) | ( () ( ( ruleURI ) ) ) ) ;
     public final EObject ruleURIFirstPathElementCS() throws RecognitionException {
         EObject current = null;
 
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5424:28: ( ( ( ( ruleUnrestrictedName ) ) | ( () ( ( ruleURI ) ) ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5425:1: ( ( ( ruleUnrestrictedName ) ) | ( () ( ( ruleURI ) ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5658:28: ( ( ( ( ruleUnrestrictedName ) ) | ( () ( ( ruleURI ) ) ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5659:1: ( ( ( ruleUnrestrictedName ) ) | ( () ( ( ruleURI ) ) ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5425:1: ( ( ( ruleUnrestrictedName ) ) | ( () ( ( ruleURI ) ) ) )
-            int alt141=2;
-            int LA141_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5659:1: ( ( ( ruleUnrestrictedName ) ) | ( () ( ( ruleURI ) ) ) )
+            int alt179=2;
+            int LA179_0 = input.LA(1);
 
-            if ( ((LA141_0>=RULE_SIMPLE_ID && LA141_0<=RULE_ESCAPED_ID)||LA141_0==17||(LA141_0>=19 && LA141_0<=54)||LA141_0==59||LA141_0==72||(LA141_0>=74 && LA141_0<=75)||LA141_0==80) ) {
-                alt141=1;
+            if ( ((LA179_0>=RULE_SIMPLE_ID && LA179_0<=RULE_ESCAPED_ID)||LA179_0==17||(LA179_0>=19 && LA179_0<=54)||LA179_0==59||LA179_0==72||(LA179_0>=74 && LA179_0<=75)||LA179_0==80) ) {
+                alt179=1;
             }
-            else if ( (LA141_0==RULE_SINGLE_QUOTED_STRING) ) {
-                alt141=2;
+            else if ( (LA179_0==RULE_SINGLE_QUOTED_STRING) ) {
+                alt179=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 141, 0, input);
+                    new NoViableAltException("", 179, 0, input);
 
                 throw nvae;
             }
-            switch (alt141) {
+            switch (alt179) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5425:2: ( ( ruleUnrestrictedName ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5659:2: ( ( ruleUnrestrictedName ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5425:2: ( ( ruleUnrestrictedName ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5426:1: ( ruleUnrestrictedName )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5659:2: ( ( ruleUnrestrictedName ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5660:1: ( ruleUnrestrictedName )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5426:1: ( ruleUnrestrictedName )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5427:3: ruleUnrestrictedName
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5660:1: ( ruleUnrestrictedName )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5661:3: ruleUnrestrictedName
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -16165,7 +17360,7 @@
                       	        newCompositeNode(grammarAccess.getURIFirstPathElementCSAccess().getReferredElementNamedElementCrossReference_0_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleURIFirstPathElementCS12273);
+                    pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleURIFirstPathElementCS13679);
                     ruleUnrestrictedName();
 
                     state._fsp--;
@@ -16185,13 +17380,13 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5444:6: ( () ( ( ruleURI ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5678:6: ( () ( ( ruleURI ) ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5444:6: ( () ( ( ruleURI ) ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5444:7: () ( ( ruleURI ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5678:6: ( () ( ( ruleURI ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5678:7: () ( ( ruleURI ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5444:7: ()
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5445:2: 
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5678:7: ()
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5679:2: 
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -16208,11 +17403,11 @@
 
                     }
 
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5453:2: ( ( ruleURI ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5454:1: ( ruleURI )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5687:2: ( ( ruleURI ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5688:1: ( ruleURI )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5454:1: ( ruleURI )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5455:3: ruleURI
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5688:1: ( ruleURI )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5689:3: ruleURI
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -16231,7 +17426,7 @@
                       	        newCompositeNode(grammarAccess.getURIFirstPathElementCSAccess().getReferredElementNamespaceCrossReference_1_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleURI_in_ruleURIFirstPathElementCS12319);
+                    pushFollow(FollowSets000.FOLLOW_ruleURI_in_ruleURIFirstPathElementCS13725);
                     ruleURI();
 
                     state._fsp--;
@@ -16276,7 +17471,7 @@
 
 
     // $ANTLR start "entryRulePrimitiveTypeIdentifier"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5479:1: entryRulePrimitiveTypeIdentifier returns [String current=null] : iv_rulePrimitiveTypeIdentifier= rulePrimitiveTypeIdentifier EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5713:1: entryRulePrimitiveTypeIdentifier returns [String current=null] : iv_rulePrimitiveTypeIdentifier= rulePrimitiveTypeIdentifier EOF ;
     public final String entryRulePrimitiveTypeIdentifier() throws RecognitionException {
         String current = null;
 
@@ -16284,13 +17479,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5480:2: (iv_rulePrimitiveTypeIdentifier= rulePrimitiveTypeIdentifier EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5481:2: iv_rulePrimitiveTypeIdentifier= rulePrimitiveTypeIdentifier EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5714:2: (iv_rulePrimitiveTypeIdentifier= rulePrimitiveTypeIdentifier EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5715:2: iv_rulePrimitiveTypeIdentifier= rulePrimitiveTypeIdentifier EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getPrimitiveTypeIdentifierRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_rulePrimitiveTypeIdentifier_in_entryRulePrimitiveTypeIdentifier12357);
+            pushFollow(FollowSets000.FOLLOW_rulePrimitiveTypeIdentifier_in_entryRulePrimitiveTypeIdentifier13763);
             iv_rulePrimitiveTypeIdentifier=rulePrimitiveTypeIdentifier();
 
             state._fsp--;
@@ -16298,7 +17493,7 @@
             if ( state.backtracking==0 ) {
                current =iv_rulePrimitiveTypeIdentifier.getText(); 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrimitiveTypeIdentifier12368); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrimitiveTypeIdentifier13774); if (state.failed) return current;
 
             }
 
@@ -16316,7 +17511,7 @@
 
 
     // $ANTLR start "rulePrimitiveTypeIdentifier"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5488:1: rulePrimitiveTypeIdentifier returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'Boolean' | kw= 'Integer' | kw= 'Real' | kw= 'String' | kw= 'UnlimitedNatural' | kw= 'OclAny' | kw= 'OclInvalid' | kw= 'OclVoid' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5722:1: rulePrimitiveTypeIdentifier returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'Boolean' | kw= 'Integer' | kw= 'Real' | kw= 'String' | kw= 'UnlimitedNatural' | kw= 'OclAny' | kw= 'OclInvalid' | kw= 'OclVoid' ) ;
     public final AntlrDatatypeRuleToken rulePrimitiveTypeIdentifier() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -16325,65 +17520,65 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5491:28: ( (kw= 'Boolean' | kw= 'Integer' | kw= 'Real' | kw= 'String' | kw= 'UnlimitedNatural' | kw= 'OclAny' | kw= 'OclInvalid' | kw= 'OclVoid' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5492:1: (kw= 'Boolean' | kw= 'Integer' | kw= 'Real' | kw= 'String' | kw= 'UnlimitedNatural' | kw= 'OclAny' | kw= 'OclInvalid' | kw= 'OclVoid' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5725:28: ( (kw= 'Boolean' | kw= 'Integer' | kw= 'Real' | kw= 'String' | kw= 'UnlimitedNatural' | kw= 'OclAny' | kw= 'OclInvalid' | kw= 'OclVoid' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5726:1: (kw= 'Boolean' | kw= 'Integer' | kw= 'Real' | kw= 'String' | kw= 'UnlimitedNatural' | kw= 'OclAny' | kw= 'OclInvalid' | kw= 'OclVoid' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5492:1: (kw= 'Boolean' | kw= 'Integer' | kw= 'Real' | kw= 'String' | kw= 'UnlimitedNatural' | kw= 'OclAny' | kw= 'OclInvalid' | kw= 'OclVoid' )
-            int alt142=8;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5726:1: (kw= 'Boolean' | kw= 'Integer' | kw= 'Real' | kw= 'String' | kw= 'UnlimitedNatural' | kw= 'OclAny' | kw= 'OclInvalid' | kw= 'OclVoid' )
+            int alt180=8;
             switch ( input.LA(1) ) {
             case 100:
                 {
-                alt142=1;
+                alt180=1;
                 }
                 break;
             case 101:
                 {
-                alt142=2;
+                alt180=2;
                 }
                 break;
             case 102:
                 {
-                alt142=3;
+                alt180=3;
                 }
                 break;
             case 103:
                 {
-                alt142=4;
+                alt180=4;
                 }
                 break;
             case 104:
                 {
-                alt142=5;
+                alt180=5;
                 }
                 break;
             case 105:
                 {
-                alt142=6;
+                alt180=6;
                 }
                 break;
             case 106:
                 {
-                alt142=7;
+                alt180=7;
                 }
                 break;
             case 107:
                 {
-                alt142=8;
+                alt180=8;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 142, 0, input);
+                    new NoViableAltException("", 180, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt142) {
+            switch (alt180) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5493:2: kw= 'Boolean'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5727:2: kw= 'Boolean'
                     {
-                    kw=(Token)match(input,100,FollowSets000.FOLLOW_100_in_rulePrimitiveTypeIdentifier12406); if (state.failed) return current;
+                    kw=(Token)match(input,100,FollowSets000.FOLLOW_100_in_rulePrimitiveTypeIdentifier13812); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -16394,9 +17589,9 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5500:2: kw= 'Integer'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5734:2: kw= 'Integer'
                     {
-                    kw=(Token)match(input,101,FollowSets000.FOLLOW_101_in_rulePrimitiveTypeIdentifier12425); if (state.failed) return current;
+                    kw=(Token)match(input,101,FollowSets000.FOLLOW_101_in_rulePrimitiveTypeIdentifier13831); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -16407,9 +17602,9 @@
                     }
                     break;
                 case 3 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5507:2: kw= 'Real'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5741:2: kw= 'Real'
                     {
-                    kw=(Token)match(input,102,FollowSets000.FOLLOW_102_in_rulePrimitiveTypeIdentifier12444); if (state.failed) return current;
+                    kw=(Token)match(input,102,FollowSets000.FOLLOW_102_in_rulePrimitiveTypeIdentifier13850); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -16420,9 +17615,9 @@
                     }
                     break;
                 case 4 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5514:2: kw= 'String'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5748:2: kw= 'String'
                     {
-                    kw=(Token)match(input,103,FollowSets000.FOLLOW_103_in_rulePrimitiveTypeIdentifier12463); if (state.failed) return current;
+                    kw=(Token)match(input,103,FollowSets000.FOLLOW_103_in_rulePrimitiveTypeIdentifier13869); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -16433,9 +17628,9 @@
                     }
                     break;
                 case 5 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5521:2: kw= 'UnlimitedNatural'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5755:2: kw= 'UnlimitedNatural'
                     {
-                    kw=(Token)match(input,104,FollowSets000.FOLLOW_104_in_rulePrimitiveTypeIdentifier12482); if (state.failed) return current;
+                    kw=(Token)match(input,104,FollowSets000.FOLLOW_104_in_rulePrimitiveTypeIdentifier13888); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -16446,9 +17641,9 @@
                     }
                     break;
                 case 6 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5528:2: kw= 'OclAny'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5762:2: kw= 'OclAny'
                     {
-                    kw=(Token)match(input,105,FollowSets000.FOLLOW_105_in_rulePrimitiveTypeIdentifier12501); if (state.failed) return current;
+                    kw=(Token)match(input,105,FollowSets000.FOLLOW_105_in_rulePrimitiveTypeIdentifier13907); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -16459,9 +17654,9 @@
                     }
                     break;
                 case 7 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5535:2: kw= 'OclInvalid'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5769:2: kw= 'OclInvalid'
                     {
-                    kw=(Token)match(input,106,FollowSets000.FOLLOW_106_in_rulePrimitiveTypeIdentifier12520); if (state.failed) return current;
+                    kw=(Token)match(input,106,FollowSets000.FOLLOW_106_in_rulePrimitiveTypeIdentifier13926); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -16472,9 +17667,9 @@
                     }
                     break;
                 case 8 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5542:2: kw= 'OclVoid'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5776:2: kw= 'OclVoid'
                     {
-                    kw=(Token)match(input,107,FollowSets000.FOLLOW_107_in_rulePrimitiveTypeIdentifier12539); if (state.failed) return current;
+                    kw=(Token)match(input,107,FollowSets000.FOLLOW_107_in_rulePrimitiveTypeIdentifier13945); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -16507,7 +17702,7 @@
 
 
     // $ANTLR start "entryRulePrimitiveTypeCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5555:1: entryRulePrimitiveTypeCS returns [EObject current=null] : iv_rulePrimitiveTypeCS= rulePrimitiveTypeCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5789:1: entryRulePrimitiveTypeCS returns [EObject current=null] : iv_rulePrimitiveTypeCS= rulePrimitiveTypeCS EOF ;
     public final EObject entryRulePrimitiveTypeCS() throws RecognitionException {
         EObject current = null;
 
@@ -16515,13 +17710,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5556:2: (iv_rulePrimitiveTypeCS= rulePrimitiveTypeCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5557:2: iv_rulePrimitiveTypeCS= rulePrimitiveTypeCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5790:2: (iv_rulePrimitiveTypeCS= rulePrimitiveTypeCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5791:2: iv_rulePrimitiveTypeCS= rulePrimitiveTypeCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getPrimitiveTypeCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_rulePrimitiveTypeCS_in_entryRulePrimitiveTypeCS12579);
+            pushFollow(FollowSets000.FOLLOW_rulePrimitiveTypeCS_in_entryRulePrimitiveTypeCS13985);
             iv_rulePrimitiveTypeCS=rulePrimitiveTypeCS();
 
             state._fsp--;
@@ -16529,7 +17724,7 @@
             if ( state.backtracking==0 ) {
                current =iv_rulePrimitiveTypeCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrimitiveTypeCS12589); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrimitiveTypeCS13995); if (state.failed) return current;
 
             }
 
@@ -16547,7 +17742,7 @@
 
 
     // $ANTLR start "rulePrimitiveTypeCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5564:1: rulePrimitiveTypeCS returns [EObject current=null] : ( (lv_name_0_0= rulePrimitiveTypeIdentifier ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5798:1: rulePrimitiveTypeCS returns [EObject current=null] : ( (lv_name_0_0= rulePrimitiveTypeIdentifier ) ) ;
     public final EObject rulePrimitiveTypeCS() throws RecognitionException {
         EObject current = null;
 
@@ -16557,21 +17752,21 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5567:28: ( ( (lv_name_0_0= rulePrimitiveTypeIdentifier ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5568:1: ( (lv_name_0_0= rulePrimitiveTypeIdentifier ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5801:28: ( ( (lv_name_0_0= rulePrimitiveTypeIdentifier ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5802:1: ( (lv_name_0_0= rulePrimitiveTypeIdentifier ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5568:1: ( (lv_name_0_0= rulePrimitiveTypeIdentifier ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5569:1: (lv_name_0_0= rulePrimitiveTypeIdentifier )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5802:1: ( (lv_name_0_0= rulePrimitiveTypeIdentifier ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5803:1: (lv_name_0_0= rulePrimitiveTypeIdentifier )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5569:1: (lv_name_0_0= rulePrimitiveTypeIdentifier )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5570:3: lv_name_0_0= rulePrimitiveTypeIdentifier
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5803:1: (lv_name_0_0= rulePrimitiveTypeIdentifier )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5804:3: lv_name_0_0= rulePrimitiveTypeIdentifier
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getPrimitiveTypeCSAccess().getNamePrimitiveTypeIdentifierParserRuleCall_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_rulePrimitiveTypeIdentifier_in_rulePrimitiveTypeCS12634);
+            pushFollow(FollowSets000.FOLLOW_rulePrimitiveTypeIdentifier_in_rulePrimitiveTypeCS14040);
             lv_name_0_0=rulePrimitiveTypeIdentifier();
 
             state._fsp--;
@@ -16615,7 +17810,7 @@
 
 
     // $ANTLR start "entryRuleCollectionTypeIdentifier"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5594:1: entryRuleCollectionTypeIdentifier returns [String current=null] : iv_ruleCollectionTypeIdentifier= ruleCollectionTypeIdentifier EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5828:1: entryRuleCollectionTypeIdentifier returns [String current=null] : iv_ruleCollectionTypeIdentifier= ruleCollectionTypeIdentifier EOF ;
     public final String entryRuleCollectionTypeIdentifier() throws RecognitionException {
         String current = null;
 
@@ -16623,13 +17818,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5595:2: (iv_ruleCollectionTypeIdentifier= ruleCollectionTypeIdentifier EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5596:2: iv_ruleCollectionTypeIdentifier= ruleCollectionTypeIdentifier EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5829:2: (iv_ruleCollectionTypeIdentifier= ruleCollectionTypeIdentifier EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5830:2: iv_ruleCollectionTypeIdentifier= ruleCollectionTypeIdentifier EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getCollectionTypeIdentifierRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleCollectionTypeIdentifier_in_entryRuleCollectionTypeIdentifier12670);
+            pushFollow(FollowSets000.FOLLOW_ruleCollectionTypeIdentifier_in_entryRuleCollectionTypeIdentifier14076);
             iv_ruleCollectionTypeIdentifier=ruleCollectionTypeIdentifier();
 
             state._fsp--;
@@ -16637,7 +17832,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleCollectionTypeIdentifier.getText(); 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCollectionTypeIdentifier12681); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCollectionTypeIdentifier14087); if (state.failed) return current;
 
             }
 
@@ -16655,7 +17850,7 @@
 
 
     // $ANTLR start "ruleCollectionTypeIdentifier"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5603:1: ruleCollectionTypeIdentifier returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'Set' | kw= 'Bag' | kw= 'Sequence' | kw= 'Collection' | kw= 'OrderedSet' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5837:1: ruleCollectionTypeIdentifier returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'Set' | kw= 'Bag' | kw= 'Sequence' | kw= 'Collection' | kw= 'OrderedSet' ) ;
     public final AntlrDatatypeRuleToken ruleCollectionTypeIdentifier() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -16664,50 +17859,50 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5606:28: ( (kw= 'Set' | kw= 'Bag' | kw= 'Sequence' | kw= 'Collection' | kw= 'OrderedSet' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5607:1: (kw= 'Set' | kw= 'Bag' | kw= 'Sequence' | kw= 'Collection' | kw= 'OrderedSet' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5840:28: ( (kw= 'Set' | kw= 'Bag' | kw= 'Sequence' | kw= 'Collection' | kw= 'OrderedSet' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5841:1: (kw= 'Set' | kw= 'Bag' | kw= 'Sequence' | kw= 'Collection' | kw= 'OrderedSet' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5607:1: (kw= 'Set' | kw= 'Bag' | kw= 'Sequence' | kw= 'Collection' | kw= 'OrderedSet' )
-            int alt143=5;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5841:1: (kw= 'Set' | kw= 'Bag' | kw= 'Sequence' | kw= 'Collection' | kw= 'OrderedSet' )
+            int alt181=5;
             switch ( input.LA(1) ) {
             case 108:
                 {
-                alt143=1;
+                alt181=1;
                 }
                 break;
             case 109:
                 {
-                alt143=2;
+                alt181=2;
                 }
                 break;
             case 110:
                 {
-                alt143=3;
+                alt181=3;
                 }
                 break;
             case 111:
                 {
-                alt143=4;
+                alt181=4;
                 }
                 break;
             case 112:
                 {
-                alt143=5;
+                alt181=5;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 143, 0, input);
+                    new NoViableAltException("", 181, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt143) {
+            switch (alt181) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5608:2: kw= 'Set'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5842:2: kw= 'Set'
                     {
-                    kw=(Token)match(input,108,FollowSets000.FOLLOW_108_in_ruleCollectionTypeIdentifier12719); if (state.failed) return current;
+                    kw=(Token)match(input,108,FollowSets000.FOLLOW_108_in_ruleCollectionTypeIdentifier14125); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -16718,9 +17913,9 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5615:2: kw= 'Bag'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5849:2: kw= 'Bag'
                     {
-                    kw=(Token)match(input,109,FollowSets000.FOLLOW_109_in_ruleCollectionTypeIdentifier12738); if (state.failed) return current;
+                    kw=(Token)match(input,109,FollowSets000.FOLLOW_109_in_ruleCollectionTypeIdentifier14144); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -16731,9 +17926,9 @@
                     }
                     break;
                 case 3 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5622:2: kw= 'Sequence'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5856:2: kw= 'Sequence'
                     {
-                    kw=(Token)match(input,110,FollowSets000.FOLLOW_110_in_ruleCollectionTypeIdentifier12757); if (state.failed) return current;
+                    kw=(Token)match(input,110,FollowSets000.FOLLOW_110_in_ruleCollectionTypeIdentifier14163); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -16744,9 +17939,9 @@
                     }
                     break;
                 case 4 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5629:2: kw= 'Collection'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5863:2: kw= 'Collection'
                     {
-                    kw=(Token)match(input,111,FollowSets000.FOLLOW_111_in_ruleCollectionTypeIdentifier12776); if (state.failed) return current;
+                    kw=(Token)match(input,111,FollowSets000.FOLLOW_111_in_ruleCollectionTypeIdentifier14182); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -16757,9 +17952,9 @@
                     }
                     break;
                 case 5 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5636:2: kw= 'OrderedSet'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5870:2: kw= 'OrderedSet'
                     {
-                    kw=(Token)match(input,112,FollowSets000.FOLLOW_112_in_ruleCollectionTypeIdentifier12795); if (state.failed) return current;
+                    kw=(Token)match(input,112,FollowSets000.FOLLOW_112_in_ruleCollectionTypeIdentifier14201); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -16792,7 +17987,7 @@
 
 
     // $ANTLR start "entryRuleCollectionTypeCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5649:1: entryRuleCollectionTypeCS returns [EObject current=null] : iv_ruleCollectionTypeCS= ruleCollectionTypeCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5883:1: entryRuleCollectionTypeCS returns [EObject current=null] : iv_ruleCollectionTypeCS= ruleCollectionTypeCS EOF ;
     public final EObject entryRuleCollectionTypeCS() throws RecognitionException {
         EObject current = null;
 
@@ -16800,13 +17995,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5650:2: (iv_ruleCollectionTypeCS= ruleCollectionTypeCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5651:2: iv_ruleCollectionTypeCS= ruleCollectionTypeCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5884:2: (iv_ruleCollectionTypeCS= ruleCollectionTypeCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5885:2: iv_ruleCollectionTypeCS= ruleCollectionTypeCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getCollectionTypeCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleCollectionTypeCS_in_entryRuleCollectionTypeCS12835);
+            pushFollow(FollowSets000.FOLLOW_ruleCollectionTypeCS_in_entryRuleCollectionTypeCS14241);
             iv_ruleCollectionTypeCS=ruleCollectionTypeCS();
 
             state._fsp--;
@@ -16814,7 +18009,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleCollectionTypeCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCollectionTypeCS12845); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCollectionTypeCS14251); if (state.failed) return current;
 
             }
 
@@ -16832,7 +18027,7 @@
 
 
     // $ANTLR start "ruleCollectionTypeCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5658:1: ruleCollectionTypeCS returns [EObject current=null] : ( ( (lv_name_0_0= ruleCollectionTypeIdentifier ) ) (otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) otherlv_3= ')' )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5892:1: ruleCollectionTypeCS returns [EObject current=null] : ( ( (lv_name_0_0= ruleCollectionTypeIdentifier ) ) (otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) otherlv_3= ')' )? ) ;
     public final EObject ruleCollectionTypeCS() throws RecognitionException {
         EObject current = null;
 
@@ -16846,24 +18041,24 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5661:28: ( ( ( (lv_name_0_0= ruleCollectionTypeIdentifier ) ) (otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) otherlv_3= ')' )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5662:1: ( ( (lv_name_0_0= ruleCollectionTypeIdentifier ) ) (otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) otherlv_3= ')' )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5895:28: ( ( ( (lv_name_0_0= ruleCollectionTypeIdentifier ) ) (otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) otherlv_3= ')' )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5896:1: ( ( (lv_name_0_0= ruleCollectionTypeIdentifier ) ) (otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) otherlv_3= ')' )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5662:1: ( ( (lv_name_0_0= ruleCollectionTypeIdentifier ) ) (otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) otherlv_3= ')' )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5662:2: ( (lv_name_0_0= ruleCollectionTypeIdentifier ) ) (otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) otherlv_3= ')' )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5896:1: ( ( (lv_name_0_0= ruleCollectionTypeIdentifier ) ) (otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) otherlv_3= ')' )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5896:2: ( (lv_name_0_0= ruleCollectionTypeIdentifier ) ) (otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) otherlv_3= ')' )?
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5662:2: ( (lv_name_0_0= ruleCollectionTypeIdentifier ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5663:1: (lv_name_0_0= ruleCollectionTypeIdentifier )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5896:2: ( (lv_name_0_0= ruleCollectionTypeIdentifier ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5897:1: (lv_name_0_0= ruleCollectionTypeIdentifier )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5663:1: (lv_name_0_0= ruleCollectionTypeIdentifier )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5664:3: lv_name_0_0= ruleCollectionTypeIdentifier
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5897:1: (lv_name_0_0= ruleCollectionTypeIdentifier )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5898:3: lv_name_0_0= ruleCollectionTypeIdentifier
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getCollectionTypeCSAccess().getNameCollectionTypeIdentifierParserRuleCall_0_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleCollectionTypeIdentifier_in_ruleCollectionTypeCS12891);
+            pushFollow(FollowSets000.FOLLOW_ruleCollectionTypeIdentifier_in_ruleCollectionTypeCS14297);
             lv_name_0_0=ruleCollectionTypeIdentifier();
 
             state._fsp--;
@@ -16887,35 +18082,35 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5680:2: (otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) otherlv_3= ')' )?
-            int alt144=2;
-            int LA144_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5914:2: (otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) otherlv_3= ')' )?
+            int alt182=2;
+            int LA182_0 = input.LA(1);
 
-            if ( (LA144_0==55) ) {
-                alt144=1;
+            if ( (LA182_0==55) ) {
+                alt182=1;
             }
-            switch (alt144) {
+            switch (alt182) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5680:4: otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) otherlv_3= ')'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5914:4: otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) otherlv_3= ')'
                     {
-                    otherlv_1=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleCollectionTypeCS12904); if (state.failed) return current;
+                    otherlv_1=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleCollectionTypeCS14310); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_1, grammarAccess.getCollectionTypeCSAccess().getLeftParenthesisKeyword_1_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5684:1: ( (lv_ownedType_2_0= ruleTypeExpCS ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5685:1: (lv_ownedType_2_0= ruleTypeExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5918:1: ( (lv_ownedType_2_0= ruleTypeExpCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5919:1: (lv_ownedType_2_0= ruleTypeExpCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5685:1: (lv_ownedType_2_0= ruleTypeExpCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5686:3: lv_ownedType_2_0= ruleTypeExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5919:1: (lv_ownedType_2_0= ruleTypeExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5920:3: lv_ownedType_2_0= ruleTypeExpCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getCollectionTypeCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_ruleCollectionTypeCS12925);
+                    pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_ruleCollectionTypeCS14331);
                     lv_ownedType_2_0=ruleTypeExpCS();
 
                     state._fsp--;
@@ -16939,7 +18134,7 @@
 
                     }
 
-                    otherlv_3=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleCollectionTypeCS12937); if (state.failed) return current;
+                    otherlv_3=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleCollectionTypeCS14343); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_3, grammarAccess.getCollectionTypeCSAccess().getRightParenthesisKeyword_1_2());
@@ -16974,7 +18169,7 @@
 
 
     // $ANTLR start "entryRuleTupleTypeCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5714:1: entryRuleTupleTypeCS returns [EObject current=null] : iv_ruleTupleTypeCS= ruleTupleTypeCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5948:1: entryRuleTupleTypeCS returns [EObject current=null] : iv_ruleTupleTypeCS= ruleTupleTypeCS EOF ;
     public final EObject entryRuleTupleTypeCS() throws RecognitionException {
         EObject current = null;
 
@@ -16982,13 +18177,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5715:2: (iv_ruleTupleTypeCS= ruleTupleTypeCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5716:2: iv_ruleTupleTypeCS= ruleTupleTypeCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5949:2: (iv_ruleTupleTypeCS= ruleTupleTypeCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5950:2: iv_ruleTupleTypeCS= ruleTupleTypeCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTupleTypeCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleTupleTypeCS_in_entryRuleTupleTypeCS12975);
+            pushFollow(FollowSets000.FOLLOW_ruleTupleTypeCS_in_entryRuleTupleTypeCS14381);
             iv_ruleTupleTypeCS=ruleTupleTypeCS();
 
             state._fsp--;
@@ -16996,7 +18191,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleTupleTypeCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTupleTypeCS12985); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTupleTypeCS14391); if (state.failed) return current;
 
             }
 
@@ -17014,7 +18209,7 @@
 
 
     // $ANTLR start "ruleTupleTypeCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5723:1: ruleTupleTypeCS returns [EObject current=null] : ( ( (lv_name_0_0= 'Tuple' ) ) (otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')' )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5957:1: ruleTupleTypeCS returns [EObject current=null] : ( ( (lv_name_0_0= 'Tuple' ) ) (otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')' )? ) ;
     public final EObject ruleTupleTypeCS() throws RecognitionException {
         EObject current = null;
 
@@ -17030,19 +18225,19 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5726:28: ( ( ( (lv_name_0_0= 'Tuple' ) ) (otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')' )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5727:1: ( ( (lv_name_0_0= 'Tuple' ) ) (otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')' )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5960:28: ( ( ( (lv_name_0_0= 'Tuple' ) ) (otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')' )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5961:1: ( ( (lv_name_0_0= 'Tuple' ) ) (otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')' )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5727:1: ( ( (lv_name_0_0= 'Tuple' ) ) (otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')' )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5727:2: ( (lv_name_0_0= 'Tuple' ) ) (otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')' )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5961:1: ( ( (lv_name_0_0= 'Tuple' ) ) (otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')' )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5961:2: ( (lv_name_0_0= 'Tuple' ) ) (otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')' )?
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5727:2: ( (lv_name_0_0= 'Tuple' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5728:1: (lv_name_0_0= 'Tuple' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5961:2: ( (lv_name_0_0= 'Tuple' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5962:1: (lv_name_0_0= 'Tuple' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5728:1: (lv_name_0_0= 'Tuple' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5729:3: lv_name_0_0= 'Tuple'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5962:1: (lv_name_0_0= 'Tuple' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5963:3: lv_name_0_0= 'Tuple'
             {
-            lv_name_0_0=(Token)match(input,98,FollowSets000.FOLLOW_98_in_ruleTupleTypeCS13028); if (state.failed) return current;
+            lv_name_0_0=(Token)match(input,98,FollowSets000.FOLLOW_98_in_ruleTupleTypeCS14434); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                       newLeafNode(lv_name_0_0, grammarAccess.getTupleTypeCSAccess().getNameTupleKeyword_0_0());
@@ -17062,46 +18257,46 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5742:2: (otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')' )?
-            int alt147=2;
-            int LA147_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5976:2: (otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')' )?
+            int alt185=2;
+            int LA185_0 = input.LA(1);
 
-            if ( (LA147_0==55) ) {
-                alt147=1;
+            if ( (LA185_0==55) ) {
+                alt185=1;
             }
-            switch (alt147) {
+            switch (alt185) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5742:4: otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5976:4: otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')'
                     {
-                    otherlv_1=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleTupleTypeCS13054); if (state.failed) return current;
+                    otherlv_1=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleTupleTypeCS14460); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_1, grammarAccess.getTupleTypeCSAccess().getLeftParenthesisKeyword_1_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5746:1: ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )?
-                    int alt146=2;
-                    int LA146_0 = input.LA(1);
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5980:1: ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )?
+                    int alt184=2;
+                    int LA184_0 = input.LA(1);
 
-                    if ( ((LA146_0>=RULE_SIMPLE_ID && LA146_0<=RULE_ESCAPED_ID)||LA146_0==17||(LA146_0>=19 && LA146_0<=54)||LA146_0==59||LA146_0==72||(LA146_0>=74 && LA146_0<=75)||LA146_0==80) ) {
-                        alt146=1;
+                    if ( ((LA184_0>=RULE_SIMPLE_ID && LA184_0<=RULE_ESCAPED_ID)||LA184_0==17||(LA184_0>=19 && LA184_0<=54)||LA184_0==59||LA184_0==72||(LA184_0>=74 && LA184_0<=75)||LA184_0==80) ) {
+                        alt184=1;
                     }
-                    switch (alt146) {
+                    switch (alt184) {
                         case 1 :
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5746:2: ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )*
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5980:2: ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )*
                             {
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5746:2: ( (lv_ownedParts_2_0= ruleTuplePartCS ) )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5747:1: (lv_ownedParts_2_0= ruleTuplePartCS )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5980:2: ( (lv_ownedParts_2_0= ruleTuplePartCS ) )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5981:1: (lv_ownedParts_2_0= ruleTuplePartCS )
                             {
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5747:1: (lv_ownedParts_2_0= ruleTuplePartCS )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5748:3: lv_ownedParts_2_0= ruleTuplePartCS
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5981:1: (lv_ownedParts_2_0= ruleTuplePartCS )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5982:3: lv_ownedParts_2_0= ruleTuplePartCS
                             {
                             if ( state.backtracking==0 ) {
                                
                               	        newCompositeNode(grammarAccess.getTupleTypeCSAccess().getOwnedPartsTuplePartCSParserRuleCall_1_1_0_0()); 
                               	    
                             }
-                            pushFollow(FollowSets000.FOLLOW_ruleTuplePartCS_in_ruleTupleTypeCS13076);
+                            pushFollow(FollowSets000.FOLLOW_ruleTuplePartCS_in_ruleTupleTypeCS14482);
                             lv_ownedParts_2_0=ruleTuplePartCS();
 
                             state._fsp--;
@@ -17125,39 +18320,39 @@
 
                             }
 
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5764:2: (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )*
-                            loop145:
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5998:2: (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )*
+                            loop183:
                             do {
-                                int alt145=2;
-                                int LA145_0 = input.LA(1);
+                                int alt183=2;
+                                int LA183_0 = input.LA(1);
 
-                                if ( (LA145_0==60) ) {
-                                    alt145=1;
+                                if ( (LA183_0==60) ) {
+                                    alt183=1;
                                 }
 
 
-                                switch (alt145) {
+                                switch (alt183) {
                             	case 1 :
-                            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5764:4: otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) )
+                            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5998:4: otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) )
                             	    {
-                            	    otherlv_3=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleTupleTypeCS13089); if (state.failed) return current;
+                            	    otherlv_3=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleTupleTypeCS14495); if (state.failed) return current;
                             	    if ( state.backtracking==0 ) {
 
                             	          	newLeafNode(otherlv_3, grammarAccess.getTupleTypeCSAccess().getCommaKeyword_1_1_1_0());
                             	          
                             	    }
-                            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5768:1: ( (lv_ownedParts_4_0= ruleTuplePartCS ) )
-                            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5769:1: (lv_ownedParts_4_0= ruleTuplePartCS )
+                            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6002:1: ( (lv_ownedParts_4_0= ruleTuplePartCS ) )
+                            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6003:1: (lv_ownedParts_4_0= ruleTuplePartCS )
                             	    {
-                            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5769:1: (lv_ownedParts_4_0= ruleTuplePartCS )
-                            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5770:3: lv_ownedParts_4_0= ruleTuplePartCS
+                            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6003:1: (lv_ownedParts_4_0= ruleTuplePartCS )
+                            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6004:3: lv_ownedParts_4_0= ruleTuplePartCS
                             	    {
                             	    if ( state.backtracking==0 ) {
                             	       
                             	      	        newCompositeNode(grammarAccess.getTupleTypeCSAccess().getOwnedPartsTuplePartCSParserRuleCall_1_1_1_1_0()); 
                             	      	    
                             	    }
-                            	    pushFollow(FollowSets000.FOLLOW_ruleTuplePartCS_in_ruleTupleTypeCS13110);
+                            	    pushFollow(FollowSets000.FOLLOW_ruleTuplePartCS_in_ruleTupleTypeCS14516);
                             	    lv_ownedParts_4_0=ruleTuplePartCS();
 
                             	    state._fsp--;
@@ -17186,7 +18381,7 @@
                             	    break;
 
                             	default :
-                            	    break loop145;
+                            	    break loop183;
                                 }
                             } while (true);
 
@@ -17196,7 +18391,7 @@
 
                     }
 
-                    otherlv_5=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleTupleTypeCS13126); if (state.failed) return current;
+                    otherlv_5=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleTupleTypeCS14532); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_5, grammarAccess.getTupleTypeCSAccess().getRightParenthesisKeyword_1_2());
@@ -17231,7 +18426,7 @@
 
 
     // $ANTLR start "entryRuleTuplePartCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5798:1: entryRuleTuplePartCS returns [EObject current=null] : iv_ruleTuplePartCS= ruleTuplePartCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6032:1: entryRuleTuplePartCS returns [EObject current=null] : iv_ruleTuplePartCS= ruleTuplePartCS EOF ;
     public final EObject entryRuleTuplePartCS() throws RecognitionException {
         EObject current = null;
 
@@ -17239,13 +18434,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5799:2: (iv_ruleTuplePartCS= ruleTuplePartCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5800:2: iv_ruleTuplePartCS= ruleTuplePartCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6033:2: (iv_ruleTuplePartCS= ruleTuplePartCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6034:2: iv_ruleTuplePartCS= ruleTuplePartCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTuplePartCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleTuplePartCS_in_entryRuleTuplePartCS13164);
+            pushFollow(FollowSets000.FOLLOW_ruleTuplePartCS_in_entryRuleTuplePartCS14570);
             iv_ruleTuplePartCS=ruleTuplePartCS();
 
             state._fsp--;
@@ -17253,7 +18448,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleTuplePartCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTuplePartCS13174); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTuplePartCS14580); if (state.failed) return current;
 
             }
 
@@ -17271,7 +18466,7 @@
 
 
     // $ANTLR start "ruleTuplePartCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5807:1: ruleTuplePartCS returns [EObject current=null] : ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6041:1: ruleTuplePartCS returns [EObject current=null] : ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) ) ;
     public final EObject ruleTuplePartCS() throws RecognitionException {
         EObject current = null;
 
@@ -17284,24 +18479,24 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5810:28: ( ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5811:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6044:28: ( ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6045:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5811:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5811:2: ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6045:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6045:2: ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5811:2: ( (lv_name_0_0= ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5812:1: (lv_name_0_0= ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6045:2: ( (lv_name_0_0= ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6046:1: (lv_name_0_0= ruleUnrestrictedName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5812:1: (lv_name_0_0= ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5813:3: lv_name_0_0= ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6046:1: (lv_name_0_0= ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6047:3: lv_name_0_0= ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getTuplePartCSAccess().getNameUnrestrictedNameParserRuleCall_0_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleTuplePartCS13220);
+            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleTuplePartCS14626);
             lv_name_0_0=ruleUnrestrictedName();
 
             state._fsp--;
@@ -17325,24 +18520,24 @@
 
             }
 
-            otherlv_1=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleTuplePartCS13232); if (state.failed) return current;
+            otherlv_1=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleTuplePartCS14638); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_1, grammarAccess.getTuplePartCSAccess().getColonKeyword_1());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5833:1: ( (lv_ownedType_2_0= ruleTypeExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5834:1: (lv_ownedType_2_0= ruleTypeExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6067:1: ( (lv_ownedType_2_0= ruleTypeExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6068:1: (lv_ownedType_2_0= ruleTypeExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5834:1: (lv_ownedType_2_0= ruleTypeExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5835:3: lv_ownedType_2_0= ruleTypeExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6068:1: (lv_ownedType_2_0= ruleTypeExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6069:3: lv_ownedType_2_0= ruleTypeExpCS
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getTuplePartCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_ruleTuplePartCS13253);
+            pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_ruleTuplePartCS14659);
             lv_ownedType_2_0=ruleTypeExpCS();
 
             state._fsp--;
@@ -17389,7 +18584,7 @@
 
 
     // $ANTLR start "entryRuleCollectionLiteralExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5859:1: entryRuleCollectionLiteralExpCS returns [EObject current=null] : iv_ruleCollectionLiteralExpCS= ruleCollectionLiteralExpCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6093:1: entryRuleCollectionLiteralExpCS returns [EObject current=null] : iv_ruleCollectionLiteralExpCS= ruleCollectionLiteralExpCS EOF ;
     public final EObject entryRuleCollectionLiteralExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -17397,13 +18592,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5860:2: (iv_ruleCollectionLiteralExpCS= ruleCollectionLiteralExpCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5861:2: iv_ruleCollectionLiteralExpCS= ruleCollectionLiteralExpCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6094:2: (iv_ruleCollectionLiteralExpCS= ruleCollectionLiteralExpCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6095:2: iv_ruleCollectionLiteralExpCS= ruleCollectionLiteralExpCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getCollectionLiteralExpCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleCollectionLiteralExpCS_in_entryRuleCollectionLiteralExpCS13289);
+            pushFollow(FollowSets000.FOLLOW_ruleCollectionLiteralExpCS_in_entryRuleCollectionLiteralExpCS14695);
             iv_ruleCollectionLiteralExpCS=ruleCollectionLiteralExpCS();
 
             state._fsp--;
@@ -17411,7 +18606,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleCollectionLiteralExpCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCollectionLiteralExpCS13299); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCollectionLiteralExpCS14705); if (state.failed) return current;
 
             }
 
@@ -17429,7 +18624,7 @@
 
 
     // $ANTLR start "ruleCollectionLiteralExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5868:1: ruleCollectionLiteralExpCS returns [EObject current=null] : ( ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )* )? otherlv_5= '}' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6102:1: ruleCollectionLiteralExpCS returns [EObject current=null] : ( ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )* )? otherlv_5= '}' ) ;
     public final EObject ruleCollectionLiteralExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -17446,24 +18641,24 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5871:28: ( ( ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )* )? otherlv_5= '}' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5872:1: ( ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )* )? otherlv_5= '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6105:28: ( ( ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )* )? otherlv_5= '}' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6106:1: ( ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )* )? otherlv_5= '}' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5872:1: ( ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )* )? otherlv_5= '}' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5872:2: ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )* )? otherlv_5= '}'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6106:1: ( ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )* )? otherlv_5= '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6106:2: ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )* )? otherlv_5= '}'
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5872:2: ( (lv_ownedType_0_0= ruleCollectionTypeCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5873:1: (lv_ownedType_0_0= ruleCollectionTypeCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6106:2: ( (lv_ownedType_0_0= ruleCollectionTypeCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6107:1: (lv_ownedType_0_0= ruleCollectionTypeCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5873:1: (lv_ownedType_0_0= ruleCollectionTypeCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5874:3: lv_ownedType_0_0= ruleCollectionTypeCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6107:1: (lv_ownedType_0_0= ruleCollectionTypeCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6108:3: lv_ownedType_0_0= ruleCollectionTypeCS
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedTypeCollectionTypeCSParserRuleCall_0_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleCollectionTypeCS_in_ruleCollectionLiteralExpCS13345);
+            pushFollow(FollowSets000.FOLLOW_ruleCollectionTypeCS_in_ruleCollectionLiteralExpCS14751);
             lv_ownedType_0_0=ruleCollectionTypeCS();
 
             state._fsp--;
@@ -17487,35 +18682,35 @@
 
             }
 
-            otherlv_1=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleCollectionLiteralExpCS13357); if (state.failed) return current;
+            otherlv_1=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleCollectionLiteralExpCS14763); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_1, grammarAccess.getCollectionLiteralExpCSAccess().getLeftCurlyBracketKeyword_1());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5894:1: ( ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )* )?
-            int alt149=2;
-            int LA149_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6128:1: ( ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )* )?
+            int alt187=2;
+            int LA187_0 = input.LA(1);
 
-            if ( ((LA149_0>=RULE_INT && LA149_0<=RULE_SINGLE_QUOTED_STRING)||(LA149_0>=RULE_SIMPLE_ID && LA149_0<=RULE_ESCAPED_ID)||(LA149_0>=17 && LA149_0<=55)||LA149_0==57||LA149_0==59||LA149_0==72||(LA149_0>=74 && LA149_0<=75)||LA149_0==80||(LA149_0>=83 && LA149_0<=84)||LA149_0==98||(LA149_0>=100 && LA149_0<=112)||(LA149_0>=115 && LA149_0<=119)||LA149_0==126||(LA149_0>=131 && LA149_0<=132)) ) {
-                alt149=1;
+            if ( ((LA187_0>=RULE_INT && LA187_0<=RULE_SINGLE_QUOTED_STRING)||(LA187_0>=RULE_SIMPLE_ID && LA187_0<=RULE_ESCAPED_ID)||(LA187_0>=17 && LA187_0<=55)||LA187_0==57||LA187_0==59||LA187_0==72||(LA187_0>=74 && LA187_0<=75)||LA187_0==80||(LA187_0>=83 && LA187_0<=84)||LA187_0==98||(LA187_0>=100 && LA187_0<=112)||(LA187_0>=115 && LA187_0<=119)||LA187_0==126||(LA187_0>=131 && LA187_0<=132)) ) {
+                alt187=1;
             }
-            switch (alt149) {
+            switch (alt187) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5894:2: ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )*
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6128:2: ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )*
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5894:2: ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5895:1: (lv_ownedParts_2_0= ruleCollectionLiteralPartCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6128:2: ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6129:1: (lv_ownedParts_2_0= ruleCollectionLiteralPartCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5895:1: (lv_ownedParts_2_0= ruleCollectionLiteralPartCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5896:3: lv_ownedParts_2_0= ruleCollectionLiteralPartCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6129:1: (lv_ownedParts_2_0= ruleCollectionLiteralPartCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6130:3: lv_ownedParts_2_0= ruleCollectionLiteralPartCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedPartsCollectionLiteralPartCSParserRuleCall_2_0_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleCollectionLiteralPartCS_in_ruleCollectionLiteralExpCS13379);
+                    pushFollow(FollowSets000.FOLLOW_ruleCollectionLiteralPartCS_in_ruleCollectionLiteralExpCS14785);
                     lv_ownedParts_2_0=ruleCollectionLiteralPartCS();
 
                     state._fsp--;
@@ -17539,39 +18734,39 @@
 
                     }
 
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5912:2: (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )*
-                    loop148:
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6146:2: (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )*
+                    loop186:
                     do {
-                        int alt148=2;
-                        int LA148_0 = input.LA(1);
+                        int alt186=2;
+                        int LA186_0 = input.LA(1);
 
-                        if ( (LA148_0==60) ) {
-                            alt148=1;
+                        if ( (LA186_0==60) ) {
+                            alt186=1;
                         }
 
 
-                        switch (alt148) {
+                        switch (alt186) {
                     	case 1 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5912:4: otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6146:4: otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) )
                     	    {
-                    	    otherlv_3=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleCollectionLiteralExpCS13392); if (state.failed) return current;
+                    	    otherlv_3=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleCollectionLiteralExpCS14798); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
                     	          	newLeafNode(otherlv_3, grammarAccess.getCollectionLiteralExpCSAccess().getCommaKeyword_2_1_0());
                     	          
                     	    }
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5916:1: ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5917:1: (lv_ownedParts_4_0= ruleCollectionLiteralPartCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6150:1: ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6151:1: (lv_ownedParts_4_0= ruleCollectionLiteralPartCS )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5917:1: (lv_ownedParts_4_0= ruleCollectionLiteralPartCS )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5918:3: lv_ownedParts_4_0= ruleCollectionLiteralPartCS
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6151:1: (lv_ownedParts_4_0= ruleCollectionLiteralPartCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6152:3: lv_ownedParts_4_0= ruleCollectionLiteralPartCS
                     	    {
                     	    if ( state.backtracking==0 ) {
                     	       
                     	      	        newCompositeNode(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedPartsCollectionLiteralPartCSParserRuleCall_2_1_1_0()); 
                     	      	    
                     	    }
-                    	    pushFollow(FollowSets000.FOLLOW_ruleCollectionLiteralPartCS_in_ruleCollectionLiteralExpCS13413);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleCollectionLiteralPartCS_in_ruleCollectionLiteralExpCS14819);
                     	    lv_ownedParts_4_0=ruleCollectionLiteralPartCS();
 
                     	    state._fsp--;
@@ -17600,7 +18795,7 @@
                     	    break;
 
                     	default :
-                    	    break loop148;
+                    	    break loop186;
                         }
                     } while (true);
 
@@ -17610,7 +18805,7 @@
 
             }
 
-            otherlv_5=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleCollectionLiteralExpCS13429); if (state.failed) return current;
+            otherlv_5=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleCollectionLiteralExpCS14835); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_5, grammarAccess.getCollectionLiteralExpCSAccess().getRightCurlyBracketKeyword_3());
@@ -17639,7 +18834,7 @@
 
 
     // $ANTLR start "entryRuleCollectionLiteralPartCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5946:1: entryRuleCollectionLiteralPartCS returns [EObject current=null] : iv_ruleCollectionLiteralPartCS= ruleCollectionLiteralPartCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6180:1: entryRuleCollectionLiteralPartCS returns [EObject current=null] : iv_ruleCollectionLiteralPartCS= ruleCollectionLiteralPartCS EOF ;
     public final EObject entryRuleCollectionLiteralPartCS() throws RecognitionException {
         EObject current = null;
 
@@ -17647,13 +18842,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5947:2: (iv_ruleCollectionLiteralPartCS= ruleCollectionLiteralPartCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5948:2: iv_ruleCollectionLiteralPartCS= ruleCollectionLiteralPartCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6181:2: (iv_ruleCollectionLiteralPartCS= ruleCollectionLiteralPartCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6182:2: iv_ruleCollectionLiteralPartCS= ruleCollectionLiteralPartCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getCollectionLiteralPartCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleCollectionLiteralPartCS_in_entryRuleCollectionLiteralPartCS13465);
+            pushFollow(FollowSets000.FOLLOW_ruleCollectionLiteralPartCS_in_entryRuleCollectionLiteralPartCS14871);
             iv_ruleCollectionLiteralPartCS=ruleCollectionLiteralPartCS();
 
             state._fsp--;
@@ -17661,7 +18856,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleCollectionLiteralPartCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCollectionLiteralPartCS13475); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCollectionLiteralPartCS14881); if (state.failed) return current;
 
             }
 
@@ -17679,7 +18874,7 @@
 
 
     // $ANTLR start "ruleCollectionLiteralPartCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5955:1: ruleCollectionLiteralPartCS returns [EObject current=null] : ( ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )? ) | ( (lv_ownedExpression_3_0= rulePatternExpCS ) ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6189:1: ruleCollectionLiteralPartCS returns [EObject current=null] : ( ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )? ) | ( (lv_ownedExpression_3_0= rulePatternExpCS ) ) ) ;
     public final EObject ruleCollectionLiteralPartCS() throws RecognitionException {
         EObject current = null;
 
@@ -17694,31 +18889,31 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5958:28: ( ( ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )? ) | ( (lv_ownedExpression_3_0= rulePatternExpCS ) ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5959:1: ( ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )? ) | ( (lv_ownedExpression_3_0= rulePatternExpCS ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6192:28: ( ( ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )? ) | ( (lv_ownedExpression_3_0= rulePatternExpCS ) ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6193:1: ( ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )? ) | ( (lv_ownedExpression_3_0= rulePatternExpCS ) ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5959:1: ( ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )? ) | ( (lv_ownedExpression_3_0= rulePatternExpCS ) ) )
-            int alt151=2;
-            alt151 = dfa151.predict(input);
-            switch (alt151) {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6193:1: ( ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )? ) | ( (lv_ownedExpression_3_0= rulePatternExpCS ) ) )
+            int alt189=2;
+            alt189 = dfa189.predict(input);
+            switch (alt189) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5959:2: ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )? )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6193:2: ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )? )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5959:2: ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )? )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5959:3: ( (lv_ownedExpression_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )?
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6193:2: ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )? )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6193:3: ( (lv_ownedExpression_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )?
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5959:3: ( (lv_ownedExpression_0_0= ruleExpCS ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5960:1: (lv_ownedExpression_0_0= ruleExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6193:3: ( (lv_ownedExpression_0_0= ruleExpCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6194:1: (lv_ownedExpression_0_0= ruleExpCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5960:1: (lv_ownedExpression_0_0= ruleExpCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5961:3: lv_ownedExpression_0_0= ruleExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6194:1: (lv_ownedExpression_0_0= ruleExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6195:3: lv_ownedExpression_0_0= ruleExpCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getCollectionLiteralPartCSAccess().getOwnedExpressionExpCSParserRuleCall_0_0_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleCollectionLiteralPartCS13522);
+                    pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleCollectionLiteralPartCS14928);
                     lv_ownedExpression_0_0=ruleExpCS();
 
                     state._fsp--;
@@ -17742,35 +18937,35 @@
 
                     }
 
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5977:2: (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )?
-                    int alt150=2;
-                    int LA150_0 = input.LA(1);
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6211:2: (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )?
+                    int alt188=2;
+                    int LA188_0 = input.LA(1);
 
-                    if ( (LA150_0==113) ) {
-                        alt150=1;
+                    if ( (LA188_0==113) ) {
+                        alt188=1;
                     }
-                    switch (alt150) {
+                    switch (alt188) {
                         case 1 :
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5977:4: otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6211:4: otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) )
                             {
-                            otherlv_1=(Token)match(input,113,FollowSets000.FOLLOW_113_in_ruleCollectionLiteralPartCS13535); if (state.failed) return current;
+                            otherlv_1=(Token)match(input,113,FollowSets000.FOLLOW_113_in_ruleCollectionLiteralPartCS14941); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
 
                                   	newLeafNode(otherlv_1, grammarAccess.getCollectionLiteralPartCSAccess().getFullStopFullStopKeyword_0_1_0());
                                   
                             }
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5981:1: ( (lv_ownedLastExpression_2_0= ruleExpCS ) )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5982:1: (lv_ownedLastExpression_2_0= ruleExpCS )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6215:1: ( (lv_ownedLastExpression_2_0= ruleExpCS ) )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6216:1: (lv_ownedLastExpression_2_0= ruleExpCS )
                             {
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5982:1: (lv_ownedLastExpression_2_0= ruleExpCS )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5983:3: lv_ownedLastExpression_2_0= ruleExpCS
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6216:1: (lv_ownedLastExpression_2_0= ruleExpCS )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6217:3: lv_ownedLastExpression_2_0= ruleExpCS
                             {
                             if ( state.backtracking==0 ) {
                                
                               	        newCompositeNode(grammarAccess.getCollectionLiteralPartCSAccess().getOwnedLastExpressionExpCSParserRuleCall_0_1_1_0()); 
                               	    
                             }
-                            pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleCollectionLiteralPartCS13556);
+                            pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleCollectionLiteralPartCS14962);
                             lv_ownedLastExpression_2_0=ruleExpCS();
 
                             state._fsp--;
@@ -17807,20 +19002,20 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6000:6: ( (lv_ownedExpression_3_0= rulePatternExpCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6234:6: ( (lv_ownedExpression_3_0= rulePatternExpCS ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6000:6: ( (lv_ownedExpression_3_0= rulePatternExpCS ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6001:1: (lv_ownedExpression_3_0= rulePatternExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6234:6: ( (lv_ownedExpression_3_0= rulePatternExpCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6235:1: (lv_ownedExpression_3_0= rulePatternExpCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6001:1: (lv_ownedExpression_3_0= rulePatternExpCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6002:3: lv_ownedExpression_3_0= rulePatternExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6235:1: (lv_ownedExpression_3_0= rulePatternExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6236:3: lv_ownedExpression_3_0= rulePatternExpCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getCollectionLiteralPartCSAccess().getOwnedExpressionPatternExpCSParserRuleCall_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_rulePatternExpCS_in_ruleCollectionLiteralPartCS13586);
+                    pushFollow(FollowSets000.FOLLOW_rulePatternExpCS_in_ruleCollectionLiteralPartCS14992);
                     lv_ownedExpression_3_0=rulePatternExpCS();
 
                     state._fsp--;
@@ -17870,7 +19065,7 @@
 
 
     // $ANTLR start "entryRuleCollectionPatternCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6026:1: entryRuleCollectionPatternCS returns [EObject current=null] : iv_ruleCollectionPatternCS= ruleCollectionPatternCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6260:1: entryRuleCollectionPatternCS returns [EObject current=null] : iv_ruleCollectionPatternCS= ruleCollectionPatternCS EOF ;
     public final EObject entryRuleCollectionPatternCS() throws RecognitionException {
         EObject current = null;
 
@@ -17878,13 +19073,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6027:2: (iv_ruleCollectionPatternCS= ruleCollectionPatternCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6028:2: iv_ruleCollectionPatternCS= ruleCollectionPatternCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6261:2: (iv_ruleCollectionPatternCS= ruleCollectionPatternCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6262:2: iv_ruleCollectionPatternCS= ruleCollectionPatternCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getCollectionPatternCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleCollectionPatternCS_in_entryRuleCollectionPatternCS13622);
+            pushFollow(FollowSets000.FOLLOW_ruleCollectionPatternCS_in_entryRuleCollectionPatternCS15028);
             iv_ruleCollectionPatternCS=ruleCollectionPatternCS();
 
             state._fsp--;
@@ -17892,7 +19087,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleCollectionPatternCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCollectionPatternCS13632); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCollectionPatternCS15038); if (state.failed) return current;
 
             }
 
@@ -17910,7 +19105,7 @@
 
 
     // $ANTLR start "ruleCollectionPatternCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6035:1: ruleCollectionPatternCS returns [EObject current=null] : ( ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= rulePatternExpCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) ) )* (otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) ) ) )? otherlv_7= '}' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6269:1: ruleCollectionPatternCS returns [EObject current=null] : ( ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= rulePatternExpCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) ) )* (otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) ) ) )? otherlv_7= '}' ) ;
     public final EObject ruleCollectionPatternCS() throws RecognitionException {
         EObject current = null;
 
@@ -17930,24 +19125,24 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6038:28: ( ( ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= rulePatternExpCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) ) )* (otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) ) ) )? otherlv_7= '}' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6039:1: ( ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= rulePatternExpCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) ) )* (otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) ) ) )? otherlv_7= '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6272:28: ( ( ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= rulePatternExpCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) ) )* (otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) ) ) )? otherlv_7= '}' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6273:1: ( ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= rulePatternExpCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) ) )* (otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) ) ) )? otherlv_7= '}' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6039:1: ( ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= rulePatternExpCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) ) )* (otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) ) ) )? otherlv_7= '}' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6039:2: ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= rulePatternExpCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) ) )* (otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) ) ) )? otherlv_7= '}'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6273:1: ( ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= rulePatternExpCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) ) )* (otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) ) ) )? otherlv_7= '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6273:2: ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= rulePatternExpCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) ) )* (otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) ) ) )? otherlv_7= '}'
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6039:2: ( (lv_ownedType_0_0= ruleCollectionTypeCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6040:1: (lv_ownedType_0_0= ruleCollectionTypeCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6273:2: ( (lv_ownedType_0_0= ruleCollectionTypeCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6274:1: (lv_ownedType_0_0= ruleCollectionTypeCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6040:1: (lv_ownedType_0_0= ruleCollectionTypeCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6041:3: lv_ownedType_0_0= ruleCollectionTypeCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6274:1: (lv_ownedType_0_0= ruleCollectionTypeCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6275:3: lv_ownedType_0_0= ruleCollectionTypeCS
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getCollectionPatternCSAccess().getOwnedTypeCollectionTypeCSParserRuleCall_0_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleCollectionTypeCS_in_ruleCollectionPatternCS13678);
+            pushFollow(FollowSets000.FOLLOW_ruleCollectionTypeCS_in_ruleCollectionPatternCS15084);
             lv_ownedType_0_0=ruleCollectionTypeCS();
 
             state._fsp--;
@@ -17971,35 +19166,35 @@
 
             }
 
-            otherlv_1=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleCollectionPatternCS13690); if (state.failed) return current;
+            otherlv_1=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleCollectionPatternCS15096); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_1, grammarAccess.getCollectionPatternCSAccess().getLeftCurlyBracketKeyword_1());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6061:1: ( ( (lv_ownedParts_2_0= rulePatternExpCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) ) )* (otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) ) ) )?
-            int alt153=2;
-            int LA153_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6295:1: ( ( (lv_ownedParts_2_0= rulePatternExpCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) ) )* (otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) ) ) )?
+            int alt191=2;
+            int LA191_0 = input.LA(1);
 
-            if ( ((LA153_0>=RULE_SIMPLE_ID && LA153_0<=RULE_ESCAPED_ID)||LA153_0==17||(LA153_0>=19 && LA153_0<=54)||LA153_0==57||LA153_0==59||LA153_0==72||(LA153_0>=74 && LA153_0<=75)||LA153_0==80) ) {
-                alt153=1;
+            if ( ((LA191_0>=RULE_SIMPLE_ID && LA191_0<=RULE_ESCAPED_ID)||LA191_0==17||(LA191_0>=19 && LA191_0<=54)||LA191_0==57||LA191_0==59||LA191_0==72||(LA191_0>=74 && LA191_0<=75)||LA191_0==80) ) {
+                alt191=1;
             }
-            switch (alt153) {
+            switch (alt191) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6061:2: ( (lv_ownedParts_2_0= rulePatternExpCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) ) )* (otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6295:2: ( (lv_ownedParts_2_0= rulePatternExpCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) ) )* (otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6061:2: ( (lv_ownedParts_2_0= rulePatternExpCS ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6062:1: (lv_ownedParts_2_0= rulePatternExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6295:2: ( (lv_ownedParts_2_0= rulePatternExpCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6296:1: (lv_ownedParts_2_0= rulePatternExpCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6062:1: (lv_ownedParts_2_0= rulePatternExpCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6063:3: lv_ownedParts_2_0= rulePatternExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6296:1: (lv_ownedParts_2_0= rulePatternExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6297:3: lv_ownedParts_2_0= rulePatternExpCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getCollectionPatternCSAccess().getOwnedPartsPatternExpCSParserRuleCall_2_0_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_rulePatternExpCS_in_ruleCollectionPatternCS13712);
+                    pushFollow(FollowSets000.FOLLOW_rulePatternExpCS_in_ruleCollectionPatternCS15118);
                     lv_ownedParts_2_0=rulePatternExpCS();
 
                     state._fsp--;
@@ -18023,39 +19218,39 @@
 
                     }
 
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6079:2: (otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) ) )*
-                    loop152:
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6313:2: (otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) ) )*
+                    loop190:
                     do {
-                        int alt152=2;
-                        int LA152_0 = input.LA(1);
+                        int alt190=2;
+                        int LA190_0 = input.LA(1);
 
-                        if ( (LA152_0==60) ) {
-                            alt152=1;
+                        if ( (LA190_0==60) ) {
+                            alt190=1;
                         }
 
 
-                        switch (alt152) {
+                        switch (alt190) {
                     	case 1 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6079:4: otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6313:4: otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) )
                     	    {
-                    	    otherlv_3=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleCollectionPatternCS13725); if (state.failed) return current;
+                    	    otherlv_3=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleCollectionPatternCS15131); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
                     	          	newLeafNode(otherlv_3, grammarAccess.getCollectionPatternCSAccess().getCommaKeyword_2_1_0());
                     	          
                     	    }
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6083:1: ( (lv_ownedParts_4_0= rulePatternExpCS ) )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6084:1: (lv_ownedParts_4_0= rulePatternExpCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6317:1: ( (lv_ownedParts_4_0= rulePatternExpCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6318:1: (lv_ownedParts_4_0= rulePatternExpCS )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6084:1: (lv_ownedParts_4_0= rulePatternExpCS )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6085:3: lv_ownedParts_4_0= rulePatternExpCS
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6318:1: (lv_ownedParts_4_0= rulePatternExpCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6319:3: lv_ownedParts_4_0= rulePatternExpCS
                     	    {
                     	    if ( state.backtracking==0 ) {
                     	       
                     	      	        newCompositeNode(grammarAccess.getCollectionPatternCSAccess().getOwnedPartsPatternExpCSParserRuleCall_2_1_1_0()); 
                     	      	    
                     	    }
-                    	    pushFollow(FollowSets000.FOLLOW_rulePatternExpCS_in_ruleCollectionPatternCS13746);
+                    	    pushFollow(FollowSets000.FOLLOW_rulePatternExpCS_in_ruleCollectionPatternCS15152);
                     	    lv_ownedParts_4_0=rulePatternExpCS();
 
                     	    state._fsp--;
@@ -18084,31 +19279,31 @@
                     	    break;
 
                     	default :
-                    	    break loop152;
+                    	    break loop190;
                         }
                     } while (true);
 
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6101:4: (otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6101:6: otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6335:4: (otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6335:6: otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) )
                     {
-                    otherlv_5=(Token)match(input,114,FollowSets000.FOLLOW_114_in_ruleCollectionPatternCS13761); if (state.failed) return current;
+                    otherlv_5=(Token)match(input,114,FollowSets000.FOLLOW_114_in_ruleCollectionPatternCS15167); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_5, grammarAccess.getCollectionPatternCSAccess().getPlusSignPlusSignKeyword_2_2_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6105:1: ( (lv_restVariableName_6_0= ruleIdentifier ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6106:1: (lv_restVariableName_6_0= ruleIdentifier )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6339:1: ( (lv_restVariableName_6_0= ruleIdentifier ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6340:1: (lv_restVariableName_6_0= ruleIdentifier )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6106:1: (lv_restVariableName_6_0= ruleIdentifier )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6107:3: lv_restVariableName_6_0= ruleIdentifier
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6340:1: (lv_restVariableName_6_0= ruleIdentifier )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6341:3: lv_restVariableName_6_0= ruleIdentifier
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getCollectionPatternCSAccess().getRestVariableNameIdentifierParserRuleCall_2_2_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleIdentifier_in_ruleCollectionPatternCS13782);
+                    pushFollow(FollowSets000.FOLLOW_ruleIdentifier_in_ruleCollectionPatternCS15188);
                     lv_restVariableName_6_0=ruleIdentifier();
 
                     state._fsp--;
@@ -18141,7 +19336,7 @@
 
             }
 
-            otherlv_7=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleCollectionPatternCS13797); if (state.failed) return current;
+            otherlv_7=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleCollectionPatternCS15203); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_7, grammarAccess.getCollectionPatternCSAccess().getRightCurlyBracketKeyword_3());
@@ -18170,7 +19365,7 @@
 
 
     // $ANTLR start "entryRuleConstructorPartCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6135:1: entryRuleConstructorPartCS returns [EObject current=null] : iv_ruleConstructorPartCS= ruleConstructorPartCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6369:1: entryRuleConstructorPartCS returns [EObject current=null] : iv_ruleConstructorPartCS= ruleConstructorPartCS EOF ;
     public final EObject entryRuleConstructorPartCS() throws RecognitionException {
         EObject current = null;
 
@@ -18178,13 +19373,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6136:2: (iv_ruleConstructorPartCS= ruleConstructorPartCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6137:2: iv_ruleConstructorPartCS= ruleConstructorPartCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6370:2: (iv_ruleConstructorPartCS= ruleConstructorPartCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6371:2: iv_ruleConstructorPartCS= ruleConstructorPartCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getConstructorPartCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleConstructorPartCS_in_entryRuleConstructorPartCS13833);
+            pushFollow(FollowSets000.FOLLOW_ruleConstructorPartCS_in_entryRuleConstructorPartCS15239);
             iv_ruleConstructorPartCS=ruleConstructorPartCS();
 
             state._fsp--;
@@ -18192,7 +19387,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleConstructorPartCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleConstructorPartCS13843); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleConstructorPartCS15249); if (state.failed) return current;
 
             }
 
@@ -18210,7 +19405,7 @@
 
 
     // $ANTLR start "ruleConstructorPartCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6144:1: ruleConstructorPartCS returns [EObject current=null] : ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) ) ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6378:1: ruleConstructorPartCS returns [EObject current=null] : ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) ) ) ) ;
     public final EObject ruleConstructorPartCS() throws RecognitionException {
         EObject current = null;
 
@@ -18223,17 +19418,17 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6147:28: ( ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) ) ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6148:1: ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6381:28: ( ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) ) ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6382:1: ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) ) ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6148:1: ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6148:2: ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6382:1: ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6382:2: ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6148:2: ( ( ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6149:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6382:2: ( ( ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6383:1: ( ruleUnrestrictedName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6149:1: ( ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6150:3: ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6383:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6384:3: ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                
@@ -18252,7 +19447,7 @@
               	        newCompositeNode(grammarAccess.getConstructorPartCSAccess().getReferredPropertyPropertyCrossReference_0_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleConstructorPartCS13895);
+            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleConstructorPartCS15301);
             ruleUnrestrictedName();
 
             state._fsp--;
@@ -18268,31 +19463,31 @@
 
             }
 
-            otherlv_1=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleConstructorPartCS13907); if (state.failed) return current;
+            otherlv_1=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleConstructorPartCS15313); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_1, grammarAccess.getConstructorPartCSAccess().getEqualsSignKeyword_1());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6170:1: ( ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6171:1: ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6404:1: ( ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6405:1: ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6171:1: ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6172:1: (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6405:1: ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6406:1: (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6172:1: (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS )
-            int alt154=2;
-            alt154 = dfa154.predict(input);
-            switch (alt154) {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6406:1: (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS )
+            int alt192=2;
+            alt192 = dfa192.predict(input);
+            switch (alt192) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6173:3: lv_ownedInitExpression_2_1= ruleExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6407:3: lv_ownedInitExpression_2_1= ruleExpCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getConstructorPartCSAccess().getOwnedInitExpressionExpCSParserRuleCall_2_0_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleConstructorPartCS13930);
+                    pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleConstructorPartCS15336);
                     lv_ownedInitExpression_2_1=ruleExpCS();
 
                     state._fsp--;
@@ -18314,14 +19509,14 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6188:8: lv_ownedInitExpression_2_2= rulePatternExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6422:8: lv_ownedInitExpression_2_2= rulePatternExpCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getConstructorPartCSAccess().getOwnedInitExpressionPatternExpCSParserRuleCall_2_0_1()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_rulePatternExpCS_in_ruleConstructorPartCS13949);
+                    pushFollow(FollowSets000.FOLLOW_rulePatternExpCS_in_ruleConstructorPartCS15355);
                     lv_ownedInitExpression_2_2=rulePatternExpCS();
 
                     state._fsp--;
@@ -18374,7 +19569,7 @@
 
 
     // $ANTLR start "entryRulePatternExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6214:1: entryRulePatternExpCS returns [EObject current=null] : iv_rulePatternExpCS= rulePatternExpCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6448:1: entryRulePatternExpCS returns [EObject current=null] : iv_rulePatternExpCS= rulePatternExpCS EOF ;
     public final EObject entryRulePatternExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -18382,13 +19577,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6215:2: (iv_rulePatternExpCS= rulePatternExpCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6216:2: iv_rulePatternExpCS= rulePatternExpCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6449:2: (iv_rulePatternExpCS= rulePatternExpCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6450:2: iv_rulePatternExpCS= rulePatternExpCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getPatternExpCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_rulePatternExpCS_in_entryRulePatternExpCS13988);
+            pushFollow(FollowSets000.FOLLOW_rulePatternExpCS_in_entryRulePatternExpCS15394);
             iv_rulePatternExpCS=rulePatternExpCS();
 
             state._fsp--;
@@ -18396,7 +19591,7 @@
             if ( state.backtracking==0 ) {
                current =iv_rulePatternExpCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePatternExpCS13998); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePatternExpCS15404); if (state.failed) return current;
 
             }
 
@@ -18414,7 +19609,7 @@
 
 
     // $ANTLR start "rulePatternExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6223:1: rulePatternExpCS returns [EObject current=null] : ( ( (lv_patternVariableName_0_0= ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_ownedPatternType_2_0= ruleTypeExpCS ) ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6457:1: rulePatternExpCS returns [EObject current=null] : ( ( (lv_patternVariableName_0_0= ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_ownedPatternType_2_0= ruleTypeExpCS ) ) ) ;
     public final EObject rulePatternExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -18427,32 +19622,32 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6226:28: ( ( ( (lv_patternVariableName_0_0= ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_ownedPatternType_2_0= ruleTypeExpCS ) ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6227:1: ( ( (lv_patternVariableName_0_0= ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_ownedPatternType_2_0= ruleTypeExpCS ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6460:28: ( ( ( (lv_patternVariableName_0_0= ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_ownedPatternType_2_0= ruleTypeExpCS ) ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6461:1: ( ( (lv_patternVariableName_0_0= ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_ownedPatternType_2_0= ruleTypeExpCS ) ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6227:1: ( ( (lv_patternVariableName_0_0= ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_ownedPatternType_2_0= ruleTypeExpCS ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6227:2: ( (lv_patternVariableName_0_0= ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_ownedPatternType_2_0= ruleTypeExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6461:1: ( ( (lv_patternVariableName_0_0= ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_ownedPatternType_2_0= ruleTypeExpCS ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6461:2: ( (lv_patternVariableName_0_0= ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_ownedPatternType_2_0= ruleTypeExpCS ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6227:2: ( (lv_patternVariableName_0_0= ruleUnrestrictedName ) )?
-            int alt155=2;
-            int LA155_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6461:2: ( (lv_patternVariableName_0_0= ruleUnrestrictedName ) )?
+            int alt193=2;
+            int LA193_0 = input.LA(1);
 
-            if ( ((LA155_0>=RULE_SIMPLE_ID && LA155_0<=RULE_ESCAPED_ID)||LA155_0==17||(LA155_0>=19 && LA155_0<=54)||LA155_0==59||LA155_0==72||(LA155_0>=74 && LA155_0<=75)||LA155_0==80) ) {
-                alt155=1;
+            if ( ((LA193_0>=RULE_SIMPLE_ID && LA193_0<=RULE_ESCAPED_ID)||LA193_0==17||(LA193_0>=19 && LA193_0<=54)||LA193_0==59||LA193_0==72||(LA193_0>=74 && LA193_0<=75)||LA193_0==80) ) {
+                alt193=1;
             }
-            switch (alt155) {
+            switch (alt193) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6228:1: (lv_patternVariableName_0_0= ruleUnrestrictedName )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6462:1: (lv_patternVariableName_0_0= ruleUnrestrictedName )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6228:1: (lv_patternVariableName_0_0= ruleUnrestrictedName )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6229:3: lv_patternVariableName_0_0= ruleUnrestrictedName
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6462:1: (lv_patternVariableName_0_0= ruleUnrestrictedName )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6463:3: lv_patternVariableName_0_0= ruleUnrestrictedName
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getPatternExpCSAccess().getPatternVariableNameUnrestrictedNameParserRuleCall_0_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_rulePatternExpCS14044);
+                    pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_rulePatternExpCS15450);
                     lv_patternVariableName_0_0=ruleUnrestrictedName();
 
                     state._fsp--;
@@ -18479,24 +19674,24 @@
 
             }
 
-            otherlv_1=(Token)match(input,57,FollowSets000.FOLLOW_57_in_rulePatternExpCS14057); if (state.failed) return current;
+            otherlv_1=(Token)match(input,57,FollowSets000.FOLLOW_57_in_rulePatternExpCS15463); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_1, grammarAccess.getPatternExpCSAccess().getColonKeyword_1());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6249:1: ( (lv_ownedPatternType_2_0= ruleTypeExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6250:1: (lv_ownedPatternType_2_0= ruleTypeExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6483:1: ( (lv_ownedPatternType_2_0= ruleTypeExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6484:1: (lv_ownedPatternType_2_0= ruleTypeExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6250:1: (lv_ownedPatternType_2_0= ruleTypeExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6251:3: lv_ownedPatternType_2_0= ruleTypeExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6484:1: (lv_ownedPatternType_2_0= ruleTypeExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6485:3: lv_ownedPatternType_2_0= ruleTypeExpCS
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getPatternExpCSAccess().getOwnedPatternTypeTypeExpCSParserRuleCall_2_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_rulePatternExpCS14078);
+            pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_rulePatternExpCS15484);
             lv_ownedPatternType_2_0=ruleTypeExpCS();
 
             state._fsp--;
@@ -18543,7 +19738,7 @@
 
 
     // $ANTLR start "entryRuleLambdaLiteralExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6275:1: entryRuleLambdaLiteralExpCS returns [EObject current=null] : iv_ruleLambdaLiteralExpCS= ruleLambdaLiteralExpCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6509:1: entryRuleLambdaLiteralExpCS returns [EObject current=null] : iv_ruleLambdaLiteralExpCS= ruleLambdaLiteralExpCS EOF ;
     public final EObject entryRuleLambdaLiteralExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -18551,13 +19746,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6276:2: (iv_ruleLambdaLiteralExpCS= ruleLambdaLiteralExpCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6277:2: iv_ruleLambdaLiteralExpCS= ruleLambdaLiteralExpCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6510:2: (iv_ruleLambdaLiteralExpCS= ruleLambdaLiteralExpCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6511:2: iv_ruleLambdaLiteralExpCS= ruleLambdaLiteralExpCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getLambdaLiteralExpCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleLambdaLiteralExpCS_in_entryRuleLambdaLiteralExpCS14114);
+            pushFollow(FollowSets000.FOLLOW_ruleLambdaLiteralExpCS_in_entryRuleLambdaLiteralExpCS15520);
             iv_ruleLambdaLiteralExpCS=ruleLambdaLiteralExpCS();
 
             state._fsp--;
@@ -18565,7 +19760,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleLambdaLiteralExpCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLambdaLiteralExpCS14124); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLambdaLiteralExpCS15530); if (state.failed) return current;
 
             }
 
@@ -18583,7 +19778,7 @@
 
 
     // $ANTLR start "ruleLambdaLiteralExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6284:1: ruleLambdaLiteralExpCS returns [EObject current=null] : (otherlv_0= 'Lambda' otherlv_1= '{' ( (lv_ownedExpressionCS_2_0= ruleExpCS ) ) otherlv_3= '}' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6518:1: ruleLambdaLiteralExpCS returns [EObject current=null] : (otherlv_0= 'Lambda' otherlv_1= '{' ( (lv_ownedExpressionCS_2_0= ruleExpCS ) ) otherlv_3= '}' ) ;
     public final EObject ruleLambdaLiteralExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -18596,36 +19791,36 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6287:28: ( (otherlv_0= 'Lambda' otherlv_1= '{' ( (lv_ownedExpressionCS_2_0= ruleExpCS ) ) otherlv_3= '}' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6288:1: (otherlv_0= 'Lambda' otherlv_1= '{' ( (lv_ownedExpressionCS_2_0= ruleExpCS ) ) otherlv_3= '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6521:28: ( (otherlv_0= 'Lambda' otherlv_1= '{' ( (lv_ownedExpressionCS_2_0= ruleExpCS ) ) otherlv_3= '}' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6522:1: (otherlv_0= 'Lambda' otherlv_1= '{' ( (lv_ownedExpressionCS_2_0= ruleExpCS ) ) otherlv_3= '}' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6288:1: (otherlv_0= 'Lambda' otherlv_1= '{' ( (lv_ownedExpressionCS_2_0= ruleExpCS ) ) otherlv_3= '}' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6288:3: otherlv_0= 'Lambda' otherlv_1= '{' ( (lv_ownedExpressionCS_2_0= ruleExpCS ) ) otherlv_3= '}'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6522:1: (otherlv_0= 'Lambda' otherlv_1= '{' ( (lv_ownedExpressionCS_2_0= ruleExpCS ) ) otherlv_3= '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6522:3: otherlv_0= 'Lambda' otherlv_1= '{' ( (lv_ownedExpressionCS_2_0= ruleExpCS ) ) otherlv_3= '}'
             {
-            otherlv_0=(Token)match(input,115,FollowSets000.FOLLOW_115_in_ruleLambdaLiteralExpCS14161); if (state.failed) return current;
+            otherlv_0=(Token)match(input,115,FollowSets000.FOLLOW_115_in_ruleLambdaLiteralExpCS15567); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_0, grammarAccess.getLambdaLiteralExpCSAccess().getLambdaKeyword_0());
                   
             }
-            otherlv_1=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleLambdaLiteralExpCS14173); if (state.failed) return current;
+            otherlv_1=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleLambdaLiteralExpCS15579); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_1, grammarAccess.getLambdaLiteralExpCSAccess().getLeftCurlyBracketKeyword_1());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6296:1: ( (lv_ownedExpressionCS_2_0= ruleExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6297:1: (lv_ownedExpressionCS_2_0= ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6530:1: ( (lv_ownedExpressionCS_2_0= ruleExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6531:1: (lv_ownedExpressionCS_2_0= ruleExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6297:1: (lv_ownedExpressionCS_2_0= ruleExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6298:3: lv_ownedExpressionCS_2_0= ruleExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6531:1: (lv_ownedExpressionCS_2_0= ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6532:3: lv_ownedExpressionCS_2_0= ruleExpCS
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getLambdaLiteralExpCSAccess().getOwnedExpressionCSExpCSParserRuleCall_2_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleLambdaLiteralExpCS14194);
+            pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleLambdaLiteralExpCS15600);
             lv_ownedExpressionCS_2_0=ruleExpCS();
 
             state._fsp--;
@@ -18649,7 +19844,7 @@
 
             }
 
-            otherlv_3=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleLambdaLiteralExpCS14206); if (state.failed) return current;
+            otherlv_3=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleLambdaLiteralExpCS15612); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_3, grammarAccess.getLambdaLiteralExpCSAccess().getRightCurlyBracketKeyword_3());
@@ -18678,7 +19873,7 @@
 
 
     // $ANTLR start "entryRulePrimitiveLiteralExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6326:1: entryRulePrimitiveLiteralExpCS returns [EObject current=null] : iv_rulePrimitiveLiteralExpCS= rulePrimitiveLiteralExpCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6560:1: entryRulePrimitiveLiteralExpCS returns [EObject current=null] : iv_rulePrimitiveLiteralExpCS= rulePrimitiveLiteralExpCS EOF ;
     public final EObject entryRulePrimitiveLiteralExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -18686,13 +19881,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6327:2: (iv_rulePrimitiveLiteralExpCS= rulePrimitiveLiteralExpCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6328:2: iv_rulePrimitiveLiteralExpCS= rulePrimitiveLiteralExpCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6561:2: (iv_rulePrimitiveLiteralExpCS= rulePrimitiveLiteralExpCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6562:2: iv_rulePrimitiveLiteralExpCS= rulePrimitiveLiteralExpCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_rulePrimitiveLiteralExpCS_in_entryRulePrimitiveLiteralExpCS14242);
+            pushFollow(FollowSets000.FOLLOW_rulePrimitiveLiteralExpCS_in_entryRulePrimitiveLiteralExpCS15648);
             iv_rulePrimitiveLiteralExpCS=rulePrimitiveLiteralExpCS();
 
             state._fsp--;
@@ -18700,7 +19895,7 @@
             if ( state.backtracking==0 ) {
                current =iv_rulePrimitiveLiteralExpCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrimitiveLiteralExpCS14252); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrimitiveLiteralExpCS15658); if (state.failed) return current;
 
             }
 
@@ -18718,7 +19913,7 @@
 
 
     // $ANTLR start "rulePrimitiveLiteralExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6335:1: rulePrimitiveLiteralExpCS returns [EObject current=null] : (this_NumberLiteralExpCS_0= ruleNumberLiteralExpCS | this_StringLiteralExpCS_1= ruleStringLiteralExpCS | this_BooleanLiteralExpCS_2= ruleBooleanLiteralExpCS | this_UnlimitedNaturalLiteralExpCS_3= ruleUnlimitedNaturalLiteralExpCS | this_InvalidLiteralExpCS_4= ruleInvalidLiteralExpCS | this_NullLiteralExpCS_5= ruleNullLiteralExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6569:1: rulePrimitiveLiteralExpCS returns [EObject current=null] : (this_NumberLiteralExpCS_0= ruleNumberLiteralExpCS | this_StringLiteralExpCS_1= ruleStringLiteralExpCS | this_BooleanLiteralExpCS_2= ruleBooleanLiteralExpCS | this_UnlimitedNaturalLiteralExpCS_3= ruleUnlimitedNaturalLiteralExpCS | this_InvalidLiteralExpCS_4= ruleInvalidLiteralExpCS | this_NullLiteralExpCS_5= ruleNullLiteralExpCS ) ;
     public final EObject rulePrimitiveLiteralExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -18738,54 +19933,54 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6338:28: ( (this_NumberLiteralExpCS_0= ruleNumberLiteralExpCS | this_StringLiteralExpCS_1= ruleStringLiteralExpCS | this_BooleanLiteralExpCS_2= ruleBooleanLiteralExpCS | this_UnlimitedNaturalLiteralExpCS_3= ruleUnlimitedNaturalLiteralExpCS | this_InvalidLiteralExpCS_4= ruleInvalidLiteralExpCS | this_NullLiteralExpCS_5= ruleNullLiteralExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6339:1: (this_NumberLiteralExpCS_0= ruleNumberLiteralExpCS | this_StringLiteralExpCS_1= ruleStringLiteralExpCS | this_BooleanLiteralExpCS_2= ruleBooleanLiteralExpCS | this_UnlimitedNaturalLiteralExpCS_3= ruleUnlimitedNaturalLiteralExpCS | this_InvalidLiteralExpCS_4= ruleInvalidLiteralExpCS | this_NullLiteralExpCS_5= ruleNullLiteralExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6572:28: ( (this_NumberLiteralExpCS_0= ruleNumberLiteralExpCS | this_StringLiteralExpCS_1= ruleStringLiteralExpCS | this_BooleanLiteralExpCS_2= ruleBooleanLiteralExpCS | this_UnlimitedNaturalLiteralExpCS_3= ruleUnlimitedNaturalLiteralExpCS | this_InvalidLiteralExpCS_4= ruleInvalidLiteralExpCS | this_NullLiteralExpCS_5= ruleNullLiteralExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6573:1: (this_NumberLiteralExpCS_0= ruleNumberLiteralExpCS | this_StringLiteralExpCS_1= ruleStringLiteralExpCS | this_BooleanLiteralExpCS_2= ruleBooleanLiteralExpCS | this_UnlimitedNaturalLiteralExpCS_3= ruleUnlimitedNaturalLiteralExpCS | this_InvalidLiteralExpCS_4= ruleInvalidLiteralExpCS | this_NullLiteralExpCS_5= ruleNullLiteralExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6339:1: (this_NumberLiteralExpCS_0= ruleNumberLiteralExpCS | this_StringLiteralExpCS_1= ruleStringLiteralExpCS | this_BooleanLiteralExpCS_2= ruleBooleanLiteralExpCS | this_UnlimitedNaturalLiteralExpCS_3= ruleUnlimitedNaturalLiteralExpCS | this_InvalidLiteralExpCS_4= ruleInvalidLiteralExpCS | this_NullLiteralExpCS_5= ruleNullLiteralExpCS )
-            int alt156=6;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6573:1: (this_NumberLiteralExpCS_0= ruleNumberLiteralExpCS | this_StringLiteralExpCS_1= ruleStringLiteralExpCS | this_BooleanLiteralExpCS_2= ruleBooleanLiteralExpCS | this_UnlimitedNaturalLiteralExpCS_3= ruleUnlimitedNaturalLiteralExpCS | this_InvalidLiteralExpCS_4= ruleInvalidLiteralExpCS | this_NullLiteralExpCS_5= ruleNullLiteralExpCS )
+            int alt194=6;
             switch ( input.LA(1) ) {
             case RULE_INT:
                 {
-                alt156=1;
+                alt194=1;
                 }
                 break;
             case RULE_SINGLE_QUOTED_STRING:
                 {
-                alt156=2;
+                alt194=2;
                 }
                 break;
             case 116:
             case 117:
                 {
-                alt156=3;
+                alt194=3;
                 }
                 break;
             case 84:
                 {
-                alt156=4;
+                alt194=4;
                 }
                 break;
             case 118:
                 {
-                alt156=5;
+                alt194=5;
                 }
                 break;
             case 119:
                 {
-                alt156=6;
+                alt194=6;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 156, 0, input);
+                    new NoViableAltException("", 194, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt156) {
+            switch (alt194) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6340:2: this_NumberLiteralExpCS_0= ruleNumberLiteralExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6574:2: this_NumberLiteralExpCS_0= ruleNumberLiteralExpCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -18797,7 +19992,7 @@
                               newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSAccess().getNumberLiteralExpCSParserRuleCall_0()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleNumberLiteralExpCS_in_rulePrimitiveLiteralExpCS14302);
+                    pushFollow(FollowSets000.FOLLOW_ruleNumberLiteralExpCS_in_rulePrimitiveLiteralExpCS15708);
                     this_NumberLiteralExpCS_0=ruleNumberLiteralExpCS();
 
                     state._fsp--;
@@ -18812,7 +20007,7 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6353:2: this_StringLiteralExpCS_1= ruleStringLiteralExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6587:2: this_StringLiteralExpCS_1= ruleStringLiteralExpCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -18824,7 +20019,7 @@
                               newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSAccess().getStringLiteralExpCSParserRuleCall_1()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleStringLiteralExpCS_in_rulePrimitiveLiteralExpCS14332);
+                    pushFollow(FollowSets000.FOLLOW_ruleStringLiteralExpCS_in_rulePrimitiveLiteralExpCS15738);
                     this_StringLiteralExpCS_1=ruleStringLiteralExpCS();
 
                     state._fsp--;
@@ -18839,7 +20034,7 @@
                     }
                     break;
                 case 3 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6366:2: this_BooleanLiteralExpCS_2= ruleBooleanLiteralExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6600:2: this_BooleanLiteralExpCS_2= ruleBooleanLiteralExpCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -18851,7 +20046,7 @@
                               newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSAccess().getBooleanLiteralExpCSParserRuleCall_2()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleBooleanLiteralExpCS_in_rulePrimitiveLiteralExpCS14362);
+                    pushFollow(FollowSets000.FOLLOW_ruleBooleanLiteralExpCS_in_rulePrimitiveLiteralExpCS15768);
                     this_BooleanLiteralExpCS_2=ruleBooleanLiteralExpCS();
 
                     state._fsp--;
@@ -18866,7 +20061,7 @@
                     }
                     break;
                 case 4 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6379:2: this_UnlimitedNaturalLiteralExpCS_3= ruleUnlimitedNaturalLiteralExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6613:2: this_UnlimitedNaturalLiteralExpCS_3= ruleUnlimitedNaturalLiteralExpCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -18878,7 +20073,7 @@
                               newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSAccess().getUnlimitedNaturalLiteralExpCSParserRuleCall_3()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleUnlimitedNaturalLiteralExpCS_in_rulePrimitiveLiteralExpCS14392);
+                    pushFollow(FollowSets000.FOLLOW_ruleUnlimitedNaturalLiteralExpCS_in_rulePrimitiveLiteralExpCS15798);
                     this_UnlimitedNaturalLiteralExpCS_3=ruleUnlimitedNaturalLiteralExpCS();
 
                     state._fsp--;
@@ -18893,7 +20088,7 @@
                     }
                     break;
                 case 5 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6392:2: this_InvalidLiteralExpCS_4= ruleInvalidLiteralExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6626:2: this_InvalidLiteralExpCS_4= ruleInvalidLiteralExpCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -18905,7 +20100,7 @@
                               newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSAccess().getInvalidLiteralExpCSParserRuleCall_4()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleInvalidLiteralExpCS_in_rulePrimitiveLiteralExpCS14422);
+                    pushFollow(FollowSets000.FOLLOW_ruleInvalidLiteralExpCS_in_rulePrimitiveLiteralExpCS15828);
                     this_InvalidLiteralExpCS_4=ruleInvalidLiteralExpCS();
 
                     state._fsp--;
@@ -18920,7 +20115,7 @@
                     }
                     break;
                 case 6 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6405:2: this_NullLiteralExpCS_5= ruleNullLiteralExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6639:2: this_NullLiteralExpCS_5= ruleNullLiteralExpCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -18932,7 +20127,7 @@
                               newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSAccess().getNullLiteralExpCSParserRuleCall_5()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleNullLiteralExpCS_in_rulePrimitiveLiteralExpCS14452);
+                    pushFollow(FollowSets000.FOLLOW_ruleNullLiteralExpCS_in_rulePrimitiveLiteralExpCS15858);
                     this_NullLiteralExpCS_5=ruleNullLiteralExpCS();
 
                     state._fsp--;
@@ -18969,7 +20164,7 @@
 
 
     // $ANTLR start "entryRuleTupleLiteralExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6424:1: entryRuleTupleLiteralExpCS returns [EObject current=null] : iv_ruleTupleLiteralExpCS= ruleTupleLiteralExpCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6658:1: entryRuleTupleLiteralExpCS returns [EObject current=null] : iv_ruleTupleLiteralExpCS= ruleTupleLiteralExpCS EOF ;
     public final EObject entryRuleTupleLiteralExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -18977,13 +20172,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6425:2: (iv_ruleTupleLiteralExpCS= ruleTupleLiteralExpCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6426:2: iv_ruleTupleLiteralExpCS= ruleTupleLiteralExpCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6659:2: (iv_ruleTupleLiteralExpCS= ruleTupleLiteralExpCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6660:2: iv_ruleTupleLiteralExpCS= ruleTupleLiteralExpCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTupleLiteralExpCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleTupleLiteralExpCS_in_entryRuleTupleLiteralExpCS14487);
+            pushFollow(FollowSets000.FOLLOW_ruleTupleLiteralExpCS_in_entryRuleTupleLiteralExpCS15893);
             iv_ruleTupleLiteralExpCS=ruleTupleLiteralExpCS();
 
             state._fsp--;
@@ -18991,7 +20186,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleTupleLiteralExpCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTupleLiteralExpCS14497); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTupleLiteralExpCS15903); if (state.failed) return current;
 
             }
 
@@ -19009,7 +20204,7 @@
 
 
     // $ANTLR start "ruleTupleLiteralExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6433:1: ruleTupleLiteralExpCS returns [EObject current=null] : (otherlv_0= 'Tuple' otherlv_1= '{' ( (lv_ownedParts_2_0= ruleTupleLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) ) )* otherlv_5= '}' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6667:1: ruleTupleLiteralExpCS returns [EObject current=null] : (otherlv_0= 'Tuple' otherlv_1= '{' ( (lv_ownedParts_2_0= ruleTupleLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) ) )* otherlv_5= '}' ) ;
     public final EObject ruleTupleLiteralExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -19025,36 +20220,36 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6436:28: ( (otherlv_0= 'Tuple' otherlv_1= '{' ( (lv_ownedParts_2_0= ruleTupleLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) ) )* otherlv_5= '}' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6437:1: (otherlv_0= 'Tuple' otherlv_1= '{' ( (lv_ownedParts_2_0= ruleTupleLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) ) )* otherlv_5= '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6670:28: ( (otherlv_0= 'Tuple' otherlv_1= '{' ( (lv_ownedParts_2_0= ruleTupleLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) ) )* otherlv_5= '}' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6671:1: (otherlv_0= 'Tuple' otherlv_1= '{' ( (lv_ownedParts_2_0= ruleTupleLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) ) )* otherlv_5= '}' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6437:1: (otherlv_0= 'Tuple' otherlv_1= '{' ( (lv_ownedParts_2_0= ruleTupleLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) ) )* otherlv_5= '}' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6437:3: otherlv_0= 'Tuple' otherlv_1= '{' ( (lv_ownedParts_2_0= ruleTupleLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) ) )* otherlv_5= '}'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6671:1: (otherlv_0= 'Tuple' otherlv_1= '{' ( (lv_ownedParts_2_0= ruleTupleLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) ) )* otherlv_5= '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6671:3: otherlv_0= 'Tuple' otherlv_1= '{' ( (lv_ownedParts_2_0= ruleTupleLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) ) )* otherlv_5= '}'
             {
-            otherlv_0=(Token)match(input,98,FollowSets000.FOLLOW_98_in_ruleTupleLiteralExpCS14534); if (state.failed) return current;
+            otherlv_0=(Token)match(input,98,FollowSets000.FOLLOW_98_in_ruleTupleLiteralExpCS15940); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_0, grammarAccess.getTupleLiteralExpCSAccess().getTupleKeyword_0());
                   
             }
-            otherlv_1=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleTupleLiteralExpCS14546); if (state.failed) return current;
+            otherlv_1=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleTupleLiteralExpCS15952); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_1, grammarAccess.getTupleLiteralExpCSAccess().getLeftCurlyBracketKeyword_1());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6445:1: ( (lv_ownedParts_2_0= ruleTupleLiteralPartCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6446:1: (lv_ownedParts_2_0= ruleTupleLiteralPartCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6679:1: ( (lv_ownedParts_2_0= ruleTupleLiteralPartCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6680:1: (lv_ownedParts_2_0= ruleTupleLiteralPartCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6446:1: (lv_ownedParts_2_0= ruleTupleLiteralPartCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6447:3: lv_ownedParts_2_0= ruleTupleLiteralPartCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6680:1: (lv_ownedParts_2_0= ruleTupleLiteralPartCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6681:3: lv_ownedParts_2_0= ruleTupleLiteralPartCS
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getTupleLiteralExpCSAccess().getOwnedPartsTupleLiteralPartCSParserRuleCall_2_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleTupleLiteralPartCS_in_ruleTupleLiteralExpCS14567);
+            pushFollow(FollowSets000.FOLLOW_ruleTupleLiteralPartCS_in_ruleTupleLiteralExpCS15973);
             lv_ownedParts_2_0=ruleTupleLiteralPartCS();
 
             state._fsp--;
@@ -19078,39 +20273,39 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6463:2: (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) ) )*
-            loop157:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6697:2: (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) ) )*
+            loop195:
             do {
-                int alt157=2;
-                int LA157_0 = input.LA(1);
+                int alt195=2;
+                int LA195_0 = input.LA(1);
 
-                if ( (LA157_0==60) ) {
-                    alt157=1;
+                if ( (LA195_0==60) ) {
+                    alt195=1;
                 }
 
 
-                switch (alt157) {
+                switch (alt195) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6463:4: otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6697:4: otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) )
             	    {
-            	    otherlv_3=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleTupleLiteralExpCS14580); if (state.failed) return current;
+            	    otherlv_3=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleTupleLiteralExpCS15986); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
             	          	newLeafNode(otherlv_3, grammarAccess.getTupleLiteralExpCSAccess().getCommaKeyword_3_0());
             	          
             	    }
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6467:1: ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) )
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6468:1: (lv_ownedParts_4_0= ruleTupleLiteralPartCS )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6701:1: ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6702:1: (lv_ownedParts_4_0= ruleTupleLiteralPartCS )
             	    {
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6468:1: (lv_ownedParts_4_0= ruleTupleLiteralPartCS )
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6469:3: lv_ownedParts_4_0= ruleTupleLiteralPartCS
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6702:1: (lv_ownedParts_4_0= ruleTupleLiteralPartCS )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6703:3: lv_ownedParts_4_0= ruleTupleLiteralPartCS
             	    {
             	    if ( state.backtracking==0 ) {
             	       
             	      	        newCompositeNode(grammarAccess.getTupleLiteralExpCSAccess().getOwnedPartsTupleLiteralPartCSParserRuleCall_3_1_0()); 
             	      	    
             	    }
-            	    pushFollow(FollowSets000.FOLLOW_ruleTupleLiteralPartCS_in_ruleTupleLiteralExpCS14601);
+            	    pushFollow(FollowSets000.FOLLOW_ruleTupleLiteralPartCS_in_ruleTupleLiteralExpCS16007);
             	    lv_ownedParts_4_0=ruleTupleLiteralPartCS();
 
             	    state._fsp--;
@@ -19139,11 +20334,11 @@
             	    break;
 
             	default :
-            	    break loop157;
+            	    break loop195;
                 }
             } while (true);
 
-            otherlv_5=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleTupleLiteralExpCS14615); if (state.failed) return current;
+            otherlv_5=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleTupleLiteralExpCS16021); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_5, grammarAccess.getTupleLiteralExpCSAccess().getRightCurlyBracketKeyword_4());
@@ -19172,7 +20367,7 @@
 
 
     // $ANTLR start "entryRuleTupleLiteralPartCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6497:1: entryRuleTupleLiteralPartCS returns [EObject current=null] : iv_ruleTupleLiteralPartCS= ruleTupleLiteralPartCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6731:1: entryRuleTupleLiteralPartCS returns [EObject current=null] : iv_ruleTupleLiteralPartCS= ruleTupleLiteralPartCS EOF ;
     public final EObject entryRuleTupleLiteralPartCS() throws RecognitionException {
         EObject current = null;
 
@@ -19180,13 +20375,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6498:2: (iv_ruleTupleLiteralPartCS= ruleTupleLiteralPartCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6499:2: iv_ruleTupleLiteralPartCS= ruleTupleLiteralPartCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6732:2: (iv_ruleTupleLiteralPartCS= ruleTupleLiteralPartCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6733:2: iv_ruleTupleLiteralPartCS= ruleTupleLiteralPartCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTupleLiteralPartCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleTupleLiteralPartCS_in_entryRuleTupleLiteralPartCS14651);
+            pushFollow(FollowSets000.FOLLOW_ruleTupleLiteralPartCS_in_entryRuleTupleLiteralPartCS16057);
             iv_ruleTupleLiteralPartCS=ruleTupleLiteralPartCS();
 
             state._fsp--;
@@ -19194,7 +20389,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleTupleLiteralPartCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTupleLiteralPartCS14661); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTupleLiteralPartCS16067); if (state.failed) return current;
 
             }
 
@@ -19212,7 +20407,7 @@
 
 
     // $ANTLR start "ruleTupleLiteralPartCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6506:1: ruleTupleLiteralPartCS returns [EObject current=null] : ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6740:1: ruleTupleLiteralPartCS returns [EObject current=null] : ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) ) ;
     public final EObject ruleTupleLiteralPartCS() throws RecognitionException {
         EObject current = null;
 
@@ -19228,24 +20423,24 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6509:28: ( ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6510:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6743:28: ( ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6744:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6510:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6510:2: ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6744:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6744:2: ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6510:2: ( (lv_name_0_0= ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6511:1: (lv_name_0_0= ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6744:2: ( (lv_name_0_0= ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6745:1: (lv_name_0_0= ruleUnrestrictedName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6511:1: (lv_name_0_0= ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6512:3: lv_name_0_0= ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6745:1: (lv_name_0_0= ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6746:3: lv_name_0_0= ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getTupleLiteralPartCSAccess().getNameUnrestrictedNameParserRuleCall_0_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleTupleLiteralPartCS14707);
+            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleTupleLiteralPartCS16113);
             lv_name_0_0=ruleUnrestrictedName();
 
             state._fsp--;
@@ -19269,35 +20464,35 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6528:2: (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )?
-            int alt158=2;
-            int LA158_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6762:2: (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )?
+            int alt196=2;
+            int LA196_0 = input.LA(1);
 
-            if ( (LA158_0==57) ) {
-                alt158=1;
+            if ( (LA196_0==57) ) {
+                alt196=1;
             }
-            switch (alt158) {
+            switch (alt196) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6528:4: otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6762:4: otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) )
                     {
-                    otherlv_1=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleTupleLiteralPartCS14720); if (state.failed) return current;
+                    otherlv_1=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleTupleLiteralPartCS16126); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_1, grammarAccess.getTupleLiteralPartCSAccess().getColonKeyword_1_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6532:1: ( (lv_ownedType_2_0= ruleTypeExpCS ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6533:1: (lv_ownedType_2_0= ruleTypeExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6766:1: ( (lv_ownedType_2_0= ruleTypeExpCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6767:1: (lv_ownedType_2_0= ruleTypeExpCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6533:1: (lv_ownedType_2_0= ruleTypeExpCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6534:3: lv_ownedType_2_0= ruleTypeExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6767:1: (lv_ownedType_2_0= ruleTypeExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6768:3: lv_ownedType_2_0= ruleTypeExpCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getTupleLiteralPartCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_ruleTupleLiteralPartCS14741);
+                    pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_ruleTupleLiteralPartCS16147);
                     lv_ownedType_2_0=ruleTypeExpCS();
 
                     state._fsp--;
@@ -19327,24 +20522,24 @@
 
             }
 
-            otherlv_3=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleTupleLiteralPartCS14755); if (state.failed) return current;
+            otherlv_3=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleTupleLiteralPartCS16161); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_3, grammarAccess.getTupleLiteralPartCSAccess().getEqualsSignKeyword_2());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6554:1: ( (lv_ownedInitExpression_4_0= ruleExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6555:1: (lv_ownedInitExpression_4_0= ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6788:1: ( (lv_ownedInitExpression_4_0= ruleExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6789:1: (lv_ownedInitExpression_4_0= ruleExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6555:1: (lv_ownedInitExpression_4_0= ruleExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6556:3: lv_ownedInitExpression_4_0= ruleExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6789:1: (lv_ownedInitExpression_4_0= ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6790:3: lv_ownedInitExpression_4_0= ruleExpCS
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getTupleLiteralPartCSAccess().getOwnedInitExpressionExpCSParserRuleCall_3_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleTupleLiteralPartCS14776);
+            pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleTupleLiteralPartCS16182);
             lv_ownedInitExpression_4_0=ruleExpCS();
 
             state._fsp--;
@@ -19391,7 +20586,7 @@
 
 
     // $ANTLR start "entryRuleNumberLiteralExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6580:1: entryRuleNumberLiteralExpCS returns [EObject current=null] : iv_ruleNumberLiteralExpCS= ruleNumberLiteralExpCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6814:1: entryRuleNumberLiteralExpCS returns [EObject current=null] : iv_ruleNumberLiteralExpCS= ruleNumberLiteralExpCS EOF ;
     public final EObject entryRuleNumberLiteralExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -19399,13 +20594,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6581:2: (iv_ruleNumberLiteralExpCS= ruleNumberLiteralExpCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6582:2: iv_ruleNumberLiteralExpCS= ruleNumberLiteralExpCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6815:2: (iv_ruleNumberLiteralExpCS= ruleNumberLiteralExpCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6816:2: iv_ruleNumberLiteralExpCS= ruleNumberLiteralExpCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getNumberLiteralExpCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleNumberLiteralExpCS_in_entryRuleNumberLiteralExpCS14812);
+            pushFollow(FollowSets000.FOLLOW_ruleNumberLiteralExpCS_in_entryRuleNumberLiteralExpCS16218);
             iv_ruleNumberLiteralExpCS=ruleNumberLiteralExpCS();
 
             state._fsp--;
@@ -19413,7 +20608,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleNumberLiteralExpCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNumberLiteralExpCS14822); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNumberLiteralExpCS16228); if (state.failed) return current;
 
             }
 
@@ -19431,7 +20626,7 @@
 
 
     // $ANTLR start "ruleNumberLiteralExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6589:1: ruleNumberLiteralExpCS returns [EObject current=null] : ( (lv_symbol_0_0= ruleNUMBER_LITERAL ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6823:1: ruleNumberLiteralExpCS returns [EObject current=null] : ( (lv_symbol_0_0= ruleNUMBER_LITERAL ) ) ;
     public final EObject ruleNumberLiteralExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -19441,21 +20636,21 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6592:28: ( ( (lv_symbol_0_0= ruleNUMBER_LITERAL ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6593:1: ( (lv_symbol_0_0= ruleNUMBER_LITERAL ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6826:28: ( ( (lv_symbol_0_0= ruleNUMBER_LITERAL ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6827:1: ( (lv_symbol_0_0= ruleNUMBER_LITERAL ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6593:1: ( (lv_symbol_0_0= ruleNUMBER_LITERAL ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6594:1: (lv_symbol_0_0= ruleNUMBER_LITERAL )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6827:1: ( (lv_symbol_0_0= ruleNUMBER_LITERAL ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6828:1: (lv_symbol_0_0= ruleNUMBER_LITERAL )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6594:1: (lv_symbol_0_0= ruleNUMBER_LITERAL )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6595:3: lv_symbol_0_0= ruleNUMBER_LITERAL
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6828:1: (lv_symbol_0_0= ruleNUMBER_LITERAL )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6829:3: lv_symbol_0_0= ruleNUMBER_LITERAL
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getNumberLiteralExpCSAccess().getSymbolNUMBER_LITERALParserRuleCall_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleNUMBER_LITERAL_in_ruleNumberLiteralExpCS14867);
+            pushFollow(FollowSets000.FOLLOW_ruleNUMBER_LITERAL_in_ruleNumberLiteralExpCS16273);
             lv_symbol_0_0=ruleNUMBER_LITERAL();
 
             state._fsp--;
@@ -19499,7 +20694,7 @@
 
 
     // $ANTLR start "entryRuleStringLiteralExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6619:1: entryRuleStringLiteralExpCS returns [EObject current=null] : iv_ruleStringLiteralExpCS= ruleStringLiteralExpCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6853:1: entryRuleStringLiteralExpCS returns [EObject current=null] : iv_ruleStringLiteralExpCS= ruleStringLiteralExpCS EOF ;
     public final EObject entryRuleStringLiteralExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -19507,13 +20702,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6620:2: (iv_ruleStringLiteralExpCS= ruleStringLiteralExpCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6621:2: iv_ruleStringLiteralExpCS= ruleStringLiteralExpCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6854:2: (iv_ruleStringLiteralExpCS= ruleStringLiteralExpCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6855:2: iv_ruleStringLiteralExpCS= ruleStringLiteralExpCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getStringLiteralExpCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleStringLiteralExpCS_in_entryRuleStringLiteralExpCS14902);
+            pushFollow(FollowSets000.FOLLOW_ruleStringLiteralExpCS_in_entryRuleStringLiteralExpCS16308);
             iv_ruleStringLiteralExpCS=ruleStringLiteralExpCS();
 
             state._fsp--;
@@ -19521,7 +20716,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleStringLiteralExpCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStringLiteralExpCS14912); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStringLiteralExpCS16318); if (state.failed) return current;
 
             }
 
@@ -19539,7 +20734,7 @@
 
 
     // $ANTLR start "ruleStringLiteralExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6628:1: ruleStringLiteralExpCS returns [EObject current=null] : ( (lv_segments_0_0= ruleStringLiteral ) )+ ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6862:1: ruleStringLiteralExpCS returns [EObject current=null] : ( (lv_segments_0_0= ruleStringLiteral ) )+ ;
     public final EObject ruleStringLiteralExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -19549,34 +20744,34 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6631:28: ( ( (lv_segments_0_0= ruleStringLiteral ) )+ )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6632:1: ( (lv_segments_0_0= ruleStringLiteral ) )+
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6865:28: ( ( (lv_segments_0_0= ruleStringLiteral ) )+ )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6866:1: ( (lv_segments_0_0= ruleStringLiteral ) )+
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6632:1: ( (lv_segments_0_0= ruleStringLiteral ) )+
-            int cnt159=0;
-            loop159:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6866:1: ( (lv_segments_0_0= ruleStringLiteral ) )+
+            int cnt197=0;
+            loop197:
             do {
-                int alt159=2;
-                int LA159_0 = input.LA(1);
+                int alt197=2;
+                int LA197_0 = input.LA(1);
 
-                if ( (LA159_0==RULE_SINGLE_QUOTED_STRING) ) {
-                    alt159=1;
+                if ( (LA197_0==RULE_SINGLE_QUOTED_STRING) ) {
+                    alt197=1;
                 }
 
 
-                switch (alt159) {
+                switch (alt197) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6633:1: (lv_segments_0_0= ruleStringLiteral )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6867:1: (lv_segments_0_0= ruleStringLiteral )
             	    {
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6633:1: (lv_segments_0_0= ruleStringLiteral )
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6634:3: lv_segments_0_0= ruleStringLiteral
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6867:1: (lv_segments_0_0= ruleStringLiteral )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6868:3: lv_segments_0_0= ruleStringLiteral
             	    {
             	    if ( state.backtracking==0 ) {
             	       
             	      	        newCompositeNode(grammarAccess.getStringLiteralExpCSAccess().getSegmentsStringLiteralParserRuleCall_0()); 
             	      	    
             	    }
-            	    pushFollow(FollowSets000.FOLLOW_ruleStringLiteral_in_ruleStringLiteralExpCS14957);
+            	    pushFollow(FollowSets000.FOLLOW_ruleStringLiteral_in_ruleStringLiteralExpCS16363);
             	    lv_segments_0_0=ruleStringLiteral();
 
             	    state._fsp--;
@@ -19602,13 +20797,13 @@
             	    break;
 
             	default :
-            	    if ( cnt159 >= 1 ) break loop159;
+            	    if ( cnt197 >= 1 ) break loop197;
             	    if (state.backtracking>0) {state.failed=true; return current;}
                         EarlyExitException eee =
-                            new EarlyExitException(159, input);
+                            new EarlyExitException(197, input);
                         throw eee;
                 }
-                cnt159++;
+                cnt197++;
             } while (true);
 
 
@@ -19631,7 +20826,7 @@
 
 
     // $ANTLR start "entryRuleBooleanLiteralExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6658:1: entryRuleBooleanLiteralExpCS returns [EObject current=null] : iv_ruleBooleanLiteralExpCS= ruleBooleanLiteralExpCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6892:1: entryRuleBooleanLiteralExpCS returns [EObject current=null] : iv_ruleBooleanLiteralExpCS= ruleBooleanLiteralExpCS EOF ;
     public final EObject entryRuleBooleanLiteralExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -19639,13 +20834,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6659:2: (iv_ruleBooleanLiteralExpCS= ruleBooleanLiteralExpCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6660:2: iv_ruleBooleanLiteralExpCS= ruleBooleanLiteralExpCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6893:2: (iv_ruleBooleanLiteralExpCS= ruleBooleanLiteralExpCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6894:2: iv_ruleBooleanLiteralExpCS= ruleBooleanLiteralExpCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getBooleanLiteralExpCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleBooleanLiteralExpCS_in_entryRuleBooleanLiteralExpCS14993);
+            pushFollow(FollowSets000.FOLLOW_ruleBooleanLiteralExpCS_in_entryRuleBooleanLiteralExpCS16399);
             iv_ruleBooleanLiteralExpCS=ruleBooleanLiteralExpCS();
 
             state._fsp--;
@@ -19653,7 +20848,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleBooleanLiteralExpCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBooleanLiteralExpCS15003); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBooleanLiteralExpCS16409); if (state.failed) return current;
 
             }
 
@@ -19671,7 +20866,7 @@
 
 
     // $ANTLR start "ruleBooleanLiteralExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6667:1: ruleBooleanLiteralExpCS returns [EObject current=null] : ( ( (lv_symbol_0_0= 'true' ) ) | ( (lv_symbol_1_0= 'false' ) ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6901:1: ruleBooleanLiteralExpCS returns [EObject current=null] : ( ( (lv_symbol_0_0= 'true' ) ) | ( (lv_symbol_1_0= 'false' ) ) ) ;
     public final EObject ruleBooleanLiteralExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -19681,37 +20876,37 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6670:28: ( ( ( (lv_symbol_0_0= 'true' ) ) | ( (lv_symbol_1_0= 'false' ) ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6671:1: ( ( (lv_symbol_0_0= 'true' ) ) | ( (lv_symbol_1_0= 'false' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6904:28: ( ( ( (lv_symbol_0_0= 'true' ) ) | ( (lv_symbol_1_0= 'false' ) ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6905:1: ( ( (lv_symbol_0_0= 'true' ) ) | ( (lv_symbol_1_0= 'false' ) ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6671:1: ( ( (lv_symbol_0_0= 'true' ) ) | ( (lv_symbol_1_0= 'false' ) ) )
-            int alt160=2;
-            int LA160_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6905:1: ( ( (lv_symbol_0_0= 'true' ) ) | ( (lv_symbol_1_0= 'false' ) ) )
+            int alt198=2;
+            int LA198_0 = input.LA(1);
 
-            if ( (LA160_0==116) ) {
-                alt160=1;
+            if ( (LA198_0==116) ) {
+                alt198=1;
             }
-            else if ( (LA160_0==117) ) {
-                alt160=2;
+            else if ( (LA198_0==117) ) {
+                alt198=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 160, 0, input);
+                    new NoViableAltException("", 198, 0, input);
 
                 throw nvae;
             }
-            switch (alt160) {
+            switch (alt198) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6671:2: ( (lv_symbol_0_0= 'true' ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6905:2: ( (lv_symbol_0_0= 'true' ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6671:2: ( (lv_symbol_0_0= 'true' ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6672:1: (lv_symbol_0_0= 'true' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6905:2: ( (lv_symbol_0_0= 'true' ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6906:1: (lv_symbol_0_0= 'true' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6672:1: (lv_symbol_0_0= 'true' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6673:3: lv_symbol_0_0= 'true'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6906:1: (lv_symbol_0_0= 'true' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6907:3: lv_symbol_0_0= 'true'
                     {
-                    lv_symbol_0_0=(Token)match(input,116,FollowSets000.FOLLOW_116_in_ruleBooleanLiteralExpCS15046); if (state.failed) return current;
+                    lv_symbol_0_0=(Token)match(input,116,FollowSets000.FOLLOW_116_in_ruleBooleanLiteralExpCS16452); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               newLeafNode(lv_symbol_0_0, grammarAccess.getBooleanLiteralExpCSAccess().getSymbolTrueKeyword_0_0());
@@ -19735,15 +20930,15 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6687:6: ( (lv_symbol_1_0= 'false' ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6921:6: ( (lv_symbol_1_0= 'false' ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6687:6: ( (lv_symbol_1_0= 'false' ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6688:1: (lv_symbol_1_0= 'false' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6921:6: ( (lv_symbol_1_0= 'false' ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6922:1: (lv_symbol_1_0= 'false' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6688:1: (lv_symbol_1_0= 'false' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6689:3: lv_symbol_1_0= 'false'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6922:1: (lv_symbol_1_0= 'false' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6923:3: lv_symbol_1_0= 'false'
                     {
-                    lv_symbol_1_0=(Token)match(input,117,FollowSets000.FOLLOW_117_in_ruleBooleanLiteralExpCS15083); if (state.failed) return current;
+                    lv_symbol_1_0=(Token)match(input,117,FollowSets000.FOLLOW_117_in_ruleBooleanLiteralExpCS16489); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               newLeafNode(lv_symbol_1_0, grammarAccess.getBooleanLiteralExpCSAccess().getSymbolFalseKeyword_1_0());
@@ -19789,7 +20984,7 @@
 
 
     // $ANTLR start "entryRuleUnlimitedNaturalLiteralExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6710:1: entryRuleUnlimitedNaturalLiteralExpCS returns [EObject current=null] : iv_ruleUnlimitedNaturalLiteralExpCS= ruleUnlimitedNaturalLiteralExpCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6944:1: entryRuleUnlimitedNaturalLiteralExpCS returns [EObject current=null] : iv_ruleUnlimitedNaturalLiteralExpCS= ruleUnlimitedNaturalLiteralExpCS EOF ;
     public final EObject entryRuleUnlimitedNaturalLiteralExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -19797,13 +20992,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6711:2: (iv_ruleUnlimitedNaturalLiteralExpCS= ruleUnlimitedNaturalLiteralExpCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6712:2: iv_ruleUnlimitedNaturalLiteralExpCS= ruleUnlimitedNaturalLiteralExpCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6945:2: (iv_ruleUnlimitedNaturalLiteralExpCS= ruleUnlimitedNaturalLiteralExpCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6946:2: iv_ruleUnlimitedNaturalLiteralExpCS= ruleUnlimitedNaturalLiteralExpCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getUnlimitedNaturalLiteralExpCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleUnlimitedNaturalLiteralExpCS_in_entryRuleUnlimitedNaturalLiteralExpCS15132);
+            pushFollow(FollowSets000.FOLLOW_ruleUnlimitedNaturalLiteralExpCS_in_entryRuleUnlimitedNaturalLiteralExpCS16538);
             iv_ruleUnlimitedNaturalLiteralExpCS=ruleUnlimitedNaturalLiteralExpCS();
 
             state._fsp--;
@@ -19811,7 +21006,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleUnlimitedNaturalLiteralExpCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleUnlimitedNaturalLiteralExpCS15142); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleUnlimitedNaturalLiteralExpCS16548); if (state.failed) return current;
 
             }
 
@@ -19829,7 +21024,7 @@
 
 
     // $ANTLR start "ruleUnlimitedNaturalLiteralExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6719:1: ruleUnlimitedNaturalLiteralExpCS returns [EObject current=null] : ( () otherlv_1= '*' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6953:1: ruleUnlimitedNaturalLiteralExpCS returns [EObject current=null] : ( () otherlv_1= '*' ) ;
     public final EObject ruleUnlimitedNaturalLiteralExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -19838,14 +21033,14 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6722:28: ( ( () otherlv_1= '*' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6723:1: ( () otherlv_1= '*' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6956:28: ( ( () otherlv_1= '*' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6957:1: ( () otherlv_1= '*' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6723:1: ( () otherlv_1= '*' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6723:2: () otherlv_1= '*'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6957:1: ( () otherlv_1= '*' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6957:2: () otherlv_1= '*'
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6723:2: ()
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6724:2: 
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6957:2: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6958:2: 
             {
             if ( state.backtracking==0 ) {
                
@@ -19862,7 +21057,7 @@
 
             }
 
-            otherlv_1=(Token)match(input,84,FollowSets000.FOLLOW_84_in_ruleUnlimitedNaturalLiteralExpCS15191); if (state.failed) return current;
+            otherlv_1=(Token)match(input,84,FollowSets000.FOLLOW_84_in_ruleUnlimitedNaturalLiteralExpCS16597); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_1, grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getAsteriskKeyword_1());
@@ -19891,7 +21086,7 @@
 
 
     // $ANTLR start "entryRuleInvalidLiteralExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6744:1: entryRuleInvalidLiteralExpCS returns [EObject current=null] : iv_ruleInvalidLiteralExpCS= ruleInvalidLiteralExpCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6978:1: entryRuleInvalidLiteralExpCS returns [EObject current=null] : iv_ruleInvalidLiteralExpCS= ruleInvalidLiteralExpCS EOF ;
     public final EObject entryRuleInvalidLiteralExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -19899,13 +21094,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6745:2: (iv_ruleInvalidLiteralExpCS= ruleInvalidLiteralExpCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6746:2: iv_ruleInvalidLiteralExpCS= ruleInvalidLiteralExpCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6979:2: (iv_ruleInvalidLiteralExpCS= ruleInvalidLiteralExpCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6980:2: iv_ruleInvalidLiteralExpCS= ruleInvalidLiteralExpCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getInvalidLiteralExpCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleInvalidLiteralExpCS_in_entryRuleInvalidLiteralExpCS15227);
+            pushFollow(FollowSets000.FOLLOW_ruleInvalidLiteralExpCS_in_entryRuleInvalidLiteralExpCS16633);
             iv_ruleInvalidLiteralExpCS=ruleInvalidLiteralExpCS();
 
             state._fsp--;
@@ -19913,7 +21108,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleInvalidLiteralExpCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleInvalidLiteralExpCS15237); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleInvalidLiteralExpCS16643); if (state.failed) return current;
 
             }
 
@@ -19931,7 +21126,7 @@
 
 
     // $ANTLR start "ruleInvalidLiteralExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6753:1: ruleInvalidLiteralExpCS returns [EObject current=null] : ( () otherlv_1= 'invalid' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6987:1: ruleInvalidLiteralExpCS returns [EObject current=null] : ( () otherlv_1= 'invalid' ) ;
     public final EObject ruleInvalidLiteralExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -19940,14 +21135,14 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6756:28: ( ( () otherlv_1= 'invalid' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6757:1: ( () otherlv_1= 'invalid' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6990:28: ( ( () otherlv_1= 'invalid' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6991:1: ( () otherlv_1= 'invalid' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6757:1: ( () otherlv_1= 'invalid' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6757:2: () otherlv_1= 'invalid'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6991:1: ( () otherlv_1= 'invalid' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6991:2: () otherlv_1= 'invalid'
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6757:2: ()
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6758:2: 
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6991:2: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6992:2: 
             {
             if ( state.backtracking==0 ) {
                
@@ -19964,7 +21159,7 @@
 
             }
 
-            otherlv_1=(Token)match(input,118,FollowSets000.FOLLOW_118_in_ruleInvalidLiteralExpCS15286); if (state.failed) return current;
+            otherlv_1=(Token)match(input,118,FollowSets000.FOLLOW_118_in_ruleInvalidLiteralExpCS16692); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_1, grammarAccess.getInvalidLiteralExpCSAccess().getInvalidKeyword_1());
@@ -19993,7 +21188,7 @@
 
 
     // $ANTLR start "entryRuleNullLiteralExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6778:1: entryRuleNullLiteralExpCS returns [EObject current=null] : iv_ruleNullLiteralExpCS= ruleNullLiteralExpCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7012:1: entryRuleNullLiteralExpCS returns [EObject current=null] : iv_ruleNullLiteralExpCS= ruleNullLiteralExpCS EOF ;
     public final EObject entryRuleNullLiteralExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -20001,13 +21196,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6779:2: (iv_ruleNullLiteralExpCS= ruleNullLiteralExpCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6780:2: iv_ruleNullLiteralExpCS= ruleNullLiteralExpCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7013:2: (iv_ruleNullLiteralExpCS= ruleNullLiteralExpCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7014:2: iv_ruleNullLiteralExpCS= ruleNullLiteralExpCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getNullLiteralExpCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleNullLiteralExpCS_in_entryRuleNullLiteralExpCS15322);
+            pushFollow(FollowSets000.FOLLOW_ruleNullLiteralExpCS_in_entryRuleNullLiteralExpCS16728);
             iv_ruleNullLiteralExpCS=ruleNullLiteralExpCS();
 
             state._fsp--;
@@ -20015,7 +21210,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleNullLiteralExpCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNullLiteralExpCS15332); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNullLiteralExpCS16738); if (state.failed) return current;
 
             }
 
@@ -20033,7 +21228,7 @@
 
 
     // $ANTLR start "ruleNullLiteralExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6787:1: ruleNullLiteralExpCS returns [EObject current=null] : ( () otherlv_1= 'null' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7021:1: ruleNullLiteralExpCS returns [EObject current=null] : ( () otherlv_1= 'null' ) ;
     public final EObject ruleNullLiteralExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -20042,14 +21237,14 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6790:28: ( ( () otherlv_1= 'null' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6791:1: ( () otherlv_1= 'null' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7024:28: ( ( () otherlv_1= 'null' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7025:1: ( () otherlv_1= 'null' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6791:1: ( () otherlv_1= 'null' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6791:2: () otherlv_1= 'null'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7025:1: ( () otherlv_1= 'null' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7025:2: () otherlv_1= 'null'
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6791:2: ()
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6792:2: 
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7025:2: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7026:2: 
             {
             if ( state.backtracking==0 ) {
                
@@ -20066,7 +21261,7 @@
 
             }
 
-            otherlv_1=(Token)match(input,119,FollowSets000.FOLLOW_119_in_ruleNullLiteralExpCS15381); if (state.failed) return current;
+            otherlv_1=(Token)match(input,119,FollowSets000.FOLLOW_119_in_ruleNullLiteralExpCS16787); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_1, grammarAccess.getNullLiteralExpCSAccess().getNullKeyword_1());
@@ -20095,7 +21290,7 @@
 
 
     // $ANTLR start "entryRuleTypeLiteralCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6812:1: entryRuleTypeLiteralCS returns [EObject current=null] : iv_ruleTypeLiteralCS= ruleTypeLiteralCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7046:1: entryRuleTypeLiteralCS returns [EObject current=null] : iv_ruleTypeLiteralCS= ruleTypeLiteralCS EOF ;
     public final EObject entryRuleTypeLiteralCS() throws RecognitionException {
         EObject current = null;
 
@@ -20103,13 +21298,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6813:2: (iv_ruleTypeLiteralCS= ruleTypeLiteralCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6814:2: iv_ruleTypeLiteralCS= ruleTypeLiteralCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7047:2: (iv_ruleTypeLiteralCS= ruleTypeLiteralCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7048:2: iv_ruleTypeLiteralCS= ruleTypeLiteralCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTypeLiteralCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralCS_in_entryRuleTypeLiteralCS15417);
+            pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralCS_in_entryRuleTypeLiteralCS16823);
             iv_ruleTypeLiteralCS=ruleTypeLiteralCS();
 
             state._fsp--;
@@ -20117,7 +21312,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleTypeLiteralCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypeLiteralCS15427); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypeLiteralCS16833); if (state.failed) return current;
 
             }
 
@@ -20135,7 +21330,7 @@
 
 
     // $ANTLR start "ruleTypeLiteralCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6821:1: ruleTypeLiteralCS returns [EObject current=null] : (this_PrimitiveTypeCS_0= rulePrimitiveTypeCS | this_CollectionTypeCS_1= ruleCollectionTypeCS | this_TupleTypeCS_2= ruleTupleTypeCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7055:1: ruleTypeLiteralCS returns [EObject current=null] : (this_PrimitiveTypeCS_0= rulePrimitiveTypeCS | this_CollectionTypeCS_1= ruleCollectionTypeCS | this_TupleTypeCS_2= ruleTupleTypeCS ) ;
     public final EObject ruleTypeLiteralCS() throws RecognitionException {
         EObject current = null;
 
@@ -20149,11 +21344,11 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6824:28: ( (this_PrimitiveTypeCS_0= rulePrimitiveTypeCS | this_CollectionTypeCS_1= ruleCollectionTypeCS | this_TupleTypeCS_2= ruleTupleTypeCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6825:1: (this_PrimitiveTypeCS_0= rulePrimitiveTypeCS | this_CollectionTypeCS_1= ruleCollectionTypeCS | this_TupleTypeCS_2= ruleTupleTypeCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7058:28: ( (this_PrimitiveTypeCS_0= rulePrimitiveTypeCS | this_CollectionTypeCS_1= ruleCollectionTypeCS | this_TupleTypeCS_2= ruleTupleTypeCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7059:1: (this_PrimitiveTypeCS_0= rulePrimitiveTypeCS | this_CollectionTypeCS_1= ruleCollectionTypeCS | this_TupleTypeCS_2= ruleTupleTypeCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6825:1: (this_PrimitiveTypeCS_0= rulePrimitiveTypeCS | this_CollectionTypeCS_1= ruleCollectionTypeCS | this_TupleTypeCS_2= ruleTupleTypeCS )
-            int alt161=3;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7059:1: (this_PrimitiveTypeCS_0= rulePrimitiveTypeCS | this_CollectionTypeCS_1= ruleCollectionTypeCS | this_TupleTypeCS_2= ruleTupleTypeCS )
+            int alt199=3;
             switch ( input.LA(1) ) {
             case 100:
             case 101:
@@ -20164,7 +21359,7 @@
             case 106:
             case 107:
                 {
-                alt161=1;
+                alt199=1;
                 }
                 break;
             case 108:
@@ -20173,25 +21368,25 @@
             case 111:
             case 112:
                 {
-                alt161=2;
+                alt199=2;
                 }
                 break;
             case 98:
                 {
-                alt161=3;
+                alt199=3;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 161, 0, input);
+                    new NoViableAltException("", 199, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt161) {
+            switch (alt199) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6826:2: this_PrimitiveTypeCS_0= rulePrimitiveTypeCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7060:2: this_PrimitiveTypeCS_0= rulePrimitiveTypeCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -20203,7 +21398,7 @@
                               newCompositeNode(grammarAccess.getTypeLiteralCSAccess().getPrimitiveTypeCSParserRuleCall_0()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_rulePrimitiveTypeCS_in_ruleTypeLiteralCS15477);
+                    pushFollow(FollowSets000.FOLLOW_rulePrimitiveTypeCS_in_ruleTypeLiteralCS16883);
                     this_PrimitiveTypeCS_0=rulePrimitiveTypeCS();
 
                     state._fsp--;
@@ -20218,7 +21413,7 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6839:2: this_CollectionTypeCS_1= ruleCollectionTypeCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7073:2: this_CollectionTypeCS_1= ruleCollectionTypeCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -20230,7 +21425,7 @@
                               newCompositeNode(grammarAccess.getTypeLiteralCSAccess().getCollectionTypeCSParserRuleCall_1()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleCollectionTypeCS_in_ruleTypeLiteralCS15507);
+                    pushFollow(FollowSets000.FOLLOW_ruleCollectionTypeCS_in_ruleTypeLiteralCS16913);
                     this_CollectionTypeCS_1=ruleCollectionTypeCS();
 
                     state._fsp--;
@@ -20245,7 +21440,7 @@
                     }
                     break;
                 case 3 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6852:2: this_TupleTypeCS_2= ruleTupleTypeCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7086:2: this_TupleTypeCS_2= ruleTupleTypeCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -20257,7 +21452,7 @@
                               newCompositeNode(grammarAccess.getTypeLiteralCSAccess().getTupleTypeCSParserRuleCall_2()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTupleTypeCS_in_ruleTypeLiteralCS15537);
+                    pushFollow(FollowSets000.FOLLOW_ruleTupleTypeCS_in_ruleTypeLiteralCS16943);
                     this_TupleTypeCS_2=ruleTupleTypeCS();
 
                     state._fsp--;
@@ -20294,7 +21489,7 @@
 
 
     // $ANTLR start "entryRuleTypeLiteralWithMultiplicityCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6871:1: entryRuleTypeLiteralWithMultiplicityCS returns [EObject current=null] : iv_ruleTypeLiteralWithMultiplicityCS= ruleTypeLiteralWithMultiplicityCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7105:1: entryRuleTypeLiteralWithMultiplicityCS returns [EObject current=null] : iv_ruleTypeLiteralWithMultiplicityCS= ruleTypeLiteralWithMultiplicityCS EOF ;
     public final EObject entryRuleTypeLiteralWithMultiplicityCS() throws RecognitionException {
         EObject current = null;
 
@@ -20302,13 +21497,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6872:2: (iv_ruleTypeLiteralWithMultiplicityCS= ruleTypeLiteralWithMultiplicityCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6873:2: iv_ruleTypeLiteralWithMultiplicityCS= ruleTypeLiteralWithMultiplicityCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7106:2: (iv_ruleTypeLiteralWithMultiplicityCS= ruleTypeLiteralWithMultiplicityCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7107:2: iv_ruleTypeLiteralWithMultiplicityCS= ruleTypeLiteralWithMultiplicityCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTypeLiteralWithMultiplicityCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralWithMultiplicityCS_in_entryRuleTypeLiteralWithMultiplicityCS15572);
+            pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralWithMultiplicityCS_in_entryRuleTypeLiteralWithMultiplicityCS16978);
             iv_ruleTypeLiteralWithMultiplicityCS=ruleTypeLiteralWithMultiplicityCS();
 
             state._fsp--;
@@ -20316,7 +21511,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleTypeLiteralWithMultiplicityCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypeLiteralWithMultiplicityCS15582); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypeLiteralWithMultiplicityCS16988); if (state.failed) return current;
 
             }
 
@@ -20334,7 +21529,7 @@
 
 
     // $ANTLR start "ruleTypeLiteralWithMultiplicityCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6880:1: ruleTypeLiteralWithMultiplicityCS returns [EObject current=null] : (this_TypeLiteralCS_0= ruleTypeLiteralCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7114:1: ruleTypeLiteralWithMultiplicityCS returns [EObject current=null] : (this_TypeLiteralCS_0= ruleTypeLiteralCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? ) ;
     public final EObject ruleTypeLiteralWithMultiplicityCS() throws RecognitionException {
         EObject current = null;
 
@@ -20346,11 +21541,11 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6883:28: ( (this_TypeLiteralCS_0= ruleTypeLiteralCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6884:1: (this_TypeLiteralCS_0= ruleTypeLiteralCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7117:28: ( (this_TypeLiteralCS_0= ruleTypeLiteralCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7118:1: (this_TypeLiteralCS_0= ruleTypeLiteralCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6884:1: (this_TypeLiteralCS_0= ruleTypeLiteralCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6885:2: this_TypeLiteralCS_0= ruleTypeLiteralCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7118:1: (this_TypeLiteralCS_0= ruleTypeLiteralCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7119:2: this_TypeLiteralCS_0= ruleTypeLiteralCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )?
             {
             if ( state.backtracking==0 ) {
                
@@ -20362,7 +21557,7 @@
                       newCompositeNode(grammarAccess.getTypeLiteralWithMultiplicityCSAccess().getTypeLiteralCSParserRuleCall_0()); 
                   
             }
-            pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralCS_in_ruleTypeLiteralWithMultiplicityCS15632);
+            pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralCS_in_ruleTypeLiteralWithMultiplicityCS17038);
             this_TypeLiteralCS_0=ruleTypeLiteralCS();
 
             state._fsp--;
@@ -20373,26 +21568,26 @@
                       afterParserOrEnumRuleCall();
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6896:1: ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )?
-            int alt162=2;
-            int LA162_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7130:1: ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )?
+            int alt200=2;
+            int LA200_0 = input.LA(1);
 
-            if ( (LA162_0==122) ) {
-                alt162=1;
+            if ( (LA200_0==122) ) {
+                alt200=1;
             }
-            switch (alt162) {
+            switch (alt200) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6897:1: (lv_ownedMultiplicity_1_0= ruleMultiplicityCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7131:1: (lv_ownedMultiplicity_1_0= ruleMultiplicityCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6897:1: (lv_ownedMultiplicity_1_0= ruleMultiplicityCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6898:3: lv_ownedMultiplicity_1_0= ruleMultiplicityCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7131:1: (lv_ownedMultiplicity_1_0= ruleMultiplicityCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7132:3: lv_ownedMultiplicity_1_0= ruleMultiplicityCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getTypeLiteralWithMultiplicityCSAccess().getOwnedMultiplicityMultiplicityCSParserRuleCall_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleMultiplicityCS_in_ruleTypeLiteralWithMultiplicityCS15652);
+                    pushFollow(FollowSets000.FOLLOW_ruleMultiplicityCS_in_ruleTypeLiteralWithMultiplicityCS17058);
                     lv_ownedMultiplicity_1_0=ruleMultiplicityCS();
 
                     state._fsp--;
@@ -20442,7 +21637,7 @@
 
 
     // $ANTLR start "entryRuleTypeLiteralExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6922:1: entryRuleTypeLiteralExpCS returns [EObject current=null] : iv_ruleTypeLiteralExpCS= ruleTypeLiteralExpCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7156:1: entryRuleTypeLiteralExpCS returns [EObject current=null] : iv_ruleTypeLiteralExpCS= ruleTypeLiteralExpCS EOF ;
     public final EObject entryRuleTypeLiteralExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -20450,13 +21645,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6923:2: (iv_ruleTypeLiteralExpCS= ruleTypeLiteralExpCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6924:2: iv_ruleTypeLiteralExpCS= ruleTypeLiteralExpCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7157:2: (iv_ruleTypeLiteralExpCS= ruleTypeLiteralExpCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7158:2: iv_ruleTypeLiteralExpCS= ruleTypeLiteralExpCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTypeLiteralExpCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralExpCS_in_entryRuleTypeLiteralExpCS15689);
+            pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralExpCS_in_entryRuleTypeLiteralExpCS17095);
             iv_ruleTypeLiteralExpCS=ruleTypeLiteralExpCS();
 
             state._fsp--;
@@ -20464,7 +21659,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleTypeLiteralExpCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypeLiteralExpCS15699); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypeLiteralExpCS17105); if (state.failed) return current;
 
             }
 
@@ -20482,7 +21677,7 @@
 
 
     // $ANTLR start "ruleTypeLiteralExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6931:1: ruleTypeLiteralExpCS returns [EObject current=null] : ( (lv_ownedType_0_0= ruleTypeLiteralWithMultiplicityCS ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7165:1: ruleTypeLiteralExpCS returns [EObject current=null] : ( (lv_ownedType_0_0= ruleTypeLiteralWithMultiplicityCS ) ) ;
     public final EObject ruleTypeLiteralExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -20492,21 +21687,21 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6934:28: ( ( (lv_ownedType_0_0= ruleTypeLiteralWithMultiplicityCS ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6935:1: ( (lv_ownedType_0_0= ruleTypeLiteralWithMultiplicityCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7168:28: ( ( (lv_ownedType_0_0= ruleTypeLiteralWithMultiplicityCS ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7169:1: ( (lv_ownedType_0_0= ruleTypeLiteralWithMultiplicityCS ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6935:1: ( (lv_ownedType_0_0= ruleTypeLiteralWithMultiplicityCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6936:1: (lv_ownedType_0_0= ruleTypeLiteralWithMultiplicityCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7169:1: ( (lv_ownedType_0_0= ruleTypeLiteralWithMultiplicityCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7170:1: (lv_ownedType_0_0= ruleTypeLiteralWithMultiplicityCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6936:1: (lv_ownedType_0_0= ruleTypeLiteralWithMultiplicityCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6937:3: lv_ownedType_0_0= ruleTypeLiteralWithMultiplicityCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7170:1: (lv_ownedType_0_0= ruleTypeLiteralWithMultiplicityCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7171:3: lv_ownedType_0_0= ruleTypeLiteralWithMultiplicityCS
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getTypeLiteralExpCSAccess().getOwnedTypeTypeLiteralWithMultiplicityCSParserRuleCall_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralWithMultiplicityCS_in_ruleTypeLiteralExpCS15744);
+            pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralWithMultiplicityCS_in_ruleTypeLiteralExpCS17150);
             lv_ownedType_0_0=ruleTypeLiteralWithMultiplicityCS();
 
             state._fsp--;
@@ -20550,7 +21745,7 @@
 
 
     // $ANTLR start "entryRuleTypeNameExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6961:1: entryRuleTypeNameExpCS returns [EObject current=null] : iv_ruleTypeNameExpCS= ruleTypeNameExpCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7195:1: entryRuleTypeNameExpCS returns [EObject current=null] : iv_ruleTypeNameExpCS= ruleTypeNameExpCS EOF ;
     public final EObject entryRuleTypeNameExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -20558,13 +21753,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6962:2: (iv_ruleTypeNameExpCS= ruleTypeNameExpCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6963:2: iv_ruleTypeNameExpCS= ruleTypeNameExpCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7196:2: (iv_ruleTypeNameExpCS= ruleTypeNameExpCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7197:2: iv_ruleTypeNameExpCS= ruleTypeNameExpCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTypeNameExpCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleTypeNameExpCS_in_entryRuleTypeNameExpCS15779);
+            pushFollow(FollowSets000.FOLLOW_ruleTypeNameExpCS_in_entryRuleTypeNameExpCS17185);
             iv_ruleTypeNameExpCS=ruleTypeNameExpCS();
 
             state._fsp--;
@@ -20572,7 +21767,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleTypeNameExpCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypeNameExpCS15789); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypeNameExpCS17195); if (state.failed) return current;
 
             }
 
@@ -20590,7 +21785,7 @@
 
 
     // $ANTLR start "ruleTypeNameExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6970:1: ruleTypeNameExpCS returns [EObject current=null] : ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) ) (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )? )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7204:1: ruleTypeNameExpCS returns [EObject current=null] : ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) ) (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )? )? ) ;
     public final EObject ruleTypeNameExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -20606,24 +21801,24 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6973:28: ( ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) ) (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )? )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6974:1: ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) ) (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )? )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7207:28: ( ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) ) (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )? )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7208:1: ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) ) (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )? )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6974:1: ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) ) (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )? )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6974:2: ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) ) (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )? )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7208:1: ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) ) (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )? )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7208:2: ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) ) (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )? )?
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6974:2: ( (lv_ownedPathName_0_0= rulePathNameCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6975:1: (lv_ownedPathName_0_0= rulePathNameCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7208:2: ( (lv_ownedPathName_0_0= rulePathNameCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7209:1: (lv_ownedPathName_0_0= rulePathNameCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6975:1: (lv_ownedPathName_0_0= rulePathNameCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6976:3: lv_ownedPathName_0_0= rulePathNameCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7209:1: (lv_ownedPathName_0_0= rulePathNameCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7210:3: lv_ownedPathName_0_0= rulePathNameCS
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getTypeNameExpCSAccess().getOwnedPathNamePathNameCSParserRuleCall_0_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_rulePathNameCS_in_ruleTypeNameExpCS15835);
+            pushFollow(FollowSets000.FOLLOW_rulePathNameCS_in_ruleTypeNameExpCS17241);
             lv_ownedPathName_0_0=rulePathNameCS();
 
             state._fsp--;
@@ -20647,29 +21842,29 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6992:2: ( ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) ) (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )? )?
-            int alt164=2;
-            int LA164_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7226:2: ( ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) ) (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )? )?
+            int alt202=2;
+            int LA202_0 = input.LA(1);
 
-            if ( (LA164_0==61) ) {
-                alt164=1;
+            if ( (LA202_0==61) ) {
+                alt202=1;
             }
-            switch (alt164) {
+            switch (alt202) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6992:3: ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) ) (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )?
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7226:3: ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) ) (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )?
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6992:3: ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6993:1: (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7226:3: ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7227:1: (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6993:1: (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6994:3: lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7227:1: (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7228:3: lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getTypeNameExpCSAccess().getOwnedCurlyBracketedClauseCurlyBracketedClauseCSParserRuleCall_1_0_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleCurlyBracketedClauseCS_in_ruleTypeNameExpCS15857);
+                    pushFollow(FollowSets000.FOLLOW_ruleCurlyBracketedClauseCS_in_ruleTypeNameExpCS17263);
                     lv_ownedCurlyBracketedClause_1_0=ruleCurlyBracketedClauseCS();
 
                     state._fsp--;
@@ -20693,35 +21888,35 @@
 
                     }
 
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7010:2: (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )?
-                    int alt163=2;
-                    int LA163_0 = input.LA(1);
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7244:2: (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )?
+                    int alt201=2;
+                    int LA201_0 = input.LA(1);
 
-                    if ( (LA163_0==61) ) {
-                        alt163=1;
+                    if ( (LA201_0==61) ) {
+                        alt201=1;
                     }
-                    switch (alt163) {
+                    switch (alt201) {
                         case 1 :
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7010:4: otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}'
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7244:4: otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}'
                             {
-                            otherlv_2=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleTypeNameExpCS15870); if (state.failed) return current;
+                            otherlv_2=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleTypeNameExpCS17276); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
 
                                   	newLeafNode(otherlv_2, grammarAccess.getTypeNameExpCSAccess().getLeftCurlyBracketKeyword_1_1_0());
                                   
                             }
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7014:1: ( (lv_ownedPatternGuard_3_0= ruleExpCS ) )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7015:1: (lv_ownedPatternGuard_3_0= ruleExpCS )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7248:1: ( (lv_ownedPatternGuard_3_0= ruleExpCS ) )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7249:1: (lv_ownedPatternGuard_3_0= ruleExpCS )
                             {
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7015:1: (lv_ownedPatternGuard_3_0= ruleExpCS )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7016:3: lv_ownedPatternGuard_3_0= ruleExpCS
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7249:1: (lv_ownedPatternGuard_3_0= ruleExpCS )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7250:3: lv_ownedPatternGuard_3_0= ruleExpCS
                             {
                             if ( state.backtracking==0 ) {
                                
                               	        newCompositeNode(grammarAccess.getTypeNameExpCSAccess().getOwnedPatternGuardExpCSParserRuleCall_1_1_1_0()); 
                               	    
                             }
-                            pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleTypeNameExpCS15891);
+                            pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleTypeNameExpCS17297);
                             lv_ownedPatternGuard_3_0=ruleExpCS();
 
                             state._fsp--;
@@ -20745,7 +21940,7 @@
 
                             }
 
-                            otherlv_4=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleTypeNameExpCS15903); if (state.failed) return current;
+                            otherlv_4=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleTypeNameExpCS17309); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
 
                                   	newLeafNode(otherlv_4, grammarAccess.getTypeNameExpCSAccess().getRightCurlyBracketKeyword_1_1_2());
@@ -20786,7 +21981,7 @@
 
 
     // $ANTLR start "entryRuleTypeExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7044:1: entryRuleTypeExpCS returns [EObject current=null] : iv_ruleTypeExpCS= ruleTypeExpCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7278:1: entryRuleTypeExpCS returns [EObject current=null] : iv_ruleTypeExpCS= ruleTypeExpCS EOF ;
     public final EObject entryRuleTypeExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -20794,13 +21989,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7045:2: (iv_ruleTypeExpCS= ruleTypeExpCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7046:2: iv_ruleTypeExpCS= ruleTypeExpCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7279:2: (iv_ruleTypeExpCS= ruleTypeExpCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7280:2: iv_ruleTypeExpCS= ruleTypeExpCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTypeExpCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_entryRuleTypeExpCS15943);
+            pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_entryRuleTypeExpCS17349);
             iv_ruleTypeExpCS=ruleTypeExpCS();
 
             state._fsp--;
@@ -20808,7 +22003,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleTypeExpCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypeExpCS15953); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypeExpCS17359); if (state.failed) return current;
 
             }
 
@@ -20826,7 +22021,7 @@
 
 
     // $ANTLR start "ruleTypeExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7053:1: ruleTypeExpCS returns [EObject current=null] : ( (this_TypeNameExpCS_0= ruleTypeNameExpCS | this_TypeLiteralCS_1= ruleTypeLiteralCS | this_CollectionPatternCS_2= ruleCollectionPatternCS ) ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7287:1: ruleTypeExpCS returns [EObject current=null] : ( (this_TypeNameExpCS_0= ruleTypeNameExpCS | this_TypeLiteralCS_1= ruleTypeLiteralCS | this_CollectionPatternCS_2= ruleCollectionPatternCS ) ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )? ) ;
     public final EObject ruleTypeExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -20842,18 +22037,18 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7056:28: ( ( (this_TypeNameExpCS_0= ruleTypeNameExpCS | this_TypeLiteralCS_1= ruleTypeLiteralCS | this_CollectionPatternCS_2= ruleCollectionPatternCS ) ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7057:1: ( (this_TypeNameExpCS_0= ruleTypeNameExpCS | this_TypeLiteralCS_1= ruleTypeLiteralCS | this_CollectionPatternCS_2= ruleCollectionPatternCS ) ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7290:28: ( ( (this_TypeNameExpCS_0= ruleTypeNameExpCS | this_TypeLiteralCS_1= ruleTypeLiteralCS | this_CollectionPatternCS_2= ruleCollectionPatternCS ) ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7291:1: ( (this_TypeNameExpCS_0= ruleTypeNameExpCS | this_TypeLiteralCS_1= ruleTypeLiteralCS | this_CollectionPatternCS_2= ruleCollectionPatternCS ) ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7057:1: ( (this_TypeNameExpCS_0= ruleTypeNameExpCS | this_TypeLiteralCS_1= ruleTypeLiteralCS | this_CollectionPatternCS_2= ruleCollectionPatternCS ) ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7057:2: (this_TypeNameExpCS_0= ruleTypeNameExpCS | this_TypeLiteralCS_1= ruleTypeLiteralCS | this_CollectionPatternCS_2= ruleCollectionPatternCS ) ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7291:1: ( (this_TypeNameExpCS_0= ruleTypeNameExpCS | this_TypeLiteralCS_1= ruleTypeLiteralCS | this_CollectionPatternCS_2= ruleCollectionPatternCS ) ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7291:2: (this_TypeNameExpCS_0= ruleTypeNameExpCS | this_TypeLiteralCS_1= ruleTypeLiteralCS | this_CollectionPatternCS_2= ruleCollectionPatternCS ) ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )?
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7057:2: (this_TypeNameExpCS_0= ruleTypeNameExpCS | this_TypeLiteralCS_1= ruleTypeLiteralCS | this_CollectionPatternCS_2= ruleCollectionPatternCS )
-            int alt165=3;
-            alt165 = dfa165.predict(input);
-            switch (alt165) {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7291:2: (this_TypeNameExpCS_0= ruleTypeNameExpCS | this_TypeLiteralCS_1= ruleTypeLiteralCS | this_CollectionPatternCS_2= ruleCollectionPatternCS )
+            int alt203=3;
+            alt203 = dfa203.predict(input);
+            switch (alt203) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7058:2: this_TypeNameExpCS_0= ruleTypeNameExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7292:2: this_TypeNameExpCS_0= ruleTypeNameExpCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -20865,7 +22060,7 @@
                               newCompositeNode(grammarAccess.getTypeExpCSAccess().getTypeNameExpCSParserRuleCall_0_0()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTypeNameExpCS_in_ruleTypeExpCS16004);
+                    pushFollow(FollowSets000.FOLLOW_ruleTypeNameExpCS_in_ruleTypeExpCS17410);
                     this_TypeNameExpCS_0=ruleTypeNameExpCS();
 
                     state._fsp--;
@@ -20880,7 +22075,7 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7071:2: this_TypeLiteralCS_1= ruleTypeLiteralCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7305:2: this_TypeLiteralCS_1= ruleTypeLiteralCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -20892,7 +22087,7 @@
                               newCompositeNode(grammarAccess.getTypeExpCSAccess().getTypeLiteralCSParserRuleCall_0_1()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralCS_in_ruleTypeExpCS16034);
+                    pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralCS_in_ruleTypeExpCS17440);
                     this_TypeLiteralCS_1=ruleTypeLiteralCS();
 
                     state._fsp--;
@@ -20907,7 +22102,7 @@
                     }
                     break;
                 case 3 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7084:2: this_CollectionPatternCS_2= ruleCollectionPatternCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7318:2: this_CollectionPatternCS_2= ruleCollectionPatternCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -20919,7 +22114,7 @@
                               newCompositeNode(grammarAccess.getTypeExpCSAccess().getCollectionPatternCSParserRuleCall_0_2()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleCollectionPatternCS_in_ruleTypeExpCS16064);
+                    pushFollow(FollowSets000.FOLLOW_ruleCollectionPatternCS_in_ruleTypeExpCS17470);
                     this_CollectionPatternCS_2=ruleCollectionPatternCS();
 
                     state._fsp--;
@@ -20936,26 +22131,26 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7095:2: ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )?
-            int alt166=2;
-            int LA166_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7329:2: ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )?
+            int alt204=2;
+            int LA204_0 = input.LA(1);
 
-            if ( (LA166_0==122) ) {
-                alt166=1;
+            if ( (LA204_0==122) ) {
+                alt204=1;
             }
-            switch (alt166) {
+            switch (alt204) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7096:1: (lv_ownedMultiplicity_3_0= ruleMultiplicityCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7330:1: (lv_ownedMultiplicity_3_0= ruleMultiplicityCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7096:1: (lv_ownedMultiplicity_3_0= ruleMultiplicityCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7097:3: lv_ownedMultiplicity_3_0= ruleMultiplicityCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7330:1: (lv_ownedMultiplicity_3_0= ruleMultiplicityCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7331:3: lv_ownedMultiplicity_3_0= ruleMultiplicityCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getTypeExpCSAccess().getOwnedMultiplicityMultiplicityCSParserRuleCall_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleMultiplicityCS_in_ruleTypeExpCS16085);
+                    pushFollow(FollowSets000.FOLLOW_ruleMultiplicityCS_in_ruleTypeExpCS17491);
                     lv_ownedMultiplicity_3_0=ruleMultiplicityCS();
 
                     state._fsp--;
@@ -21005,7 +22200,7 @@
 
 
     // $ANTLR start "entryRuleExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7121:1: entryRuleExpCS returns [EObject current=null] : iv_ruleExpCS= ruleExpCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7355:1: entryRuleExpCS returns [EObject current=null] : iv_ruleExpCS= ruleExpCS EOF ;
     public final EObject entryRuleExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -21013,13 +22208,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7122:2: (iv_ruleExpCS= ruleExpCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7123:2: iv_ruleExpCS= ruleExpCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7356:2: (iv_ruleExpCS= ruleExpCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7357:2: iv_ruleExpCS= ruleExpCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getExpCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_entryRuleExpCS16122);
+            pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_entryRuleExpCS17528);
             iv_ruleExpCS=ruleExpCS();
 
             state._fsp--;
@@ -21027,7 +22222,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleExpCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExpCS16132); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExpCS17538); if (state.failed) return current;
 
             }
 
@@ -21045,7 +22240,7 @@
 
 
     // $ANTLR start "ruleExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7130:1: ruleExpCS returns [EObject current=null] : ( (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? ) | this_PrefixedLetExpCS_4= rulePrefixedLetExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7364:1: ruleExpCS returns [EObject current=null] : ( (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? ) | this_PrefixedLetExpCS_4= rulePrefixedLetExpCS ) ;
     public final EObject ruleExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -21061,18 +22256,18 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7133:28: ( ( (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? ) | this_PrefixedLetExpCS_4= rulePrefixedLetExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7134:1: ( (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? ) | this_PrefixedLetExpCS_4= rulePrefixedLetExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7367:28: ( ( (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? ) | this_PrefixedLetExpCS_4= rulePrefixedLetExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7368:1: ( (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? ) | this_PrefixedLetExpCS_4= rulePrefixedLetExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7134:1: ( (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? ) | this_PrefixedLetExpCS_4= rulePrefixedLetExpCS )
-            int alt168=2;
-            alt168 = dfa168.predict(input);
-            switch (alt168) {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7368:1: ( (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? ) | this_PrefixedLetExpCS_4= rulePrefixedLetExpCS )
+            int alt206=2;
+            alt206 = dfa206.predict(input);
+            switch (alt206) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7134:2: (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7368:2: (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7134:2: (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7135:2: this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )?
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7368:2: (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7369:2: this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )?
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -21084,7 +22279,7 @@
                               newCompositeNode(grammarAccess.getExpCSAccess().getPrefixedPrimaryExpCSParserRuleCall_0_0()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_rulePrefixedPrimaryExpCS_in_ruleExpCS16183);
+                    pushFollow(FollowSets000.FOLLOW_rulePrefixedPrimaryExpCS_in_ruleExpCS17589);
                     this_PrefixedPrimaryExpCS_0=rulePrefixedPrimaryExpCS();
 
                     state._fsp--;
@@ -21095,19 +22290,19 @@
                               afterParserOrEnumRuleCall();
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7146:1: ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )?
-                    int alt167=2;
-                    int LA167_0 = input.LA(1);
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7380:1: ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )?
+                    int alt205=2;
+                    int LA205_0 = input.LA(1);
 
-                    if ( (LA167_0==18||LA167_0==63||(LA167_0>=81 && LA167_0<=82)||(LA167_0>=84 && LA167_0<=97)) ) {
-                        alt167=1;
+                    if ( (LA205_0==18||LA205_0==63||(LA205_0>=81 && LA205_0<=82)||(LA205_0>=84 && LA205_0<=97)) ) {
+                        alt205=1;
                     }
-                    switch (alt167) {
+                    switch (alt205) {
                         case 1 :
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7146:2: () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7380:2: () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) )
                             {
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7146:2: ()
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7147:2: 
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7380:2: ()
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7381:2: 
                             {
                             if ( state.backtracking==0 ) {
                                
@@ -21124,18 +22319,18 @@
 
                             }
 
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7155:2: ( (lv_name_2_0= ruleBinaryOperatorName ) )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7156:1: (lv_name_2_0= ruleBinaryOperatorName )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7389:2: ( (lv_name_2_0= ruleBinaryOperatorName ) )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7390:1: (lv_name_2_0= ruleBinaryOperatorName )
                             {
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7156:1: (lv_name_2_0= ruleBinaryOperatorName )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7157:3: lv_name_2_0= ruleBinaryOperatorName
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7390:1: (lv_name_2_0= ruleBinaryOperatorName )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7391:3: lv_name_2_0= ruleBinaryOperatorName
                             {
                             if ( state.backtracking==0 ) {
                                
                               	        newCompositeNode(grammarAccess.getExpCSAccess().getNameBinaryOperatorNameParserRuleCall_0_1_1_0()); 
                               	    
                             }
-                            pushFollow(FollowSets000.FOLLOW_ruleBinaryOperatorName_in_ruleExpCS16216);
+                            pushFollow(FollowSets000.FOLLOW_ruleBinaryOperatorName_in_ruleExpCS17622);
                             lv_name_2_0=ruleBinaryOperatorName();
 
                             state._fsp--;
@@ -21159,18 +22354,18 @@
 
                             }
 
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7173:2: ( (lv_ownedRight_3_0= ruleExpCS ) )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7174:1: (lv_ownedRight_3_0= ruleExpCS )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7407:2: ( (lv_ownedRight_3_0= ruleExpCS ) )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7408:1: (lv_ownedRight_3_0= ruleExpCS )
                             {
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7174:1: (lv_ownedRight_3_0= ruleExpCS )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7175:3: lv_ownedRight_3_0= ruleExpCS
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7408:1: (lv_ownedRight_3_0= ruleExpCS )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7409:3: lv_ownedRight_3_0= ruleExpCS
                             {
                             if ( state.backtracking==0 ) {
                                
                               	        newCompositeNode(grammarAccess.getExpCSAccess().getOwnedRightExpCSParserRuleCall_0_1_2_0()); 
                               	    
                             }
-                            pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleExpCS16237);
+                            pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleExpCS17643);
                             lv_ownedRight_3_0=ruleExpCS();
 
                             state._fsp--;
@@ -21207,7 +22402,7 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7193:2: this_PrefixedLetExpCS_4= rulePrefixedLetExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7427:2: this_PrefixedLetExpCS_4= rulePrefixedLetExpCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -21219,7 +22414,7 @@
                               newCompositeNode(grammarAccess.getExpCSAccess().getPrefixedLetExpCSParserRuleCall_1()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_rulePrefixedLetExpCS_in_ruleExpCS16271);
+                    pushFollow(FollowSets000.FOLLOW_rulePrefixedLetExpCS_in_ruleExpCS17677);
                     this_PrefixedLetExpCS_4=rulePrefixedLetExpCS();
 
                     state._fsp--;
@@ -21256,7 +22451,7 @@
 
 
     // $ANTLR start "entryRulePrefixedLetExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7212:1: entryRulePrefixedLetExpCS returns [EObject current=null] : iv_rulePrefixedLetExpCS= rulePrefixedLetExpCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7446:1: entryRulePrefixedLetExpCS returns [EObject current=null] : iv_rulePrefixedLetExpCS= rulePrefixedLetExpCS EOF ;
     public final EObject entryRulePrefixedLetExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -21264,13 +22459,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7213:2: (iv_rulePrefixedLetExpCS= rulePrefixedLetExpCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7214:2: iv_rulePrefixedLetExpCS= rulePrefixedLetExpCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7447:2: (iv_rulePrefixedLetExpCS= rulePrefixedLetExpCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7448:2: iv_rulePrefixedLetExpCS= rulePrefixedLetExpCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getPrefixedLetExpCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_rulePrefixedLetExpCS_in_entryRulePrefixedLetExpCS16306);
+            pushFollow(FollowSets000.FOLLOW_rulePrefixedLetExpCS_in_entryRulePrefixedLetExpCS17712);
             iv_rulePrefixedLetExpCS=rulePrefixedLetExpCS();
 
             state._fsp--;
@@ -21278,7 +22473,7 @@
             if ( state.backtracking==0 ) {
                current =iv_rulePrefixedLetExpCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrefixedLetExpCS16316); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrefixedLetExpCS17722); if (state.failed) return current;
 
             }
 
@@ -21296,7 +22491,7 @@
 
 
     // $ANTLR start "rulePrefixedLetExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7221:1: rulePrefixedLetExpCS returns [EObject current=null] : ( ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedLetExpCS ) ) ) | this_LetExpCS_3= ruleLetExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7455:1: rulePrefixedLetExpCS returns [EObject current=null] : ( ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedLetExpCS ) ) ) | this_LetExpCS_3= ruleLetExpCS ) ;
     public final EObject rulePrefixedLetExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -21310,35 +22505,35 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7224:28: ( ( ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedLetExpCS ) ) ) | this_LetExpCS_3= ruleLetExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7225:1: ( ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedLetExpCS ) ) ) | this_LetExpCS_3= ruleLetExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7458:28: ( ( ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedLetExpCS ) ) ) | this_LetExpCS_3= ruleLetExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7459:1: ( ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedLetExpCS ) ) ) | this_LetExpCS_3= ruleLetExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7225:1: ( ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedLetExpCS ) ) ) | this_LetExpCS_3= ruleLetExpCS )
-            int alt169=2;
-            int LA169_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7459:1: ( ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedLetExpCS ) ) ) | this_LetExpCS_3= ruleLetExpCS )
+            int alt207=2;
+            int LA207_0 = input.LA(1);
 
-            if ( (LA169_0==18||LA169_0==83) ) {
-                alt169=1;
+            if ( (LA207_0==18||LA207_0==83) ) {
+                alt207=1;
             }
-            else if ( (LA169_0==131) ) {
-                alt169=2;
+            else if ( (LA207_0==131) ) {
+                alt207=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 169, 0, input);
+                    new NoViableAltException("", 207, 0, input);
 
                 throw nvae;
             }
-            switch (alt169) {
+            switch (alt207) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7225:2: ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedLetExpCS ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7459:2: ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedLetExpCS ) ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7225:2: ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedLetExpCS ) ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7225:3: () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedLetExpCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7459:2: ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedLetExpCS ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7459:3: () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedLetExpCS ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7225:3: ()
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7226:2: 
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7459:3: ()
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7460:2: 
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -21355,18 +22550,18 @@
 
                     }
 
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7234:2: ( (lv_name_1_0= ruleUnaryOperatorName ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7235:1: (lv_name_1_0= ruleUnaryOperatorName )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7468:2: ( (lv_name_1_0= ruleUnaryOperatorName ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7469:1: (lv_name_1_0= ruleUnaryOperatorName )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7235:1: (lv_name_1_0= ruleUnaryOperatorName )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7236:3: lv_name_1_0= ruleUnaryOperatorName
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7469:1: (lv_name_1_0= ruleUnaryOperatorName )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7470:3: lv_name_1_0= ruleUnaryOperatorName
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getPrefixedLetExpCSAccess().getNameUnaryOperatorNameParserRuleCall_0_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleUnaryOperatorName_in_rulePrefixedLetExpCS16375);
+                    pushFollow(FollowSets000.FOLLOW_ruleUnaryOperatorName_in_rulePrefixedLetExpCS17781);
                     lv_name_1_0=ruleUnaryOperatorName();
 
                     state._fsp--;
@@ -21390,18 +22585,18 @@
 
                     }
 
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7252:2: ( (lv_ownedRight_2_0= rulePrefixedLetExpCS ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7253:1: (lv_ownedRight_2_0= rulePrefixedLetExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7486:2: ( (lv_ownedRight_2_0= rulePrefixedLetExpCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7487:1: (lv_ownedRight_2_0= rulePrefixedLetExpCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7253:1: (lv_ownedRight_2_0= rulePrefixedLetExpCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7254:3: lv_ownedRight_2_0= rulePrefixedLetExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7487:1: (lv_ownedRight_2_0= rulePrefixedLetExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7488:3: lv_ownedRight_2_0= rulePrefixedLetExpCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getPrefixedLetExpCSAccess().getOwnedRightPrefixedLetExpCSParserRuleCall_0_2_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_rulePrefixedLetExpCS_in_rulePrefixedLetExpCS16396);
+                    pushFollow(FollowSets000.FOLLOW_rulePrefixedLetExpCS_in_rulePrefixedLetExpCS17802);
                     lv_ownedRight_2_0=rulePrefixedLetExpCS();
 
                     state._fsp--;
@@ -21432,7 +22627,7 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7272:2: this_LetExpCS_3= ruleLetExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7506:2: this_LetExpCS_3= ruleLetExpCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -21444,7 +22639,7 @@
                               newCompositeNode(grammarAccess.getPrefixedLetExpCSAccess().getLetExpCSParserRuleCall_1()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleLetExpCS_in_rulePrefixedLetExpCS16428);
+                    pushFollow(FollowSets000.FOLLOW_ruleLetExpCS_in_rulePrefixedLetExpCS17834);
                     this_LetExpCS_3=ruleLetExpCS();
 
                     state._fsp--;
@@ -21481,7 +22676,7 @@
 
 
     // $ANTLR start "entryRulePrefixedPrimaryExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7291:1: entryRulePrefixedPrimaryExpCS returns [EObject current=null] : iv_rulePrefixedPrimaryExpCS= rulePrefixedPrimaryExpCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7525:1: entryRulePrefixedPrimaryExpCS returns [EObject current=null] : iv_rulePrefixedPrimaryExpCS= rulePrefixedPrimaryExpCS EOF ;
     public final EObject entryRulePrefixedPrimaryExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -21489,13 +22684,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7292:2: (iv_rulePrefixedPrimaryExpCS= rulePrefixedPrimaryExpCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7293:2: iv_rulePrefixedPrimaryExpCS= rulePrefixedPrimaryExpCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7526:2: (iv_rulePrefixedPrimaryExpCS= rulePrefixedPrimaryExpCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7527:2: iv_rulePrefixedPrimaryExpCS= rulePrefixedPrimaryExpCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getPrefixedPrimaryExpCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_rulePrefixedPrimaryExpCS_in_entryRulePrefixedPrimaryExpCS16463);
+            pushFollow(FollowSets000.FOLLOW_rulePrefixedPrimaryExpCS_in_entryRulePrefixedPrimaryExpCS17869);
             iv_rulePrefixedPrimaryExpCS=rulePrefixedPrimaryExpCS();
 
             state._fsp--;
@@ -21503,7 +22698,7 @@
             if ( state.backtracking==0 ) {
                current =iv_rulePrefixedPrimaryExpCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrefixedPrimaryExpCS16473); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrefixedPrimaryExpCS17879); if (state.failed) return current;
 
             }
 
@@ -21521,7 +22716,7 @@
 
 
     // $ANTLR start "rulePrefixedPrimaryExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7300:1: rulePrefixedPrimaryExpCS returns [EObject current=null] : ( ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) ) ) | this_PrimaryExpCS_3= rulePrimaryExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7534:1: rulePrefixedPrimaryExpCS returns [EObject current=null] : ( ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) ) ) | this_PrimaryExpCS_3= rulePrimaryExpCS ) ;
     public final EObject rulePrefixedPrimaryExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -21535,35 +22730,35 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7303:28: ( ( ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) ) ) | this_PrimaryExpCS_3= rulePrimaryExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7304:1: ( ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) ) ) | this_PrimaryExpCS_3= rulePrimaryExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7537:28: ( ( ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) ) ) | this_PrimaryExpCS_3= rulePrimaryExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7538:1: ( ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) ) ) | this_PrimaryExpCS_3= rulePrimaryExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7304:1: ( ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) ) ) | this_PrimaryExpCS_3= rulePrimaryExpCS )
-            int alt170=2;
-            int LA170_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7538:1: ( ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) ) ) | this_PrimaryExpCS_3= rulePrimaryExpCS )
+            int alt208=2;
+            int LA208_0 = input.LA(1);
 
-            if ( (LA170_0==18||LA170_0==83) ) {
-                alt170=1;
+            if ( (LA208_0==18||LA208_0==83) ) {
+                alt208=1;
             }
-            else if ( ((LA170_0>=RULE_INT && LA170_0<=RULE_SINGLE_QUOTED_STRING)||(LA170_0>=RULE_SIMPLE_ID && LA170_0<=RULE_ESCAPED_ID)||LA170_0==17||(LA170_0>=19 && LA170_0<=55)||LA170_0==59||LA170_0==72||(LA170_0>=74 && LA170_0<=75)||LA170_0==80||LA170_0==84||LA170_0==98||(LA170_0>=100 && LA170_0<=112)||(LA170_0>=115 && LA170_0<=119)||LA170_0==126||LA170_0==132) ) {
-                alt170=2;
+            else if ( ((LA208_0>=RULE_INT && LA208_0<=RULE_SINGLE_QUOTED_STRING)||(LA208_0>=RULE_SIMPLE_ID && LA208_0<=RULE_ESCAPED_ID)||LA208_0==17||(LA208_0>=19 && LA208_0<=55)||LA208_0==59||LA208_0==72||(LA208_0>=74 && LA208_0<=75)||LA208_0==80||LA208_0==84||LA208_0==98||(LA208_0>=100 && LA208_0<=112)||(LA208_0>=115 && LA208_0<=119)||LA208_0==126||LA208_0==132) ) {
+                alt208=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 170, 0, input);
+                    new NoViableAltException("", 208, 0, input);
 
                 throw nvae;
             }
-            switch (alt170) {
+            switch (alt208) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7304:2: ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7538:2: ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7304:2: ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7304:3: () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7538:2: ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7538:3: () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7304:3: ()
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7305:2: 
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7538:3: ()
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7539:2: 
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -21580,18 +22775,18 @@
 
                     }
 
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7313:2: ( (lv_name_1_0= ruleUnaryOperatorName ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7314:1: (lv_name_1_0= ruleUnaryOperatorName )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7547:2: ( (lv_name_1_0= ruleUnaryOperatorName ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7548:1: (lv_name_1_0= ruleUnaryOperatorName )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7314:1: (lv_name_1_0= ruleUnaryOperatorName )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7315:3: lv_name_1_0= ruleUnaryOperatorName
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7548:1: (lv_name_1_0= ruleUnaryOperatorName )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7549:3: lv_name_1_0= ruleUnaryOperatorName
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getPrefixedPrimaryExpCSAccess().getNameUnaryOperatorNameParserRuleCall_0_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleUnaryOperatorName_in_rulePrefixedPrimaryExpCS16532);
+                    pushFollow(FollowSets000.FOLLOW_ruleUnaryOperatorName_in_rulePrefixedPrimaryExpCS17938);
                     lv_name_1_0=ruleUnaryOperatorName();
 
                     state._fsp--;
@@ -21615,18 +22810,18 @@
 
                     }
 
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7331:2: ( (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7332:1: (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7565:2: ( (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7566:1: (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7332:1: (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7333:3: lv_ownedRight_2_0= rulePrefixedPrimaryExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7566:1: (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7567:3: lv_ownedRight_2_0= rulePrefixedPrimaryExpCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getPrefixedPrimaryExpCSAccess().getOwnedRightPrefixedPrimaryExpCSParserRuleCall_0_2_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_rulePrefixedPrimaryExpCS_in_rulePrefixedPrimaryExpCS16553);
+                    pushFollow(FollowSets000.FOLLOW_rulePrefixedPrimaryExpCS_in_rulePrefixedPrimaryExpCS17959);
                     lv_ownedRight_2_0=rulePrefixedPrimaryExpCS();
 
                     state._fsp--;
@@ -21657,7 +22852,7 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7351:2: this_PrimaryExpCS_3= rulePrimaryExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7585:2: this_PrimaryExpCS_3= rulePrimaryExpCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -21669,7 +22864,7 @@
                               newCompositeNode(grammarAccess.getPrefixedPrimaryExpCSAccess().getPrimaryExpCSParserRuleCall_1()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_rulePrimaryExpCS_in_rulePrefixedPrimaryExpCS16585);
+                    pushFollow(FollowSets000.FOLLOW_rulePrimaryExpCS_in_rulePrefixedPrimaryExpCS17991);
                     this_PrimaryExpCS_3=rulePrimaryExpCS();
 
                     state._fsp--;
@@ -21706,7 +22901,7 @@
 
 
     // $ANTLR start "entryRulePrimaryExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7370:1: entryRulePrimaryExpCS returns [EObject current=null] : iv_rulePrimaryExpCS= rulePrimaryExpCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7604:1: entryRulePrimaryExpCS returns [EObject current=null] : iv_rulePrimaryExpCS= rulePrimaryExpCS EOF ;
     public final EObject entryRulePrimaryExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -21714,13 +22909,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7371:2: (iv_rulePrimaryExpCS= rulePrimaryExpCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7372:2: iv_rulePrimaryExpCS= rulePrimaryExpCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7605:2: (iv_rulePrimaryExpCS= rulePrimaryExpCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7606:2: iv_rulePrimaryExpCS= rulePrimaryExpCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getPrimaryExpCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_rulePrimaryExpCS_in_entryRulePrimaryExpCS16620);
+            pushFollow(FollowSets000.FOLLOW_rulePrimaryExpCS_in_entryRulePrimaryExpCS18026);
             iv_rulePrimaryExpCS=rulePrimaryExpCS();
 
             state._fsp--;
@@ -21728,7 +22923,7 @@
             if ( state.backtracking==0 ) {
                current =iv_rulePrimaryExpCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrimaryExpCS16630); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrimaryExpCS18036); if (state.failed) return current;
 
             }
 
@@ -21746,7 +22941,7 @@
 
 
     // $ANTLR start "rulePrimaryExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7379:1: rulePrimaryExpCS returns [EObject current=null] : (this_NestedExpCS_0= ruleNestedExpCS | this_IfExpCS_1= ruleIfExpCS | this_SelfExpCS_2= ruleSelfExpCS | this_PrimitiveLiteralExpCS_3= rulePrimitiveLiteralExpCS | this_TupleLiteralExpCS_4= ruleTupleLiteralExpCS | this_CollectionLiteralExpCS_5= ruleCollectionLiteralExpCS | this_LambdaLiteralExpCS_6= ruleLambdaLiteralExpCS | this_TypeLiteralExpCS_7= ruleTypeLiteralExpCS | this_NameExpCS_8= ruleNameExpCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7613:1: rulePrimaryExpCS returns [EObject current=null] : (this_NestedExpCS_0= ruleNestedExpCS | this_IfExpCS_1= ruleIfExpCS | this_SelfExpCS_2= ruleSelfExpCS | this_PrimitiveLiteralExpCS_3= rulePrimitiveLiteralExpCS | this_TupleLiteralExpCS_4= ruleTupleLiteralExpCS | this_CollectionLiteralExpCS_5= ruleCollectionLiteralExpCS | this_LambdaLiteralExpCS_6= ruleLambdaLiteralExpCS | this_TypeLiteralExpCS_7= ruleTypeLiteralExpCS | this_NameExpCS_8= ruleNameExpCS ) ;
     public final EObject rulePrimaryExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -21772,15 +22967,15 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7382:28: ( (this_NestedExpCS_0= ruleNestedExpCS | this_IfExpCS_1= ruleIfExpCS | this_SelfExpCS_2= ruleSelfExpCS | this_PrimitiveLiteralExpCS_3= rulePrimitiveLiteralExpCS | this_TupleLiteralExpCS_4= ruleTupleLiteralExpCS | this_CollectionLiteralExpCS_5= ruleCollectionLiteralExpCS | this_LambdaLiteralExpCS_6= ruleLambdaLiteralExpCS | this_TypeLiteralExpCS_7= ruleTypeLiteralExpCS | this_NameExpCS_8= ruleNameExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7383:1: (this_NestedExpCS_0= ruleNestedExpCS | this_IfExpCS_1= ruleIfExpCS | this_SelfExpCS_2= ruleSelfExpCS | this_PrimitiveLiteralExpCS_3= rulePrimitiveLiteralExpCS | this_TupleLiteralExpCS_4= ruleTupleLiteralExpCS | this_CollectionLiteralExpCS_5= ruleCollectionLiteralExpCS | this_LambdaLiteralExpCS_6= ruleLambdaLiteralExpCS | this_TypeLiteralExpCS_7= ruleTypeLiteralExpCS | this_NameExpCS_8= ruleNameExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7616:28: ( (this_NestedExpCS_0= ruleNestedExpCS | this_IfExpCS_1= ruleIfExpCS | this_SelfExpCS_2= ruleSelfExpCS | this_PrimitiveLiteralExpCS_3= rulePrimitiveLiteralExpCS | this_TupleLiteralExpCS_4= ruleTupleLiteralExpCS | this_CollectionLiteralExpCS_5= ruleCollectionLiteralExpCS | this_LambdaLiteralExpCS_6= ruleLambdaLiteralExpCS | this_TypeLiteralExpCS_7= ruleTypeLiteralExpCS | this_NameExpCS_8= ruleNameExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7617:1: (this_NestedExpCS_0= ruleNestedExpCS | this_IfExpCS_1= ruleIfExpCS | this_SelfExpCS_2= ruleSelfExpCS | this_PrimitiveLiteralExpCS_3= rulePrimitiveLiteralExpCS | this_TupleLiteralExpCS_4= ruleTupleLiteralExpCS | this_CollectionLiteralExpCS_5= ruleCollectionLiteralExpCS | this_LambdaLiteralExpCS_6= ruleLambdaLiteralExpCS | this_TypeLiteralExpCS_7= ruleTypeLiteralExpCS | this_NameExpCS_8= ruleNameExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7383:1: (this_NestedExpCS_0= ruleNestedExpCS | this_IfExpCS_1= ruleIfExpCS | this_SelfExpCS_2= ruleSelfExpCS | this_PrimitiveLiteralExpCS_3= rulePrimitiveLiteralExpCS | this_TupleLiteralExpCS_4= ruleTupleLiteralExpCS | this_CollectionLiteralExpCS_5= ruleCollectionLiteralExpCS | this_LambdaLiteralExpCS_6= ruleLambdaLiteralExpCS | this_TypeLiteralExpCS_7= ruleTypeLiteralExpCS | this_NameExpCS_8= ruleNameExpCS )
-            int alt171=9;
-            alt171 = dfa171.predict(input);
-            switch (alt171) {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7617:1: (this_NestedExpCS_0= ruleNestedExpCS | this_IfExpCS_1= ruleIfExpCS | this_SelfExpCS_2= ruleSelfExpCS | this_PrimitiveLiteralExpCS_3= rulePrimitiveLiteralExpCS | this_TupleLiteralExpCS_4= ruleTupleLiteralExpCS | this_CollectionLiteralExpCS_5= ruleCollectionLiteralExpCS | this_LambdaLiteralExpCS_6= ruleLambdaLiteralExpCS | this_TypeLiteralExpCS_7= ruleTypeLiteralExpCS | this_NameExpCS_8= ruleNameExpCS )
+            int alt209=9;
+            alt209 = dfa209.predict(input);
+            switch (alt209) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7384:2: this_NestedExpCS_0= ruleNestedExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7618:2: this_NestedExpCS_0= ruleNestedExpCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -21792,7 +22987,7 @@
                               newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getNestedExpCSParserRuleCall_0()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleNestedExpCS_in_rulePrimaryExpCS16680);
+                    pushFollow(FollowSets000.FOLLOW_ruleNestedExpCS_in_rulePrimaryExpCS18086);
                     this_NestedExpCS_0=ruleNestedExpCS();
 
                     state._fsp--;
@@ -21807,7 +23002,7 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7397:2: this_IfExpCS_1= ruleIfExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7631:2: this_IfExpCS_1= ruleIfExpCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -21819,7 +23014,7 @@
                               newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getIfExpCSParserRuleCall_1()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleIfExpCS_in_rulePrimaryExpCS16710);
+                    pushFollow(FollowSets000.FOLLOW_ruleIfExpCS_in_rulePrimaryExpCS18116);
                     this_IfExpCS_1=ruleIfExpCS();
 
                     state._fsp--;
@@ -21834,7 +23029,7 @@
                     }
                     break;
                 case 3 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7410:2: this_SelfExpCS_2= ruleSelfExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7644:2: this_SelfExpCS_2= ruleSelfExpCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -21846,7 +23041,7 @@
                               newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getSelfExpCSParserRuleCall_2()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleSelfExpCS_in_rulePrimaryExpCS16740);
+                    pushFollow(FollowSets000.FOLLOW_ruleSelfExpCS_in_rulePrimaryExpCS18146);
                     this_SelfExpCS_2=ruleSelfExpCS();
 
                     state._fsp--;
@@ -21861,7 +23056,7 @@
                     }
                     break;
                 case 4 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7423:2: this_PrimitiveLiteralExpCS_3= rulePrimitiveLiteralExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7657:2: this_PrimitiveLiteralExpCS_3= rulePrimitiveLiteralExpCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -21873,7 +23068,7 @@
                               newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getPrimitiveLiteralExpCSParserRuleCall_3()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_rulePrimitiveLiteralExpCS_in_rulePrimaryExpCS16770);
+                    pushFollow(FollowSets000.FOLLOW_rulePrimitiveLiteralExpCS_in_rulePrimaryExpCS18176);
                     this_PrimitiveLiteralExpCS_3=rulePrimitiveLiteralExpCS();
 
                     state._fsp--;
@@ -21888,7 +23083,7 @@
                     }
                     break;
                 case 5 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7436:2: this_TupleLiteralExpCS_4= ruleTupleLiteralExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7670:2: this_TupleLiteralExpCS_4= ruleTupleLiteralExpCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -21900,7 +23095,7 @@
                               newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getTupleLiteralExpCSParserRuleCall_4()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTupleLiteralExpCS_in_rulePrimaryExpCS16800);
+                    pushFollow(FollowSets000.FOLLOW_ruleTupleLiteralExpCS_in_rulePrimaryExpCS18206);
                     this_TupleLiteralExpCS_4=ruleTupleLiteralExpCS();
 
                     state._fsp--;
@@ -21915,7 +23110,7 @@
                     }
                     break;
                 case 6 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7449:2: this_CollectionLiteralExpCS_5= ruleCollectionLiteralExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7683:2: this_CollectionLiteralExpCS_5= ruleCollectionLiteralExpCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -21927,7 +23122,7 @@
                               newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getCollectionLiteralExpCSParserRuleCall_5()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleCollectionLiteralExpCS_in_rulePrimaryExpCS16830);
+                    pushFollow(FollowSets000.FOLLOW_ruleCollectionLiteralExpCS_in_rulePrimaryExpCS18236);
                     this_CollectionLiteralExpCS_5=ruleCollectionLiteralExpCS();
 
                     state._fsp--;
@@ -21942,7 +23137,7 @@
                     }
                     break;
                 case 7 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7462:2: this_LambdaLiteralExpCS_6= ruleLambdaLiteralExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7696:2: this_LambdaLiteralExpCS_6= ruleLambdaLiteralExpCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -21954,7 +23149,7 @@
                               newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getLambdaLiteralExpCSParserRuleCall_6()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleLambdaLiteralExpCS_in_rulePrimaryExpCS16860);
+                    pushFollow(FollowSets000.FOLLOW_ruleLambdaLiteralExpCS_in_rulePrimaryExpCS18266);
                     this_LambdaLiteralExpCS_6=ruleLambdaLiteralExpCS();
 
                     state._fsp--;
@@ -21969,7 +23164,7 @@
                     }
                     break;
                 case 8 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7475:2: this_TypeLiteralExpCS_7= ruleTypeLiteralExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7709:2: this_TypeLiteralExpCS_7= ruleTypeLiteralExpCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -21981,7 +23176,7 @@
                               newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getTypeLiteralExpCSParserRuleCall_7()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralExpCS_in_rulePrimaryExpCS16890);
+                    pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralExpCS_in_rulePrimaryExpCS18296);
                     this_TypeLiteralExpCS_7=ruleTypeLiteralExpCS();
 
                     state._fsp--;
@@ -21996,7 +23191,7 @@
                     }
                     break;
                 case 9 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7488:2: this_NameExpCS_8= ruleNameExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7722:2: this_NameExpCS_8= ruleNameExpCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -22008,7 +23203,7 @@
                               newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getNameExpCSParserRuleCall_8()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleNameExpCS_in_rulePrimaryExpCS16920);
+                    pushFollow(FollowSets000.FOLLOW_ruleNameExpCS_in_rulePrimaryExpCS18326);
                     this_NameExpCS_8=ruleNameExpCS();
 
                     state._fsp--;
@@ -22045,7 +23240,7 @@
 
 
     // $ANTLR start "entryRuleNameExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7507:1: entryRuleNameExpCS returns [EObject current=null] : iv_ruleNameExpCS= ruleNameExpCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7741:1: entryRuleNameExpCS returns [EObject current=null] : iv_ruleNameExpCS= ruleNameExpCS EOF ;
     public final EObject entryRuleNameExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -22053,13 +23248,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7508:2: (iv_ruleNameExpCS= ruleNameExpCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7509:2: iv_ruleNameExpCS= ruleNameExpCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7742:2: (iv_ruleNameExpCS= ruleNameExpCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7743:2: iv_ruleNameExpCS= ruleNameExpCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getNameExpCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleNameExpCS_in_entryRuleNameExpCS16955);
+            pushFollow(FollowSets000.FOLLOW_ruleNameExpCS_in_entryRuleNameExpCS18361);
             iv_ruleNameExpCS=ruleNameExpCS();
 
             state._fsp--;
@@ -22067,7 +23262,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleNameExpCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNameExpCS16965); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNameExpCS18371); if (state.failed) return current;
 
             }
 
@@ -22085,7 +23280,7 @@
 
 
     // $ANTLR start "ruleNameExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7516:1: ruleNameExpCS returns [EObject current=null] : ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS ) )* ( (lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS ) )? ( (lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS ) )? ( ( (lv_isPre_4_0= '@' ) ) otherlv_5= 'pre' )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7750:1: ruleNameExpCS returns [EObject current=null] : ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS ) )* ( (lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS ) )? ( (lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS ) )? ( ( (lv_isPre_4_0= '@' ) ) otherlv_5= 'pre' )? ) ;
     public final EObject ruleNameExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -22103,24 +23298,24 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7519:28: ( ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS ) )* ( (lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS ) )? ( (lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS ) )? ( ( (lv_isPre_4_0= '@' ) ) otherlv_5= 'pre' )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7520:1: ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS ) )* ( (lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS ) )? ( (lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS ) )? ( ( (lv_isPre_4_0= '@' ) ) otherlv_5= 'pre' )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7753:28: ( ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS ) )* ( (lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS ) )? ( (lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS ) )? ( ( (lv_isPre_4_0= '@' ) ) otherlv_5= 'pre' )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7754:1: ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS ) )* ( (lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS ) )? ( (lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS ) )? ( ( (lv_isPre_4_0= '@' ) ) otherlv_5= 'pre' )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7520:1: ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS ) )* ( (lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS ) )? ( (lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS ) )? ( ( (lv_isPre_4_0= '@' ) ) otherlv_5= 'pre' )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7520:2: ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS ) )* ( (lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS ) )? ( (lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS ) )? ( ( (lv_isPre_4_0= '@' ) ) otherlv_5= 'pre' )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7754:1: ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS ) )* ( (lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS ) )? ( (lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS ) )? ( ( (lv_isPre_4_0= '@' ) ) otherlv_5= 'pre' )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7754:2: ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS ) )* ( (lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS ) )? ( (lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS ) )? ( ( (lv_isPre_4_0= '@' ) ) otherlv_5= 'pre' )?
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7520:2: ( (lv_ownedPathName_0_0= rulePathNameCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7521:1: (lv_ownedPathName_0_0= rulePathNameCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7754:2: ( (lv_ownedPathName_0_0= rulePathNameCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7755:1: (lv_ownedPathName_0_0= rulePathNameCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7521:1: (lv_ownedPathName_0_0= rulePathNameCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7522:3: lv_ownedPathName_0_0= rulePathNameCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7755:1: (lv_ownedPathName_0_0= rulePathNameCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7756:3: lv_ownedPathName_0_0= rulePathNameCS
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getNameExpCSAccess().getOwnedPathNamePathNameCSParserRuleCall_0_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_rulePathNameCS_in_ruleNameExpCS17011);
+            pushFollow(FollowSets000.FOLLOW_rulePathNameCS_in_ruleNameExpCS18417);
             lv_ownedPathName_0_0=rulePathNameCS();
 
             state._fsp--;
@@ -22144,30 +23339,30 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7538:2: ( (lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS ) )*
-            loop172:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7772:2: ( (lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS ) )*
+            loop210:
             do {
-                int alt172=2;
-                int LA172_0 = input.LA(1);
+                int alt210=2;
+                int LA210_0 = input.LA(1);
 
-                if ( (LA172_0==122) ) {
-                    alt172=1;
+                if ( (LA210_0==122) ) {
+                    alt210=1;
                 }
 
 
-                switch (alt172) {
+                switch (alt210) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7539:1: (lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7773:1: (lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS )
             	    {
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7539:1: (lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS )
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7540:3: lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7773:1: (lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7774:3: lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS
             	    {
             	    if ( state.backtracking==0 ) {
             	       
             	      	        newCompositeNode(grammarAccess.getNameExpCSAccess().getOwnedSquareBracketedClausesSquareBracketedClauseCSParserRuleCall_1_0()); 
             	      	    
             	    }
-            	    pushFollow(FollowSets000.FOLLOW_ruleSquareBracketedClauseCS_in_ruleNameExpCS17032);
+            	    pushFollow(FollowSets000.FOLLOW_ruleSquareBracketedClauseCS_in_ruleNameExpCS18438);
             	    lv_ownedSquareBracketedClauses_1_0=ruleSquareBracketedClauseCS();
 
             	    state._fsp--;
@@ -22193,30 +23388,30 @@
             	    break;
 
             	default :
-            	    break loop172;
+            	    break loop210;
                 }
             } while (true);
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7556:3: ( (lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS ) )?
-            int alt173=2;
-            int LA173_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7790:3: ( (lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS ) )?
+            int alt211=2;
+            int LA211_0 = input.LA(1);
 
-            if ( (LA173_0==55) ) {
-                alt173=1;
+            if ( (LA211_0==55) ) {
+                alt211=1;
             }
-            switch (alt173) {
+            switch (alt211) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7557:1: (lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7791:1: (lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7557:1: (lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7558:3: lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7791:1: (lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7792:3: lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getNameExpCSAccess().getOwnedRoundBracketedClauseRoundBracketedClauseCSParserRuleCall_2_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleRoundBracketedClauseCS_in_ruleNameExpCS17054);
+                    pushFollow(FollowSets000.FOLLOW_ruleRoundBracketedClauseCS_in_ruleNameExpCS18460);
                     lv_ownedRoundBracketedClause_2_0=ruleRoundBracketedClauseCS();
 
                     state._fsp--;
@@ -22243,26 +23438,26 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7574:3: ( (lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS ) )?
-            int alt174=2;
-            int LA174_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7808:3: ( (lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS ) )?
+            int alt212=2;
+            int LA212_0 = input.LA(1);
 
-            if ( (LA174_0==61) ) {
-                alt174=1;
+            if ( (LA212_0==61) ) {
+                alt212=1;
             }
-            switch (alt174) {
+            switch (alt212) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7575:1: (lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7809:1: (lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7575:1: (lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7576:3: lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7809:1: (lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7810:3: lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getNameExpCSAccess().getOwnedCurlyBracketedClauseCurlyBracketedClauseCSParserRuleCall_3_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleCurlyBracketedClauseCS_in_ruleNameExpCS17076);
+                    pushFollow(FollowSets000.FOLLOW_ruleCurlyBracketedClauseCS_in_ruleNameExpCS18482);
                     lv_ownedCurlyBracketedClause_3_0=ruleCurlyBracketedClauseCS();
 
                     state._fsp--;
@@ -22289,24 +23484,24 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7592:3: ( ( (lv_isPre_4_0= '@' ) ) otherlv_5= 'pre' )?
-            int alt175=2;
-            int LA175_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7826:3: ( ( (lv_isPre_4_0= '@' ) ) otherlv_5= 'pre' )?
+            int alt213=2;
+            int LA213_0 = input.LA(1);
 
-            if ( (LA175_0==120) ) {
-                alt175=1;
+            if ( (LA213_0==120) ) {
+                alt213=1;
             }
-            switch (alt175) {
+            switch (alt213) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7592:4: ( (lv_isPre_4_0= '@' ) ) otherlv_5= 'pre'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7826:4: ( (lv_isPre_4_0= '@' ) ) otherlv_5= 'pre'
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7592:4: ( (lv_isPre_4_0= '@' ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7593:1: (lv_isPre_4_0= '@' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7826:4: ( (lv_isPre_4_0= '@' ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7827:1: (lv_isPre_4_0= '@' )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7593:1: (lv_isPre_4_0= '@' )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7594:3: lv_isPre_4_0= '@'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7827:1: (lv_isPre_4_0= '@' )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7828:3: lv_isPre_4_0= '@'
                     {
-                    lv_isPre_4_0=(Token)match(input,120,FollowSets000.FOLLOW_120_in_ruleNameExpCS17096); if (state.failed) return current;
+                    lv_isPre_4_0=(Token)match(input,120,FollowSets000.FOLLOW_120_in_ruleNameExpCS18502); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               newLeafNode(lv_isPre_4_0, grammarAccess.getNameExpCSAccess().getIsPreCommercialAtKeyword_4_0_0());
@@ -22326,7 +23521,7 @@
 
                     }
 
-                    otherlv_5=(Token)match(input,121,FollowSets000.FOLLOW_121_in_ruleNameExpCS17121); if (state.failed) return current;
+                    otherlv_5=(Token)match(input,121,FollowSets000.FOLLOW_121_in_ruleNameExpCS18527); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_5, grammarAccess.getNameExpCSAccess().getPreKeyword_4_1());
@@ -22361,7 +23556,7 @@
 
 
     // $ANTLR start "entryRuleCurlyBracketedClauseCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7619:1: entryRuleCurlyBracketedClauseCS returns [EObject current=null] : iv_ruleCurlyBracketedClauseCS= ruleCurlyBracketedClauseCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7853:1: entryRuleCurlyBracketedClauseCS returns [EObject current=null] : iv_ruleCurlyBracketedClauseCS= ruleCurlyBracketedClauseCS EOF ;
     public final EObject entryRuleCurlyBracketedClauseCS() throws RecognitionException {
         EObject current = null;
 
@@ -22369,13 +23564,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7620:2: (iv_ruleCurlyBracketedClauseCS= ruleCurlyBracketedClauseCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7621:2: iv_ruleCurlyBracketedClauseCS= ruleCurlyBracketedClauseCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7854:2: (iv_ruleCurlyBracketedClauseCS= ruleCurlyBracketedClauseCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7855:2: iv_ruleCurlyBracketedClauseCS= ruleCurlyBracketedClauseCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getCurlyBracketedClauseCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleCurlyBracketedClauseCS_in_entryRuleCurlyBracketedClauseCS17159);
+            pushFollow(FollowSets000.FOLLOW_ruleCurlyBracketedClauseCS_in_entryRuleCurlyBracketedClauseCS18565);
             iv_ruleCurlyBracketedClauseCS=ruleCurlyBracketedClauseCS();
 
             state._fsp--;
@@ -22383,7 +23578,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleCurlyBracketedClauseCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCurlyBracketedClauseCS17169); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCurlyBracketedClauseCS18575); if (state.failed) return current;
 
             }
 
@@ -22401,7 +23596,7 @@
 
 
     // $ANTLR start "ruleCurlyBracketedClauseCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7628:1: ruleCurlyBracketedClauseCS returns [EObject current=null] : ( () otherlv_1= '{' ( ( ( (lv_ownedParts_2_0= ruleConstructorPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleConstructorPartCS ) ) )* )? | ( (lv_value_5_0= ruleStringLiteral ) ) ) otherlv_6= '}' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7862:1: ruleCurlyBracketedClauseCS returns [EObject current=null] : ( () otherlv_1= '{' ( ( ( (lv_ownedParts_2_0= ruleConstructorPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleConstructorPartCS ) ) )* )? | ( (lv_value_5_0= ruleStringLiteral ) ) ) otherlv_6= '}' ) ;
     public final EObject ruleCurlyBracketedClauseCS() throws RecognitionException {
         EObject current = null;
 
@@ -22418,14 +23613,14 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7631:28: ( ( () otherlv_1= '{' ( ( ( (lv_ownedParts_2_0= ruleConstructorPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleConstructorPartCS ) ) )* )? | ( (lv_value_5_0= ruleStringLiteral ) ) ) otherlv_6= '}' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7632:1: ( () otherlv_1= '{' ( ( ( (lv_ownedParts_2_0= ruleConstructorPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleConstructorPartCS ) ) )* )? | ( (lv_value_5_0= ruleStringLiteral ) ) ) otherlv_6= '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7865:28: ( ( () otherlv_1= '{' ( ( ( (lv_ownedParts_2_0= ruleConstructorPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleConstructorPartCS ) ) )* )? | ( (lv_value_5_0= ruleStringLiteral ) ) ) otherlv_6= '}' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7866:1: ( () otherlv_1= '{' ( ( ( (lv_ownedParts_2_0= ruleConstructorPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleConstructorPartCS ) ) )* )? | ( (lv_value_5_0= ruleStringLiteral ) ) ) otherlv_6= '}' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7632:1: ( () otherlv_1= '{' ( ( ( (lv_ownedParts_2_0= ruleConstructorPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleConstructorPartCS ) ) )* )? | ( (lv_value_5_0= ruleStringLiteral ) ) ) otherlv_6= '}' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7632:2: () otherlv_1= '{' ( ( ( (lv_ownedParts_2_0= ruleConstructorPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleConstructorPartCS ) ) )* )? | ( (lv_value_5_0= ruleStringLiteral ) ) ) otherlv_6= '}'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7866:1: ( () otherlv_1= '{' ( ( ( (lv_ownedParts_2_0= ruleConstructorPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleConstructorPartCS ) ) )* )? | ( (lv_value_5_0= ruleStringLiteral ) ) ) otherlv_6= '}' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7866:2: () otherlv_1= '{' ( ( ( (lv_ownedParts_2_0= ruleConstructorPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleConstructorPartCS ) ) )* )? | ( (lv_value_5_0= ruleStringLiteral ) ) ) otherlv_6= '}'
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7632:2: ()
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7633:2: 
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7866:2: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7867:2: 
             {
             if ( state.backtracking==0 ) {
                
@@ -22442,56 +23637,56 @@
 
             }
 
-            otherlv_1=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleCurlyBracketedClauseCS17218); if (state.failed) return current;
+            otherlv_1=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleCurlyBracketedClauseCS18624); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_1, grammarAccess.getCurlyBracketedClauseCSAccess().getLeftCurlyBracketKeyword_1());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7645:1: ( ( ( (lv_ownedParts_2_0= ruleConstructorPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleConstructorPartCS ) ) )* )? | ( (lv_value_5_0= ruleStringLiteral ) ) )
-            int alt178=2;
-            int LA178_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7879:1: ( ( ( (lv_ownedParts_2_0= ruleConstructorPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleConstructorPartCS ) ) )* )? | ( (lv_value_5_0= ruleStringLiteral ) ) )
+            int alt216=2;
+            int LA216_0 = input.LA(1);
 
-            if ( ((LA178_0>=RULE_SIMPLE_ID && LA178_0<=RULE_ESCAPED_ID)||LA178_0==17||(LA178_0>=19 && LA178_0<=54)||LA178_0==59||LA178_0==62||LA178_0==72||(LA178_0>=74 && LA178_0<=75)||LA178_0==80) ) {
-                alt178=1;
+            if ( ((LA216_0>=RULE_SIMPLE_ID && LA216_0<=RULE_ESCAPED_ID)||LA216_0==17||(LA216_0>=19 && LA216_0<=54)||LA216_0==59||LA216_0==62||LA216_0==72||(LA216_0>=74 && LA216_0<=75)||LA216_0==80) ) {
+                alt216=1;
             }
-            else if ( (LA178_0==RULE_SINGLE_QUOTED_STRING) ) {
-                alt178=2;
+            else if ( (LA216_0==RULE_SINGLE_QUOTED_STRING) ) {
+                alt216=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 178, 0, input);
+                    new NoViableAltException("", 216, 0, input);
 
                 throw nvae;
             }
-            switch (alt178) {
+            switch (alt216) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7645:2: ( ( (lv_ownedParts_2_0= ruleConstructorPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleConstructorPartCS ) ) )* )?
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7879:2: ( ( (lv_ownedParts_2_0= ruleConstructorPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleConstructorPartCS ) ) )* )?
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7645:2: ( ( (lv_ownedParts_2_0= ruleConstructorPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleConstructorPartCS ) ) )* )?
-                    int alt177=2;
-                    int LA177_0 = input.LA(1);
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7879:2: ( ( (lv_ownedParts_2_0= ruleConstructorPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleConstructorPartCS ) ) )* )?
+                    int alt215=2;
+                    int LA215_0 = input.LA(1);
 
-                    if ( ((LA177_0>=RULE_SIMPLE_ID && LA177_0<=RULE_ESCAPED_ID)||LA177_0==17||(LA177_0>=19 && LA177_0<=54)||LA177_0==59||LA177_0==72||(LA177_0>=74 && LA177_0<=75)||LA177_0==80) ) {
-                        alt177=1;
+                    if ( ((LA215_0>=RULE_SIMPLE_ID && LA215_0<=RULE_ESCAPED_ID)||LA215_0==17||(LA215_0>=19 && LA215_0<=54)||LA215_0==59||LA215_0==72||(LA215_0>=74 && LA215_0<=75)||LA215_0==80) ) {
+                        alt215=1;
                     }
-                    switch (alt177) {
+                    switch (alt215) {
                         case 1 :
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7645:3: ( (lv_ownedParts_2_0= ruleConstructorPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleConstructorPartCS ) ) )*
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7879:3: ( (lv_ownedParts_2_0= ruleConstructorPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleConstructorPartCS ) ) )*
                             {
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7645:3: ( (lv_ownedParts_2_0= ruleConstructorPartCS ) )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7646:1: (lv_ownedParts_2_0= ruleConstructorPartCS )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7879:3: ( (lv_ownedParts_2_0= ruleConstructorPartCS ) )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7880:1: (lv_ownedParts_2_0= ruleConstructorPartCS )
                             {
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7646:1: (lv_ownedParts_2_0= ruleConstructorPartCS )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7647:3: lv_ownedParts_2_0= ruleConstructorPartCS
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7880:1: (lv_ownedParts_2_0= ruleConstructorPartCS )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7881:3: lv_ownedParts_2_0= ruleConstructorPartCS
                             {
                             if ( state.backtracking==0 ) {
                                
                               	        newCompositeNode(grammarAccess.getCurlyBracketedClauseCSAccess().getOwnedPartsConstructorPartCSParserRuleCall_2_0_0_0()); 
                               	    
                             }
-                            pushFollow(FollowSets000.FOLLOW_ruleConstructorPartCS_in_ruleCurlyBracketedClauseCS17241);
+                            pushFollow(FollowSets000.FOLLOW_ruleConstructorPartCS_in_ruleCurlyBracketedClauseCS18647);
                             lv_ownedParts_2_0=ruleConstructorPartCS();
 
                             state._fsp--;
@@ -22515,39 +23710,39 @@
 
                             }
 
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7663:2: (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleConstructorPartCS ) ) )*
-                            loop176:
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7897:2: (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleConstructorPartCS ) ) )*
+                            loop214:
                             do {
-                                int alt176=2;
-                                int LA176_0 = input.LA(1);
+                                int alt214=2;
+                                int LA214_0 = input.LA(1);
 
-                                if ( (LA176_0==60) ) {
-                                    alt176=1;
+                                if ( (LA214_0==60) ) {
+                                    alt214=1;
                                 }
 
 
-                                switch (alt176) {
+                                switch (alt214) {
                             	case 1 :
-                            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7663:4: otherlv_3= ',' ( (lv_ownedParts_4_0= ruleConstructorPartCS ) )
+                            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7897:4: otherlv_3= ',' ( (lv_ownedParts_4_0= ruleConstructorPartCS ) )
                             	    {
-                            	    otherlv_3=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleCurlyBracketedClauseCS17254); if (state.failed) return current;
+                            	    otherlv_3=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleCurlyBracketedClauseCS18660); if (state.failed) return current;
                             	    if ( state.backtracking==0 ) {
 
                             	          	newLeafNode(otherlv_3, grammarAccess.getCurlyBracketedClauseCSAccess().getCommaKeyword_2_0_1_0());
                             	          
                             	    }
-                            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7667:1: ( (lv_ownedParts_4_0= ruleConstructorPartCS ) )
-                            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7668:1: (lv_ownedParts_4_0= ruleConstructorPartCS )
+                            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7901:1: ( (lv_ownedParts_4_0= ruleConstructorPartCS ) )
+                            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7902:1: (lv_ownedParts_4_0= ruleConstructorPartCS )
                             	    {
-                            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7668:1: (lv_ownedParts_4_0= ruleConstructorPartCS )
-                            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7669:3: lv_ownedParts_4_0= ruleConstructorPartCS
+                            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7902:1: (lv_ownedParts_4_0= ruleConstructorPartCS )
+                            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7903:3: lv_ownedParts_4_0= ruleConstructorPartCS
                             	    {
                             	    if ( state.backtracking==0 ) {
                             	       
                             	      	        newCompositeNode(grammarAccess.getCurlyBracketedClauseCSAccess().getOwnedPartsConstructorPartCSParserRuleCall_2_0_1_1_0()); 
                             	      	    
                             	    }
-                            	    pushFollow(FollowSets000.FOLLOW_ruleConstructorPartCS_in_ruleCurlyBracketedClauseCS17275);
+                            	    pushFollow(FollowSets000.FOLLOW_ruleConstructorPartCS_in_ruleCurlyBracketedClauseCS18681);
                             	    lv_ownedParts_4_0=ruleConstructorPartCS();
 
                             	    state._fsp--;
@@ -22576,7 +23771,7 @@
                             	    break;
 
                             	default :
-                            	    break loop176;
+                            	    break loop214;
                                 }
                             } while (true);
 
@@ -22590,20 +23785,20 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7686:6: ( (lv_value_5_0= ruleStringLiteral ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7920:6: ( (lv_value_5_0= ruleStringLiteral ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7686:6: ( (lv_value_5_0= ruleStringLiteral ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7687:1: (lv_value_5_0= ruleStringLiteral )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7920:6: ( (lv_value_5_0= ruleStringLiteral ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7921:1: (lv_value_5_0= ruleStringLiteral )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7687:1: (lv_value_5_0= ruleStringLiteral )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7688:3: lv_value_5_0= ruleStringLiteral
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7921:1: (lv_value_5_0= ruleStringLiteral )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7922:3: lv_value_5_0= ruleStringLiteral
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getCurlyBracketedClauseCSAccess().getValueStringLiteralParserRuleCall_2_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleStringLiteral_in_ruleCurlyBracketedClauseCS17306);
+                    pushFollow(FollowSets000.FOLLOW_ruleStringLiteral_in_ruleCurlyBracketedClauseCS18712);
                     lv_value_5_0=ruleStringLiteral();
 
                     state._fsp--;
@@ -22633,7 +23828,7 @@
 
             }
 
-            otherlv_6=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleCurlyBracketedClauseCS17319); if (state.failed) return current;
+            otherlv_6=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleCurlyBracketedClauseCS18725); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_6, grammarAccess.getCurlyBracketedClauseCSAccess().getRightCurlyBracketKeyword_3());
@@ -22662,7 +23857,7 @@
 
 
     // $ANTLR start "entryRuleRoundBracketedClauseCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7716:1: entryRuleRoundBracketedClauseCS returns [EObject current=null] : iv_ruleRoundBracketedClauseCS= ruleRoundBracketedClauseCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7950:1: entryRuleRoundBracketedClauseCS returns [EObject current=null] : iv_ruleRoundBracketedClauseCS= ruleRoundBracketedClauseCS EOF ;
     public final EObject entryRuleRoundBracketedClauseCS() throws RecognitionException {
         EObject current = null;
 
@@ -22670,13 +23865,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7717:2: (iv_ruleRoundBracketedClauseCS= ruleRoundBracketedClauseCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7718:2: iv_ruleRoundBracketedClauseCS= ruleRoundBracketedClauseCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7951:2: (iv_ruleRoundBracketedClauseCS= ruleRoundBracketedClauseCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7952:2: iv_ruleRoundBracketedClauseCS= ruleRoundBracketedClauseCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getRoundBracketedClauseCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleRoundBracketedClauseCS_in_entryRuleRoundBracketedClauseCS17355);
+            pushFollow(FollowSets000.FOLLOW_ruleRoundBracketedClauseCS_in_entryRuleRoundBracketedClauseCS18761);
             iv_ruleRoundBracketedClauseCS=ruleRoundBracketedClauseCS();
 
             state._fsp--;
@@ -22684,7 +23879,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleRoundBracketedClauseCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleRoundBracketedClauseCS17365); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleRoundBracketedClauseCS18771); if (state.failed) return current;
 
             }
 
@@ -22702,7 +23897,7 @@
 
 
     // $ANTLR start "ruleRoundBracketedClauseCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7725:1: ruleRoundBracketedClauseCS returns [EObject current=null] : ( () otherlv_1= '(' ( ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) ) ( (lv_ownedArguments_3_0= ruleNavigatingCommaArgCS ) )* ( ( (lv_ownedArguments_4_0= ruleNavigatingSemiArgCS ) ) ( (lv_ownedArguments_5_0= ruleNavigatingCommaArgCS ) )* )? ( ( (lv_ownedArguments_6_0= ruleNavigatingBarArgCS ) ) ( (lv_ownedArguments_7_0= ruleNavigatingCommaArgCS ) )* )* )? otherlv_8= ')' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7959:1: ruleRoundBracketedClauseCS returns [EObject current=null] : ( () otherlv_1= '(' ( ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) ) ( (lv_ownedArguments_3_0= ruleNavigatingCommaArgCS ) )* ( ( (lv_ownedArguments_4_0= ruleNavigatingSemiArgCS ) ) ( (lv_ownedArguments_5_0= ruleNavigatingCommaArgCS ) )* )? ( ( (lv_ownedArguments_6_0= ruleNavigatingBarArgCS ) ) ( (lv_ownedArguments_7_0= ruleNavigatingCommaArgCS ) )* )* )? otherlv_8= ')' ) ;
     public final EObject ruleRoundBracketedClauseCS() throws RecognitionException {
         EObject current = null;
 
@@ -22724,14 +23919,14 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7728:28: ( ( () otherlv_1= '(' ( ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) ) ( (lv_ownedArguments_3_0= ruleNavigatingCommaArgCS ) )* ( ( (lv_ownedArguments_4_0= ruleNavigatingSemiArgCS ) ) ( (lv_ownedArguments_5_0= ruleNavigatingCommaArgCS ) )* )? ( ( (lv_ownedArguments_6_0= ruleNavigatingBarArgCS ) ) ( (lv_ownedArguments_7_0= ruleNavigatingCommaArgCS ) )* )* )? otherlv_8= ')' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7729:1: ( () otherlv_1= '(' ( ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) ) ( (lv_ownedArguments_3_0= ruleNavigatingCommaArgCS ) )* ( ( (lv_ownedArguments_4_0= ruleNavigatingSemiArgCS ) ) ( (lv_ownedArguments_5_0= ruleNavigatingCommaArgCS ) )* )? ( ( (lv_ownedArguments_6_0= ruleNavigatingBarArgCS ) ) ( (lv_ownedArguments_7_0= ruleNavigatingCommaArgCS ) )* )* )? otherlv_8= ')' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7962:28: ( ( () otherlv_1= '(' ( ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) ) ( (lv_ownedArguments_3_0= ruleNavigatingCommaArgCS ) )* ( ( (lv_ownedArguments_4_0= ruleNavigatingSemiArgCS ) ) ( (lv_ownedArguments_5_0= ruleNavigatingCommaArgCS ) )* )? ( ( (lv_ownedArguments_6_0= ruleNavigatingBarArgCS ) ) ( (lv_ownedArguments_7_0= ruleNavigatingCommaArgCS ) )* )* )? otherlv_8= ')' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7963:1: ( () otherlv_1= '(' ( ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) ) ( (lv_ownedArguments_3_0= ruleNavigatingCommaArgCS ) )* ( ( (lv_ownedArguments_4_0= ruleNavigatingSemiArgCS ) ) ( (lv_ownedArguments_5_0= ruleNavigatingCommaArgCS ) )* )? ( ( (lv_ownedArguments_6_0= ruleNavigatingBarArgCS ) ) ( (lv_ownedArguments_7_0= ruleNavigatingCommaArgCS ) )* )* )? otherlv_8= ')' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7729:1: ( () otherlv_1= '(' ( ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) ) ( (lv_ownedArguments_3_0= ruleNavigatingCommaArgCS ) )* ( ( (lv_ownedArguments_4_0= ruleNavigatingSemiArgCS ) ) ( (lv_ownedArguments_5_0= ruleNavigatingCommaArgCS ) )* )? ( ( (lv_ownedArguments_6_0= ruleNavigatingBarArgCS ) ) ( (lv_ownedArguments_7_0= ruleNavigatingCommaArgCS ) )* )* )? otherlv_8= ')' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7729:2: () otherlv_1= '(' ( ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) ) ( (lv_ownedArguments_3_0= ruleNavigatingCommaArgCS ) )* ( ( (lv_ownedArguments_4_0= ruleNavigatingSemiArgCS ) ) ( (lv_ownedArguments_5_0= ruleNavigatingCommaArgCS ) )* )? ( ( (lv_ownedArguments_6_0= ruleNavigatingBarArgCS ) ) ( (lv_ownedArguments_7_0= ruleNavigatingCommaArgCS ) )* )* )? otherlv_8= ')'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7963:1: ( () otherlv_1= '(' ( ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) ) ( (lv_ownedArguments_3_0= ruleNavigatingCommaArgCS ) )* ( ( (lv_ownedArguments_4_0= ruleNavigatingSemiArgCS ) ) ( (lv_ownedArguments_5_0= ruleNavigatingCommaArgCS ) )* )? ( ( (lv_ownedArguments_6_0= ruleNavigatingBarArgCS ) ) ( (lv_ownedArguments_7_0= ruleNavigatingCommaArgCS ) )* )* )? otherlv_8= ')' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7963:2: () otherlv_1= '(' ( ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) ) ( (lv_ownedArguments_3_0= ruleNavigatingCommaArgCS ) )* ( ( (lv_ownedArguments_4_0= ruleNavigatingSemiArgCS ) ) ( (lv_ownedArguments_5_0= ruleNavigatingCommaArgCS ) )* )? ( ( (lv_ownedArguments_6_0= ruleNavigatingBarArgCS ) ) ( (lv_ownedArguments_7_0= ruleNavigatingCommaArgCS ) )* )* )? otherlv_8= ')'
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7729:2: ()
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7730:2: 
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7963:2: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7964:2: 
             {
             if ( state.backtracking==0 ) {
                
@@ -22748,35 +23943,35 @@
 
             }
 
-            otherlv_1=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleRoundBracketedClauseCS17414); if (state.failed) return current;
+            otherlv_1=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleRoundBracketedClauseCS18820); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_1, grammarAccess.getRoundBracketedClauseCSAccess().getLeftParenthesisKeyword_1());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7742:1: ( ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) ) ( (lv_ownedArguments_3_0= ruleNavigatingCommaArgCS ) )* ( ( (lv_ownedArguments_4_0= ruleNavigatingSemiArgCS ) ) ( (lv_ownedArguments_5_0= ruleNavigatingCommaArgCS ) )* )? ( ( (lv_ownedArguments_6_0= ruleNavigatingBarArgCS ) ) ( (lv_ownedArguments_7_0= ruleNavigatingCommaArgCS ) )* )* )?
-            int alt184=2;
-            int LA184_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7976:1: ( ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) ) ( (lv_ownedArguments_3_0= ruleNavigatingCommaArgCS ) )* ( ( (lv_ownedArguments_4_0= ruleNavigatingSemiArgCS ) ) ( (lv_ownedArguments_5_0= ruleNavigatingCommaArgCS ) )* )? ( ( (lv_ownedArguments_6_0= ruleNavigatingBarArgCS ) ) ( (lv_ownedArguments_7_0= ruleNavigatingCommaArgCS ) )* )* )?
+            int alt222=2;
+            int LA222_0 = input.LA(1);
 
-            if ( ((LA184_0>=RULE_INT && LA184_0<=RULE_SINGLE_QUOTED_STRING)||(LA184_0>=RULE_SIMPLE_ID && LA184_0<=RULE_ESCAPED_ID)||(LA184_0>=17 && LA184_0<=55)||LA184_0==57||LA184_0==59||LA184_0==72||(LA184_0>=74 && LA184_0<=75)||LA184_0==80||(LA184_0>=83 && LA184_0<=84)||LA184_0==98||(LA184_0>=100 && LA184_0<=112)||(LA184_0>=115 && LA184_0<=119)||LA184_0==126||(LA184_0>=131 && LA184_0<=132)) ) {
-                alt184=1;
+            if ( ((LA222_0>=RULE_INT && LA222_0<=RULE_SINGLE_QUOTED_STRING)||(LA222_0>=RULE_SIMPLE_ID && LA222_0<=RULE_ESCAPED_ID)||(LA222_0>=17 && LA222_0<=55)||LA222_0==57||LA222_0==59||LA222_0==72||(LA222_0>=74 && LA222_0<=75)||LA222_0==80||(LA222_0>=83 && LA222_0<=84)||LA222_0==98||(LA222_0>=100 && LA222_0<=112)||(LA222_0>=115 && LA222_0<=119)||LA222_0==126||(LA222_0>=131 && LA222_0<=132)) ) {
+                alt222=1;
             }
-            switch (alt184) {
+            switch (alt222) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7742:2: ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) ) ( (lv_ownedArguments_3_0= ruleNavigatingCommaArgCS ) )* ( ( (lv_ownedArguments_4_0= ruleNavigatingSemiArgCS ) ) ( (lv_ownedArguments_5_0= ruleNavigatingCommaArgCS ) )* )? ( ( (lv_ownedArguments_6_0= ruleNavigatingBarArgCS ) ) ( (lv_ownedArguments_7_0= ruleNavigatingCommaArgCS ) )* )*
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7976:2: ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) ) ( (lv_ownedArguments_3_0= ruleNavigatingCommaArgCS ) )* ( ( (lv_ownedArguments_4_0= ruleNavigatingSemiArgCS ) ) ( (lv_ownedArguments_5_0= ruleNavigatingCommaArgCS ) )* )? ( ( (lv_ownedArguments_6_0= ruleNavigatingBarArgCS ) ) ( (lv_ownedArguments_7_0= ruleNavigatingCommaArgCS ) )* )*
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7742:2: ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7743:1: (lv_ownedArguments_2_0= ruleNavigatingArgCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7976:2: ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7977:1: (lv_ownedArguments_2_0= ruleNavigatingArgCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7743:1: (lv_ownedArguments_2_0= ruleNavigatingArgCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7744:3: lv_ownedArguments_2_0= ruleNavigatingArgCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7977:1: (lv_ownedArguments_2_0= ruleNavigatingArgCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7978:3: lv_ownedArguments_2_0= ruleNavigatingArgCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getRoundBracketedClauseCSAccess().getOwnedArgumentsNavigatingArgCSParserRuleCall_2_0_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleNavigatingArgCS_in_ruleRoundBracketedClauseCS17436);
+                    pushFollow(FollowSets000.FOLLOW_ruleNavigatingArgCS_in_ruleRoundBracketedClauseCS18842);
                     lv_ownedArguments_2_0=ruleNavigatingArgCS();
 
                     state._fsp--;
@@ -22800,30 +23995,30 @@
 
                     }
 
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7760:2: ( (lv_ownedArguments_3_0= ruleNavigatingCommaArgCS ) )*
-                    loop179:
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7994:2: ( (lv_ownedArguments_3_0= ruleNavigatingCommaArgCS ) )*
+                    loop217:
                     do {
-                        int alt179=2;
-                        int LA179_0 = input.LA(1);
+                        int alt217=2;
+                        int LA217_0 = input.LA(1);
 
-                        if ( (LA179_0==60) ) {
-                            alt179=1;
+                        if ( (LA217_0==60) ) {
+                            alt217=1;
                         }
 
 
-                        switch (alt179) {
+                        switch (alt217) {
                     	case 1 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7761:1: (lv_ownedArguments_3_0= ruleNavigatingCommaArgCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7995:1: (lv_ownedArguments_3_0= ruleNavigatingCommaArgCS )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7761:1: (lv_ownedArguments_3_0= ruleNavigatingCommaArgCS )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7762:3: lv_ownedArguments_3_0= ruleNavigatingCommaArgCS
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7995:1: (lv_ownedArguments_3_0= ruleNavigatingCommaArgCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7996:3: lv_ownedArguments_3_0= ruleNavigatingCommaArgCS
                     	    {
                     	    if ( state.backtracking==0 ) {
                     	       
                     	      	        newCompositeNode(grammarAccess.getRoundBracketedClauseCSAccess().getOwnedArgumentsNavigatingCommaArgCSParserRuleCall_2_1_0()); 
                     	      	    
                     	    }
-                    	    pushFollow(FollowSets000.FOLLOW_ruleNavigatingCommaArgCS_in_ruleRoundBracketedClauseCS17457);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleNavigatingCommaArgCS_in_ruleRoundBracketedClauseCS18863);
                     	    lv_ownedArguments_3_0=ruleNavigatingCommaArgCS();
 
                     	    state._fsp--;
@@ -22849,33 +24044,33 @@
                     	    break;
 
                     	default :
-                    	    break loop179;
+                    	    break loop217;
                         }
                     } while (true);
 
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7778:3: ( ( (lv_ownedArguments_4_0= ruleNavigatingSemiArgCS ) ) ( (lv_ownedArguments_5_0= ruleNavigatingCommaArgCS ) )* )?
-                    int alt181=2;
-                    int LA181_0 = input.LA(1);
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8012:3: ( ( (lv_ownedArguments_4_0= ruleNavigatingSemiArgCS ) ) ( (lv_ownedArguments_5_0= ruleNavigatingCommaArgCS ) )* )?
+                    int alt219=2;
+                    int LA219_0 = input.LA(1);
 
-                    if ( (LA181_0==58) ) {
-                        alt181=1;
+                    if ( (LA219_0==58) ) {
+                        alt219=1;
                     }
-                    switch (alt181) {
+                    switch (alt219) {
                         case 1 :
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7778:4: ( (lv_ownedArguments_4_0= ruleNavigatingSemiArgCS ) ) ( (lv_ownedArguments_5_0= ruleNavigatingCommaArgCS ) )*
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8012:4: ( (lv_ownedArguments_4_0= ruleNavigatingSemiArgCS ) ) ( (lv_ownedArguments_5_0= ruleNavigatingCommaArgCS ) )*
                             {
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7778:4: ( (lv_ownedArguments_4_0= ruleNavigatingSemiArgCS ) )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7779:1: (lv_ownedArguments_4_0= ruleNavigatingSemiArgCS )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8012:4: ( (lv_ownedArguments_4_0= ruleNavigatingSemiArgCS ) )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8013:1: (lv_ownedArguments_4_0= ruleNavigatingSemiArgCS )
                             {
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7779:1: (lv_ownedArguments_4_0= ruleNavigatingSemiArgCS )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7780:3: lv_ownedArguments_4_0= ruleNavigatingSemiArgCS
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8013:1: (lv_ownedArguments_4_0= ruleNavigatingSemiArgCS )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8014:3: lv_ownedArguments_4_0= ruleNavigatingSemiArgCS
                             {
                             if ( state.backtracking==0 ) {
                                
                               	        newCompositeNode(grammarAccess.getRoundBracketedClauseCSAccess().getOwnedArgumentsNavigatingSemiArgCSParserRuleCall_2_2_0_0()); 
                               	    
                             }
-                            pushFollow(FollowSets000.FOLLOW_ruleNavigatingSemiArgCS_in_ruleRoundBracketedClauseCS17480);
+                            pushFollow(FollowSets000.FOLLOW_ruleNavigatingSemiArgCS_in_ruleRoundBracketedClauseCS18886);
                             lv_ownedArguments_4_0=ruleNavigatingSemiArgCS();
 
                             state._fsp--;
@@ -22899,30 +24094,30 @@
 
                             }
 
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7796:2: ( (lv_ownedArguments_5_0= ruleNavigatingCommaArgCS ) )*
-                            loop180:
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8030:2: ( (lv_ownedArguments_5_0= ruleNavigatingCommaArgCS ) )*
+                            loop218:
                             do {
-                                int alt180=2;
-                                int LA180_0 = input.LA(1);
+                                int alt218=2;
+                                int LA218_0 = input.LA(1);
 
-                                if ( (LA180_0==60) ) {
-                                    alt180=1;
+                                if ( (LA218_0==60) ) {
+                                    alt218=1;
                                 }
 
 
-                                switch (alt180) {
+                                switch (alt218) {
                             	case 1 :
-                            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7797:1: (lv_ownedArguments_5_0= ruleNavigatingCommaArgCS )
+                            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8031:1: (lv_ownedArguments_5_0= ruleNavigatingCommaArgCS )
                             	    {
-                            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7797:1: (lv_ownedArguments_5_0= ruleNavigatingCommaArgCS )
-                            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7798:3: lv_ownedArguments_5_0= ruleNavigatingCommaArgCS
+                            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8031:1: (lv_ownedArguments_5_0= ruleNavigatingCommaArgCS )
+                            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8032:3: lv_ownedArguments_5_0= ruleNavigatingCommaArgCS
                             	    {
                             	    if ( state.backtracking==0 ) {
                             	       
                             	      	        newCompositeNode(grammarAccess.getRoundBracketedClauseCSAccess().getOwnedArgumentsNavigatingCommaArgCSParserRuleCall_2_2_1_0()); 
                             	      	    
                             	    }
-                            	    pushFollow(FollowSets000.FOLLOW_ruleNavigatingCommaArgCS_in_ruleRoundBracketedClauseCS17501);
+                            	    pushFollow(FollowSets000.FOLLOW_ruleNavigatingCommaArgCS_in_ruleRoundBracketedClauseCS18907);
                             	    lv_ownedArguments_5_0=ruleNavigatingCommaArgCS();
 
                             	    state._fsp--;
@@ -22948,7 +24143,7 @@
                             	    break;
 
                             	default :
-                            	    break loop180;
+                            	    break loop218;
                                 }
                             } while (true);
 
@@ -22958,33 +24153,33 @@
 
                     }
 
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7814:5: ( ( (lv_ownedArguments_6_0= ruleNavigatingBarArgCS ) ) ( (lv_ownedArguments_7_0= ruleNavigatingCommaArgCS ) )* )*
-                    loop183:
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8048:5: ( ( (lv_ownedArguments_6_0= ruleNavigatingBarArgCS ) ) ( (lv_ownedArguments_7_0= ruleNavigatingCommaArgCS ) )* )*
+                    loop221:
                     do {
-                        int alt183=2;
-                        int LA183_0 = input.LA(1);
+                        int alt221=2;
+                        int LA221_0 = input.LA(1);
 
-                        if ( (LA183_0==125) ) {
-                            alt183=1;
+                        if ( (LA221_0==125) ) {
+                            alt221=1;
                         }
 
 
-                        switch (alt183) {
+                        switch (alt221) {
                     	case 1 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7814:6: ( (lv_ownedArguments_6_0= ruleNavigatingBarArgCS ) ) ( (lv_ownedArguments_7_0= ruleNavigatingCommaArgCS ) )*
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8048:6: ( (lv_ownedArguments_6_0= ruleNavigatingBarArgCS ) ) ( (lv_ownedArguments_7_0= ruleNavigatingCommaArgCS ) )*
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7814:6: ( (lv_ownedArguments_6_0= ruleNavigatingBarArgCS ) )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7815:1: (lv_ownedArguments_6_0= ruleNavigatingBarArgCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8048:6: ( (lv_ownedArguments_6_0= ruleNavigatingBarArgCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8049:1: (lv_ownedArguments_6_0= ruleNavigatingBarArgCS )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7815:1: (lv_ownedArguments_6_0= ruleNavigatingBarArgCS )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7816:3: lv_ownedArguments_6_0= ruleNavigatingBarArgCS
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8049:1: (lv_ownedArguments_6_0= ruleNavigatingBarArgCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8050:3: lv_ownedArguments_6_0= ruleNavigatingBarArgCS
                     	    {
                     	    if ( state.backtracking==0 ) {
                     	       
                     	      	        newCompositeNode(grammarAccess.getRoundBracketedClauseCSAccess().getOwnedArgumentsNavigatingBarArgCSParserRuleCall_2_3_0_0()); 
                     	      	    
                     	    }
-                    	    pushFollow(FollowSets000.FOLLOW_ruleNavigatingBarArgCS_in_ruleRoundBracketedClauseCS17526);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleNavigatingBarArgCS_in_ruleRoundBracketedClauseCS18932);
                     	    lv_ownedArguments_6_0=ruleNavigatingBarArgCS();
 
                     	    state._fsp--;
@@ -23008,30 +24203,30 @@
 
                     	    }
 
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7832:2: ( (lv_ownedArguments_7_0= ruleNavigatingCommaArgCS ) )*
-                    	    loop182:
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8066:2: ( (lv_ownedArguments_7_0= ruleNavigatingCommaArgCS ) )*
+                    	    loop220:
                     	    do {
-                    	        int alt182=2;
-                    	        int LA182_0 = input.LA(1);
+                    	        int alt220=2;
+                    	        int LA220_0 = input.LA(1);
 
-                    	        if ( (LA182_0==60) ) {
-                    	            alt182=1;
+                    	        if ( (LA220_0==60) ) {
+                    	            alt220=1;
                     	        }
 
 
-                    	        switch (alt182) {
+                    	        switch (alt220) {
                     	    	case 1 :
-                    	    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7833:1: (lv_ownedArguments_7_0= ruleNavigatingCommaArgCS )
+                    	    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8067:1: (lv_ownedArguments_7_0= ruleNavigatingCommaArgCS )
                     	    	    {
-                    	    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7833:1: (lv_ownedArguments_7_0= ruleNavigatingCommaArgCS )
-                    	    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7834:3: lv_ownedArguments_7_0= ruleNavigatingCommaArgCS
+                    	    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8067:1: (lv_ownedArguments_7_0= ruleNavigatingCommaArgCS )
+                    	    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8068:3: lv_ownedArguments_7_0= ruleNavigatingCommaArgCS
                     	    	    {
                     	    	    if ( state.backtracking==0 ) {
                     	    	       
                     	    	      	        newCompositeNode(grammarAccess.getRoundBracketedClauseCSAccess().getOwnedArgumentsNavigatingCommaArgCSParserRuleCall_2_3_1_0()); 
                     	    	      	    
                     	    	    }
-                    	    	    pushFollow(FollowSets000.FOLLOW_ruleNavigatingCommaArgCS_in_ruleRoundBracketedClauseCS17547);
+                    	    	    pushFollow(FollowSets000.FOLLOW_ruleNavigatingCommaArgCS_in_ruleRoundBracketedClauseCS18953);
                     	    	    lv_ownedArguments_7_0=ruleNavigatingCommaArgCS();
 
                     	    	    state._fsp--;
@@ -23057,7 +24252,7 @@
                     	    	    break;
 
                     	    	default :
-                    	    	    break loop182;
+                    	    	    break loop220;
                     	        }
                     	    } while (true);
 
@@ -23066,7 +24261,7 @@
                     	    break;
 
                     	default :
-                    	    break loop183;
+                    	    break loop221;
                         }
                     } while (true);
 
@@ -23076,7 +24271,7 @@
 
             }
 
-            otherlv_8=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleRoundBracketedClauseCS17564); if (state.failed) return current;
+            otherlv_8=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleRoundBracketedClauseCS18970); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_8, grammarAccess.getRoundBracketedClauseCSAccess().getRightParenthesisKeyword_3());
@@ -23105,7 +24300,7 @@
 
 
     // $ANTLR start "entryRuleSquareBracketedClauseCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7862:1: entryRuleSquareBracketedClauseCS returns [EObject current=null] : iv_ruleSquareBracketedClauseCS= ruleSquareBracketedClauseCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8096:1: entryRuleSquareBracketedClauseCS returns [EObject current=null] : iv_ruleSquareBracketedClauseCS= ruleSquareBracketedClauseCS EOF ;
     public final EObject entryRuleSquareBracketedClauseCS() throws RecognitionException {
         EObject current = null;
 
@@ -23113,13 +24308,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7863:2: (iv_ruleSquareBracketedClauseCS= ruleSquareBracketedClauseCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7864:2: iv_ruleSquareBracketedClauseCS= ruleSquareBracketedClauseCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8097:2: (iv_ruleSquareBracketedClauseCS= ruleSquareBracketedClauseCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8098:2: iv_ruleSquareBracketedClauseCS= ruleSquareBracketedClauseCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getSquareBracketedClauseCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleSquareBracketedClauseCS_in_entryRuleSquareBracketedClauseCS17600);
+            pushFollow(FollowSets000.FOLLOW_ruleSquareBracketedClauseCS_in_entryRuleSquareBracketedClauseCS19006);
             iv_ruleSquareBracketedClauseCS=ruleSquareBracketedClauseCS();
 
             state._fsp--;
@@ -23127,7 +24322,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleSquareBracketedClauseCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSquareBracketedClauseCS17610); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSquareBracketedClauseCS19016); if (state.failed) return current;
 
             }
 
@@ -23145,7 +24340,7 @@
 
 
     // $ANTLR start "ruleSquareBracketedClauseCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7871:1: ruleSquareBracketedClauseCS returns [EObject current=null] : (otherlv_0= '[' ( (lv_ownedTerms_1_0= ruleExpCS ) ) (otherlv_2= ',' ( (lv_ownedTerms_3_0= ruleExpCS ) ) )* otherlv_4= ']' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8105:1: ruleSquareBracketedClauseCS returns [EObject current=null] : (otherlv_0= '[' ( (lv_ownedTerms_1_0= ruleExpCS ) ) (otherlv_2= ',' ( (lv_ownedTerms_3_0= ruleExpCS ) ) )* otherlv_4= ']' ) ;
     public final EObject ruleSquareBracketedClauseCS() throws RecognitionException {
         EObject current = null;
 
@@ -23160,30 +24355,30 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7874:28: ( (otherlv_0= '[' ( (lv_ownedTerms_1_0= ruleExpCS ) ) (otherlv_2= ',' ( (lv_ownedTerms_3_0= ruleExpCS ) ) )* otherlv_4= ']' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7875:1: (otherlv_0= '[' ( (lv_ownedTerms_1_0= ruleExpCS ) ) (otherlv_2= ',' ( (lv_ownedTerms_3_0= ruleExpCS ) ) )* otherlv_4= ']' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8108:28: ( (otherlv_0= '[' ( (lv_ownedTerms_1_0= ruleExpCS ) ) (otherlv_2= ',' ( (lv_ownedTerms_3_0= ruleExpCS ) ) )* otherlv_4= ']' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8109:1: (otherlv_0= '[' ( (lv_ownedTerms_1_0= ruleExpCS ) ) (otherlv_2= ',' ( (lv_ownedTerms_3_0= ruleExpCS ) ) )* otherlv_4= ']' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7875:1: (otherlv_0= '[' ( (lv_ownedTerms_1_0= ruleExpCS ) ) (otherlv_2= ',' ( (lv_ownedTerms_3_0= ruleExpCS ) ) )* otherlv_4= ']' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7875:3: otherlv_0= '[' ( (lv_ownedTerms_1_0= ruleExpCS ) ) (otherlv_2= ',' ( (lv_ownedTerms_3_0= ruleExpCS ) ) )* otherlv_4= ']'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8109:1: (otherlv_0= '[' ( (lv_ownedTerms_1_0= ruleExpCS ) ) (otherlv_2= ',' ( (lv_ownedTerms_3_0= ruleExpCS ) ) )* otherlv_4= ']' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8109:3: otherlv_0= '[' ( (lv_ownedTerms_1_0= ruleExpCS ) ) (otherlv_2= ',' ( (lv_ownedTerms_3_0= ruleExpCS ) ) )* otherlv_4= ']'
             {
-            otherlv_0=(Token)match(input,122,FollowSets000.FOLLOW_122_in_ruleSquareBracketedClauseCS17647); if (state.failed) return current;
+            otherlv_0=(Token)match(input,122,FollowSets000.FOLLOW_122_in_ruleSquareBracketedClauseCS19053); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_0, grammarAccess.getSquareBracketedClauseCSAccess().getLeftSquareBracketKeyword_0());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7879:1: ( (lv_ownedTerms_1_0= ruleExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7880:1: (lv_ownedTerms_1_0= ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8113:1: ( (lv_ownedTerms_1_0= ruleExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8114:1: (lv_ownedTerms_1_0= ruleExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7880:1: (lv_ownedTerms_1_0= ruleExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7881:3: lv_ownedTerms_1_0= ruleExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8114:1: (lv_ownedTerms_1_0= ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8115:3: lv_ownedTerms_1_0= ruleExpCS
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getSquareBracketedClauseCSAccess().getOwnedTermsExpCSParserRuleCall_1_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleSquareBracketedClauseCS17668);
+            pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleSquareBracketedClauseCS19074);
             lv_ownedTerms_1_0=ruleExpCS();
 
             state._fsp--;
@@ -23207,39 +24402,39 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7897:2: (otherlv_2= ',' ( (lv_ownedTerms_3_0= ruleExpCS ) ) )*
-            loop185:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8131:2: (otherlv_2= ',' ( (lv_ownedTerms_3_0= ruleExpCS ) ) )*
+            loop223:
             do {
-                int alt185=2;
-                int LA185_0 = input.LA(1);
+                int alt223=2;
+                int LA223_0 = input.LA(1);
 
-                if ( (LA185_0==60) ) {
-                    alt185=1;
+                if ( (LA223_0==60) ) {
+                    alt223=1;
                 }
 
 
-                switch (alt185) {
+                switch (alt223) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7897:4: otherlv_2= ',' ( (lv_ownedTerms_3_0= ruleExpCS ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8131:4: otherlv_2= ',' ( (lv_ownedTerms_3_0= ruleExpCS ) )
             	    {
-            	    otherlv_2=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleSquareBracketedClauseCS17681); if (state.failed) return current;
+            	    otherlv_2=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleSquareBracketedClauseCS19087); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
             	          	newLeafNode(otherlv_2, grammarAccess.getSquareBracketedClauseCSAccess().getCommaKeyword_2_0());
             	          
             	    }
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7901:1: ( (lv_ownedTerms_3_0= ruleExpCS ) )
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7902:1: (lv_ownedTerms_3_0= ruleExpCS )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8135:1: ( (lv_ownedTerms_3_0= ruleExpCS ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8136:1: (lv_ownedTerms_3_0= ruleExpCS )
             	    {
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7902:1: (lv_ownedTerms_3_0= ruleExpCS )
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7903:3: lv_ownedTerms_3_0= ruleExpCS
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8136:1: (lv_ownedTerms_3_0= ruleExpCS )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8137:3: lv_ownedTerms_3_0= ruleExpCS
             	    {
             	    if ( state.backtracking==0 ) {
             	       
             	      	        newCompositeNode(grammarAccess.getSquareBracketedClauseCSAccess().getOwnedTermsExpCSParserRuleCall_2_1_0()); 
             	      	    
             	    }
-            	    pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleSquareBracketedClauseCS17702);
+            	    pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleSquareBracketedClauseCS19108);
             	    lv_ownedTerms_3_0=ruleExpCS();
 
             	    state._fsp--;
@@ -23268,11 +24463,11 @@
             	    break;
 
             	default :
-            	    break loop185;
+            	    break loop223;
                 }
             } while (true);
 
-            otherlv_4=(Token)match(input,123,FollowSets000.FOLLOW_123_in_ruleSquareBracketedClauseCS17716); if (state.failed) return current;
+            otherlv_4=(Token)match(input,123,FollowSets000.FOLLOW_123_in_ruleSquareBracketedClauseCS19122); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_4, grammarAccess.getSquareBracketedClauseCSAccess().getRightSquareBracketKeyword_3());
@@ -23301,7 +24496,7 @@
 
 
     // $ANTLR start "entryRuleNavigatingArgCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7931:1: entryRuleNavigatingArgCS returns [EObject current=null] : iv_ruleNavigatingArgCS= ruleNavigatingArgCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8165:1: entryRuleNavigatingArgCS returns [EObject current=null] : iv_ruleNavigatingArgCS= ruleNavigatingArgCS EOF ;
     public final EObject entryRuleNavigatingArgCS() throws RecognitionException {
         EObject current = null;
 
@@ -23309,13 +24504,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7932:2: (iv_ruleNavigatingArgCS= ruleNavigatingArgCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7933:2: iv_ruleNavigatingArgCS= ruleNavigatingArgCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8166:2: (iv_ruleNavigatingArgCS= ruleNavigatingArgCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8167:2: iv_ruleNavigatingArgCS= ruleNavigatingArgCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getNavigatingArgCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleNavigatingArgCS_in_entryRuleNavigatingArgCS17752);
+            pushFollow(FollowSets000.FOLLOW_ruleNavigatingArgCS_in_entryRuleNavigatingArgCS19158);
             iv_ruleNavigatingArgCS=ruleNavigatingArgCS();
 
             state._fsp--;
@@ -23323,7 +24518,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleNavigatingArgCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNavigatingArgCS17762); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNavigatingArgCS19168); if (state.failed) return current;
 
             }
 
@@ -23341,7 +24536,7 @@
 
 
     // $ANTLR start "ruleNavigatingArgCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7940:1: ruleNavigatingArgCS returns [EObject current=null] : ( ( ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) ) ( (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? ) | (otherlv_5= 'in' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) ) )? ) | (otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypeExpCS ) ) ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8174:1: ruleNavigatingArgCS returns [EObject current=null] : ( ( ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) ) ( (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? ) | (otherlv_5= 'in' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) ) )? ) | (otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypeExpCS ) ) ) ) ;
     public final EObject ruleNavigatingArgCS() throws RecognitionException {
         EObject current = null;
 
@@ -23363,45 +24558,45 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7943:28: ( ( ( ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) ) ( (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? ) | (otherlv_5= 'in' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) ) )? ) | (otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypeExpCS ) ) ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7944:1: ( ( ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) ) ( (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? ) | (otherlv_5= 'in' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) ) )? ) | (otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypeExpCS ) ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8177:28: ( ( ( ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) ) ( (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? ) | (otherlv_5= 'in' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) ) )? ) | (otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypeExpCS ) ) ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8178:1: ( ( ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) ) ( (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? ) | (otherlv_5= 'in' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) ) )? ) | (otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypeExpCS ) ) ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7944:1: ( ( ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) ) ( (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? ) | (otherlv_5= 'in' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) ) )? ) | (otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypeExpCS ) ) ) )
-            int alt188=2;
-            int LA188_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8178:1: ( ( ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) ) ( (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? ) | (otherlv_5= 'in' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) ) )? ) | (otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypeExpCS ) ) ) )
+            int alt226=2;
+            int LA226_0 = input.LA(1);
 
-            if ( ((LA188_0>=RULE_INT && LA188_0<=RULE_SINGLE_QUOTED_STRING)||(LA188_0>=RULE_SIMPLE_ID && LA188_0<=RULE_ESCAPED_ID)||(LA188_0>=17 && LA188_0<=55)||LA188_0==59||LA188_0==72||(LA188_0>=74 && LA188_0<=75)||LA188_0==80||(LA188_0>=83 && LA188_0<=84)||LA188_0==98||(LA188_0>=100 && LA188_0<=112)||(LA188_0>=115 && LA188_0<=119)||LA188_0==126||(LA188_0>=131 && LA188_0<=132)) ) {
-                alt188=1;
+            if ( ((LA226_0>=RULE_INT && LA226_0<=RULE_SINGLE_QUOTED_STRING)||(LA226_0>=RULE_SIMPLE_ID && LA226_0<=RULE_ESCAPED_ID)||(LA226_0>=17 && LA226_0<=55)||LA226_0==59||LA226_0==72||(LA226_0>=74 && LA226_0<=75)||LA226_0==80||(LA226_0>=83 && LA226_0<=84)||LA226_0==98||(LA226_0>=100 && LA226_0<=112)||(LA226_0>=115 && LA226_0<=119)||LA226_0==126||(LA226_0>=131 && LA226_0<=132)) ) {
+                alt226=1;
             }
-            else if ( (LA188_0==57) ) {
-                alt188=2;
+            else if ( (LA226_0==57) ) {
+                alt226=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 188, 0, input);
+                    new NoViableAltException("", 226, 0, input);
 
                 throw nvae;
             }
-            switch (alt188) {
+            switch (alt226) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7944:2: ( ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) ) ( (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? ) | (otherlv_5= 'in' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) ) )? )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8178:2: ( ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) ) ( (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? ) | (otherlv_5= 'in' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) ) )? )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7944:2: ( ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) ) ( (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? ) | (otherlv_5= 'in' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) ) )? )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7944:3: ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) ) ( (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? ) | (otherlv_5= 'in' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) ) )?
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8178:2: ( ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) ) ( (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? ) | (otherlv_5= 'in' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) ) )? )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8178:3: ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) ) ( (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? ) | (otherlv_5= 'in' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) ) )?
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7944:3: ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7945:1: (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8178:3: ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8179:1: (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7945:1: (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7946:3: lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8179:1: (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8180:3: lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedNameExpressionNavigatingArgExpCSParserRuleCall_0_0_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleNavigatingArgExpCS_in_ruleNavigatingArgCS17809);
+                    pushFollow(FollowSets000.FOLLOW_ruleNavigatingArgExpCS_in_ruleNavigatingArgCS19215);
                     lv_ownedNameExpression_0_0=ruleNavigatingArgExpCS();
 
                     state._fsp--;
@@ -23425,41 +24620,41 @@
 
                     }
 
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7962:2: ( (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? ) | (otherlv_5= 'in' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) ) )?
-                    int alt187=3;
-                    int LA187_0 = input.LA(1);
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8196:2: ( (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? ) | (otherlv_5= 'in' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) ) )?
+                    int alt225=3;
+                    int LA225_0 = input.LA(1);
 
-                    if ( (LA187_0==57) ) {
-                        alt187=1;
+                    if ( (LA225_0==57) ) {
+                        alt225=1;
                     }
-                    else if ( (LA187_0==124) ) {
-                        alt187=2;
+                    else if ( (LA225_0==124) ) {
+                        alt225=2;
                     }
-                    switch (alt187) {
+                    switch (alt225) {
                         case 1 :
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7962:3: (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8196:3: (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? )
                             {
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7962:3: (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7962:5: otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )?
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8196:3: (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8196:5: otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )?
                             {
-                            otherlv_1=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleNavigatingArgCS17823); if (state.failed) return current;
+                            otherlv_1=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleNavigatingArgCS19229); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
 
                                   	newLeafNode(otherlv_1, grammarAccess.getNavigatingArgCSAccess().getColonKeyword_0_1_0_0());
                                   
                             }
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7966:1: ( (lv_ownedType_2_0= ruleTypeExpCS ) )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7967:1: (lv_ownedType_2_0= ruleTypeExpCS )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8200:1: ( (lv_ownedType_2_0= ruleTypeExpCS ) )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8201:1: (lv_ownedType_2_0= ruleTypeExpCS )
                             {
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7967:1: (lv_ownedType_2_0= ruleTypeExpCS )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7968:3: lv_ownedType_2_0= ruleTypeExpCS
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8201:1: (lv_ownedType_2_0= ruleTypeExpCS )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8202:3: lv_ownedType_2_0= ruleTypeExpCS
                             {
                             if ( state.backtracking==0 ) {
                                
                               	        newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_0_1_0_1_0()); 
                               	    
                             }
-                            pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_ruleNavigatingArgCS17844);
+                            pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_ruleNavigatingArgCS19250);
                             lv_ownedType_2_0=ruleTypeExpCS();
 
                             state._fsp--;
@@ -23483,35 +24678,35 @@
 
                             }
 
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7984:2: (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )?
-                            int alt186=2;
-                            int LA186_0 = input.LA(1);
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8218:2: (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )?
+                            int alt224=2;
+                            int LA224_0 = input.LA(1);
 
-                            if ( (LA186_0==63) ) {
-                                alt186=1;
+                            if ( (LA224_0==63) ) {
+                                alt224=1;
                             }
-                            switch (alt186) {
+                            switch (alt224) {
                                 case 1 :
-                                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7984:4: otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) )
+                                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8218:4: otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) )
                                     {
-                                    otherlv_3=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleNavigatingArgCS17857); if (state.failed) return current;
+                                    otherlv_3=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleNavigatingArgCS19263); if (state.failed) return current;
                                     if ( state.backtracking==0 ) {
 
                                           	newLeafNode(otherlv_3, grammarAccess.getNavigatingArgCSAccess().getEqualsSignKeyword_0_1_0_2_0());
                                           
                                     }
-                                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7988:1: ( (lv_ownedInitExpression_4_0= ruleExpCS ) )
-                                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7989:1: (lv_ownedInitExpression_4_0= ruleExpCS )
+                                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8222:1: ( (lv_ownedInitExpression_4_0= ruleExpCS ) )
+                                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8223:1: (lv_ownedInitExpression_4_0= ruleExpCS )
                                     {
-                                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7989:1: (lv_ownedInitExpression_4_0= ruleExpCS )
-                                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7990:3: lv_ownedInitExpression_4_0= ruleExpCS
+                                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8223:1: (lv_ownedInitExpression_4_0= ruleExpCS )
+                                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8224:3: lv_ownedInitExpression_4_0= ruleExpCS
                                     {
                                     if ( state.backtracking==0 ) {
                                        
                                       	        newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_0_1_0_2_1_0()); 
                                       	    
                                     }
-                                    pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleNavigatingArgCS17878);
+                                    pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleNavigatingArgCS19284);
                                     lv_ownedInitExpression_4_0=ruleExpCS();
 
                                     state._fsp--;
@@ -23548,29 +24743,29 @@
                             }
                             break;
                         case 2 :
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8007:6: (otherlv_5= 'in' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8241:6: (otherlv_5= 'in' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) )
                             {
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8007:6: (otherlv_5= 'in' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8007:8: otherlv_5= 'in' ( (lv_ownedInitExpression_6_0= ruleExpCS ) )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8241:6: (otherlv_5= 'in' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8241:8: otherlv_5= 'in' ( (lv_ownedInitExpression_6_0= ruleExpCS ) )
                             {
-                            otherlv_5=(Token)match(input,124,FollowSets000.FOLLOW_124_in_ruleNavigatingArgCS17900); if (state.failed) return current;
+                            otherlv_5=(Token)match(input,124,FollowSets000.FOLLOW_124_in_ruleNavigatingArgCS19306); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
 
                                   	newLeafNode(otherlv_5, grammarAccess.getNavigatingArgCSAccess().getInKeyword_0_1_1_0());
                                   
                             }
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8011:1: ( (lv_ownedInitExpression_6_0= ruleExpCS ) )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8012:1: (lv_ownedInitExpression_6_0= ruleExpCS )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8245:1: ( (lv_ownedInitExpression_6_0= ruleExpCS ) )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8246:1: (lv_ownedInitExpression_6_0= ruleExpCS )
                             {
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8012:1: (lv_ownedInitExpression_6_0= ruleExpCS )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8013:3: lv_ownedInitExpression_6_0= ruleExpCS
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8246:1: (lv_ownedInitExpression_6_0= ruleExpCS )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8247:3: lv_ownedInitExpression_6_0= ruleExpCS
                             {
                             if ( state.backtracking==0 ) {
                                
                               	        newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_0_1_1_1_0()); 
                               	    
                             }
-                            pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleNavigatingArgCS17921);
+                            pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleNavigatingArgCS19327);
                             lv_ownedInitExpression_6_0=ruleExpCS();
 
                             state._fsp--;
@@ -23610,29 +24805,29 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8030:6: (otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypeExpCS ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8264:6: (otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypeExpCS ) ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8030:6: (otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypeExpCS ) ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8030:8: otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypeExpCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8264:6: (otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypeExpCS ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8264:8: otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypeExpCS ) )
                     {
-                    otherlv_7=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleNavigatingArgCS17944); if (state.failed) return current;
+                    otherlv_7=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleNavigatingArgCS19350); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_7, grammarAccess.getNavigatingArgCSAccess().getColonKeyword_1_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8034:1: ( (lv_ownedType_8_0= ruleTypeExpCS ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8035:1: (lv_ownedType_8_0= ruleTypeExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8268:1: ( (lv_ownedType_8_0= ruleTypeExpCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8269:1: (lv_ownedType_8_0= ruleTypeExpCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8035:1: (lv_ownedType_8_0= ruleTypeExpCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8036:3: lv_ownedType_8_0= ruleTypeExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8269:1: (lv_ownedType_8_0= ruleTypeExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8270:3: lv_ownedType_8_0= ruleTypeExpCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_ruleNavigatingArgCS17965);
+                    pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_ruleNavigatingArgCS19371);
                     lv_ownedType_8_0=ruleTypeExpCS();
 
                     state._fsp--;
@@ -23685,7 +24880,7 @@
 
 
     // $ANTLR start "entryRuleNavigatingBarArgCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8060:1: entryRuleNavigatingBarArgCS returns [EObject current=null] : iv_ruleNavigatingBarArgCS= ruleNavigatingBarArgCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8294:1: entryRuleNavigatingBarArgCS returns [EObject current=null] : iv_ruleNavigatingBarArgCS= ruleNavigatingBarArgCS EOF ;
     public final EObject entryRuleNavigatingBarArgCS() throws RecognitionException {
         EObject current = null;
 
@@ -23693,13 +24888,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8061:2: (iv_ruleNavigatingBarArgCS= ruleNavigatingBarArgCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8062:2: iv_ruleNavigatingBarArgCS= ruleNavigatingBarArgCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8295:2: (iv_ruleNavigatingBarArgCS= ruleNavigatingBarArgCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8296:2: iv_ruleNavigatingBarArgCS= ruleNavigatingBarArgCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getNavigatingBarArgCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleNavigatingBarArgCS_in_entryRuleNavigatingBarArgCS18002);
+            pushFollow(FollowSets000.FOLLOW_ruleNavigatingBarArgCS_in_entryRuleNavigatingBarArgCS19408);
             iv_ruleNavigatingBarArgCS=ruleNavigatingBarArgCS();
 
             state._fsp--;
@@ -23707,7 +24902,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleNavigatingBarArgCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNavigatingBarArgCS18012); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNavigatingBarArgCS19418); if (state.failed) return current;
 
             }
 
@@ -23725,7 +24920,7 @@
 
 
     // $ANTLR start "ruleNavigatingBarArgCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8069:1: ruleNavigatingBarArgCS returns [EObject current=null] : ( ( (lv_prefix_0_0= '|' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8303:1: ruleNavigatingBarArgCS returns [EObject current=null] : ( ( (lv_prefix_0_0= '|' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? ) ;
     public final EObject ruleNavigatingBarArgCS() throws RecognitionException {
         EObject current = null;
 
@@ -23742,19 +24937,19 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8072:28: ( ( ( (lv_prefix_0_0= '|' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8073:1: ( ( (lv_prefix_0_0= '|' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8306:28: ( ( ( (lv_prefix_0_0= '|' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8307:1: ( ( (lv_prefix_0_0= '|' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8073:1: ( ( (lv_prefix_0_0= '|' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8073:2: ( (lv_prefix_0_0= '|' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8307:1: ( ( (lv_prefix_0_0= '|' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8307:2: ( (lv_prefix_0_0= '|' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )?
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8073:2: ( (lv_prefix_0_0= '|' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8074:1: (lv_prefix_0_0= '|' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8307:2: ( (lv_prefix_0_0= '|' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8308:1: (lv_prefix_0_0= '|' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8074:1: (lv_prefix_0_0= '|' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8075:3: lv_prefix_0_0= '|'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8308:1: (lv_prefix_0_0= '|' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8309:3: lv_prefix_0_0= '|'
             {
-            lv_prefix_0_0=(Token)match(input,125,FollowSets000.FOLLOW_125_in_ruleNavigatingBarArgCS18055); if (state.failed) return current;
+            lv_prefix_0_0=(Token)match(input,125,FollowSets000.FOLLOW_125_in_ruleNavigatingBarArgCS19461); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                       newLeafNode(lv_prefix_0_0, grammarAccess.getNavigatingBarArgCSAccess().getPrefixVerticalLineKeyword_0_0());
@@ -23774,18 +24969,18 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8088:2: ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8089:1: (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8322:2: ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8323:1: (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8089:1: (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8090:3: lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8323:1: (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8324:3: lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getNavigatingBarArgCSAccess().getOwnedNameExpressionNavigatingArgExpCSParserRuleCall_1_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleNavigatingArgExpCS_in_ruleNavigatingBarArgCS18089);
+            pushFollow(FollowSets000.FOLLOW_ruleNavigatingArgExpCS_in_ruleNavigatingBarArgCS19495);
             lv_ownedNameExpression_1_0=ruleNavigatingArgExpCS();
 
             state._fsp--;
@@ -23809,35 +25004,35 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8106:2: (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )?
-            int alt190=2;
-            int LA190_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8340:2: (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )?
+            int alt228=2;
+            int LA228_0 = input.LA(1);
 
-            if ( (LA190_0==57) ) {
-                alt190=1;
+            if ( (LA228_0==57) ) {
+                alt228=1;
             }
-            switch (alt190) {
+            switch (alt228) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8106:4: otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )?
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8340:4: otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )?
                     {
-                    otherlv_2=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleNavigatingBarArgCS18102); if (state.failed) return current;
+                    otherlv_2=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleNavigatingBarArgCS19508); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_2, grammarAccess.getNavigatingBarArgCSAccess().getColonKeyword_2_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8110:1: ( (lv_ownedType_3_0= ruleTypeExpCS ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8111:1: (lv_ownedType_3_0= ruleTypeExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8344:1: ( (lv_ownedType_3_0= ruleTypeExpCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8345:1: (lv_ownedType_3_0= ruleTypeExpCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8111:1: (lv_ownedType_3_0= ruleTypeExpCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8112:3: lv_ownedType_3_0= ruleTypeExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8345:1: (lv_ownedType_3_0= ruleTypeExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8346:3: lv_ownedType_3_0= ruleTypeExpCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getNavigatingBarArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_ruleNavigatingBarArgCS18123);
+                    pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_ruleNavigatingBarArgCS19529);
                     lv_ownedType_3_0=ruleTypeExpCS();
 
                     state._fsp--;
@@ -23861,35 +25056,35 @@
 
                     }
 
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8128:2: (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )?
-                    int alt189=2;
-                    int LA189_0 = input.LA(1);
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8362:2: (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )?
+                    int alt227=2;
+                    int LA227_0 = input.LA(1);
 
-                    if ( (LA189_0==63) ) {
-                        alt189=1;
+                    if ( (LA227_0==63) ) {
+                        alt227=1;
                     }
-                    switch (alt189) {
+                    switch (alt227) {
                         case 1 :
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8128:4: otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8362:4: otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) )
                             {
-                            otherlv_4=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleNavigatingBarArgCS18136); if (state.failed) return current;
+                            otherlv_4=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleNavigatingBarArgCS19542); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
 
                                   	newLeafNode(otherlv_4, grammarAccess.getNavigatingBarArgCSAccess().getEqualsSignKeyword_2_2_0());
                                   
                             }
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8132:1: ( (lv_ownedInitExpression_5_0= ruleExpCS ) )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8133:1: (lv_ownedInitExpression_5_0= ruleExpCS )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8366:1: ( (lv_ownedInitExpression_5_0= ruleExpCS ) )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8367:1: (lv_ownedInitExpression_5_0= ruleExpCS )
                             {
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8133:1: (lv_ownedInitExpression_5_0= ruleExpCS )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8134:3: lv_ownedInitExpression_5_0= ruleExpCS
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8367:1: (lv_ownedInitExpression_5_0= ruleExpCS )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8368:3: lv_ownedInitExpression_5_0= ruleExpCS
                             {
                             if ( state.backtracking==0 ) {
                                
                               	        newCompositeNode(grammarAccess.getNavigatingBarArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_2_2_1_0()); 
                               	    
                             }
-                            pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleNavigatingBarArgCS18157);
+                            pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleNavigatingBarArgCS19563);
                             lv_ownedInitExpression_5_0=ruleExpCS();
 
                             state._fsp--;
@@ -23948,7 +25143,7 @@
 
 
     // $ANTLR start "entryRuleNavigatingCommaArgCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8158:1: entryRuleNavigatingCommaArgCS returns [EObject current=null] : iv_ruleNavigatingCommaArgCS= ruleNavigatingCommaArgCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8392:1: entryRuleNavigatingCommaArgCS returns [EObject current=null] : iv_ruleNavigatingCommaArgCS= ruleNavigatingCommaArgCS EOF ;
     public final EObject entryRuleNavigatingCommaArgCS() throws RecognitionException {
         EObject current = null;
 
@@ -23956,13 +25151,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8159:2: (iv_ruleNavigatingCommaArgCS= ruleNavigatingCommaArgCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8160:2: iv_ruleNavigatingCommaArgCS= ruleNavigatingCommaArgCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8393:2: (iv_ruleNavigatingCommaArgCS= ruleNavigatingCommaArgCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8394:2: iv_ruleNavigatingCommaArgCS= ruleNavigatingCommaArgCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getNavigatingCommaArgCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleNavigatingCommaArgCS_in_entryRuleNavigatingCommaArgCS18197);
+            pushFollow(FollowSets000.FOLLOW_ruleNavigatingCommaArgCS_in_entryRuleNavigatingCommaArgCS19603);
             iv_ruleNavigatingCommaArgCS=ruleNavigatingCommaArgCS();
 
             state._fsp--;
@@ -23970,7 +25165,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleNavigatingCommaArgCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNavigatingCommaArgCS18207); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNavigatingCommaArgCS19613); if (state.failed) return current;
 
             }
 
@@ -23988,7 +25183,7 @@
 
 
     // $ANTLR start "ruleNavigatingCommaArgCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8167:1: ruleNavigatingCommaArgCS returns [EObject current=null] : ( ( (lv_prefix_0_0= ',' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) ( (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? ) | (otherlv_6= 'in' ( (lv_ownedInitExpression_7_0= ruleExpCS ) ) ) )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8401:1: ruleNavigatingCommaArgCS returns [EObject current=null] : ( ( (lv_prefix_0_0= ',' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) ( (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? ) | (otherlv_6= 'in' ( (lv_ownedInitExpression_7_0= ruleExpCS ) ) ) )? ) ;
     public final EObject ruleNavigatingCommaArgCS() throws RecognitionException {
         EObject current = null;
 
@@ -24008,19 +25203,19 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8170:28: ( ( ( (lv_prefix_0_0= ',' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) ( (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? ) | (otherlv_6= 'in' ( (lv_ownedInitExpression_7_0= ruleExpCS ) ) ) )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8171:1: ( ( (lv_prefix_0_0= ',' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) ( (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? ) | (otherlv_6= 'in' ( (lv_ownedInitExpression_7_0= ruleExpCS ) ) ) )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8404:28: ( ( ( (lv_prefix_0_0= ',' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) ( (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? ) | (otherlv_6= 'in' ( (lv_ownedInitExpression_7_0= ruleExpCS ) ) ) )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8405:1: ( ( (lv_prefix_0_0= ',' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) ( (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? ) | (otherlv_6= 'in' ( (lv_ownedInitExpression_7_0= ruleExpCS ) ) ) )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8171:1: ( ( (lv_prefix_0_0= ',' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) ( (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? ) | (otherlv_6= 'in' ( (lv_ownedInitExpression_7_0= ruleExpCS ) ) ) )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8171:2: ( (lv_prefix_0_0= ',' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) ( (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? ) | (otherlv_6= 'in' ( (lv_ownedInitExpression_7_0= ruleExpCS ) ) ) )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8405:1: ( ( (lv_prefix_0_0= ',' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) ( (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? ) | (otherlv_6= 'in' ( (lv_ownedInitExpression_7_0= ruleExpCS ) ) ) )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8405:2: ( (lv_prefix_0_0= ',' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) ( (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? ) | (otherlv_6= 'in' ( (lv_ownedInitExpression_7_0= ruleExpCS ) ) ) )?
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8171:2: ( (lv_prefix_0_0= ',' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8172:1: (lv_prefix_0_0= ',' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8405:2: ( (lv_prefix_0_0= ',' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8406:1: (lv_prefix_0_0= ',' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8172:1: (lv_prefix_0_0= ',' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8173:3: lv_prefix_0_0= ','
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8406:1: (lv_prefix_0_0= ',' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8407:3: lv_prefix_0_0= ','
             {
-            lv_prefix_0_0=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleNavigatingCommaArgCS18250); if (state.failed) return current;
+            lv_prefix_0_0=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleNavigatingCommaArgCS19656); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                       newLeafNode(lv_prefix_0_0, grammarAccess.getNavigatingCommaArgCSAccess().getPrefixCommaKeyword_0_0());
@@ -24040,18 +25235,18 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8186:2: ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8187:1: (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8420:2: ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8421:1: (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8187:1: (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8188:3: lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8421:1: (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8422:3: lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedNameExpressionNavigatingArgExpCSParserRuleCall_1_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleNavigatingArgExpCS_in_ruleNavigatingCommaArgCS18284);
+            pushFollow(FollowSets000.FOLLOW_ruleNavigatingArgExpCS_in_ruleNavigatingCommaArgCS19690);
             lv_ownedNameExpression_1_0=ruleNavigatingArgExpCS();
 
             state._fsp--;
@@ -24075,41 +25270,41 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8204:2: ( (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? ) | (otherlv_6= 'in' ( (lv_ownedInitExpression_7_0= ruleExpCS ) ) ) )?
-            int alt192=3;
-            int LA192_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8438:2: ( (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? ) | (otherlv_6= 'in' ( (lv_ownedInitExpression_7_0= ruleExpCS ) ) ) )?
+            int alt230=3;
+            int LA230_0 = input.LA(1);
 
-            if ( (LA192_0==57) ) {
-                alt192=1;
+            if ( (LA230_0==57) ) {
+                alt230=1;
             }
-            else if ( (LA192_0==124) ) {
-                alt192=2;
+            else if ( (LA230_0==124) ) {
+                alt230=2;
             }
-            switch (alt192) {
+            switch (alt230) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8204:3: (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8438:3: (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8204:3: (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8204:5: otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )?
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8438:3: (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8438:5: otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )?
                     {
-                    otherlv_2=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleNavigatingCommaArgCS18298); if (state.failed) return current;
+                    otherlv_2=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleNavigatingCommaArgCS19704); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_2, grammarAccess.getNavigatingCommaArgCSAccess().getColonKeyword_2_0_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8208:1: ( (lv_ownedType_3_0= ruleTypeExpCS ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8209:1: (lv_ownedType_3_0= ruleTypeExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8442:1: ( (lv_ownedType_3_0= ruleTypeExpCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8443:1: (lv_ownedType_3_0= ruleTypeExpCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8209:1: (lv_ownedType_3_0= ruleTypeExpCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8210:3: lv_ownedType_3_0= ruleTypeExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8443:1: (lv_ownedType_3_0= ruleTypeExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8444:3: lv_ownedType_3_0= ruleTypeExpCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_0_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_ruleNavigatingCommaArgCS18319);
+                    pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_ruleNavigatingCommaArgCS19725);
                     lv_ownedType_3_0=ruleTypeExpCS();
 
                     state._fsp--;
@@ -24133,35 +25328,35 @@
 
                     }
 
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8226:2: (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )?
-                    int alt191=2;
-                    int LA191_0 = input.LA(1);
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8460:2: (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )?
+                    int alt229=2;
+                    int LA229_0 = input.LA(1);
 
-                    if ( (LA191_0==63) ) {
-                        alt191=1;
+                    if ( (LA229_0==63) ) {
+                        alt229=1;
                     }
-                    switch (alt191) {
+                    switch (alt229) {
                         case 1 :
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8226:4: otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8460:4: otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) )
                             {
-                            otherlv_4=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleNavigatingCommaArgCS18332); if (state.failed) return current;
+                            otherlv_4=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleNavigatingCommaArgCS19738); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
 
                                   	newLeafNode(otherlv_4, grammarAccess.getNavigatingCommaArgCSAccess().getEqualsSignKeyword_2_0_2_0());
                                   
                             }
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8230:1: ( (lv_ownedInitExpression_5_0= ruleExpCS ) )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8231:1: (lv_ownedInitExpression_5_0= ruleExpCS )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8464:1: ( (lv_ownedInitExpression_5_0= ruleExpCS ) )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8465:1: (lv_ownedInitExpression_5_0= ruleExpCS )
                             {
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8231:1: (lv_ownedInitExpression_5_0= ruleExpCS )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8232:3: lv_ownedInitExpression_5_0= ruleExpCS
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8465:1: (lv_ownedInitExpression_5_0= ruleExpCS )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8466:3: lv_ownedInitExpression_5_0= ruleExpCS
                             {
                             if ( state.backtracking==0 ) {
                                
                               	        newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_2_0_2_1_0()); 
                               	    
                             }
-                            pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleNavigatingCommaArgCS18353);
+                            pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleNavigatingCommaArgCS19759);
                             lv_ownedInitExpression_5_0=ruleExpCS();
 
                             state._fsp--;
@@ -24198,29 +25393,29 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8249:6: (otherlv_6= 'in' ( (lv_ownedInitExpression_7_0= ruleExpCS ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8483:6: (otherlv_6= 'in' ( (lv_ownedInitExpression_7_0= ruleExpCS ) ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8249:6: (otherlv_6= 'in' ( (lv_ownedInitExpression_7_0= ruleExpCS ) ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8249:8: otherlv_6= 'in' ( (lv_ownedInitExpression_7_0= ruleExpCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8483:6: (otherlv_6= 'in' ( (lv_ownedInitExpression_7_0= ruleExpCS ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8483:8: otherlv_6= 'in' ( (lv_ownedInitExpression_7_0= ruleExpCS ) )
                     {
-                    otherlv_6=(Token)match(input,124,FollowSets000.FOLLOW_124_in_ruleNavigatingCommaArgCS18375); if (state.failed) return current;
+                    otherlv_6=(Token)match(input,124,FollowSets000.FOLLOW_124_in_ruleNavigatingCommaArgCS19781); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_6, grammarAccess.getNavigatingCommaArgCSAccess().getInKeyword_2_1_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8253:1: ( (lv_ownedInitExpression_7_0= ruleExpCS ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8254:1: (lv_ownedInitExpression_7_0= ruleExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8487:1: ( (lv_ownedInitExpression_7_0= ruleExpCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8488:1: (lv_ownedInitExpression_7_0= ruleExpCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8254:1: (lv_ownedInitExpression_7_0= ruleExpCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8255:3: lv_ownedInitExpression_7_0= ruleExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8488:1: (lv_ownedInitExpression_7_0= ruleExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8489:3: lv_ownedInitExpression_7_0= ruleExpCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_2_1_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleNavigatingCommaArgCS18396);
+                    pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleNavigatingCommaArgCS19802);
                     lv_ownedInitExpression_7_0=ruleExpCS();
 
                     state._fsp--;
@@ -24276,7 +25471,7 @@
 
 
     // $ANTLR start "entryRuleNavigatingSemiArgCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8279:1: entryRuleNavigatingSemiArgCS returns [EObject current=null] : iv_ruleNavigatingSemiArgCS= ruleNavigatingSemiArgCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8513:1: entryRuleNavigatingSemiArgCS returns [EObject current=null] : iv_ruleNavigatingSemiArgCS= ruleNavigatingSemiArgCS EOF ;
     public final EObject entryRuleNavigatingSemiArgCS() throws RecognitionException {
         EObject current = null;
 
@@ -24284,13 +25479,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8280:2: (iv_ruleNavigatingSemiArgCS= ruleNavigatingSemiArgCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8281:2: iv_ruleNavigatingSemiArgCS= ruleNavigatingSemiArgCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8514:2: (iv_ruleNavigatingSemiArgCS= ruleNavigatingSemiArgCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8515:2: iv_ruleNavigatingSemiArgCS= ruleNavigatingSemiArgCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getNavigatingSemiArgCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleNavigatingSemiArgCS_in_entryRuleNavigatingSemiArgCS18435);
+            pushFollow(FollowSets000.FOLLOW_ruleNavigatingSemiArgCS_in_entryRuleNavigatingSemiArgCS19841);
             iv_ruleNavigatingSemiArgCS=ruleNavigatingSemiArgCS();
 
             state._fsp--;
@@ -24298,7 +25493,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleNavigatingSemiArgCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNavigatingSemiArgCS18445); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNavigatingSemiArgCS19851); if (state.failed) return current;
 
             }
 
@@ -24316,7 +25511,7 @@
 
 
     // $ANTLR start "ruleNavigatingSemiArgCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8288:1: ruleNavigatingSemiArgCS returns [EObject current=null] : ( ( (lv_prefix_0_0= ';' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8522:1: ruleNavigatingSemiArgCS returns [EObject current=null] : ( ( (lv_prefix_0_0= ';' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? ) ;
     public final EObject ruleNavigatingSemiArgCS() throws RecognitionException {
         EObject current = null;
 
@@ -24333,19 +25528,19 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8291:28: ( ( ( (lv_prefix_0_0= ';' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8292:1: ( ( (lv_prefix_0_0= ';' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8525:28: ( ( ( (lv_prefix_0_0= ';' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8526:1: ( ( (lv_prefix_0_0= ';' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8292:1: ( ( (lv_prefix_0_0= ';' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8292:2: ( (lv_prefix_0_0= ';' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8526:1: ( ( (lv_prefix_0_0= ';' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8526:2: ( (lv_prefix_0_0= ';' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )?
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8292:2: ( (lv_prefix_0_0= ';' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8293:1: (lv_prefix_0_0= ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8526:2: ( (lv_prefix_0_0= ';' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8527:1: (lv_prefix_0_0= ';' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8293:1: (lv_prefix_0_0= ';' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8294:3: lv_prefix_0_0= ';'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8527:1: (lv_prefix_0_0= ';' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8528:3: lv_prefix_0_0= ';'
             {
-            lv_prefix_0_0=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleNavigatingSemiArgCS18488); if (state.failed) return current;
+            lv_prefix_0_0=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleNavigatingSemiArgCS19894); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                       newLeafNode(lv_prefix_0_0, grammarAccess.getNavigatingSemiArgCSAccess().getPrefixSemicolonKeyword_0_0());
@@ -24365,18 +25560,18 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8307:2: ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8308:1: (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8541:2: ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8542:1: (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8308:1: (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8309:3: lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8542:1: (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8543:3: lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getNavigatingSemiArgCSAccess().getOwnedNameExpressionNavigatingArgExpCSParserRuleCall_1_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleNavigatingArgExpCS_in_ruleNavigatingSemiArgCS18522);
+            pushFollow(FollowSets000.FOLLOW_ruleNavigatingArgExpCS_in_ruleNavigatingSemiArgCS19928);
             lv_ownedNameExpression_1_0=ruleNavigatingArgExpCS();
 
             state._fsp--;
@@ -24400,35 +25595,35 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8325:2: (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )?
-            int alt194=2;
-            int LA194_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8559:2: (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )?
+            int alt232=2;
+            int LA232_0 = input.LA(1);
 
-            if ( (LA194_0==57) ) {
-                alt194=1;
+            if ( (LA232_0==57) ) {
+                alt232=1;
             }
-            switch (alt194) {
+            switch (alt232) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8325:4: otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )?
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8559:4: otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )?
                     {
-                    otherlv_2=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleNavigatingSemiArgCS18535); if (state.failed) return current;
+                    otherlv_2=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleNavigatingSemiArgCS19941); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_2, grammarAccess.getNavigatingSemiArgCSAccess().getColonKeyword_2_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8329:1: ( (lv_ownedType_3_0= ruleTypeExpCS ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8330:1: (lv_ownedType_3_0= ruleTypeExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8563:1: ( (lv_ownedType_3_0= ruleTypeExpCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8564:1: (lv_ownedType_3_0= ruleTypeExpCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8330:1: (lv_ownedType_3_0= ruleTypeExpCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8331:3: lv_ownedType_3_0= ruleTypeExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8564:1: (lv_ownedType_3_0= ruleTypeExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8565:3: lv_ownedType_3_0= ruleTypeExpCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getNavigatingSemiArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_ruleNavigatingSemiArgCS18556);
+                    pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_ruleNavigatingSemiArgCS19962);
                     lv_ownedType_3_0=ruleTypeExpCS();
 
                     state._fsp--;
@@ -24452,35 +25647,35 @@
 
                     }
 
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8347:2: (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )?
-                    int alt193=2;
-                    int LA193_0 = input.LA(1);
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8581:2: (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )?
+                    int alt231=2;
+                    int LA231_0 = input.LA(1);
 
-                    if ( (LA193_0==63) ) {
-                        alt193=1;
+                    if ( (LA231_0==63) ) {
+                        alt231=1;
                     }
-                    switch (alt193) {
+                    switch (alt231) {
                         case 1 :
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8347:4: otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8581:4: otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) )
                             {
-                            otherlv_4=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleNavigatingSemiArgCS18569); if (state.failed) return current;
+                            otherlv_4=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleNavigatingSemiArgCS19975); if (state.failed) return current;
                             if ( state.backtracking==0 ) {
 
                                   	newLeafNode(otherlv_4, grammarAccess.getNavigatingSemiArgCSAccess().getEqualsSignKeyword_2_2_0());
                                   
                             }
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8351:1: ( (lv_ownedInitExpression_5_0= ruleExpCS ) )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8352:1: (lv_ownedInitExpression_5_0= ruleExpCS )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8585:1: ( (lv_ownedInitExpression_5_0= ruleExpCS ) )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8586:1: (lv_ownedInitExpression_5_0= ruleExpCS )
                             {
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8352:1: (lv_ownedInitExpression_5_0= ruleExpCS )
-                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8353:3: lv_ownedInitExpression_5_0= ruleExpCS
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8586:1: (lv_ownedInitExpression_5_0= ruleExpCS )
+                            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8587:3: lv_ownedInitExpression_5_0= ruleExpCS
                             {
                             if ( state.backtracking==0 ) {
                                
                               	        newCompositeNode(grammarAccess.getNavigatingSemiArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_2_2_1_0()); 
                               	    
                             }
-                            pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleNavigatingSemiArgCS18590);
+                            pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleNavigatingSemiArgCS19996);
                             lv_ownedInitExpression_5_0=ruleExpCS();
 
                             state._fsp--;
@@ -24539,7 +25734,7 @@
 
 
     // $ANTLR start "entryRuleNavigatingArgExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8377:1: entryRuleNavigatingArgExpCS returns [EObject current=null] : iv_ruleNavigatingArgExpCS= ruleNavigatingArgExpCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8611:1: entryRuleNavigatingArgExpCS returns [EObject current=null] : iv_ruleNavigatingArgExpCS= ruleNavigatingArgExpCS EOF ;
     public final EObject entryRuleNavigatingArgExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -24547,13 +25742,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8378:2: (iv_ruleNavigatingArgExpCS= ruleNavigatingArgExpCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8379:2: iv_ruleNavigatingArgExpCS= ruleNavigatingArgExpCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8612:2: (iv_ruleNavigatingArgExpCS= ruleNavigatingArgExpCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8613:2: iv_ruleNavigatingArgExpCS= ruleNavigatingArgExpCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getNavigatingArgExpCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleNavigatingArgExpCS_in_entryRuleNavigatingArgExpCS18630);
+            pushFollow(FollowSets000.FOLLOW_ruleNavigatingArgExpCS_in_entryRuleNavigatingArgExpCS20036);
             iv_ruleNavigatingArgExpCS=ruleNavigatingArgExpCS();
 
             state._fsp--;
@@ -24561,7 +25756,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleNavigatingArgExpCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNavigatingArgExpCS18640); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNavigatingArgExpCS20046); if (state.failed) return current;
 
             }
 
@@ -24579,7 +25774,7 @@
 
 
     // $ANTLR start "ruleNavigatingArgExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8386:1: ruleNavigatingArgExpCS returns [EObject current=null] : this_ExpCS_0= ruleExpCS ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8620:1: ruleNavigatingArgExpCS returns [EObject current=null] : this_ExpCS_0= ruleExpCS ;
     public final EObject ruleNavigatingArgExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -24589,8 +25784,8 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8389:28: (this_ExpCS_0= ruleExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8391:2: this_ExpCS_0= ruleExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8623:28: (this_ExpCS_0= ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8625:2: this_ExpCS_0= ruleExpCS
             {
             if ( state.backtracking==0 ) {
                
@@ -24602,7 +25797,7 @@
                       newCompositeNode(grammarAccess.getNavigatingArgExpCSAccess().getExpCSParserRuleCall()); 
                   
             }
-            pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleNavigatingArgExpCS18689);
+            pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleNavigatingArgExpCS20095);
             this_ExpCS_0=ruleExpCS();
 
             state._fsp--;
@@ -24633,7 +25828,7 @@
 
 
     // $ANTLR start "entryRuleIfExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8410:1: entryRuleIfExpCS returns [EObject current=null] : iv_ruleIfExpCS= ruleIfExpCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8644:1: entryRuleIfExpCS returns [EObject current=null] : iv_ruleIfExpCS= ruleIfExpCS EOF ;
     public final EObject entryRuleIfExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -24641,13 +25836,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8411:2: (iv_ruleIfExpCS= ruleIfExpCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8412:2: iv_ruleIfExpCS= ruleIfExpCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8645:2: (iv_ruleIfExpCS= ruleIfExpCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8646:2: iv_ruleIfExpCS= ruleIfExpCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getIfExpCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleIfExpCS_in_entryRuleIfExpCS18723);
+            pushFollow(FollowSets000.FOLLOW_ruleIfExpCS_in_entryRuleIfExpCS20129);
             iv_ruleIfExpCS=ruleIfExpCS();
 
             state._fsp--;
@@ -24655,7 +25850,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleIfExpCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleIfExpCS18733); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleIfExpCS20139); if (state.failed) return current;
 
             }
 
@@ -24673,7 +25868,7 @@
 
 
     // $ANTLR start "ruleIfExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8419:1: ruleIfExpCS returns [EObject current=null] : (otherlv_0= 'if' ( ( (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS ) ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) ( (lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS ) )* otherlv_5= 'else' ( (lv_ownedElseExpression_6_0= ruleExpCS ) ) otherlv_7= 'endif' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8653:1: ruleIfExpCS returns [EObject current=null] : (otherlv_0= 'if' ( ( (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS ) ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) ( (lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS ) )* otherlv_5= 'else' ( (lv_ownedElseExpression_6_0= ruleExpCS ) ) otherlv_7= 'endif' ) ;
     public final EObject ruleIfExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -24695,37 +25890,37 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8422:28: ( (otherlv_0= 'if' ( ( (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS ) ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) ( (lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS ) )* otherlv_5= 'else' ( (lv_ownedElseExpression_6_0= ruleExpCS ) ) otherlv_7= 'endif' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8423:1: (otherlv_0= 'if' ( ( (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS ) ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) ( (lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS ) )* otherlv_5= 'else' ( (lv_ownedElseExpression_6_0= ruleExpCS ) ) otherlv_7= 'endif' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8656:28: ( (otherlv_0= 'if' ( ( (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS ) ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) ( (lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS ) )* otherlv_5= 'else' ( (lv_ownedElseExpression_6_0= ruleExpCS ) ) otherlv_7= 'endif' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8657:1: (otherlv_0= 'if' ( ( (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS ) ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) ( (lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS ) )* otherlv_5= 'else' ( (lv_ownedElseExpression_6_0= ruleExpCS ) ) otherlv_7= 'endif' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8423:1: (otherlv_0= 'if' ( ( (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS ) ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) ( (lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS ) )* otherlv_5= 'else' ( (lv_ownedElseExpression_6_0= ruleExpCS ) ) otherlv_7= 'endif' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8423:3: otherlv_0= 'if' ( ( (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS ) ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) ( (lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS ) )* otherlv_5= 'else' ( (lv_ownedElseExpression_6_0= ruleExpCS ) ) otherlv_7= 'endif'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8657:1: (otherlv_0= 'if' ( ( (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS ) ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) ( (lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS ) )* otherlv_5= 'else' ( (lv_ownedElseExpression_6_0= ruleExpCS ) ) otherlv_7= 'endif' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8657:3: otherlv_0= 'if' ( ( (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS ) ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) ( (lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS ) )* otherlv_5= 'else' ( (lv_ownedElseExpression_6_0= ruleExpCS ) ) otherlv_7= 'endif'
             {
-            otherlv_0=(Token)match(input,126,FollowSets000.FOLLOW_126_in_ruleIfExpCS18770); if (state.failed) return current;
+            otherlv_0=(Token)match(input,126,FollowSets000.FOLLOW_126_in_ruleIfExpCS20176); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_0, grammarAccess.getIfExpCSAccess().getIfKeyword_0());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8427:1: ( ( (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8428:1: ( (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8661:1: ( ( (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8662:1: ( (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8428:1: ( (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8429:1: (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8662:1: ( (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8663:1: (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8429:1: (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS )
-            int alt195=2;
-            alt195 = dfa195.predict(input);
-            switch (alt195) {
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8663:1: (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS )
+            int alt233=2;
+            alt233 = dfa233.predict(input);
+            switch (alt233) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8430:3: lv_ownedCondition_1_1= ruleExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8664:3: lv_ownedCondition_1_1= ruleExpCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getIfExpCSAccess().getOwnedConditionExpCSParserRuleCall_1_0_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleIfExpCS18793);
+                    pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleIfExpCS20199);
                     lv_ownedCondition_1_1=ruleExpCS();
 
                     state._fsp--;
@@ -24747,14 +25942,14 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8445:8: lv_ownedCondition_1_2= rulePatternExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8679:8: lv_ownedCondition_1_2= rulePatternExpCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getIfExpCSAccess().getOwnedConditionPatternExpCSParserRuleCall_1_0_1()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_rulePatternExpCS_in_ruleIfExpCS18812);
+                    pushFollow(FollowSets000.FOLLOW_rulePatternExpCS_in_ruleIfExpCS20218);
                     lv_ownedCondition_1_2=rulePatternExpCS();
 
                     state._fsp--;
@@ -24784,24 +25979,24 @@
 
             }
 
-            otherlv_2=(Token)match(input,127,FollowSets000.FOLLOW_127_in_ruleIfExpCS18827); if (state.failed) return current;
+            otherlv_2=(Token)match(input,127,FollowSets000.FOLLOW_127_in_ruleIfExpCS20233); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_2, grammarAccess.getIfExpCSAccess().getThenKeyword_2());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8467:1: ( (lv_ownedThenExpression_3_0= ruleExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8468:1: (lv_ownedThenExpression_3_0= ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8701:1: ( (lv_ownedThenExpression_3_0= ruleExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8702:1: (lv_ownedThenExpression_3_0= ruleExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8468:1: (lv_ownedThenExpression_3_0= ruleExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8469:3: lv_ownedThenExpression_3_0= ruleExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8702:1: (lv_ownedThenExpression_3_0= ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8703:3: lv_ownedThenExpression_3_0= ruleExpCS
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getIfExpCSAccess().getOwnedThenExpressionExpCSParserRuleCall_3_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleIfExpCS18848);
+            pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleIfExpCS20254);
             lv_ownedThenExpression_3_0=ruleExpCS();
 
             state._fsp--;
@@ -24825,30 +26020,30 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8485:2: ( (lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS ) )*
-            loop196:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8719:2: ( (lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS ) )*
+            loop234:
             do {
-                int alt196=2;
-                int LA196_0 = input.LA(1);
+                int alt234=2;
+                int LA234_0 = input.LA(1);
 
-                if ( (LA196_0==130) ) {
-                    alt196=1;
+                if ( (LA234_0==130) ) {
+                    alt234=1;
                 }
 
 
-                switch (alt196) {
+                switch (alt234) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8486:1: (lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8720:1: (lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS )
             	    {
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8486:1: (lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS )
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8487:3: lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8720:1: (lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8721:3: lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS
             	    {
             	    if ( state.backtracking==0 ) {
             	       
             	      	        newCompositeNode(grammarAccess.getIfExpCSAccess().getOwnedIfThenExpressionsElseIfThenExpCSParserRuleCall_4_0()); 
             	      	    
             	    }
-            	    pushFollow(FollowSets000.FOLLOW_ruleElseIfThenExpCS_in_ruleIfExpCS18869);
+            	    pushFollow(FollowSets000.FOLLOW_ruleElseIfThenExpCS_in_ruleIfExpCS20275);
             	    lv_ownedIfThenExpressions_4_0=ruleElseIfThenExpCS();
 
             	    state._fsp--;
@@ -24874,28 +26069,28 @@
             	    break;
 
             	default :
-            	    break loop196;
+            	    break loop234;
                 }
             } while (true);
 
-            otherlv_5=(Token)match(input,128,FollowSets000.FOLLOW_128_in_ruleIfExpCS18882); if (state.failed) return current;
+            otherlv_5=(Token)match(input,128,FollowSets000.FOLLOW_128_in_ruleIfExpCS20288); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_5, grammarAccess.getIfExpCSAccess().getElseKeyword_5());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8507:1: ( (lv_ownedElseExpression_6_0= ruleExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8508:1: (lv_ownedElseExpression_6_0= ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8741:1: ( (lv_ownedElseExpression_6_0= ruleExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8742:1: (lv_ownedElseExpression_6_0= ruleExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8508:1: (lv_ownedElseExpression_6_0= ruleExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8509:3: lv_ownedElseExpression_6_0= ruleExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8742:1: (lv_ownedElseExpression_6_0= ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8743:3: lv_ownedElseExpression_6_0= ruleExpCS
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getIfExpCSAccess().getOwnedElseExpressionExpCSParserRuleCall_6_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleIfExpCS18903);
+            pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleIfExpCS20309);
             lv_ownedElseExpression_6_0=ruleExpCS();
 
             state._fsp--;
@@ -24919,7 +26114,7 @@
 
             }
 
-            otherlv_7=(Token)match(input,129,FollowSets000.FOLLOW_129_in_ruleIfExpCS18915); if (state.failed) return current;
+            otherlv_7=(Token)match(input,129,FollowSets000.FOLLOW_129_in_ruleIfExpCS20321); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_7, grammarAccess.getIfExpCSAccess().getEndifKeyword_7());
@@ -24948,7 +26143,7 @@
 
 
     // $ANTLR start "entryRuleElseIfThenExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8537:1: entryRuleElseIfThenExpCS returns [EObject current=null] : iv_ruleElseIfThenExpCS= ruleElseIfThenExpCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8771:1: entryRuleElseIfThenExpCS returns [EObject current=null] : iv_ruleElseIfThenExpCS= ruleElseIfThenExpCS EOF ;
     public final EObject entryRuleElseIfThenExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -24956,13 +26151,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8538:2: (iv_ruleElseIfThenExpCS= ruleElseIfThenExpCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8539:2: iv_ruleElseIfThenExpCS= ruleElseIfThenExpCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8772:2: (iv_ruleElseIfThenExpCS= ruleElseIfThenExpCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8773:2: iv_ruleElseIfThenExpCS= ruleElseIfThenExpCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getElseIfThenExpCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleElseIfThenExpCS_in_entryRuleElseIfThenExpCS18951);
+            pushFollow(FollowSets000.FOLLOW_ruleElseIfThenExpCS_in_entryRuleElseIfThenExpCS20357);
             iv_ruleElseIfThenExpCS=ruleElseIfThenExpCS();
 
             state._fsp--;
@@ -24970,7 +26165,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleElseIfThenExpCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleElseIfThenExpCS18961); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleElseIfThenExpCS20367); if (state.failed) return current;
 
             }
 
@@ -24988,7 +26183,7 @@
 
 
     // $ANTLR start "ruleElseIfThenExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8546:1: ruleElseIfThenExpCS returns [EObject current=null] : (otherlv_0= 'elseif' ( (lv_ownedCondition_1_0= ruleExpCS ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8780:1: ruleElseIfThenExpCS returns [EObject current=null] : (otherlv_0= 'elseif' ( (lv_ownedCondition_1_0= ruleExpCS ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) ) ;
     public final EObject ruleElseIfThenExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -25002,30 +26197,30 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8549:28: ( (otherlv_0= 'elseif' ( (lv_ownedCondition_1_0= ruleExpCS ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8550:1: (otherlv_0= 'elseif' ( (lv_ownedCondition_1_0= ruleExpCS ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8783:28: ( (otherlv_0= 'elseif' ( (lv_ownedCondition_1_0= ruleExpCS ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8784:1: (otherlv_0= 'elseif' ( (lv_ownedCondition_1_0= ruleExpCS ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8550:1: (otherlv_0= 'elseif' ( (lv_ownedCondition_1_0= ruleExpCS ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8550:3: otherlv_0= 'elseif' ( (lv_ownedCondition_1_0= ruleExpCS ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8784:1: (otherlv_0= 'elseif' ( (lv_ownedCondition_1_0= ruleExpCS ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8784:3: otherlv_0= 'elseif' ( (lv_ownedCondition_1_0= ruleExpCS ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) )
             {
-            otherlv_0=(Token)match(input,130,FollowSets000.FOLLOW_130_in_ruleElseIfThenExpCS18998); if (state.failed) return current;
+            otherlv_0=(Token)match(input,130,FollowSets000.FOLLOW_130_in_ruleElseIfThenExpCS20404); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_0, grammarAccess.getElseIfThenExpCSAccess().getElseifKeyword_0());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8554:1: ( (lv_ownedCondition_1_0= ruleExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8555:1: (lv_ownedCondition_1_0= ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8788:1: ( (lv_ownedCondition_1_0= ruleExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8789:1: (lv_ownedCondition_1_0= ruleExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8555:1: (lv_ownedCondition_1_0= ruleExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8556:3: lv_ownedCondition_1_0= ruleExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8789:1: (lv_ownedCondition_1_0= ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8790:3: lv_ownedCondition_1_0= ruleExpCS
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getElseIfThenExpCSAccess().getOwnedConditionExpCSParserRuleCall_1_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleElseIfThenExpCS19019);
+            pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleElseIfThenExpCS20425);
             lv_ownedCondition_1_0=ruleExpCS();
 
             state._fsp--;
@@ -25049,24 +26244,24 @@
 
             }
 
-            otherlv_2=(Token)match(input,127,FollowSets000.FOLLOW_127_in_ruleElseIfThenExpCS19031); if (state.failed) return current;
+            otherlv_2=(Token)match(input,127,FollowSets000.FOLLOW_127_in_ruleElseIfThenExpCS20437); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_2, grammarAccess.getElseIfThenExpCSAccess().getThenKeyword_2());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8576:1: ( (lv_ownedThenExpression_3_0= ruleExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8577:1: (lv_ownedThenExpression_3_0= ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8810:1: ( (lv_ownedThenExpression_3_0= ruleExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8811:1: (lv_ownedThenExpression_3_0= ruleExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8577:1: (lv_ownedThenExpression_3_0= ruleExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8578:3: lv_ownedThenExpression_3_0= ruleExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8811:1: (lv_ownedThenExpression_3_0= ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8812:3: lv_ownedThenExpression_3_0= ruleExpCS
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getElseIfThenExpCSAccess().getOwnedThenExpressionExpCSParserRuleCall_3_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleElseIfThenExpCS19052);
+            pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleElseIfThenExpCS20458);
             lv_ownedThenExpression_3_0=ruleExpCS();
 
             state._fsp--;
@@ -25113,7 +26308,7 @@
 
 
     // $ANTLR start "entryRuleLetExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8602:1: entryRuleLetExpCS returns [EObject current=null] : iv_ruleLetExpCS= ruleLetExpCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8836:1: entryRuleLetExpCS returns [EObject current=null] : iv_ruleLetExpCS= ruleLetExpCS EOF ;
     public final EObject entryRuleLetExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -25121,13 +26316,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8603:2: (iv_ruleLetExpCS= ruleLetExpCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8604:2: iv_ruleLetExpCS= ruleLetExpCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8837:2: (iv_ruleLetExpCS= ruleLetExpCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8838:2: iv_ruleLetExpCS= ruleLetExpCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getLetExpCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleLetExpCS_in_entryRuleLetExpCS19088);
+            pushFollow(FollowSets000.FOLLOW_ruleLetExpCS_in_entryRuleLetExpCS20494);
             iv_ruleLetExpCS=ruleLetExpCS();
 
             state._fsp--;
@@ -25135,7 +26330,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleLetExpCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLetExpCS19098); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLetExpCS20504); if (state.failed) return current;
 
             }
 
@@ -25153,7 +26348,7 @@
 
 
     // $ANTLR start "ruleLetExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8611:1: ruleLetExpCS returns [EObject current=null] : (otherlv_0= 'let' ( (lv_ownedVariables_1_0= ruleLetVariableCS ) ) (otherlv_2= ',' ( (lv_ownedVariables_3_0= ruleLetVariableCS ) ) )* otherlv_4= 'in' ( (lv_ownedInExpression_5_0= ruleExpCS ) ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8845:1: ruleLetExpCS returns [EObject current=null] : (otherlv_0= 'let' ( (lv_ownedVariables_1_0= ruleLetVariableCS ) ) (otherlv_2= ',' ( (lv_ownedVariables_3_0= ruleLetVariableCS ) ) )* otherlv_4= 'in' ( (lv_ownedInExpression_5_0= ruleExpCS ) ) ) ;
     public final EObject ruleLetExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -25170,30 +26365,30 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8614:28: ( (otherlv_0= 'let' ( (lv_ownedVariables_1_0= ruleLetVariableCS ) ) (otherlv_2= ',' ( (lv_ownedVariables_3_0= ruleLetVariableCS ) ) )* otherlv_4= 'in' ( (lv_ownedInExpression_5_0= ruleExpCS ) ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8615:1: (otherlv_0= 'let' ( (lv_ownedVariables_1_0= ruleLetVariableCS ) ) (otherlv_2= ',' ( (lv_ownedVariables_3_0= ruleLetVariableCS ) ) )* otherlv_4= 'in' ( (lv_ownedInExpression_5_0= ruleExpCS ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8848:28: ( (otherlv_0= 'let' ( (lv_ownedVariables_1_0= ruleLetVariableCS ) ) (otherlv_2= ',' ( (lv_ownedVariables_3_0= ruleLetVariableCS ) ) )* otherlv_4= 'in' ( (lv_ownedInExpression_5_0= ruleExpCS ) ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8849:1: (otherlv_0= 'let' ( (lv_ownedVariables_1_0= ruleLetVariableCS ) ) (otherlv_2= ',' ( (lv_ownedVariables_3_0= ruleLetVariableCS ) ) )* otherlv_4= 'in' ( (lv_ownedInExpression_5_0= ruleExpCS ) ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8615:1: (otherlv_0= 'let' ( (lv_ownedVariables_1_0= ruleLetVariableCS ) ) (otherlv_2= ',' ( (lv_ownedVariables_3_0= ruleLetVariableCS ) ) )* otherlv_4= 'in' ( (lv_ownedInExpression_5_0= ruleExpCS ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8615:3: otherlv_0= 'let' ( (lv_ownedVariables_1_0= ruleLetVariableCS ) ) (otherlv_2= ',' ( (lv_ownedVariables_3_0= ruleLetVariableCS ) ) )* otherlv_4= 'in' ( (lv_ownedInExpression_5_0= ruleExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8849:1: (otherlv_0= 'let' ( (lv_ownedVariables_1_0= ruleLetVariableCS ) ) (otherlv_2= ',' ( (lv_ownedVariables_3_0= ruleLetVariableCS ) ) )* otherlv_4= 'in' ( (lv_ownedInExpression_5_0= ruleExpCS ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8849:3: otherlv_0= 'let' ( (lv_ownedVariables_1_0= ruleLetVariableCS ) ) (otherlv_2= ',' ( (lv_ownedVariables_3_0= ruleLetVariableCS ) ) )* otherlv_4= 'in' ( (lv_ownedInExpression_5_0= ruleExpCS ) )
             {
-            otherlv_0=(Token)match(input,131,FollowSets000.FOLLOW_131_in_ruleLetExpCS19135); if (state.failed) return current;
+            otherlv_0=(Token)match(input,131,FollowSets000.FOLLOW_131_in_ruleLetExpCS20541); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_0, grammarAccess.getLetExpCSAccess().getLetKeyword_0());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8619:1: ( (lv_ownedVariables_1_0= ruleLetVariableCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8620:1: (lv_ownedVariables_1_0= ruleLetVariableCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8853:1: ( (lv_ownedVariables_1_0= ruleLetVariableCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8854:1: (lv_ownedVariables_1_0= ruleLetVariableCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8620:1: (lv_ownedVariables_1_0= ruleLetVariableCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8621:3: lv_ownedVariables_1_0= ruleLetVariableCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8854:1: (lv_ownedVariables_1_0= ruleLetVariableCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8855:3: lv_ownedVariables_1_0= ruleLetVariableCS
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getLetExpCSAccess().getOwnedVariablesLetVariableCSParserRuleCall_1_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleLetVariableCS_in_ruleLetExpCS19156);
+            pushFollow(FollowSets000.FOLLOW_ruleLetVariableCS_in_ruleLetExpCS20562);
             lv_ownedVariables_1_0=ruleLetVariableCS();
 
             state._fsp--;
@@ -25217,39 +26412,39 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8637:2: (otherlv_2= ',' ( (lv_ownedVariables_3_0= ruleLetVariableCS ) ) )*
-            loop197:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8871:2: (otherlv_2= ',' ( (lv_ownedVariables_3_0= ruleLetVariableCS ) ) )*
+            loop235:
             do {
-                int alt197=2;
-                int LA197_0 = input.LA(1);
+                int alt235=2;
+                int LA235_0 = input.LA(1);
 
-                if ( (LA197_0==60) ) {
-                    alt197=1;
+                if ( (LA235_0==60) ) {
+                    alt235=1;
                 }
 
 
-                switch (alt197) {
+                switch (alt235) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8637:4: otherlv_2= ',' ( (lv_ownedVariables_3_0= ruleLetVariableCS ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8871:4: otherlv_2= ',' ( (lv_ownedVariables_3_0= ruleLetVariableCS ) )
             	    {
-            	    otherlv_2=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleLetExpCS19169); if (state.failed) return current;
+            	    otherlv_2=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleLetExpCS20575); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
             	          	newLeafNode(otherlv_2, grammarAccess.getLetExpCSAccess().getCommaKeyword_2_0());
             	          
             	    }
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8641:1: ( (lv_ownedVariables_3_0= ruleLetVariableCS ) )
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8642:1: (lv_ownedVariables_3_0= ruleLetVariableCS )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8875:1: ( (lv_ownedVariables_3_0= ruleLetVariableCS ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8876:1: (lv_ownedVariables_3_0= ruleLetVariableCS )
             	    {
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8642:1: (lv_ownedVariables_3_0= ruleLetVariableCS )
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8643:3: lv_ownedVariables_3_0= ruleLetVariableCS
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8876:1: (lv_ownedVariables_3_0= ruleLetVariableCS )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8877:3: lv_ownedVariables_3_0= ruleLetVariableCS
             	    {
             	    if ( state.backtracking==0 ) {
             	       
             	      	        newCompositeNode(grammarAccess.getLetExpCSAccess().getOwnedVariablesLetVariableCSParserRuleCall_2_1_0()); 
             	      	    
             	    }
-            	    pushFollow(FollowSets000.FOLLOW_ruleLetVariableCS_in_ruleLetExpCS19190);
+            	    pushFollow(FollowSets000.FOLLOW_ruleLetVariableCS_in_ruleLetExpCS20596);
             	    lv_ownedVariables_3_0=ruleLetVariableCS();
 
             	    state._fsp--;
@@ -25278,28 +26473,28 @@
             	    break;
 
             	default :
-            	    break loop197;
+            	    break loop235;
                 }
             } while (true);
 
-            otherlv_4=(Token)match(input,124,FollowSets000.FOLLOW_124_in_ruleLetExpCS19204); if (state.failed) return current;
+            otherlv_4=(Token)match(input,124,FollowSets000.FOLLOW_124_in_ruleLetExpCS20610); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_4, grammarAccess.getLetExpCSAccess().getInKeyword_3());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8663:1: ( (lv_ownedInExpression_5_0= ruleExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8664:1: (lv_ownedInExpression_5_0= ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8897:1: ( (lv_ownedInExpression_5_0= ruleExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8898:1: (lv_ownedInExpression_5_0= ruleExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8664:1: (lv_ownedInExpression_5_0= ruleExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8665:3: lv_ownedInExpression_5_0= ruleExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8898:1: (lv_ownedInExpression_5_0= ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8899:3: lv_ownedInExpression_5_0= ruleExpCS
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getLetExpCSAccess().getOwnedInExpressionExpCSParserRuleCall_4_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleLetExpCS19225);
+            pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleLetExpCS20631);
             lv_ownedInExpression_5_0=ruleExpCS();
 
             state._fsp--;
@@ -25346,7 +26541,7 @@
 
 
     // $ANTLR start "entryRuleLetVariableCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8689:1: entryRuleLetVariableCS returns [EObject current=null] : iv_ruleLetVariableCS= ruleLetVariableCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8923:1: entryRuleLetVariableCS returns [EObject current=null] : iv_ruleLetVariableCS= ruleLetVariableCS EOF ;
     public final EObject entryRuleLetVariableCS() throws RecognitionException {
         EObject current = null;
 
@@ -25354,13 +26549,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8690:2: (iv_ruleLetVariableCS= ruleLetVariableCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8691:2: iv_ruleLetVariableCS= ruleLetVariableCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8924:2: (iv_ruleLetVariableCS= ruleLetVariableCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8925:2: iv_ruleLetVariableCS= ruleLetVariableCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getLetVariableCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleLetVariableCS_in_entryRuleLetVariableCS19261);
+            pushFollow(FollowSets000.FOLLOW_ruleLetVariableCS_in_entryRuleLetVariableCS20667);
             iv_ruleLetVariableCS=ruleLetVariableCS();
 
             state._fsp--;
@@ -25368,7 +26563,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleLetVariableCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLetVariableCS19271); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLetVariableCS20677); if (state.failed) return current;
 
             }
 
@@ -25386,7 +26581,7 @@
 
 
     // $ANTLR start "ruleLetVariableCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8698:1: ruleLetVariableCS returns [EObject current=null] : ( ( (lv_name_0_0= ruleUnrestrictedName ) ) ( (lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS ) )? (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) )? otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8932:1: ruleLetVariableCS returns [EObject current=null] : ( ( (lv_name_0_0= ruleUnrestrictedName ) ) ( (lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS ) )? (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) )? otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) ) ;
     public final EObject ruleLetVariableCS() throws RecognitionException {
         EObject current = null;
 
@@ -25404,24 +26599,24 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8701:28: ( ( ( (lv_name_0_0= ruleUnrestrictedName ) ) ( (lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS ) )? (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) )? otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8702:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) ( (lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS ) )? (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) )? otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8935:28: ( ( ( (lv_name_0_0= ruleUnrestrictedName ) ) ( (lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS ) )? (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) )? otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8936:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) ( (lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS ) )? (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) )? otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8702:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) ( (lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS ) )? (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) )? otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8702:2: ( (lv_name_0_0= ruleUnrestrictedName ) ) ( (lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS ) )? (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) )? otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8936:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) ( (lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS ) )? (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) )? otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8936:2: ( (lv_name_0_0= ruleUnrestrictedName ) ) ( (lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS ) )? (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) )? otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8702:2: ( (lv_name_0_0= ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8703:1: (lv_name_0_0= ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8936:2: ( (lv_name_0_0= ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8937:1: (lv_name_0_0= ruleUnrestrictedName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8703:1: (lv_name_0_0= ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8704:3: lv_name_0_0= ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8937:1: (lv_name_0_0= ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8938:3: lv_name_0_0= ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getLetVariableCSAccess().getNameUnrestrictedNameParserRuleCall_0_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleLetVariableCS19317);
+            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleLetVariableCS20723);
             lv_name_0_0=ruleUnrestrictedName();
 
             state._fsp--;
@@ -25445,26 +26640,26 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8720:2: ( (lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS ) )?
-            int alt198=2;
-            int LA198_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8954:2: ( (lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS ) )?
+            int alt236=2;
+            int LA236_0 = input.LA(1);
 
-            if ( (LA198_0==55) ) {
-                alt198=1;
+            if ( (LA236_0==55) ) {
+                alt236=1;
             }
-            switch (alt198) {
+            switch (alt236) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8721:1: (lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8955:1: (lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8721:1: (lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8722:3: lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8955:1: (lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8956:3: lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getLetVariableCSAccess().getOwnedRoundBracketedClauseRoundBracketedClauseCSParserRuleCall_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleRoundBracketedClauseCS_in_ruleLetVariableCS19338);
+                    pushFollow(FollowSets000.FOLLOW_ruleRoundBracketedClauseCS_in_ruleLetVariableCS20744);
                     lv_ownedRoundBracketedClause_1_0=ruleRoundBracketedClauseCS();
 
                     state._fsp--;
@@ -25491,35 +26686,35 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8738:3: (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) )?
-            int alt199=2;
-            int LA199_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8972:3: (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) )?
+            int alt237=2;
+            int LA237_0 = input.LA(1);
 
-            if ( (LA199_0==57) ) {
-                alt199=1;
+            if ( (LA237_0==57) ) {
+                alt237=1;
             }
-            switch (alt199) {
+            switch (alt237) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8738:5: otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8972:5: otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) )
                     {
-                    otherlv_2=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleLetVariableCS19352); if (state.failed) return current;
+                    otherlv_2=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleLetVariableCS20758); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_2, grammarAccess.getLetVariableCSAccess().getColonKeyword_2_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8742:1: ( (lv_ownedType_3_0= ruleTypeExpCS ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8743:1: (lv_ownedType_3_0= ruleTypeExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8976:1: ( (lv_ownedType_3_0= ruleTypeExpCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8977:1: (lv_ownedType_3_0= ruleTypeExpCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8743:1: (lv_ownedType_3_0= ruleTypeExpCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8744:3: lv_ownedType_3_0= ruleTypeExpCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8977:1: (lv_ownedType_3_0= ruleTypeExpCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8978:3: lv_ownedType_3_0= ruleTypeExpCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getLetVariableCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_ruleLetVariableCS19373);
+                    pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_ruleLetVariableCS20779);
                     lv_ownedType_3_0=ruleTypeExpCS();
 
                     state._fsp--;
@@ -25549,24 +26744,24 @@
 
             }
 
-            otherlv_4=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleLetVariableCS19387); if (state.failed) return current;
+            otherlv_4=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleLetVariableCS20793); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_4, grammarAccess.getLetVariableCSAccess().getEqualsSignKeyword_3());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8764:1: ( (lv_ownedInitExpression_5_0= ruleExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8765:1: (lv_ownedInitExpression_5_0= ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8998:1: ( (lv_ownedInitExpression_5_0= ruleExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8999:1: (lv_ownedInitExpression_5_0= ruleExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8765:1: (lv_ownedInitExpression_5_0= ruleExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8766:3: lv_ownedInitExpression_5_0= ruleExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8999:1: (lv_ownedInitExpression_5_0= ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9000:3: lv_ownedInitExpression_5_0= ruleExpCS
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getLetVariableCSAccess().getOwnedInitExpressionExpCSParserRuleCall_4_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleLetVariableCS19408);
+            pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleLetVariableCS20814);
             lv_ownedInitExpression_5_0=ruleExpCS();
 
             state._fsp--;
@@ -25613,7 +26808,7 @@
 
 
     // $ANTLR start "entryRuleNestedExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8790:1: entryRuleNestedExpCS returns [EObject current=null] : iv_ruleNestedExpCS= ruleNestedExpCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9024:1: entryRuleNestedExpCS returns [EObject current=null] : iv_ruleNestedExpCS= ruleNestedExpCS EOF ;
     public final EObject entryRuleNestedExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -25621,13 +26816,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8791:2: (iv_ruleNestedExpCS= ruleNestedExpCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8792:2: iv_ruleNestedExpCS= ruleNestedExpCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9025:2: (iv_ruleNestedExpCS= ruleNestedExpCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9026:2: iv_ruleNestedExpCS= ruleNestedExpCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getNestedExpCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleNestedExpCS_in_entryRuleNestedExpCS19444);
+            pushFollow(FollowSets000.FOLLOW_ruleNestedExpCS_in_entryRuleNestedExpCS20850);
             iv_ruleNestedExpCS=ruleNestedExpCS();
 
             state._fsp--;
@@ -25635,7 +26830,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleNestedExpCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNestedExpCS19454); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNestedExpCS20860); if (state.failed) return current;
 
             }
 
@@ -25653,7 +26848,7 @@
 
 
     // $ANTLR start "ruleNestedExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8799:1: ruleNestedExpCS returns [EObject current=null] : (otherlv_0= '(' ( (lv_ownedExpression_1_0= ruleExpCS ) ) otherlv_2= ')' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9033:1: ruleNestedExpCS returns [EObject current=null] : (otherlv_0= '(' ( (lv_ownedExpression_1_0= ruleExpCS ) ) otherlv_2= ')' ) ;
     public final EObject ruleNestedExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -25665,30 +26860,30 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8802:28: ( (otherlv_0= '(' ( (lv_ownedExpression_1_0= ruleExpCS ) ) otherlv_2= ')' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8803:1: (otherlv_0= '(' ( (lv_ownedExpression_1_0= ruleExpCS ) ) otherlv_2= ')' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9036:28: ( (otherlv_0= '(' ( (lv_ownedExpression_1_0= ruleExpCS ) ) otherlv_2= ')' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9037:1: (otherlv_0= '(' ( (lv_ownedExpression_1_0= ruleExpCS ) ) otherlv_2= ')' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8803:1: (otherlv_0= '(' ( (lv_ownedExpression_1_0= ruleExpCS ) ) otherlv_2= ')' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8803:3: otherlv_0= '(' ( (lv_ownedExpression_1_0= ruleExpCS ) ) otherlv_2= ')'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9037:1: (otherlv_0= '(' ( (lv_ownedExpression_1_0= ruleExpCS ) ) otherlv_2= ')' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9037:3: otherlv_0= '(' ( (lv_ownedExpression_1_0= ruleExpCS ) ) otherlv_2= ')'
             {
-            otherlv_0=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleNestedExpCS19491); if (state.failed) return current;
+            otherlv_0=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleNestedExpCS20897); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_0, grammarAccess.getNestedExpCSAccess().getLeftParenthesisKeyword_0());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8807:1: ( (lv_ownedExpression_1_0= ruleExpCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8808:1: (lv_ownedExpression_1_0= ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9041:1: ( (lv_ownedExpression_1_0= ruleExpCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9042:1: (lv_ownedExpression_1_0= ruleExpCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8808:1: (lv_ownedExpression_1_0= ruleExpCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8809:3: lv_ownedExpression_1_0= ruleExpCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9042:1: (lv_ownedExpression_1_0= ruleExpCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9043:3: lv_ownedExpression_1_0= ruleExpCS
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getNestedExpCSAccess().getOwnedExpressionExpCSParserRuleCall_1_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleNestedExpCS19512);
+            pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleNestedExpCS20918);
             lv_ownedExpression_1_0=ruleExpCS();
 
             state._fsp--;
@@ -25712,7 +26907,7 @@
 
             }
 
-            otherlv_2=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleNestedExpCS19524); if (state.failed) return current;
+            otherlv_2=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleNestedExpCS20930); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_2, grammarAccess.getNestedExpCSAccess().getRightParenthesisKeyword_2());
@@ -25741,7 +26936,7 @@
 
 
     // $ANTLR start "entryRuleSelfExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8837:1: entryRuleSelfExpCS returns [EObject current=null] : iv_ruleSelfExpCS= ruleSelfExpCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9071:1: entryRuleSelfExpCS returns [EObject current=null] : iv_ruleSelfExpCS= ruleSelfExpCS EOF ;
     public final EObject entryRuleSelfExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -25749,13 +26944,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8838:2: (iv_ruleSelfExpCS= ruleSelfExpCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8839:2: iv_ruleSelfExpCS= ruleSelfExpCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9072:2: (iv_ruleSelfExpCS= ruleSelfExpCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9073:2: iv_ruleSelfExpCS= ruleSelfExpCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getSelfExpCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleSelfExpCS_in_entryRuleSelfExpCS19560);
+            pushFollow(FollowSets000.FOLLOW_ruleSelfExpCS_in_entryRuleSelfExpCS20966);
             iv_ruleSelfExpCS=ruleSelfExpCS();
 
             state._fsp--;
@@ -25763,7 +26958,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleSelfExpCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSelfExpCS19570); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSelfExpCS20976); if (state.failed) return current;
 
             }
 
@@ -25781,7 +26976,7 @@
 
 
     // $ANTLR start "ruleSelfExpCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8846:1: ruleSelfExpCS returns [EObject current=null] : ( () otherlv_1= 'self' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9080:1: ruleSelfExpCS returns [EObject current=null] : ( () otherlv_1= 'self' ) ;
     public final EObject ruleSelfExpCS() throws RecognitionException {
         EObject current = null;
 
@@ -25790,14 +26985,14 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8849:28: ( ( () otherlv_1= 'self' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8850:1: ( () otherlv_1= 'self' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9083:28: ( ( () otherlv_1= 'self' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9084:1: ( () otherlv_1= 'self' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8850:1: ( () otherlv_1= 'self' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8850:2: () otherlv_1= 'self'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9084:1: ( () otherlv_1= 'self' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9084:2: () otherlv_1= 'self'
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8850:2: ()
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8851:2: 
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9084:2: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9085:2: 
             {
             if ( state.backtracking==0 ) {
                
@@ -25814,7 +27009,7 @@
 
             }
 
-            otherlv_1=(Token)match(input,132,FollowSets000.FOLLOW_132_in_ruleSelfExpCS19619); if (state.failed) return current;
+            otherlv_1=(Token)match(input,132,FollowSets000.FOLLOW_132_in_ruleSelfExpCS21025); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_1, grammarAccess.getSelfExpCSAccess().getSelfKeyword_1());
@@ -25843,7 +27038,7 @@
 
 
     // $ANTLR start "entryRuleMultiplicityBoundsCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8871:1: entryRuleMultiplicityBoundsCS returns [EObject current=null] : iv_ruleMultiplicityBoundsCS= ruleMultiplicityBoundsCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9105:1: entryRuleMultiplicityBoundsCS returns [EObject current=null] : iv_ruleMultiplicityBoundsCS= ruleMultiplicityBoundsCS EOF ;
     public final EObject entryRuleMultiplicityBoundsCS() throws RecognitionException {
         EObject current = null;
 
@@ -25851,13 +27046,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8872:2: (iv_ruleMultiplicityBoundsCS= ruleMultiplicityBoundsCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8873:2: iv_ruleMultiplicityBoundsCS= ruleMultiplicityBoundsCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9106:2: (iv_ruleMultiplicityBoundsCS= ruleMultiplicityBoundsCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9107:2: iv_ruleMultiplicityBoundsCS= ruleMultiplicityBoundsCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getMultiplicityBoundsCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleMultiplicityBoundsCS_in_entryRuleMultiplicityBoundsCS19655);
+            pushFollow(FollowSets000.FOLLOW_ruleMultiplicityBoundsCS_in_entryRuleMultiplicityBoundsCS21061);
             iv_ruleMultiplicityBoundsCS=ruleMultiplicityBoundsCS();
 
             state._fsp--;
@@ -25865,7 +27060,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleMultiplicityBoundsCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleMultiplicityBoundsCS19665); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleMultiplicityBoundsCS21071); if (state.failed) return current;
 
             }
 
@@ -25883,7 +27078,7 @@
 
 
     // $ANTLR start "ruleMultiplicityBoundsCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8880:1: ruleMultiplicityBoundsCS returns [EObject current=null] : ( ( (lv_lowerBound_0_0= ruleLOWER ) ) (otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) ) )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9114:1: ruleMultiplicityBoundsCS returns [EObject current=null] : ( ( (lv_lowerBound_0_0= ruleLOWER ) ) (otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) ) )? ) ;
     public final EObject ruleMultiplicityBoundsCS() throws RecognitionException {
         EObject current = null;
 
@@ -25896,24 +27091,24 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8883:28: ( ( ( (lv_lowerBound_0_0= ruleLOWER ) ) (otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) ) )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8884:1: ( ( (lv_lowerBound_0_0= ruleLOWER ) ) (otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) ) )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9117:28: ( ( ( (lv_lowerBound_0_0= ruleLOWER ) ) (otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) ) )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9118:1: ( ( (lv_lowerBound_0_0= ruleLOWER ) ) (otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) ) )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8884:1: ( ( (lv_lowerBound_0_0= ruleLOWER ) ) (otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) ) )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8884:2: ( (lv_lowerBound_0_0= ruleLOWER ) ) (otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) ) )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9118:1: ( ( (lv_lowerBound_0_0= ruleLOWER ) ) (otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) ) )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9118:2: ( (lv_lowerBound_0_0= ruleLOWER ) ) (otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) ) )?
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8884:2: ( (lv_lowerBound_0_0= ruleLOWER ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8885:1: (lv_lowerBound_0_0= ruleLOWER )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9118:2: ( (lv_lowerBound_0_0= ruleLOWER ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9119:1: (lv_lowerBound_0_0= ruleLOWER )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8885:1: (lv_lowerBound_0_0= ruleLOWER )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8886:3: lv_lowerBound_0_0= ruleLOWER
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9119:1: (lv_lowerBound_0_0= ruleLOWER )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9120:3: lv_lowerBound_0_0= ruleLOWER
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getMultiplicityBoundsCSAccess().getLowerBoundLOWERParserRuleCall_0_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleLOWER_in_ruleMultiplicityBoundsCS19711);
+            pushFollow(FollowSets000.FOLLOW_ruleLOWER_in_ruleMultiplicityBoundsCS21117);
             lv_lowerBound_0_0=ruleLOWER();
 
             state._fsp--;
@@ -25937,35 +27132,35 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8902:2: (otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) ) )?
-            int alt200=2;
-            int LA200_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9136:2: (otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) ) )?
+            int alt238=2;
+            int LA238_0 = input.LA(1);
 
-            if ( (LA200_0==113) ) {
-                alt200=1;
+            if ( (LA238_0==113) ) {
+                alt238=1;
             }
-            switch (alt200) {
+            switch (alt238) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8902:4: otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9136:4: otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) )
                     {
-                    otherlv_1=(Token)match(input,113,FollowSets000.FOLLOW_113_in_ruleMultiplicityBoundsCS19724); if (state.failed) return current;
+                    otherlv_1=(Token)match(input,113,FollowSets000.FOLLOW_113_in_ruleMultiplicityBoundsCS21130); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_1, grammarAccess.getMultiplicityBoundsCSAccess().getFullStopFullStopKeyword_1_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8906:1: ( (lv_upperBound_2_0= ruleUPPER ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8907:1: (lv_upperBound_2_0= ruleUPPER )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9140:1: ( (lv_upperBound_2_0= ruleUPPER ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9141:1: (lv_upperBound_2_0= ruleUPPER )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8907:1: (lv_upperBound_2_0= ruleUPPER )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8908:3: lv_upperBound_2_0= ruleUPPER
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9141:1: (lv_upperBound_2_0= ruleUPPER )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9142:3: lv_upperBound_2_0= ruleUPPER
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getMultiplicityBoundsCSAccess().getUpperBoundUPPERParserRuleCall_1_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleUPPER_in_ruleMultiplicityBoundsCS19745);
+                    pushFollow(FollowSets000.FOLLOW_ruleUPPER_in_ruleMultiplicityBoundsCS21151);
                     lv_upperBound_2_0=ruleUPPER();
 
                     state._fsp--;
@@ -26018,7 +27213,7 @@
 
 
     // $ANTLR start "entryRuleMultiplicityCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8932:1: entryRuleMultiplicityCS returns [EObject current=null] : iv_ruleMultiplicityCS= ruleMultiplicityCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9166:1: entryRuleMultiplicityCS returns [EObject current=null] : iv_ruleMultiplicityCS= ruleMultiplicityCS EOF ;
     public final EObject entryRuleMultiplicityCS() throws RecognitionException {
         EObject current = null;
 
@@ -26026,13 +27221,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8933:2: (iv_ruleMultiplicityCS= ruleMultiplicityCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8934:2: iv_ruleMultiplicityCS= ruleMultiplicityCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9167:2: (iv_ruleMultiplicityCS= ruleMultiplicityCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9168:2: iv_ruleMultiplicityCS= ruleMultiplicityCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getMultiplicityCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleMultiplicityCS_in_entryRuleMultiplicityCS19783);
+            pushFollow(FollowSets000.FOLLOW_ruleMultiplicityCS_in_entryRuleMultiplicityCS21189);
             iv_ruleMultiplicityCS=ruleMultiplicityCS();
 
             state._fsp--;
@@ -26040,7 +27235,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleMultiplicityCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleMultiplicityCS19793); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleMultiplicityCS21199); if (state.failed) return current;
 
             }
 
@@ -26058,7 +27253,7 @@
 
 
     // $ANTLR start "ruleMultiplicityCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8941:1: ruleMultiplicityCS returns [EObject current=null] : (otherlv_0= '[' (this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS | this_MultiplicityStringCS_2= ruleMultiplicityStringCS ) otherlv_3= ']' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9175:1: ruleMultiplicityCS returns [EObject current=null] : (otherlv_0= '[' (this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS | this_MultiplicityStringCS_2= ruleMultiplicityStringCS ) otherlv_3= ']' ) ;
     public final EObject ruleMultiplicityCS() throws RecognitionException {
         EObject current = null;
 
@@ -26072,38 +27267,38 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8944:28: ( (otherlv_0= '[' (this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS | this_MultiplicityStringCS_2= ruleMultiplicityStringCS ) otherlv_3= ']' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8945:1: (otherlv_0= '[' (this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS | this_MultiplicityStringCS_2= ruleMultiplicityStringCS ) otherlv_3= ']' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9178:28: ( (otherlv_0= '[' (this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS | this_MultiplicityStringCS_2= ruleMultiplicityStringCS ) otherlv_3= ']' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9179:1: (otherlv_0= '[' (this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS | this_MultiplicityStringCS_2= ruleMultiplicityStringCS ) otherlv_3= ']' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8945:1: (otherlv_0= '[' (this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS | this_MultiplicityStringCS_2= ruleMultiplicityStringCS ) otherlv_3= ']' )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8945:3: otherlv_0= '[' (this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS | this_MultiplicityStringCS_2= ruleMultiplicityStringCS ) otherlv_3= ']'
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9179:1: (otherlv_0= '[' (this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS | this_MultiplicityStringCS_2= ruleMultiplicityStringCS ) otherlv_3= ']' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9179:3: otherlv_0= '[' (this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS | this_MultiplicityStringCS_2= ruleMultiplicityStringCS ) otherlv_3= ']'
             {
-            otherlv_0=(Token)match(input,122,FollowSets000.FOLLOW_122_in_ruleMultiplicityCS19830); if (state.failed) return current;
+            otherlv_0=(Token)match(input,122,FollowSets000.FOLLOW_122_in_ruleMultiplicityCS21236); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_0, grammarAccess.getMultiplicityCSAccess().getLeftSquareBracketKeyword_0());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8949:1: (this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS | this_MultiplicityStringCS_2= ruleMultiplicityStringCS )
-            int alt201=2;
-            int LA201_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9183:1: (this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS | this_MultiplicityStringCS_2= ruleMultiplicityStringCS )
+            int alt239=2;
+            int LA239_0 = input.LA(1);
 
-            if ( (LA201_0==RULE_INT) ) {
-                alt201=1;
+            if ( (LA239_0==RULE_INT) ) {
+                alt239=1;
             }
-            else if ( (LA201_0==84||LA201_0==86||LA201_0==133) ) {
-                alt201=2;
+            else if ( (LA239_0==84||LA239_0==86||LA239_0==133) ) {
+                alt239=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 201, 0, input);
+                    new NoViableAltException("", 239, 0, input);
 
                 throw nvae;
             }
-            switch (alt201) {
+            switch (alt239) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8950:2: this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9184:2: this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -26115,7 +27310,7 @@
                               newCompositeNode(grammarAccess.getMultiplicityCSAccess().getMultiplicityBoundsCSParserRuleCall_1_0()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleMultiplicityBoundsCS_in_ruleMultiplicityCS19856);
+                    pushFollow(FollowSets000.FOLLOW_ruleMultiplicityBoundsCS_in_ruleMultiplicityCS21262);
                     this_MultiplicityBoundsCS_1=ruleMultiplicityBoundsCS();
 
                     state._fsp--;
@@ -26130,7 +27325,7 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8963:2: this_MultiplicityStringCS_2= ruleMultiplicityStringCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9197:2: this_MultiplicityStringCS_2= ruleMultiplicityStringCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -26142,7 +27337,7 @@
                               newCompositeNode(grammarAccess.getMultiplicityCSAccess().getMultiplicityStringCSParserRuleCall_1_1()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleMultiplicityStringCS_in_ruleMultiplicityCS19886);
+                    pushFollow(FollowSets000.FOLLOW_ruleMultiplicityStringCS_in_ruleMultiplicityCS21292);
                     this_MultiplicityStringCS_2=ruleMultiplicityStringCS();
 
                     state._fsp--;
@@ -26159,7 +27354,7 @@
 
             }
 
-            otherlv_3=(Token)match(input,123,FollowSets000.FOLLOW_123_in_ruleMultiplicityCS19898); if (state.failed) return current;
+            otherlv_3=(Token)match(input,123,FollowSets000.FOLLOW_123_in_ruleMultiplicityCS21304); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_3, grammarAccess.getMultiplicityCSAccess().getRightSquareBracketKeyword_2());
@@ -26188,7 +27383,7 @@
 
 
     // $ANTLR start "entryRuleMultiplicityStringCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8986:1: entryRuleMultiplicityStringCS returns [EObject current=null] : iv_ruleMultiplicityStringCS= ruleMultiplicityStringCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9220:1: entryRuleMultiplicityStringCS returns [EObject current=null] : iv_ruleMultiplicityStringCS= ruleMultiplicityStringCS EOF ;
     public final EObject entryRuleMultiplicityStringCS() throws RecognitionException {
         EObject current = null;
 
@@ -26196,13 +27391,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8987:2: (iv_ruleMultiplicityStringCS= ruleMultiplicityStringCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8988:2: iv_ruleMultiplicityStringCS= ruleMultiplicityStringCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9221:2: (iv_ruleMultiplicityStringCS= ruleMultiplicityStringCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9222:2: iv_ruleMultiplicityStringCS= ruleMultiplicityStringCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getMultiplicityStringCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleMultiplicityStringCS_in_entryRuleMultiplicityStringCS19934);
+            pushFollow(FollowSets000.FOLLOW_ruleMultiplicityStringCS_in_entryRuleMultiplicityStringCS21340);
             iv_ruleMultiplicityStringCS=ruleMultiplicityStringCS();
 
             state._fsp--;
@@ -26210,7 +27405,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleMultiplicityStringCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleMultiplicityStringCS19944); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleMultiplicityStringCS21350); if (state.failed) return current;
 
             }
 
@@ -26228,7 +27423,7 @@
 
 
     // $ANTLR start "ruleMultiplicityStringCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8995:1: ruleMultiplicityStringCS returns [EObject current=null] : ( ( (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' ) ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9229:1: ruleMultiplicityStringCS returns [EObject current=null] : ( ( (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' ) ) ) ;
     public final EObject ruleMultiplicityStringCS() throws RecognitionException {
         EObject current = null;
 
@@ -26239,46 +27434,46 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8998:28: ( ( ( (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' ) ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8999:1: ( ( (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9232:28: ( ( ( (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' ) ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9233:1: ( ( (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' ) ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8999:1: ( ( (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9000:1: ( (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9233:1: ( ( (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9234:1: ( (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9000:1: ( (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9001:1: (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9234:1: ( (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9235:1: (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9001:1: (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' )
-            int alt202=3;
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9235:1: (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' )
+            int alt240=3;
             switch ( input.LA(1) ) {
             case 84:
                 {
-                alt202=1;
+                alt240=1;
                 }
                 break;
             case 86:
                 {
-                alt202=2;
+                alt240=2;
                 }
                 break;
             case 133:
                 {
-                alt202=3;
+                alt240=3;
                 }
                 break;
             default:
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 202, 0, input);
+                    new NoViableAltException("", 240, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt202) {
+            switch (alt240) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9002:3: lv_stringBounds_0_1= '*'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9236:3: lv_stringBounds_0_1= '*'
                     {
-                    lv_stringBounds_0_1=(Token)match(input,84,FollowSets000.FOLLOW_84_in_ruleMultiplicityStringCS19988); if (state.failed) return current;
+                    lv_stringBounds_0_1=(Token)match(input,84,FollowSets000.FOLLOW_84_in_ruleMultiplicityStringCS21394); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               newLeafNode(lv_stringBounds_0_1, grammarAccess.getMultiplicityStringCSAccess().getStringBoundsAsteriskKeyword_0_0());
@@ -26296,9 +27491,9 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9014:8: lv_stringBounds_0_2= '+'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9248:8: lv_stringBounds_0_2= '+'
                     {
-                    lv_stringBounds_0_2=(Token)match(input,86,FollowSets000.FOLLOW_86_in_ruleMultiplicityStringCS20017); if (state.failed) return current;
+                    lv_stringBounds_0_2=(Token)match(input,86,FollowSets000.FOLLOW_86_in_ruleMultiplicityStringCS21423); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               newLeafNode(lv_stringBounds_0_2, grammarAccess.getMultiplicityStringCSAccess().getStringBoundsPlusSignKeyword_0_1());
@@ -26316,9 +27511,9 @@
                     }
                     break;
                 case 3 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9026:8: lv_stringBounds_0_3= '?'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9260:8: lv_stringBounds_0_3= '?'
                     {
-                    lv_stringBounds_0_3=(Token)match(input,133,FollowSets000.FOLLOW_133_in_ruleMultiplicityStringCS20046); if (state.failed) return current;
+                    lv_stringBounds_0_3=(Token)match(input,133,FollowSets000.FOLLOW_133_in_ruleMultiplicityStringCS21452); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               newLeafNode(lv_stringBounds_0_3, grammarAccess.getMultiplicityStringCSAccess().getStringBoundsQuestionMarkKeyword_0_2());
@@ -26364,7 +27559,7 @@
 
 
     // $ANTLR start "entryRulePathNameCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9049:1: entryRulePathNameCS returns [EObject current=null] : iv_rulePathNameCS= rulePathNameCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9283:1: entryRulePathNameCS returns [EObject current=null] : iv_rulePathNameCS= rulePathNameCS EOF ;
     public final EObject entryRulePathNameCS() throws RecognitionException {
         EObject current = null;
 
@@ -26372,13 +27567,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9050:2: (iv_rulePathNameCS= rulePathNameCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9051:2: iv_rulePathNameCS= rulePathNameCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9284:2: (iv_rulePathNameCS= rulePathNameCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9285:2: iv_rulePathNameCS= rulePathNameCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getPathNameCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_rulePathNameCS_in_entryRulePathNameCS20097);
+            pushFollow(FollowSets000.FOLLOW_rulePathNameCS_in_entryRulePathNameCS21503);
             iv_rulePathNameCS=rulePathNameCS();
 
             state._fsp--;
@@ -26386,7 +27581,7 @@
             if ( state.backtracking==0 ) {
                current =iv_rulePathNameCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePathNameCS20107); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePathNameCS21513); if (state.failed) return current;
 
             }
 
@@ -26404,7 +27599,7 @@
 
 
     // $ANTLR start "rulePathNameCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9058:1: rulePathNameCS returns [EObject current=null] : ( ( (lv_ownedPathElements_0_0= ruleFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9292:1: rulePathNameCS returns [EObject current=null] : ( ( (lv_ownedPathElements_0_0= ruleFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* ) ;
     public final EObject rulePathNameCS() throws RecognitionException {
         EObject current = null;
 
@@ -26417,24 +27612,24 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9061:28: ( ( ( (lv_ownedPathElements_0_0= ruleFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9062:1: ( ( (lv_ownedPathElements_0_0= ruleFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9295:28: ( ( ( (lv_ownedPathElements_0_0= ruleFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9296:1: ( ( (lv_ownedPathElements_0_0= ruleFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9062:1: ( ( (lv_ownedPathElements_0_0= ruleFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9062:2: ( (lv_ownedPathElements_0_0= ruleFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )*
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9296:1: ( ( (lv_ownedPathElements_0_0= ruleFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9296:2: ( (lv_ownedPathElements_0_0= ruleFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )*
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9062:2: ( (lv_ownedPathElements_0_0= ruleFirstPathElementCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9063:1: (lv_ownedPathElements_0_0= ruleFirstPathElementCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9296:2: ( (lv_ownedPathElements_0_0= ruleFirstPathElementCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9297:1: (lv_ownedPathElements_0_0= ruleFirstPathElementCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9063:1: (lv_ownedPathElements_0_0= ruleFirstPathElementCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9064:3: lv_ownedPathElements_0_0= ruleFirstPathElementCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9297:1: (lv_ownedPathElements_0_0= ruleFirstPathElementCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9298:3: lv_ownedPathElements_0_0= ruleFirstPathElementCS
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getPathNameCSAccess().getOwnedPathElementsFirstPathElementCSParserRuleCall_0_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleFirstPathElementCS_in_rulePathNameCS20153);
+            pushFollow(FollowSets000.FOLLOW_ruleFirstPathElementCS_in_rulePathNameCS21559);
             lv_ownedPathElements_0_0=ruleFirstPathElementCS();
 
             state._fsp--;
@@ -26458,39 +27653,39 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9080:2: (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )*
-            loop203:
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9314:2: (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )*
+            loop241:
             do {
-                int alt203=2;
-                int LA203_0 = input.LA(1);
+                int alt241=2;
+                int LA241_0 = input.LA(1);
 
-                if ( (LA203_0==99) ) {
-                    alt203=1;
+                if ( (LA241_0==99) ) {
+                    alt241=1;
                 }
 
 
-                switch (alt203) {
+                switch (alt241) {
             	case 1 :
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9080:4: otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9314:4: otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) )
             	    {
-            	    otherlv_1=(Token)match(input,99,FollowSets000.FOLLOW_99_in_rulePathNameCS20166); if (state.failed) return current;
+            	    otherlv_1=(Token)match(input,99,FollowSets000.FOLLOW_99_in_rulePathNameCS21572); if (state.failed) return current;
             	    if ( state.backtracking==0 ) {
 
             	          	newLeafNode(otherlv_1, grammarAccess.getPathNameCSAccess().getColonColonKeyword_1_0());
             	          
             	    }
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9084:1: ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) )
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9085:1: (lv_ownedPathElements_2_0= ruleNextPathElementCS )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9318:1: ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9319:1: (lv_ownedPathElements_2_0= ruleNextPathElementCS )
             	    {
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9085:1: (lv_ownedPathElements_2_0= ruleNextPathElementCS )
-            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9086:3: lv_ownedPathElements_2_0= ruleNextPathElementCS
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9319:1: (lv_ownedPathElements_2_0= ruleNextPathElementCS )
+            	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9320:3: lv_ownedPathElements_2_0= ruleNextPathElementCS
             	    {
             	    if ( state.backtracking==0 ) {
             	       
             	      	        newCompositeNode(grammarAccess.getPathNameCSAccess().getOwnedPathElementsNextPathElementCSParserRuleCall_1_1_0()); 
             	      	    
             	    }
-            	    pushFollow(FollowSets000.FOLLOW_ruleNextPathElementCS_in_rulePathNameCS20187);
+            	    pushFollow(FollowSets000.FOLLOW_ruleNextPathElementCS_in_rulePathNameCS21593);
             	    lv_ownedPathElements_2_0=ruleNextPathElementCS();
 
             	    state._fsp--;
@@ -26519,7 +27714,7 @@
             	    break;
 
             	default :
-            	    break loop203;
+            	    break loop241;
                 }
             } while (true);
 
@@ -26546,7 +27741,7 @@
 
 
     // $ANTLR start "entryRuleFirstPathElementCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9110:1: entryRuleFirstPathElementCS returns [EObject current=null] : iv_ruleFirstPathElementCS= ruleFirstPathElementCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9344:1: entryRuleFirstPathElementCS returns [EObject current=null] : iv_ruleFirstPathElementCS= ruleFirstPathElementCS EOF ;
     public final EObject entryRuleFirstPathElementCS() throws RecognitionException {
         EObject current = null;
 
@@ -26554,13 +27749,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9111:2: (iv_ruleFirstPathElementCS= ruleFirstPathElementCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9112:2: iv_ruleFirstPathElementCS= ruleFirstPathElementCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9345:2: (iv_ruleFirstPathElementCS= ruleFirstPathElementCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9346:2: iv_ruleFirstPathElementCS= ruleFirstPathElementCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getFirstPathElementCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleFirstPathElementCS_in_entryRuleFirstPathElementCS20225);
+            pushFollow(FollowSets000.FOLLOW_ruleFirstPathElementCS_in_entryRuleFirstPathElementCS21631);
             iv_ruleFirstPathElementCS=ruleFirstPathElementCS();
 
             state._fsp--;
@@ -26568,7 +27763,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleFirstPathElementCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleFirstPathElementCS20235); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleFirstPathElementCS21641); if (state.failed) return current;
 
             }
 
@@ -26586,21 +27781,21 @@
 
 
     // $ANTLR start "ruleFirstPathElementCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9119:1: ruleFirstPathElementCS returns [EObject current=null] : ( ( ruleUnrestrictedName ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9353:1: ruleFirstPathElementCS returns [EObject current=null] : ( ( ruleUnrestrictedName ) ) ;
     public final EObject ruleFirstPathElementCS() throws RecognitionException {
         EObject current = null;
 
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9122:28: ( ( ( ruleUnrestrictedName ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9123:1: ( ( ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9356:28: ( ( ( ruleUnrestrictedName ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9357:1: ( ( ruleUnrestrictedName ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9123:1: ( ( ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9124:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9357:1: ( ( ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9358:1: ( ruleUnrestrictedName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9124:1: ( ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9125:3: ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9358:1: ( ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9359:3: ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                
@@ -26619,7 +27814,7 @@
               	        newCompositeNode(grammarAccess.getFirstPathElementCSAccess().getReferredElementNamedElementCrossReference_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleFirstPathElementCS20286);
+            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleFirstPathElementCS21692);
             ruleUnrestrictedName();
 
             state._fsp--;
@@ -26655,7 +27850,7 @@
 
 
     // $ANTLR start "entryRuleNextPathElementCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9149:1: entryRuleNextPathElementCS returns [EObject current=null] : iv_ruleNextPathElementCS= ruleNextPathElementCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9383:1: entryRuleNextPathElementCS returns [EObject current=null] : iv_ruleNextPathElementCS= ruleNextPathElementCS EOF ;
     public final EObject entryRuleNextPathElementCS() throws RecognitionException {
         EObject current = null;
 
@@ -26663,13 +27858,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9150:2: (iv_ruleNextPathElementCS= ruleNextPathElementCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9151:2: iv_ruleNextPathElementCS= ruleNextPathElementCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9384:2: (iv_ruleNextPathElementCS= ruleNextPathElementCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9385:2: iv_ruleNextPathElementCS= ruleNextPathElementCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getNextPathElementCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleNextPathElementCS_in_entryRuleNextPathElementCS20321);
+            pushFollow(FollowSets000.FOLLOW_ruleNextPathElementCS_in_entryRuleNextPathElementCS21727);
             iv_ruleNextPathElementCS=ruleNextPathElementCS();
 
             state._fsp--;
@@ -26677,7 +27872,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleNextPathElementCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNextPathElementCS20331); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNextPathElementCS21737); if (state.failed) return current;
 
             }
 
@@ -26695,21 +27890,21 @@
 
 
     // $ANTLR start "ruleNextPathElementCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9158:1: ruleNextPathElementCS returns [EObject current=null] : ( ( ruleUnreservedName ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9392:1: ruleNextPathElementCS returns [EObject current=null] : ( ( ruleUnreservedName ) ) ;
     public final EObject ruleNextPathElementCS() throws RecognitionException {
         EObject current = null;
 
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9161:28: ( ( ( ruleUnreservedName ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9162:1: ( ( ruleUnreservedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9395:28: ( ( ( ruleUnreservedName ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9396:1: ( ( ruleUnreservedName ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9162:1: ( ( ruleUnreservedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9163:1: ( ruleUnreservedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9396:1: ( ( ruleUnreservedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9397:1: ( ruleUnreservedName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9163:1: ( ruleUnreservedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9164:3: ruleUnreservedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9397:1: ( ruleUnreservedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9398:3: ruleUnreservedName
             {
             if ( state.backtracking==0 ) {
                
@@ -26728,7 +27923,7 @@
               	        newCompositeNode(grammarAccess.getNextPathElementCSAccess().getReferredElementNamedElementCrossReference_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleUnreservedName_in_ruleNextPathElementCS20382);
+            pushFollow(FollowSets000.FOLLOW_ruleUnreservedName_in_ruleNextPathElementCS21788);
             ruleUnreservedName();
 
             state._fsp--;
@@ -26764,7 +27959,7 @@
 
 
     // $ANTLR start "entryRuleTemplateParameterSubstitutionCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9188:1: entryRuleTemplateParameterSubstitutionCS returns [EObject current=null] : iv_ruleTemplateParameterSubstitutionCS= ruleTemplateParameterSubstitutionCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9422:1: entryRuleTemplateParameterSubstitutionCS returns [EObject current=null] : iv_ruleTemplateParameterSubstitutionCS= ruleTemplateParameterSubstitutionCS EOF ;
     public final EObject entryRuleTemplateParameterSubstitutionCS() throws RecognitionException {
         EObject current = null;
 
@@ -26772,13 +27967,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9189:2: (iv_ruleTemplateParameterSubstitutionCS= ruleTemplateParameterSubstitutionCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9190:2: iv_ruleTemplateParameterSubstitutionCS= ruleTemplateParameterSubstitutionCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9423:2: (iv_ruleTemplateParameterSubstitutionCS= ruleTemplateParameterSubstitutionCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9424:2: iv_ruleTemplateParameterSubstitutionCS= ruleTemplateParameterSubstitutionCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTemplateParameterSubstitutionCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleTemplateParameterSubstitutionCS_in_entryRuleTemplateParameterSubstitutionCS20417);
+            pushFollow(FollowSets000.FOLLOW_ruleTemplateParameterSubstitutionCS_in_entryRuleTemplateParameterSubstitutionCS21823);
             iv_ruleTemplateParameterSubstitutionCS=ruleTemplateParameterSubstitutionCS();
 
             state._fsp--;
@@ -26786,7 +27981,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleTemplateParameterSubstitutionCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTemplateParameterSubstitutionCS20427); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTemplateParameterSubstitutionCS21833); if (state.failed) return current;
 
             }
 
@@ -26804,7 +27999,7 @@
 
 
     // $ANTLR start "ruleTemplateParameterSubstitutionCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9197:1: ruleTemplateParameterSubstitutionCS returns [EObject current=null] : ( (lv_ownedActualParameter_0_0= ruleTypeRefCS ) ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9431:1: ruleTemplateParameterSubstitutionCS returns [EObject current=null] : ( (lv_ownedActualParameter_0_0= ruleTypeRefCS ) ) ;
     public final EObject ruleTemplateParameterSubstitutionCS() throws RecognitionException {
         EObject current = null;
 
@@ -26814,21 +28009,21 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9200:28: ( ( (lv_ownedActualParameter_0_0= ruleTypeRefCS ) ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9201:1: ( (lv_ownedActualParameter_0_0= ruleTypeRefCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9434:28: ( ( (lv_ownedActualParameter_0_0= ruleTypeRefCS ) ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9435:1: ( (lv_ownedActualParameter_0_0= ruleTypeRefCS ) )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9201:1: ( (lv_ownedActualParameter_0_0= ruleTypeRefCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9202:1: (lv_ownedActualParameter_0_0= ruleTypeRefCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9435:1: ( (lv_ownedActualParameter_0_0= ruleTypeRefCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9436:1: (lv_ownedActualParameter_0_0= ruleTypeRefCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9202:1: (lv_ownedActualParameter_0_0= ruleTypeRefCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9203:3: lv_ownedActualParameter_0_0= ruleTypeRefCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9436:1: (lv_ownedActualParameter_0_0= ruleTypeRefCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9437:3: lv_ownedActualParameter_0_0= ruleTypeRefCS
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getTemplateParameterSubstitutionCSAccess().getOwnedActualParameterTypeRefCSParserRuleCall_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleTypeRefCS_in_ruleTemplateParameterSubstitutionCS20472);
+            pushFollow(FollowSets000.FOLLOW_ruleTypeRefCS_in_ruleTemplateParameterSubstitutionCS21878);
             lv_ownedActualParameter_0_0=ruleTypeRefCS();
 
             state._fsp--;
@@ -26872,7 +28067,7 @@
 
 
     // $ANTLR start "entryRuleTypeParameterCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9227:1: entryRuleTypeParameterCS returns [EObject current=null] : iv_ruleTypeParameterCS= ruleTypeParameterCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9461:1: entryRuleTypeParameterCS returns [EObject current=null] : iv_ruleTypeParameterCS= ruleTypeParameterCS EOF ;
     public final EObject entryRuleTypeParameterCS() throws RecognitionException {
         EObject current = null;
 
@@ -26880,13 +28075,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9228:2: (iv_ruleTypeParameterCS= ruleTypeParameterCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9229:2: iv_ruleTypeParameterCS= ruleTypeParameterCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9462:2: (iv_ruleTypeParameterCS= ruleTypeParameterCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9463:2: iv_ruleTypeParameterCS= ruleTypeParameterCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTypeParameterCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleTypeParameterCS_in_entryRuleTypeParameterCS20507);
+            pushFollow(FollowSets000.FOLLOW_ruleTypeParameterCS_in_entryRuleTypeParameterCS21913);
             iv_ruleTypeParameterCS=ruleTypeParameterCS();
 
             state._fsp--;
@@ -26894,7 +28089,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleTypeParameterCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypeParameterCS20517); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypeParameterCS21923); if (state.failed) return current;
 
             }
 
@@ -26912,7 +28107,7 @@
 
 
     // $ANTLR start "ruleTypeParameterCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9236:1: ruleTypeParameterCS returns [EObject current=null] : ( ( (lv_name_0_0= ruleUnrestrictedName ) ) ( (otherlv_1= 'extends' ( (lv_ownedExtends_2_0= ruleTypedRefCS ) ) (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )* ) | (otherlv_5= 'super' ( (lv_ownedSuper_6_0= ruleTypedRefCS ) ) ) )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9470:1: ruleTypeParameterCS returns [EObject current=null] : ( ( (lv_name_0_0= ruleUnrestrictedName ) ) ( (otherlv_1= 'extends' ( (lv_ownedExtends_2_0= ruleTypedRefCS ) ) (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )* ) | (otherlv_5= 'super' ( (lv_ownedSuper_6_0= ruleTypedRefCS ) ) ) )? ) ;
     public final EObject ruleTypeParameterCS() throws RecognitionException {
         EObject current = null;
 
@@ -26931,24 +28126,24 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9239:28: ( ( ( (lv_name_0_0= ruleUnrestrictedName ) ) ( (otherlv_1= 'extends' ( (lv_ownedExtends_2_0= ruleTypedRefCS ) ) (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )* ) | (otherlv_5= 'super' ( (lv_ownedSuper_6_0= ruleTypedRefCS ) ) ) )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9240:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) ( (otherlv_1= 'extends' ( (lv_ownedExtends_2_0= ruleTypedRefCS ) ) (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )* ) | (otherlv_5= 'super' ( (lv_ownedSuper_6_0= ruleTypedRefCS ) ) ) )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9473:28: ( ( ( (lv_name_0_0= ruleUnrestrictedName ) ) ( (otherlv_1= 'extends' ( (lv_ownedExtends_2_0= ruleTypedRefCS ) ) (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )* ) | (otherlv_5= 'super' ( (lv_ownedSuper_6_0= ruleTypedRefCS ) ) ) )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9474:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) ( (otherlv_1= 'extends' ( (lv_ownedExtends_2_0= ruleTypedRefCS ) ) (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )* ) | (otherlv_5= 'super' ( (lv_ownedSuper_6_0= ruleTypedRefCS ) ) ) )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9240:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) ( (otherlv_1= 'extends' ( (lv_ownedExtends_2_0= ruleTypedRefCS ) ) (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )* ) | (otherlv_5= 'super' ( (lv_ownedSuper_6_0= ruleTypedRefCS ) ) ) )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9240:2: ( (lv_name_0_0= ruleUnrestrictedName ) ) ( (otherlv_1= 'extends' ( (lv_ownedExtends_2_0= ruleTypedRefCS ) ) (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )* ) | (otherlv_5= 'super' ( (lv_ownedSuper_6_0= ruleTypedRefCS ) ) ) )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9474:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) ( (otherlv_1= 'extends' ( (lv_ownedExtends_2_0= ruleTypedRefCS ) ) (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )* ) | (otherlv_5= 'super' ( (lv_ownedSuper_6_0= ruleTypedRefCS ) ) ) )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9474:2: ( (lv_name_0_0= ruleUnrestrictedName ) ) ( (otherlv_1= 'extends' ( (lv_ownedExtends_2_0= ruleTypedRefCS ) ) (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )* ) | (otherlv_5= 'super' ( (lv_ownedSuper_6_0= ruleTypedRefCS ) ) ) )?
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9240:2: ( (lv_name_0_0= ruleUnrestrictedName ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9241:1: (lv_name_0_0= ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9474:2: ( (lv_name_0_0= ruleUnrestrictedName ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9475:1: (lv_name_0_0= ruleUnrestrictedName )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9241:1: (lv_name_0_0= ruleUnrestrictedName )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9242:3: lv_name_0_0= ruleUnrestrictedName
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9475:1: (lv_name_0_0= ruleUnrestrictedName )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9476:3: lv_name_0_0= ruleUnrestrictedName
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getTypeParameterCSAccess().getNameUnrestrictedNameParserRuleCall_0_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleTypeParameterCS20563);
+            pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleTypeParameterCS21969);
             lv_name_0_0=ruleUnrestrictedName();
 
             state._fsp--;
@@ -26972,41 +28167,41 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9258:2: ( (otherlv_1= 'extends' ( (lv_ownedExtends_2_0= ruleTypedRefCS ) ) (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )* ) | (otherlv_5= 'super' ( (lv_ownedSuper_6_0= ruleTypedRefCS ) ) ) )?
-            int alt205=3;
-            int LA205_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9492:2: ( (otherlv_1= 'extends' ( (lv_ownedExtends_2_0= ruleTypedRefCS ) ) (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )* ) | (otherlv_5= 'super' ( (lv_ownedSuper_6_0= ruleTypedRefCS ) ) ) )?
+            int alt243=3;
+            int LA243_0 = input.LA(1);
 
-            if ( (LA205_0==30) ) {
-                alt205=1;
+            if ( (LA243_0==30) ) {
+                alt243=1;
             }
-            else if ( (LA205_0==48) ) {
-                alt205=2;
+            else if ( (LA243_0==48) ) {
+                alt243=2;
             }
-            switch (alt205) {
+            switch (alt243) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9258:3: (otherlv_1= 'extends' ( (lv_ownedExtends_2_0= ruleTypedRefCS ) ) (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )* )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9492:3: (otherlv_1= 'extends' ( (lv_ownedExtends_2_0= ruleTypedRefCS ) ) (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )* )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9258:3: (otherlv_1= 'extends' ( (lv_ownedExtends_2_0= ruleTypedRefCS ) ) (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )* )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9258:5: otherlv_1= 'extends' ( (lv_ownedExtends_2_0= ruleTypedRefCS ) ) (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )*
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9492:3: (otherlv_1= 'extends' ( (lv_ownedExtends_2_0= ruleTypedRefCS ) ) (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )* )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9492:5: otherlv_1= 'extends' ( (lv_ownedExtends_2_0= ruleTypedRefCS ) ) (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )*
                     {
-                    otherlv_1=(Token)match(input,30,FollowSets000.FOLLOW_30_in_ruleTypeParameterCS20577); if (state.failed) return current;
+                    otherlv_1=(Token)match(input,30,FollowSets000.FOLLOW_30_in_ruleTypeParameterCS21983); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_1, grammarAccess.getTypeParameterCSAccess().getExtendsKeyword_1_0_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9262:1: ( (lv_ownedExtends_2_0= ruleTypedRefCS ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9263:1: (lv_ownedExtends_2_0= ruleTypedRefCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9496:1: ( (lv_ownedExtends_2_0= ruleTypedRefCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9497:1: (lv_ownedExtends_2_0= ruleTypedRefCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9263:1: (lv_ownedExtends_2_0= ruleTypedRefCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9264:3: lv_ownedExtends_2_0= ruleTypedRefCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9497:1: (lv_ownedExtends_2_0= ruleTypedRefCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9498:3: lv_ownedExtends_2_0= ruleTypedRefCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getTypeParameterCSAccess().getOwnedExtendsTypedRefCSParserRuleCall_1_0_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_ruleTypeParameterCS20598);
+                    pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_ruleTypeParameterCS22004);
                     lv_ownedExtends_2_0=ruleTypedRefCS();
 
                     state._fsp--;
@@ -27030,39 +28225,39 @@
 
                     }
 
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9280:2: (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )*
-                    loop204:
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9514:2: (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )*
+                    loop242:
                     do {
-                        int alt204=2;
-                        int LA204_0 = input.LA(1);
+                        int alt242=2;
+                        int LA242_0 = input.LA(1);
 
-                        if ( (LA204_0==134) ) {
-                            alt204=1;
+                        if ( (LA242_0==134) ) {
+                            alt242=1;
                         }
 
 
-                        switch (alt204) {
+                        switch (alt242) {
                     	case 1 :
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9280:4: otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9514:4: otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) )
                     	    {
-                    	    otherlv_3=(Token)match(input,134,FollowSets000.FOLLOW_134_in_ruleTypeParameterCS20611); if (state.failed) return current;
+                    	    otherlv_3=(Token)match(input,134,FollowSets000.FOLLOW_134_in_ruleTypeParameterCS22017); if (state.failed) return current;
                     	    if ( state.backtracking==0 ) {
 
                     	          	newLeafNode(otherlv_3, grammarAccess.getTypeParameterCSAccess().getAmpersandAmpersandKeyword_1_0_2_0());
                     	          
                     	    }
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9284:1: ( (lv_ownedExtends_4_0= ruleTypedRefCS ) )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9285:1: (lv_ownedExtends_4_0= ruleTypedRefCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9518:1: ( (lv_ownedExtends_4_0= ruleTypedRefCS ) )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9519:1: (lv_ownedExtends_4_0= ruleTypedRefCS )
                     	    {
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9285:1: (lv_ownedExtends_4_0= ruleTypedRefCS )
-                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9286:3: lv_ownedExtends_4_0= ruleTypedRefCS
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9519:1: (lv_ownedExtends_4_0= ruleTypedRefCS )
+                    	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9520:3: lv_ownedExtends_4_0= ruleTypedRefCS
                     	    {
                     	    if ( state.backtracking==0 ) {
                     	       
                     	      	        newCompositeNode(grammarAccess.getTypeParameterCSAccess().getOwnedExtendsTypedRefCSParserRuleCall_1_0_2_1_0()); 
                     	      	    
                     	    }
-                    	    pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_ruleTypeParameterCS20632);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_ruleTypeParameterCS22038);
                     	    lv_ownedExtends_4_0=ruleTypedRefCS();
 
                     	    state._fsp--;
@@ -27091,7 +28286,7 @@
                     	    break;
 
                     	default :
-                    	    break loop204;
+                    	    break loop242;
                         }
                     } while (true);
 
@@ -27102,29 +28297,29 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9303:6: (otherlv_5= 'super' ( (lv_ownedSuper_6_0= ruleTypedRefCS ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9537:6: (otherlv_5= 'super' ( (lv_ownedSuper_6_0= ruleTypedRefCS ) ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9303:6: (otherlv_5= 'super' ( (lv_ownedSuper_6_0= ruleTypedRefCS ) ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9303:8: otherlv_5= 'super' ( (lv_ownedSuper_6_0= ruleTypedRefCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9537:6: (otherlv_5= 'super' ( (lv_ownedSuper_6_0= ruleTypedRefCS ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9537:8: otherlv_5= 'super' ( (lv_ownedSuper_6_0= ruleTypedRefCS ) )
                     {
-                    otherlv_5=(Token)match(input,48,FollowSets000.FOLLOW_48_in_ruleTypeParameterCS20654); if (state.failed) return current;
+                    otherlv_5=(Token)match(input,48,FollowSets000.FOLLOW_48_in_ruleTypeParameterCS22060); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_5, grammarAccess.getTypeParameterCSAccess().getSuperKeyword_1_1_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9307:1: ( (lv_ownedSuper_6_0= ruleTypedRefCS ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9308:1: (lv_ownedSuper_6_0= ruleTypedRefCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9541:1: ( (lv_ownedSuper_6_0= ruleTypedRefCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9542:1: (lv_ownedSuper_6_0= ruleTypedRefCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9308:1: (lv_ownedSuper_6_0= ruleTypedRefCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9309:3: lv_ownedSuper_6_0= ruleTypedRefCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9542:1: (lv_ownedSuper_6_0= ruleTypedRefCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9543:3: lv_ownedSuper_6_0= ruleTypedRefCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getTypeParameterCSAccess().getOwnedSuperTypedRefCSParserRuleCall_1_1_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_ruleTypeParameterCS20675);
+                    pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_ruleTypeParameterCS22081);
                     lv_ownedSuper_6_0=ruleTypedRefCS();
 
                     state._fsp--;
@@ -27180,7 +28375,7 @@
 
 
     // $ANTLR start "entryRuleTypeRefCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9333:1: entryRuleTypeRefCS returns [EObject current=null] : iv_ruleTypeRefCS= ruleTypeRefCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9567:1: entryRuleTypeRefCS returns [EObject current=null] : iv_ruleTypeRefCS= ruleTypeRefCS EOF ;
     public final EObject entryRuleTypeRefCS() throws RecognitionException {
         EObject current = null;
 
@@ -27188,13 +28383,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9334:2: (iv_ruleTypeRefCS= ruleTypeRefCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9335:2: iv_ruleTypeRefCS= ruleTypeRefCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9568:2: (iv_ruleTypeRefCS= ruleTypeRefCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9569:2: iv_ruleTypeRefCS= ruleTypeRefCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTypeRefCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleTypeRefCS_in_entryRuleTypeRefCS20714);
+            pushFollow(FollowSets000.FOLLOW_ruleTypeRefCS_in_entryRuleTypeRefCS22120);
             iv_ruleTypeRefCS=ruleTypeRefCS();
 
             state._fsp--;
@@ -27202,7 +28397,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleTypeRefCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypeRefCS20724); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypeRefCS22130); if (state.failed) return current;
 
             }
 
@@ -27220,7 +28415,7 @@
 
 
     // $ANTLR start "ruleTypeRefCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9342:1: ruleTypeRefCS returns [EObject current=null] : (this_TypedRefCS_0= ruleTypedRefCS | this_WildcardTypeRefCS_1= ruleWildcardTypeRefCS ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9576:1: ruleTypeRefCS returns [EObject current=null] : (this_TypedRefCS_0= ruleTypedRefCS | this_WildcardTypeRefCS_1= ruleWildcardTypeRefCS ) ;
     public final EObject ruleTypeRefCS() throws RecognitionException {
         EObject current = null;
 
@@ -27232,29 +28427,29 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9345:28: ( (this_TypedRefCS_0= ruleTypedRefCS | this_WildcardTypeRefCS_1= ruleWildcardTypeRefCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9346:1: (this_TypedRefCS_0= ruleTypedRefCS | this_WildcardTypeRefCS_1= ruleWildcardTypeRefCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9579:28: ( (this_TypedRefCS_0= ruleTypedRefCS | this_WildcardTypeRefCS_1= ruleWildcardTypeRefCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9580:1: (this_TypedRefCS_0= ruleTypedRefCS | this_WildcardTypeRefCS_1= ruleWildcardTypeRefCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9346:1: (this_TypedRefCS_0= ruleTypedRefCS | this_WildcardTypeRefCS_1= ruleWildcardTypeRefCS )
-            int alt206=2;
-            int LA206_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9580:1: (this_TypedRefCS_0= ruleTypedRefCS | this_WildcardTypeRefCS_1= ruleWildcardTypeRefCS )
+            int alt244=2;
+            int LA244_0 = input.LA(1);
 
-            if ( ((LA206_0>=RULE_SIMPLE_ID && LA206_0<=RULE_ESCAPED_ID)||LA206_0==17||(LA206_0>=19 && LA206_0<=54)||LA206_0==59||LA206_0==72||(LA206_0>=74 && LA206_0<=75)||LA206_0==80||LA206_0==98||(LA206_0>=100 && LA206_0<=112)) ) {
-                alt206=1;
+            if ( ((LA244_0>=RULE_SIMPLE_ID && LA244_0<=RULE_ESCAPED_ID)||LA244_0==17||(LA244_0>=19 && LA244_0<=54)||LA244_0==59||LA244_0==72||(LA244_0>=74 && LA244_0<=75)||LA244_0==80||LA244_0==98||(LA244_0>=100 && LA244_0<=112)) ) {
+                alt244=1;
             }
-            else if ( (LA206_0==133) ) {
-                alt206=2;
+            else if ( (LA244_0==133) ) {
+                alt244=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 206, 0, input);
+                    new NoViableAltException("", 244, 0, input);
 
                 throw nvae;
             }
-            switch (alt206) {
+            switch (alt244) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9347:2: this_TypedRefCS_0= ruleTypedRefCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9581:2: this_TypedRefCS_0= ruleTypedRefCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -27266,7 +28461,7 @@
                               newCompositeNode(grammarAccess.getTypeRefCSAccess().getTypedRefCSParserRuleCall_0()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_ruleTypeRefCS20774);
+                    pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_ruleTypeRefCS22180);
                     this_TypedRefCS_0=ruleTypedRefCS();
 
                     state._fsp--;
@@ -27281,7 +28476,7 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9360:2: this_WildcardTypeRefCS_1= ruleWildcardTypeRefCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9594:2: this_WildcardTypeRefCS_1= ruleWildcardTypeRefCS
                     {
                     if ( state.backtracking==0 ) {
                        
@@ -27293,7 +28488,7 @@
                               newCompositeNode(grammarAccess.getTypeRefCSAccess().getWildcardTypeRefCSParserRuleCall_1()); 
                           
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleWildcardTypeRefCS_in_ruleTypeRefCS20804);
+                    pushFollow(FollowSets000.FOLLOW_ruleWildcardTypeRefCS_in_ruleTypeRefCS22210);
                     this_WildcardTypeRefCS_1=ruleWildcardTypeRefCS();
 
                     state._fsp--;
@@ -27330,7 +28525,7 @@
 
 
     // $ANTLR start "entryRuleTypedTypeRefCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9379:1: entryRuleTypedTypeRefCS returns [EObject current=null] : iv_ruleTypedTypeRefCS= ruleTypedTypeRefCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9613:1: entryRuleTypedTypeRefCS returns [EObject current=null] : iv_ruleTypedTypeRefCS= ruleTypedTypeRefCS EOF ;
     public final EObject entryRuleTypedTypeRefCS() throws RecognitionException {
         EObject current = null;
 
@@ -27338,13 +28533,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9380:2: (iv_ruleTypedTypeRefCS= ruleTypedTypeRefCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9381:2: iv_ruleTypedTypeRefCS= ruleTypedTypeRefCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9614:2: (iv_ruleTypedTypeRefCS= ruleTypedTypeRefCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9615:2: iv_ruleTypedTypeRefCS= ruleTypedTypeRefCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getTypedTypeRefCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleTypedTypeRefCS_in_entryRuleTypedTypeRefCS20839);
+            pushFollow(FollowSets000.FOLLOW_ruleTypedTypeRefCS_in_entryRuleTypedTypeRefCS22245);
             iv_ruleTypedTypeRefCS=ruleTypedTypeRefCS();
 
             state._fsp--;
@@ -27352,7 +28547,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleTypedTypeRefCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypedTypeRefCS20849); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypedTypeRefCS22255); if (state.failed) return current;
 
             }
 
@@ -27370,7 +28565,7 @@
 
 
     // $ANTLR start "ruleTypedTypeRefCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9388:1: ruleTypedTypeRefCS returns [EObject current=null] : ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (lv_ownedBinding_1_0= ruleTemplateBindingCS ) )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9622:1: ruleTypedTypeRefCS returns [EObject current=null] : ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (lv_ownedBinding_1_0= ruleTemplateBindingCS ) )? ) ;
     public final EObject ruleTypedTypeRefCS() throws RecognitionException {
         EObject current = null;
 
@@ -27382,24 +28577,24 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9391:28: ( ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (lv_ownedBinding_1_0= ruleTemplateBindingCS ) )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9392:1: ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (lv_ownedBinding_1_0= ruleTemplateBindingCS ) )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9625:28: ( ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (lv_ownedBinding_1_0= ruleTemplateBindingCS ) )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9626:1: ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (lv_ownedBinding_1_0= ruleTemplateBindingCS ) )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9392:1: ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (lv_ownedBinding_1_0= ruleTemplateBindingCS ) )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9392:2: ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (lv_ownedBinding_1_0= ruleTemplateBindingCS ) )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9626:1: ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (lv_ownedBinding_1_0= ruleTemplateBindingCS ) )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9626:2: ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (lv_ownedBinding_1_0= ruleTemplateBindingCS ) )?
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9392:2: ( (lv_ownedPathName_0_0= rulePathNameCS ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9393:1: (lv_ownedPathName_0_0= rulePathNameCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9626:2: ( (lv_ownedPathName_0_0= rulePathNameCS ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9627:1: (lv_ownedPathName_0_0= rulePathNameCS )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9393:1: (lv_ownedPathName_0_0= rulePathNameCS )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9394:3: lv_ownedPathName_0_0= rulePathNameCS
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9627:1: (lv_ownedPathName_0_0= rulePathNameCS )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9628:3: lv_ownedPathName_0_0= rulePathNameCS
             {
             if ( state.backtracking==0 ) {
                
               	        newCompositeNode(grammarAccess.getTypedTypeRefCSAccess().getOwnedPathNamePathNameCSParserRuleCall_0_0()); 
               	    
             }
-            pushFollow(FollowSets000.FOLLOW_rulePathNameCS_in_ruleTypedTypeRefCS20895);
+            pushFollow(FollowSets000.FOLLOW_rulePathNameCS_in_ruleTypedTypeRefCS22301);
             lv_ownedPathName_0_0=rulePathNameCS();
 
             state._fsp--;
@@ -27423,26 +28618,26 @@
 
             }
 
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9410:2: ( (lv_ownedBinding_1_0= ruleTemplateBindingCS ) )?
-            int alt207=2;
-            int LA207_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9644:2: ( (lv_ownedBinding_1_0= ruleTemplateBindingCS ) )?
+            int alt245=2;
+            int LA245_0 = input.LA(1);
 
-            if ( (LA207_0==55||LA207_0==81) ) {
-                alt207=1;
+            if ( (LA245_0==55||LA245_0==81) ) {
+                alt245=1;
             }
-            switch (alt207) {
+            switch (alt245) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9411:1: (lv_ownedBinding_1_0= ruleTemplateBindingCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9645:1: (lv_ownedBinding_1_0= ruleTemplateBindingCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9411:1: (lv_ownedBinding_1_0= ruleTemplateBindingCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9412:3: lv_ownedBinding_1_0= ruleTemplateBindingCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9645:1: (lv_ownedBinding_1_0= ruleTemplateBindingCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9646:3: lv_ownedBinding_1_0= ruleTemplateBindingCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getTypedTypeRefCSAccess().getOwnedBindingTemplateBindingCSParserRuleCall_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTemplateBindingCS_in_ruleTypedTypeRefCS20916);
+                    pushFollow(FollowSets000.FOLLOW_ruleTemplateBindingCS_in_ruleTypedTypeRefCS22322);
                     lv_ownedBinding_1_0=ruleTemplateBindingCS();
 
                     state._fsp--;
@@ -27492,7 +28687,7 @@
 
 
     // $ANTLR start "entryRuleWildcardTypeRefCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9436:1: entryRuleWildcardTypeRefCS returns [EObject current=null] : iv_ruleWildcardTypeRefCS= ruleWildcardTypeRefCS EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9670:1: entryRuleWildcardTypeRefCS returns [EObject current=null] : iv_ruleWildcardTypeRefCS= ruleWildcardTypeRefCS EOF ;
     public final EObject entryRuleWildcardTypeRefCS() throws RecognitionException {
         EObject current = null;
 
@@ -27500,13 +28695,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9437:2: (iv_ruleWildcardTypeRefCS= ruleWildcardTypeRefCS EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9438:2: iv_ruleWildcardTypeRefCS= ruleWildcardTypeRefCS EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9671:2: (iv_ruleWildcardTypeRefCS= ruleWildcardTypeRefCS EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9672:2: iv_ruleWildcardTypeRefCS= ruleWildcardTypeRefCS EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getWildcardTypeRefCSRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleWildcardTypeRefCS_in_entryRuleWildcardTypeRefCS20953);
+            pushFollow(FollowSets000.FOLLOW_ruleWildcardTypeRefCS_in_entryRuleWildcardTypeRefCS22359);
             iv_ruleWildcardTypeRefCS=ruleWildcardTypeRefCS();
 
             state._fsp--;
@@ -27514,7 +28709,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleWildcardTypeRefCS; 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleWildcardTypeRefCS20963); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleWildcardTypeRefCS22369); if (state.failed) return current;
 
             }
 
@@ -27532,7 +28727,7 @@
 
 
     // $ANTLR start "ruleWildcardTypeRefCS"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9445:1: ruleWildcardTypeRefCS returns [EObject current=null] : ( () otherlv_1= '?' ( (otherlv_2= 'extends' ( (lv_ownedExtends_3_0= ruleTypedRefCS ) ) ) | (otherlv_4= 'super' ( (lv_ownedSuper_5_0= ruleTypedRefCS ) ) ) )? ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9679:1: ruleWildcardTypeRefCS returns [EObject current=null] : ( () otherlv_1= '?' ( (otherlv_2= 'extends' ( (lv_ownedExtends_3_0= ruleTypedRefCS ) ) ) | (otherlv_4= 'super' ( (lv_ownedSuper_5_0= ruleTypedRefCS ) ) ) )? ) ;
     public final EObject ruleWildcardTypeRefCS() throws RecognitionException {
         EObject current = null;
 
@@ -27547,14 +28742,14 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9448:28: ( ( () otherlv_1= '?' ( (otherlv_2= 'extends' ( (lv_ownedExtends_3_0= ruleTypedRefCS ) ) ) | (otherlv_4= 'super' ( (lv_ownedSuper_5_0= ruleTypedRefCS ) ) ) )? ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9449:1: ( () otherlv_1= '?' ( (otherlv_2= 'extends' ( (lv_ownedExtends_3_0= ruleTypedRefCS ) ) ) | (otherlv_4= 'super' ( (lv_ownedSuper_5_0= ruleTypedRefCS ) ) ) )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9682:28: ( ( () otherlv_1= '?' ( (otherlv_2= 'extends' ( (lv_ownedExtends_3_0= ruleTypedRefCS ) ) ) | (otherlv_4= 'super' ( (lv_ownedSuper_5_0= ruleTypedRefCS ) ) ) )? ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9683:1: ( () otherlv_1= '?' ( (otherlv_2= 'extends' ( (lv_ownedExtends_3_0= ruleTypedRefCS ) ) ) | (otherlv_4= 'super' ( (lv_ownedSuper_5_0= ruleTypedRefCS ) ) ) )? )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9449:1: ( () otherlv_1= '?' ( (otherlv_2= 'extends' ( (lv_ownedExtends_3_0= ruleTypedRefCS ) ) ) | (otherlv_4= 'super' ( (lv_ownedSuper_5_0= ruleTypedRefCS ) ) ) )? )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9449:2: () otherlv_1= '?' ( (otherlv_2= 'extends' ( (lv_ownedExtends_3_0= ruleTypedRefCS ) ) ) | (otherlv_4= 'super' ( (lv_ownedSuper_5_0= ruleTypedRefCS ) ) ) )?
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9683:1: ( () otherlv_1= '?' ( (otherlv_2= 'extends' ( (lv_ownedExtends_3_0= ruleTypedRefCS ) ) ) | (otherlv_4= 'super' ( (lv_ownedSuper_5_0= ruleTypedRefCS ) ) ) )? )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9683:2: () otherlv_1= '?' ( (otherlv_2= 'extends' ( (lv_ownedExtends_3_0= ruleTypedRefCS ) ) ) | (otherlv_4= 'super' ( (lv_ownedSuper_5_0= ruleTypedRefCS ) ) ) )?
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9449:2: ()
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9450:2: 
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9683:2: ()
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9684:2: 
             {
             if ( state.backtracking==0 ) {
                
@@ -27571,47 +28766,47 @@
 
             }
 
-            otherlv_1=(Token)match(input,133,FollowSets000.FOLLOW_133_in_ruleWildcardTypeRefCS21012); if (state.failed) return current;
+            otherlv_1=(Token)match(input,133,FollowSets000.FOLLOW_133_in_ruleWildcardTypeRefCS22418); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
                   	newLeafNode(otherlv_1, grammarAccess.getWildcardTypeRefCSAccess().getQuestionMarkKeyword_1());
                   
             }
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9462:1: ( (otherlv_2= 'extends' ( (lv_ownedExtends_3_0= ruleTypedRefCS ) ) ) | (otherlv_4= 'super' ( (lv_ownedSuper_5_0= ruleTypedRefCS ) ) ) )?
-            int alt208=3;
-            int LA208_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9696:1: ( (otherlv_2= 'extends' ( (lv_ownedExtends_3_0= ruleTypedRefCS ) ) ) | (otherlv_4= 'super' ( (lv_ownedSuper_5_0= ruleTypedRefCS ) ) ) )?
+            int alt246=3;
+            int LA246_0 = input.LA(1);
 
-            if ( (LA208_0==30) ) {
-                alt208=1;
+            if ( (LA246_0==30) ) {
+                alt246=1;
             }
-            else if ( (LA208_0==48) ) {
-                alt208=2;
+            else if ( (LA246_0==48) ) {
+                alt246=2;
             }
-            switch (alt208) {
+            switch (alt246) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9462:2: (otherlv_2= 'extends' ( (lv_ownedExtends_3_0= ruleTypedRefCS ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9696:2: (otherlv_2= 'extends' ( (lv_ownedExtends_3_0= ruleTypedRefCS ) ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9462:2: (otherlv_2= 'extends' ( (lv_ownedExtends_3_0= ruleTypedRefCS ) ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9462:4: otherlv_2= 'extends' ( (lv_ownedExtends_3_0= ruleTypedRefCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9696:2: (otherlv_2= 'extends' ( (lv_ownedExtends_3_0= ruleTypedRefCS ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9696:4: otherlv_2= 'extends' ( (lv_ownedExtends_3_0= ruleTypedRefCS ) )
                     {
-                    otherlv_2=(Token)match(input,30,FollowSets000.FOLLOW_30_in_ruleWildcardTypeRefCS21026); if (state.failed) return current;
+                    otherlv_2=(Token)match(input,30,FollowSets000.FOLLOW_30_in_ruleWildcardTypeRefCS22432); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_2, grammarAccess.getWildcardTypeRefCSAccess().getExtendsKeyword_2_0_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9466:1: ( (lv_ownedExtends_3_0= ruleTypedRefCS ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9467:1: (lv_ownedExtends_3_0= ruleTypedRefCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9700:1: ( (lv_ownedExtends_3_0= ruleTypedRefCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9701:1: (lv_ownedExtends_3_0= ruleTypedRefCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9467:1: (lv_ownedExtends_3_0= ruleTypedRefCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9468:3: lv_ownedExtends_3_0= ruleTypedRefCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9701:1: (lv_ownedExtends_3_0= ruleTypedRefCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9702:3: lv_ownedExtends_3_0= ruleTypedRefCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getWildcardTypeRefCSAccess().getOwnedExtendsTypedRefCSParserRuleCall_2_0_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_ruleWildcardTypeRefCS21047);
+                    pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_ruleWildcardTypeRefCS22453);
                     lv_ownedExtends_3_0=ruleTypedRefCS();
 
                     state._fsp--;
@@ -27642,29 +28837,29 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9485:6: (otherlv_4= 'super' ( (lv_ownedSuper_5_0= ruleTypedRefCS ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9719:6: (otherlv_4= 'super' ( (lv_ownedSuper_5_0= ruleTypedRefCS ) ) )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9485:6: (otherlv_4= 'super' ( (lv_ownedSuper_5_0= ruleTypedRefCS ) ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9485:8: otherlv_4= 'super' ( (lv_ownedSuper_5_0= ruleTypedRefCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9719:6: (otherlv_4= 'super' ( (lv_ownedSuper_5_0= ruleTypedRefCS ) ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9719:8: otherlv_4= 'super' ( (lv_ownedSuper_5_0= ruleTypedRefCS ) )
                     {
-                    otherlv_4=(Token)match(input,48,FollowSets000.FOLLOW_48_in_ruleWildcardTypeRefCS21067); if (state.failed) return current;
+                    otherlv_4=(Token)match(input,48,FollowSets000.FOLLOW_48_in_ruleWildcardTypeRefCS22473); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                           	newLeafNode(otherlv_4, grammarAccess.getWildcardTypeRefCSAccess().getSuperKeyword_2_1_0());
                           
                     }
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9489:1: ( (lv_ownedSuper_5_0= ruleTypedRefCS ) )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9490:1: (lv_ownedSuper_5_0= ruleTypedRefCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9723:1: ( (lv_ownedSuper_5_0= ruleTypedRefCS ) )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9724:1: (lv_ownedSuper_5_0= ruleTypedRefCS )
                     {
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9490:1: (lv_ownedSuper_5_0= ruleTypedRefCS )
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9491:3: lv_ownedSuper_5_0= ruleTypedRefCS
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9724:1: (lv_ownedSuper_5_0= ruleTypedRefCS )
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9725:3: lv_ownedSuper_5_0= ruleTypedRefCS
                     {
                     if ( state.backtracking==0 ) {
                        
                       	        newCompositeNode(grammarAccess.getWildcardTypeRefCSAccess().getOwnedSuperTypedRefCSParserRuleCall_2_1_1_0()); 
                       	    
                     }
-                    pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_ruleWildcardTypeRefCS21088);
+                    pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_ruleWildcardTypeRefCS22494);
                     lv_ownedSuper_5_0=ruleTypedRefCS();
 
                     state._fsp--;
@@ -27720,7 +28915,7 @@
 
 
     // $ANTLR start "entryRuleID"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9515:1: entryRuleID returns [String current=null] : iv_ruleID= ruleID EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9749:1: entryRuleID returns [String current=null] : iv_ruleID= ruleID EOF ;
     public final String entryRuleID() throws RecognitionException {
         String current = null;
 
@@ -27728,13 +28923,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9516:2: (iv_ruleID= ruleID EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9517:2: iv_ruleID= ruleID EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9750:2: (iv_ruleID= ruleID EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9751:2: iv_ruleID= ruleID EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getIDRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleID_in_entryRuleID21128);
+            pushFollow(FollowSets000.FOLLOW_ruleID_in_entryRuleID22534);
             iv_ruleID=ruleID();
 
             state._fsp--;
@@ -27742,7 +28937,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleID.getText(); 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleID21139); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleID22545); if (state.failed) return current;
 
             }
 
@@ -27760,7 +28955,7 @@
 
 
     // $ANTLR start "ruleID"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9524:1: ruleID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_SIMPLE_ID_0= RULE_SIMPLE_ID | this_ESCAPED_ID_1= RULE_ESCAPED_ID ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9758:1: ruleID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_SIMPLE_ID_0= RULE_SIMPLE_ID | this_ESCAPED_ID_1= RULE_ESCAPED_ID ) ;
     public final AntlrDatatypeRuleToken ruleID() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -27770,31 +28965,31 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9527:28: ( (this_SIMPLE_ID_0= RULE_SIMPLE_ID | this_ESCAPED_ID_1= RULE_ESCAPED_ID ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9528:1: (this_SIMPLE_ID_0= RULE_SIMPLE_ID | this_ESCAPED_ID_1= RULE_ESCAPED_ID )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9761:28: ( (this_SIMPLE_ID_0= RULE_SIMPLE_ID | this_ESCAPED_ID_1= RULE_ESCAPED_ID ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9762:1: (this_SIMPLE_ID_0= RULE_SIMPLE_ID | this_ESCAPED_ID_1= RULE_ESCAPED_ID )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9528:1: (this_SIMPLE_ID_0= RULE_SIMPLE_ID | this_ESCAPED_ID_1= RULE_ESCAPED_ID )
-            int alt209=2;
-            int LA209_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9762:1: (this_SIMPLE_ID_0= RULE_SIMPLE_ID | this_ESCAPED_ID_1= RULE_ESCAPED_ID )
+            int alt247=2;
+            int LA247_0 = input.LA(1);
 
-            if ( (LA209_0==RULE_SIMPLE_ID) ) {
-                alt209=1;
+            if ( (LA247_0==RULE_SIMPLE_ID) ) {
+                alt247=1;
             }
-            else if ( (LA209_0==RULE_ESCAPED_ID) ) {
-                alt209=2;
+            else if ( (LA247_0==RULE_ESCAPED_ID) ) {
+                alt247=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 209, 0, input);
+                    new NoViableAltException("", 247, 0, input);
 
                 throw nvae;
             }
-            switch (alt209) {
+            switch (alt247) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9528:6: this_SIMPLE_ID_0= RULE_SIMPLE_ID
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9762:6: this_SIMPLE_ID_0= RULE_SIMPLE_ID
                     {
-                    this_SIMPLE_ID_0=(Token)match(input,RULE_SIMPLE_ID,FollowSets000.FOLLOW_RULE_SIMPLE_ID_in_ruleID21179); if (state.failed) return current;
+                    this_SIMPLE_ID_0=(Token)match(input,RULE_SIMPLE_ID,FollowSets000.FOLLOW_RULE_SIMPLE_ID_in_ruleID22585); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       		current.merge(this_SIMPLE_ID_0);
@@ -27809,9 +29004,9 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9536:10: this_ESCAPED_ID_1= RULE_ESCAPED_ID
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9770:10: this_ESCAPED_ID_1= RULE_ESCAPED_ID
                     {
-                    this_ESCAPED_ID_1=(Token)match(input,RULE_ESCAPED_ID,FollowSets000.FOLLOW_RULE_ESCAPED_ID_in_ruleID21205); if (state.failed) return current;
+                    this_ESCAPED_ID_1=(Token)match(input,RULE_ESCAPED_ID,FollowSets000.FOLLOW_RULE_ESCAPED_ID_in_ruleID22611); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       		current.merge(this_ESCAPED_ID_1);
@@ -27848,7 +29043,7 @@
 
 
     // $ANTLR start "entryRuleIdentifier"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9551:1: entryRuleIdentifier returns [String current=null] : iv_ruleIdentifier= ruleIdentifier EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9785:1: entryRuleIdentifier returns [String current=null] : iv_ruleIdentifier= ruleIdentifier EOF ;
     public final String entryRuleIdentifier() throws RecognitionException {
         String current = null;
 
@@ -27856,13 +29051,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9552:2: (iv_ruleIdentifier= ruleIdentifier EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9553:2: iv_ruleIdentifier= ruleIdentifier EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9786:2: (iv_ruleIdentifier= ruleIdentifier EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9787:2: iv_ruleIdentifier= ruleIdentifier EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getIdentifierRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleIdentifier_in_entryRuleIdentifier21251);
+            pushFollow(FollowSets000.FOLLOW_ruleIdentifier_in_entryRuleIdentifier22657);
             iv_ruleIdentifier=ruleIdentifier();
 
             state._fsp--;
@@ -27870,7 +29065,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleIdentifier.getText(); 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleIdentifier21262); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleIdentifier22668); if (state.failed) return current;
 
             }
 
@@ -27888,7 +29083,7 @@
 
 
     // $ANTLR start "ruleIdentifier"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9560:1: ruleIdentifier returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_ID_0= ruleID ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9794:1: ruleIdentifier returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_ID_0= ruleID ;
     public final AntlrDatatypeRuleToken ruleIdentifier() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -27898,15 +29093,15 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9563:28: (this_ID_0= ruleID )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9565:5: this_ID_0= ruleID
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9797:28: (this_ID_0= ruleID )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9799:5: this_ID_0= ruleID
             {
             if ( state.backtracking==0 ) {
                
                       newCompositeNode(grammarAccess.getIdentifierAccess().getIDParserRuleCall()); 
                   
             }
-            pushFollow(FollowSets000.FOLLOW_ruleID_in_ruleIdentifier21308);
+            pushFollow(FollowSets000.FOLLOW_ruleID_in_ruleIdentifier22714);
             this_ID_0=ruleID();
 
             state._fsp--;
@@ -27941,7 +29136,7 @@
 
 
     // $ANTLR start "entryRuleLOWER"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9583:1: entryRuleLOWER returns [String current=null] : iv_ruleLOWER= ruleLOWER EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9817:1: entryRuleLOWER returns [String current=null] : iv_ruleLOWER= ruleLOWER EOF ;
     public final String entryRuleLOWER() throws RecognitionException {
         String current = null;
 
@@ -27949,13 +29144,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9584:2: (iv_ruleLOWER= ruleLOWER EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9585:2: iv_ruleLOWER= ruleLOWER EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9818:2: (iv_ruleLOWER= ruleLOWER EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9819:2: iv_ruleLOWER= ruleLOWER EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getLOWERRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleLOWER_in_entryRuleLOWER21353);
+            pushFollow(FollowSets000.FOLLOW_ruleLOWER_in_entryRuleLOWER22759);
             iv_ruleLOWER=ruleLOWER();
 
             state._fsp--;
@@ -27963,7 +29158,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleLOWER.getText(); 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLOWER21364); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLOWER22770); if (state.failed) return current;
 
             }
 
@@ -27981,7 +29176,7 @@
 
 
     // $ANTLR start "ruleLOWER"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9592:1: ruleLOWER returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_INT_0= RULE_INT ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9826:1: ruleLOWER returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_INT_0= RULE_INT ;
     public final AntlrDatatypeRuleToken ruleLOWER() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -27990,10 +29185,10 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9595:28: (this_INT_0= RULE_INT )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9596:5: this_INT_0= RULE_INT
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9829:28: (this_INT_0= RULE_INT )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9830:5: this_INT_0= RULE_INT
             {
-            this_INT_0=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleLOWER21403); if (state.failed) return current;
+            this_INT_0=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleLOWER22809); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               		current.merge(this_INT_0);
@@ -28024,7 +29219,7 @@
 
 
     // $ANTLR start "entryRuleNUMBER_LITERAL"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9611:1: entryRuleNUMBER_LITERAL returns [String current=null] : iv_ruleNUMBER_LITERAL= ruleNUMBER_LITERAL EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9845:1: entryRuleNUMBER_LITERAL returns [String current=null] : iv_ruleNUMBER_LITERAL= ruleNUMBER_LITERAL EOF ;
     public final String entryRuleNUMBER_LITERAL() throws RecognitionException {
         String current = null;
 
@@ -28032,13 +29227,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9612:2: (iv_ruleNUMBER_LITERAL= ruleNUMBER_LITERAL EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9613:2: iv_ruleNUMBER_LITERAL= ruleNUMBER_LITERAL EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9846:2: (iv_ruleNUMBER_LITERAL= ruleNUMBER_LITERAL EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9847:2: iv_ruleNUMBER_LITERAL= ruleNUMBER_LITERAL EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getNUMBER_LITERALRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleNUMBER_LITERAL_in_entryRuleNUMBER_LITERAL21448);
+            pushFollow(FollowSets000.FOLLOW_ruleNUMBER_LITERAL_in_entryRuleNUMBER_LITERAL22854);
             iv_ruleNUMBER_LITERAL=ruleNUMBER_LITERAL();
 
             state._fsp--;
@@ -28046,7 +29241,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleNUMBER_LITERAL.getText(); 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNUMBER_LITERAL21459); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNUMBER_LITERAL22865); if (state.failed) return current;
 
             }
 
@@ -28064,7 +29259,7 @@
 
 
     // $ANTLR start "ruleNUMBER_LITERAL"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9620:1: ruleNUMBER_LITERAL returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_INT_0= RULE_INT ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9854:1: ruleNUMBER_LITERAL returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_INT_0= RULE_INT ;
     public final AntlrDatatypeRuleToken ruleNUMBER_LITERAL() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -28073,10 +29268,10 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9623:28: (this_INT_0= RULE_INT )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9624:5: this_INT_0= RULE_INT
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9857:28: (this_INT_0= RULE_INT )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9858:5: this_INT_0= RULE_INT
             {
-            this_INT_0=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleNUMBER_LITERAL21498); if (state.failed) return current;
+            this_INT_0=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleNUMBER_LITERAL22904); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               		current.merge(this_INT_0);
@@ -28107,7 +29302,7 @@
 
 
     // $ANTLR start "entryRuleStringLiteral"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9639:1: entryRuleStringLiteral returns [String current=null] : iv_ruleStringLiteral= ruleStringLiteral EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9873:1: entryRuleStringLiteral returns [String current=null] : iv_ruleStringLiteral= ruleStringLiteral EOF ;
     public final String entryRuleStringLiteral() throws RecognitionException {
         String current = null;
 
@@ -28115,13 +29310,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9640:2: (iv_ruleStringLiteral= ruleStringLiteral EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9641:2: iv_ruleStringLiteral= ruleStringLiteral EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9874:2: (iv_ruleStringLiteral= ruleStringLiteral EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9875:2: iv_ruleStringLiteral= ruleStringLiteral EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getStringLiteralRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleStringLiteral_in_entryRuleStringLiteral21543);
+            pushFollow(FollowSets000.FOLLOW_ruleStringLiteral_in_entryRuleStringLiteral22949);
             iv_ruleStringLiteral=ruleStringLiteral();
 
             state._fsp--;
@@ -28129,7 +29324,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleStringLiteral.getText(); 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStringLiteral21554); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStringLiteral22960); if (state.failed) return current;
 
             }
 
@@ -28147,7 +29342,7 @@
 
 
     // $ANTLR start "ruleStringLiteral"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9648:1: ruleStringLiteral returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_SINGLE_QUOTED_STRING_0= RULE_SINGLE_QUOTED_STRING ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9882:1: ruleStringLiteral returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_SINGLE_QUOTED_STRING_0= RULE_SINGLE_QUOTED_STRING ;
     public final AntlrDatatypeRuleToken ruleStringLiteral() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -28156,10 +29351,10 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9651:28: (this_SINGLE_QUOTED_STRING_0= RULE_SINGLE_QUOTED_STRING )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9652:5: this_SINGLE_QUOTED_STRING_0= RULE_SINGLE_QUOTED_STRING
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9885:28: (this_SINGLE_QUOTED_STRING_0= RULE_SINGLE_QUOTED_STRING )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9886:5: this_SINGLE_QUOTED_STRING_0= RULE_SINGLE_QUOTED_STRING
             {
-            this_SINGLE_QUOTED_STRING_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleStringLiteral21593); if (state.failed) return current;
+            this_SINGLE_QUOTED_STRING_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleStringLiteral22999); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               		current.merge(this_SINGLE_QUOTED_STRING_0);
@@ -28190,7 +29385,7 @@
 
 
     // $ANTLR start "entryRuleUPPER"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9667:1: entryRuleUPPER returns [String current=null] : iv_ruleUPPER= ruleUPPER EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9901:1: entryRuleUPPER returns [String current=null] : iv_ruleUPPER= ruleUPPER EOF ;
     public final String entryRuleUPPER() throws RecognitionException {
         String current = null;
 
@@ -28198,13 +29393,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9668:2: (iv_ruleUPPER= ruleUPPER EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9669:2: iv_ruleUPPER= ruleUPPER EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9902:2: (iv_ruleUPPER= ruleUPPER EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9903:2: iv_ruleUPPER= ruleUPPER EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getUPPERRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleUPPER_in_entryRuleUPPER21638);
+            pushFollow(FollowSets000.FOLLOW_ruleUPPER_in_entryRuleUPPER23044);
             iv_ruleUPPER=ruleUPPER();
 
             state._fsp--;
@@ -28212,7 +29407,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleUPPER.getText(); 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleUPPER21649); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleUPPER23055); if (state.failed) return current;
 
             }
 
@@ -28230,7 +29425,7 @@
 
 
     // $ANTLR start "ruleUPPER"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9676:1: ruleUPPER returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT | kw= '*' ) ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9910:1: ruleUPPER returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT | kw= '*' ) ;
     public final AntlrDatatypeRuleToken ruleUPPER() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -28240,31 +29435,31 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9679:28: ( (this_INT_0= RULE_INT | kw= '*' ) )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9680:1: (this_INT_0= RULE_INT | kw= '*' )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9913:28: ( (this_INT_0= RULE_INT | kw= '*' ) )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9914:1: (this_INT_0= RULE_INT | kw= '*' )
             {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9680:1: (this_INT_0= RULE_INT | kw= '*' )
-            int alt210=2;
-            int LA210_0 = input.LA(1);
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9914:1: (this_INT_0= RULE_INT | kw= '*' )
+            int alt248=2;
+            int LA248_0 = input.LA(1);
 
-            if ( (LA210_0==RULE_INT) ) {
-                alt210=1;
+            if ( (LA248_0==RULE_INT) ) {
+                alt248=1;
             }
-            else if ( (LA210_0==84) ) {
-                alt210=2;
+            else if ( (LA248_0==84) ) {
+                alt248=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 210, 0, input);
+                    new NoViableAltException("", 248, 0, input);
 
                 throw nvae;
             }
-            switch (alt210) {
+            switch (alt248) {
                 case 1 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9680:6: this_INT_0= RULE_INT
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9914:6: this_INT_0= RULE_INT
                     {
-                    this_INT_0=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleUPPER21689); if (state.failed) return current;
+                    this_INT_0=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleUPPER23095); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                       		current.merge(this_INT_0);
@@ -28279,9 +29474,9 @@
                     }
                     break;
                 case 2 :
-                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9689:2: kw= '*'
+                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9923:2: kw= '*'
                     {
-                    kw=(Token)match(input,84,FollowSets000.FOLLOW_84_in_ruleUPPER21713); if (state.failed) return current;
+                    kw=(Token)match(input,84,FollowSets000.FOLLOW_84_in_ruleUPPER23119); if (state.failed) return current;
                     if ( state.backtracking==0 ) {
 
                               current.merge(kw);
@@ -28314,7 +29509,7 @@
 
 
     // $ANTLR start "entryRuleURI"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9702:1: entryRuleURI returns [String current=null] : iv_ruleURI= ruleURI EOF ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9936:1: entryRuleURI returns [String current=null] : iv_ruleURI= ruleURI EOF ;
     public final String entryRuleURI() throws RecognitionException {
         String current = null;
 
@@ -28322,13 +29517,13 @@
 
 
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9703:2: (iv_ruleURI= ruleURI EOF )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9704:2: iv_ruleURI= ruleURI EOF
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9937:2: (iv_ruleURI= ruleURI EOF )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9938:2: iv_ruleURI= ruleURI EOF
             {
             if ( state.backtracking==0 ) {
                newCompositeNode(grammarAccess.getURIRule()); 
             }
-            pushFollow(FollowSets000.FOLLOW_ruleURI_in_entryRuleURI21754);
+            pushFollow(FollowSets000.FOLLOW_ruleURI_in_entryRuleURI23160);
             iv_ruleURI=ruleURI();
 
             state._fsp--;
@@ -28336,7 +29531,7 @@
             if ( state.backtracking==0 ) {
                current =iv_ruleURI.getText(); 
             }
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleURI21765); if (state.failed) return current;
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleURI23171); if (state.failed) return current;
 
             }
 
@@ -28354,7 +29549,7 @@
 
 
     // $ANTLR start "ruleURI"
-    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9711:1: ruleURI returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_SINGLE_QUOTED_STRING_0= RULE_SINGLE_QUOTED_STRING ;
+    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9945:1: ruleURI returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_SINGLE_QUOTED_STRING_0= RULE_SINGLE_QUOTED_STRING ;
     public final AntlrDatatypeRuleToken ruleURI() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -28363,10 +29558,10 @@
          enterRule(); 
             
         try {
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9714:28: (this_SINGLE_QUOTED_STRING_0= RULE_SINGLE_QUOTED_STRING )
-            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9715:5: this_SINGLE_QUOTED_STRING_0= RULE_SINGLE_QUOTED_STRING
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9948:28: (this_SINGLE_QUOTED_STRING_0= RULE_SINGLE_QUOTED_STRING )
+            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9949:5: this_SINGLE_QUOTED_STRING_0= RULE_SINGLE_QUOTED_STRING
             {
-            this_SINGLE_QUOTED_STRING_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleURI21804); if (state.failed) return current;
+            this_SINGLE_QUOTED_STRING_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleURI23210); if (state.failed) return current;
             if ( state.backtracking==0 ) {
 
               		current.merge(this_SINGLE_QUOTED_STRING_0);
@@ -28395,20 +29590,5619 @@
     }
     // $ANTLR end "ruleURI"
 
-    // $ANTLR start synpred300_InternalOCLinEcore
-    public final void synpred300_InternalOCLinEcore_fragment() throws RecognitionException {   
+    // $ANTLR start synpred63_InternalOCLinEcore
+    public final void synpred63_InternalOCLinEcore_fragment() throws RecognitionException {   
+        Token lv_isStatic_1_0=null;
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1112:4: ( ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1112:4: ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1112:4: ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1113:5: {...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 0) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred63_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 0)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1113:108: ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1114:6: ({...}? => ( (lv_isStatic_1_0= 'static' ) ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 0);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1117:6: ({...}? => ( (lv_isStatic_1_0= 'static' ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1117:7: {...}? => ( (lv_isStatic_1_0= 'static' ) )
+        {
+        if ( !((true)) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred63_InternalOCLinEcore", "true");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1117:16: ( (lv_isStatic_1_0= 'static' ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1118:1: (lv_isStatic_1_0= 'static' )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1118:1: (lv_isStatic_1_0= 'static' )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1119:3: lv_isStatic_1_0= 'static'
+        {
+        lv_isStatic_1_0=(Token)match(input,47,FollowSets000.FOLLOW_47_in_synpred63_InternalOCLinEcore2493); if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred63_InternalOCLinEcore
+
+    // $ANTLR start synpred64_InternalOCLinEcore
+    public final void synpred64_InternalOCLinEcore_fragment() throws RecognitionException {   
+        Token lv_isDefinition_2_0=null;
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1139:4: ( ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1139:4: ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1139:4: ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1140:5: {...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 1) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred64_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 1)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1140:108: ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1141:6: ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_0(), 1);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1144:6: ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1144:7: {...}? => ( (lv_isDefinition_2_0= 'definition' ) )
+        {
+        if ( !((true)) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred64_InternalOCLinEcore", "true");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1144:16: ( (lv_isDefinition_2_0= 'definition' ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1145:1: (lv_isDefinition_2_0= 'definition' )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1145:1: (lv_isDefinition_2_0= 'definition' )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1146:3: lv_isDefinition_2_0= 'definition'
+        {
+        lv_isDefinition_2_0=(Token)match(input,26,FollowSets000.FOLLOW_26_in_synpred64_InternalOCLinEcore2578); if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred64_InternalOCLinEcore
+
+    // $ANTLR start synpred70_InternalOCLinEcore
+    public final void synpred70_InternalOCLinEcore_fragment() throws RecognitionException {   
+        Token otherlv_10=null;
+        Token lv_isDerived_11_0=null;
+        Token otherlv_12=null;
+        Token otherlv_13=null;
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1248:4: ( ({...}? => ( ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1248:4: ({...}? => ( ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1248:4: ({...}? => ( ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1249:5: {...}? => ( ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred70_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1249:108: ( ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1250:6: ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1253:6: ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1253:7: {...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? )
+        {
+        if ( !((true)) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred70_InternalOCLinEcore", "true");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1253:16: (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1253:18: otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )?
+        {
+        otherlv_10=(Token)match(input,61,FollowSets000.FOLLOW_61_in_synpred70_InternalOCLinEcore2795); if (state.failed) return ;
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1257:1: ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )?
+        int alt260=2;
+        int LA260_0 = input.LA(1);
+
+        if ( (LA260_0==28||LA260_0==64) ) {
+            alt260=1;
+        }
+        switch (alt260) {
+            case 1 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1257:2: ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )?
+                {
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1257:2: ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' )
+                int alt258=2;
+                int LA258_0 = input.LA(1);
+
+                if ( (LA258_0==28) ) {
+                    alt258=1;
+                }
+                else if ( (LA258_0==64) ) {
+                    alt258=2;
+                }
+                else {
+                    if (state.backtracking>0) {state.failed=true; return ;}
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 258, 0, input);
+
+                    throw nvae;
+                }
+                switch (alt258) {
+                    case 1 :
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1257:3: ( (lv_isDerived_11_0= 'derived' ) )
+                        {
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1257:3: ( (lv_isDerived_11_0= 'derived' ) )
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1258:1: (lv_isDerived_11_0= 'derived' )
+                        {
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1258:1: (lv_isDerived_11_0= 'derived' )
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1259:3: lv_isDerived_11_0= 'derived'
+                        {
+                        lv_isDerived_11_0=(Token)match(input,28,FollowSets000.FOLLOW_28_in_synpred70_InternalOCLinEcore2815); if (state.failed) return ;
+
+                        }
+
+
+                        }
+
+
+                        }
+                        break;
+                    case 2 :
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1273:7: otherlv_12= '!derived'
+                        {
+                        otherlv_12=(Token)match(input,64,FollowSets000.FOLLOW_64_in_synpred70_InternalOCLinEcore2846); if (state.failed) return ;
+
+                        }
+                        break;
+
+                }
+
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1277:2: (otherlv_13= ',' )?
+                int alt259=2;
+                int LA259_0 = input.LA(1);
+
+                if ( (LA259_0==60) ) {
+                    alt259=1;
+                }
+                switch (alt259) {
+                    case 1 :
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1277:4: otherlv_13= ','
+                        {
+                        otherlv_13=(Token)match(input,60,FollowSets000.FOLLOW_60_in_synpred70_InternalOCLinEcore2860); if (state.failed) return ;
+
+                        }
+                        break;
+
+                }
+
+
+                }
+                break;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred70_InternalOCLinEcore
+
+    // $ANTLR start synpred73_InternalOCLinEcore
+    public final void synpred73_InternalOCLinEcore_fragment() throws RecognitionException {   
+        Token lv_isId_14_0=null;
+        Token otherlv_15=null;
+        Token otherlv_16=null;
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1288:4: ( ({...}? => ( ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1288:4: ({...}? => ( ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1288:4: ({...}? => ( ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1289:5: {...}? => ( ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred73_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1289:108: ( ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1290:6: ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1293:6: ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1293:7: {...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? )
+        {
+        if ( !((true)) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred73_InternalOCLinEcore", "true");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1293:16: ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1293:17: ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )?
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1293:17: ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' )
+        int alt261=2;
+        int LA261_0 = input.LA(1);
+
+        if ( (LA261_0==31) ) {
+            alt261=1;
+        }
+        else if ( (LA261_0==65) ) {
+            alt261=2;
+        }
+        else {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            NoViableAltException nvae =
+                new NoViableAltException("", 261, 0, input);
+
+            throw nvae;
+        }
+        switch (alt261) {
+            case 1 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1293:18: ( (lv_isId_14_0= 'id' ) )
+                {
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1293:18: ( (lv_isId_14_0= 'id' ) )
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1294:1: (lv_isId_14_0= 'id' )
+                {
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1294:1: (lv_isId_14_0= 'id' )
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1295:3: lv_isId_14_0= 'id'
+                {
+                lv_isId_14_0=(Token)match(input,31,FollowSets000.FOLLOW_31_in_synpred73_InternalOCLinEcore2939); if (state.failed) return ;
+
+                }
+
+
+                }
+
+
+                }
+                break;
+            case 2 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1309:7: otherlv_15= '!id'
+                {
+                otherlv_15=(Token)match(input,65,FollowSets000.FOLLOW_65_in_synpred73_InternalOCLinEcore2970); if (state.failed) return ;
+
+                }
+                break;
+
+        }
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1313:2: (otherlv_16= ',' )?
+        int alt262=2;
+        int LA262_0 = input.LA(1);
+
+        if ( (LA262_0==60) ) {
+            alt262=1;
+        }
+        switch (alt262) {
+            case 1 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1313:4: otherlv_16= ','
+                {
+                otherlv_16=(Token)match(input,60,FollowSets000.FOLLOW_60_in_synpred73_InternalOCLinEcore2984); if (state.failed) return ;
+
+                }
+                break;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred73_InternalOCLinEcore
+
+    // $ANTLR start synpred76_InternalOCLinEcore
+    public final void synpred76_InternalOCLinEcore_fragment() throws RecognitionException {   
+        Token lv_isOrdered_17_0=null;
+        Token otherlv_18=null;
+        Token otherlv_19=null;
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1324:4: ( ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1324:4: ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1324:4: ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1325:5: {...}? => ( ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred76_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1325:108: ( ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1326:6: ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1329:6: ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1329:7: {...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? )
+        {
+        if ( !((true)) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred76_InternalOCLinEcore", "true");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1329:16: ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1329:17: ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )?
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1329:17: ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' )
+        int alt263=2;
+        int LA263_0 = input.LA(1);
+
+        if ( (LA263_0==38) ) {
+            alt263=1;
+        }
+        else if ( (LA263_0==66) ) {
+            alt263=2;
+        }
+        else {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            NoViableAltException nvae =
+                new NoViableAltException("", 263, 0, input);
+
+            throw nvae;
+        }
+        switch (alt263) {
+            case 1 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1329:18: ( (lv_isOrdered_17_0= 'ordered' ) )
+                {
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1329:18: ( (lv_isOrdered_17_0= 'ordered' ) )
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1330:1: (lv_isOrdered_17_0= 'ordered' )
+                {
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1330:1: (lv_isOrdered_17_0= 'ordered' )
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1331:3: lv_isOrdered_17_0= 'ordered'
+                {
+                lv_isOrdered_17_0=(Token)match(input,38,FollowSets000.FOLLOW_38_in_synpred76_InternalOCLinEcore3061); if (state.failed) return ;
+
+                }
+
+
+                }
+
+
+                }
+                break;
+            case 2 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1345:7: otherlv_18= '!ordered'
+                {
+                otherlv_18=(Token)match(input,66,FollowSets000.FOLLOW_66_in_synpred76_InternalOCLinEcore3092); if (state.failed) return ;
+
+                }
+                break;
+
+        }
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1349:2: (otherlv_19= ',' )?
+        int alt264=2;
+        int LA264_0 = input.LA(1);
+
+        if ( (LA264_0==60) ) {
+            alt264=1;
+        }
+        switch (alt264) {
+            case 1 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1349:4: otherlv_19= ','
+                {
+                otherlv_19=(Token)match(input,60,FollowSets000.FOLLOW_60_in_synpred76_InternalOCLinEcore3106); if (state.failed) return ;
+
+                }
+                break;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred76_InternalOCLinEcore
+
+    // $ANTLR start synpred79_InternalOCLinEcore
+    public final void synpred79_InternalOCLinEcore_fragment() throws RecognitionException {   
+        Token lv_isReadonly_20_0=null;
+        Token otherlv_21=null;
+        Token otherlv_22=null;
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1360:4: ( ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1360:4: ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1360:4: ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1361:5: {...}? => ( ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred79_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1361:108: ( ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1362:6: ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1365:6: ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1365:7: {...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? )
+        {
+        if ( !((true)) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred79_InternalOCLinEcore", "true");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1365:16: ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1365:17: ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )?
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1365:17: ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' )
+        int alt265=2;
+        int LA265_0 = input.LA(1);
+
+        if ( (LA265_0==44) ) {
+            alt265=1;
+        }
+        else if ( (LA265_0==67) ) {
+            alt265=2;
+        }
+        else {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            NoViableAltException nvae =
+                new NoViableAltException("", 265, 0, input);
+
+            throw nvae;
+        }
+        switch (alt265) {
+            case 1 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1365:18: ( (lv_isReadonly_20_0= 'readonly' ) )
+                {
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1365:18: ( (lv_isReadonly_20_0= 'readonly' ) )
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1366:1: (lv_isReadonly_20_0= 'readonly' )
+                {
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1366:1: (lv_isReadonly_20_0= 'readonly' )
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1367:3: lv_isReadonly_20_0= 'readonly'
+                {
+                lv_isReadonly_20_0=(Token)match(input,44,FollowSets000.FOLLOW_44_in_synpred79_InternalOCLinEcore3183); if (state.failed) return ;
+
+                }
+
+
+                }
+
+
+                }
+                break;
+            case 2 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1381:7: otherlv_21= '!readonly'
+                {
+                otherlv_21=(Token)match(input,67,FollowSets000.FOLLOW_67_in_synpred79_InternalOCLinEcore3214); if (state.failed) return ;
+
+                }
+                break;
+
+        }
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1385:2: (otherlv_22= ',' )?
+        int alt266=2;
+        int LA266_0 = input.LA(1);
+
+        if ( (LA266_0==60) ) {
+            alt266=1;
+        }
+        switch (alt266) {
+            case 1 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1385:4: otherlv_22= ','
+                {
+                otherlv_22=(Token)match(input,60,FollowSets000.FOLLOW_60_in_synpred79_InternalOCLinEcore3228); if (state.failed) return ;
+
+                }
+                break;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred79_InternalOCLinEcore
+
+    // $ANTLR start synpred82_InternalOCLinEcore
+    public final void synpred82_InternalOCLinEcore_fragment() throws RecognitionException {   
+        Token lv_isTransient_23_0=null;
+        Token otherlv_24=null;
+        Token otherlv_25=null;
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1396:4: ( ({...}? => ( ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1396:4: ({...}? => ( ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1396:4: ({...}? => ( ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1397:5: {...}? => ( ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred82_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1397:108: ( ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1398:6: ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1401:6: ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1401:7: {...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? )
+        {
+        if ( !((true)) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred82_InternalOCLinEcore", "true");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1401:16: ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1401:17: ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )?
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1401:17: ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' )
+        int alt267=2;
+        int LA267_0 = input.LA(1);
+
+        if ( (LA267_0==50) ) {
+            alt267=1;
+        }
+        else if ( (LA267_0==68) ) {
+            alt267=2;
+        }
+        else {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            NoViableAltException nvae =
+                new NoViableAltException("", 267, 0, input);
+
+            throw nvae;
+        }
+        switch (alt267) {
+            case 1 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1401:18: ( (lv_isTransient_23_0= 'transient' ) )
+                {
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1401:18: ( (lv_isTransient_23_0= 'transient' ) )
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1402:1: (lv_isTransient_23_0= 'transient' )
+                {
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1402:1: (lv_isTransient_23_0= 'transient' )
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1403:3: lv_isTransient_23_0= 'transient'
+                {
+                lv_isTransient_23_0=(Token)match(input,50,FollowSets000.FOLLOW_50_in_synpred82_InternalOCLinEcore3305); if (state.failed) return ;
+
+                }
+
+
+                }
+
+
+                }
+                break;
+            case 2 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1417:7: otherlv_24= '!transient'
+                {
+                otherlv_24=(Token)match(input,68,FollowSets000.FOLLOW_68_in_synpred82_InternalOCLinEcore3336); if (state.failed) return ;
+
+                }
+                break;
+
+        }
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1421:2: (otherlv_25= ',' )?
+        int alt268=2;
+        int LA268_0 = input.LA(1);
+
+        if ( (LA268_0==60) ) {
+            alt268=1;
+        }
+        switch (alt268) {
+            case 1 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1421:4: otherlv_25= ','
+                {
+                otherlv_25=(Token)match(input,60,FollowSets000.FOLLOW_60_in_synpred82_InternalOCLinEcore3350); if (state.failed) return ;
+
+                }
+                break;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred82_InternalOCLinEcore
+
+    // $ANTLR start synpred85_InternalOCLinEcore
+    public final void synpred85_InternalOCLinEcore_fragment() throws RecognitionException {   
+        Token lv_isNotUnique_26_0=null;
+        Token otherlv_27=null;
+        Token otherlv_28=null;
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1432:4: ( ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1432:4: ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1432:4: ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1433:5: {...}? => ( ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred85_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1433:108: ( ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1434:6: ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1437:6: ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1437:7: {...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? )
+        {
+        if ( !((true)) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred85_InternalOCLinEcore", "true");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1437:16: ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1437:17: ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )?
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1437:17: ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' )
+        int alt269=2;
+        int LA269_0 = input.LA(1);
+
+        if ( (LA269_0==69) ) {
+            alt269=1;
+        }
+        else if ( (LA269_0==51) ) {
+            alt269=2;
+        }
+        else {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            NoViableAltException nvae =
+                new NoViableAltException("", 269, 0, input);
+
+            throw nvae;
+        }
+        switch (alt269) {
+            case 1 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1437:18: ( (lv_isNotUnique_26_0= '!unique' ) )
+                {
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1437:18: ( (lv_isNotUnique_26_0= '!unique' ) )
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1438:1: (lv_isNotUnique_26_0= '!unique' )
+                {
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1438:1: (lv_isNotUnique_26_0= '!unique' )
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1439:3: lv_isNotUnique_26_0= '!unique'
+                {
+                lv_isNotUnique_26_0=(Token)match(input,69,FollowSets000.FOLLOW_69_in_synpred85_InternalOCLinEcore3427); if (state.failed) return ;
+
+                }
+
+
+                }
+
+
+                }
+                break;
+            case 2 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1453:7: otherlv_27= 'unique'
+                {
+                otherlv_27=(Token)match(input,51,FollowSets000.FOLLOW_51_in_synpred85_InternalOCLinEcore3458); if (state.failed) return ;
+
+                }
+                break;
+
+        }
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1457:2: (otherlv_28= ',' )?
+        int alt270=2;
+        int LA270_0 = input.LA(1);
+
+        if ( (LA270_0==60) ) {
+            alt270=1;
+        }
+        switch (alt270) {
+            case 1 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1457:4: otherlv_28= ','
+                {
+                otherlv_28=(Token)match(input,60,FollowSets000.FOLLOW_60_in_synpred85_InternalOCLinEcore3472); if (state.failed) return ;
+
+                }
+                break;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred85_InternalOCLinEcore
+
+    // $ANTLR start synpred88_InternalOCLinEcore
+    public final void synpred88_InternalOCLinEcore_fragment() throws RecognitionException {   
+        Token lv_isUnsettable_29_0=null;
+        Token otherlv_30=null;
+        Token otherlv_31=null;
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1468:4: ( ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1468:4: ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1468:4: ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1469:5: {...}? => ( ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred88_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1469:108: ( ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1470:6: ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1473:6: ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1473:7: {...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? )
+        {
+        if ( !((true)) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred88_InternalOCLinEcore", "true");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1473:16: ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1473:17: ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )?
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1473:17: ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' )
+        int alt271=2;
+        int LA271_0 = input.LA(1);
+
+        if ( (LA271_0==52) ) {
+            alt271=1;
+        }
+        else if ( (LA271_0==70) ) {
+            alt271=2;
+        }
+        else {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            NoViableAltException nvae =
+                new NoViableAltException("", 271, 0, input);
+
+            throw nvae;
+        }
+        switch (alt271) {
+            case 1 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1473:18: ( (lv_isUnsettable_29_0= 'unsettable' ) )
+                {
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1473:18: ( (lv_isUnsettable_29_0= 'unsettable' ) )
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1474:1: (lv_isUnsettable_29_0= 'unsettable' )
+                {
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1474:1: (lv_isUnsettable_29_0= 'unsettable' )
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1475:3: lv_isUnsettable_29_0= 'unsettable'
+                {
+                lv_isUnsettable_29_0=(Token)match(input,52,FollowSets000.FOLLOW_52_in_synpred88_InternalOCLinEcore3549); if (state.failed) return ;
+
+                }
+
+
+                }
+
+
+                }
+                break;
+            case 2 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1489:7: otherlv_30= '!unsettable'
+                {
+                otherlv_30=(Token)match(input,70,FollowSets000.FOLLOW_70_in_synpred88_InternalOCLinEcore3580); if (state.failed) return ;
+
+                }
+                break;
+
+        }
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1493:2: (otherlv_31= ',' )?
+        int alt272=2;
+        int LA272_0 = input.LA(1);
+
+        if ( (LA272_0==60) ) {
+            alt272=1;
+        }
+        switch (alt272) {
+            case 1 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1493:4: otherlv_31= ','
+                {
+                otherlv_31=(Token)match(input,60,FollowSets000.FOLLOW_60_in_synpred88_InternalOCLinEcore3594); if (state.failed) return ;
+
+                }
+                break;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred88_InternalOCLinEcore
+
+    // $ANTLR start synpred92_InternalOCLinEcore
+    public final void synpred92_InternalOCLinEcore_fragment() throws RecognitionException {   
+        Token lv_isVolatile_32_0=null;
+        Token otherlv_33=null;
+        Token otherlv_34=null;
+        Token otherlv_35=null;
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1504:4: ( ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1504:4: ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1504:4: ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1505:5: {...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred92_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1505:108: ( ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1506:6: ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1509:6: ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1509:7: {...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' )
+        {
+        if ( !((true)) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred92_InternalOCLinEcore", "true");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1509:16: ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1509:17: ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}'
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1509:17: ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )?
+        int alt277=2;
+        int LA277_0 = input.LA(1);
+
+        if ( (LA277_0==53||LA277_0==71) ) {
+            alt277=1;
+        }
+        switch (alt277) {
+            case 1 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1509:18: ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )?
+                {
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1509:18: ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' )
+                int alt275=2;
+                int LA275_0 = input.LA(1);
+
+                if ( (LA275_0==53) ) {
+                    alt275=1;
+                }
+                else if ( (LA275_0==71) ) {
+                    alt275=2;
+                }
+                else {
+                    if (state.backtracking>0) {state.failed=true; return ;}
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 275, 0, input);
+
+                    throw nvae;
+                }
+                switch (alt275) {
+                    case 1 :
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1509:19: ( (lv_isVolatile_32_0= 'volatile' ) )
+                        {
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1509:19: ( (lv_isVolatile_32_0= 'volatile' ) )
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1510:1: (lv_isVolatile_32_0= 'volatile' )
+                        {
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1510:1: (lv_isVolatile_32_0= 'volatile' )
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1511:3: lv_isVolatile_32_0= 'volatile'
+                        {
+                        lv_isVolatile_32_0=(Token)match(input,53,FollowSets000.FOLLOW_53_in_synpred92_InternalOCLinEcore3672); if (state.failed) return ;
+
+                        }
+
+
+                        }
+
+
+                        }
+                        break;
+                    case 2 :
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1525:7: otherlv_33= '!volatile'
+                        {
+                        otherlv_33=(Token)match(input,71,FollowSets000.FOLLOW_71_in_synpred92_InternalOCLinEcore3703); if (state.failed) return ;
+
+                        }
+                        break;
+
+                }
+
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1529:2: (otherlv_34= ',' )?
+                int alt276=2;
+                int LA276_0 = input.LA(1);
+
+                if ( (LA276_0==60) ) {
+                    alt276=1;
+                }
+                switch (alt276) {
+                    case 1 :
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1529:4: otherlv_34= ','
+                        {
+                        otherlv_34=(Token)match(input,60,FollowSets000.FOLLOW_60_in_synpred92_InternalOCLinEcore3717); if (state.failed) return ;
+
+                        }
+                        break;
+
+                }
+
+
+                }
+                break;
+
+        }
+
+        otherlv_35=(Token)match(input,62,FollowSets000.FOLLOW_62_in_synpred92_InternalOCLinEcore3733); if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred92_InternalOCLinEcore
+
+    // $ANTLR start synpred93_InternalOCLinEcore
+    public final void synpred93_InternalOCLinEcore_fragment() throws RecognitionException {   
+        Token otherlv_10=null;
+        Token lv_isDerived_11_0=null;
+        Token otherlv_12=null;
+        Token otherlv_13=null;
+        Token lv_isId_14_0=null;
+        Token otherlv_15=null;
+        Token otherlv_16=null;
+        Token lv_isOrdered_17_0=null;
+        Token otherlv_18=null;
+        Token otherlv_19=null;
+        Token lv_isReadonly_20_0=null;
+        Token otherlv_21=null;
+        Token otherlv_22=null;
+        Token lv_isTransient_23_0=null;
+        Token otherlv_24=null;
+        Token otherlv_25=null;
+        Token lv_isNotUnique_26_0=null;
+        Token otherlv_27=null;
+        Token otherlv_28=null;
+        Token lv_isUnsettable_29_0=null;
+        Token otherlv_30=null;
+        Token otherlv_31=null;
+        Token lv_isVolatile_32_0=null;
+        Token otherlv_33=null;
+        Token otherlv_34=null;
+        Token otherlv_35=null;
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1241:1: ( ( ( ( ({...}? => ( ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) ) ) ) )+ {...}?) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1241:1: ( ( ( ({...}? => ( ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) ) ) ) )+ {...}?) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1241:1: ( ( ( ({...}? => ( ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) ) ) ) )+ {...}?) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1242:2: ( ( ({...}? => ( ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) ) ) ) )+ {...}?)
+        {
+        getUnorderedGroupHelper().enter(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5());
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1245:2: ( ( ({...}? => ( ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) ) ) ) )+ {...}?)
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1246:3: ( ({...}? => ( ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) ) ) ) )+ {...}?
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1246:3: ( ({...}? => ( ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) ) ) ) )+
+        int cnt296=0;
+        loop296:
+        do {
+            int alt296=9;
+            alt296 = dfa296.predict(input);
+            switch (alt296) {
+        	case 1 :
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1248:4: ({...}? => ( ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) ) ) )
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1248:4: ({...}? => ( ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1249:5: {...}? => ( ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) ) )
+        	    {
+        	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred93_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0)");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1249:108: ( ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1250:6: ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) )
+        	    {
+        	    getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0);
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1253:6: ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1253:7: {...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? )
+        	    {
+        	    if ( !((true)) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred93_InternalOCLinEcore", "true");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1253:16: (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1253:18: otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )?
+        	    {
+        	    otherlv_10=(Token)match(input,61,FollowSets000.FOLLOW_61_in_synpred93_InternalOCLinEcore2795); if (state.failed) return ;
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1257:1: ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )?
+        	    int alt280=2;
+        	    alt280 = dfa280.predict(input);
+        	    switch (alt280) {
+        	        case 1 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1257:2: ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )?
+        	            {
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1257:2: ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' )
+        	            int alt278=2;
+        	            int LA278_0 = input.LA(1);
+
+        	            if ( (LA278_0==28) ) {
+        	                alt278=1;
+        	            }
+        	            else if ( (LA278_0==64) ) {
+        	                alt278=2;
+        	            }
+        	            else {
+        	                if (state.backtracking>0) {state.failed=true; return ;}
+        	                NoViableAltException nvae =
+        	                    new NoViableAltException("", 278, 0, input);
+
+        	                throw nvae;
+        	            }
+        	            switch (alt278) {
+        	                case 1 :
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1257:3: ( (lv_isDerived_11_0= 'derived' ) )
+        	                    {
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1257:3: ( (lv_isDerived_11_0= 'derived' ) )
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1258:1: (lv_isDerived_11_0= 'derived' )
+        	                    {
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1258:1: (lv_isDerived_11_0= 'derived' )
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1259:3: lv_isDerived_11_0= 'derived'
+        	                    {
+        	                    lv_isDerived_11_0=(Token)match(input,28,FollowSets000.FOLLOW_28_in_synpred93_InternalOCLinEcore2815); if (state.failed) return ;
+
+        	                    }
+
+
+        	                    }
+
+
+        	                    }
+        	                    break;
+        	                case 2 :
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1273:7: otherlv_12= '!derived'
+        	                    {
+        	                    otherlv_12=(Token)match(input,64,FollowSets000.FOLLOW_64_in_synpred93_InternalOCLinEcore2846); if (state.failed) return ;
+
+        	                    }
+        	                    break;
+
+        	            }
+
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1277:2: (otherlv_13= ',' )?
+        	            int alt279=2;
+        	            alt279 = dfa279.predict(input);
+        	            switch (alt279) {
+        	                case 1 :
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1277:4: otherlv_13= ','
+        	                    {
+        	                    otherlv_13=(Token)match(input,60,FollowSets000.FOLLOW_60_in_synpred93_InternalOCLinEcore2860); if (state.failed) return ;
+
+        	                    }
+        	                    break;
+
+        	            }
+
+
+        	            }
+        	            break;
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+        	    break;
+        	case 2 :
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1288:4: ({...}? => ( ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) ) ) )
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1288:4: ({...}? => ( ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1289:5: {...}? => ( ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) ) )
+        	    {
+        	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred93_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1)");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1289:108: ( ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1290:6: ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) )
+        	    {
+        	    getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1);
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1293:6: ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1293:7: {...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? )
+        	    {
+        	    if ( !((true)) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred93_InternalOCLinEcore", "true");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1293:16: ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1293:17: ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )?
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1293:17: ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' )
+        	    int alt281=2;
+        	    int LA281_0 = input.LA(1);
+
+        	    if ( (LA281_0==31) ) {
+        	        alt281=1;
+        	    }
+        	    else if ( (LA281_0==65) ) {
+        	        alt281=2;
+        	    }
+        	    else {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        NoViableAltException nvae =
+        	            new NoViableAltException("", 281, 0, input);
+
+        	        throw nvae;
+        	    }
+        	    switch (alt281) {
+        	        case 1 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1293:18: ( (lv_isId_14_0= 'id' ) )
+        	            {
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1293:18: ( (lv_isId_14_0= 'id' ) )
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1294:1: (lv_isId_14_0= 'id' )
+        	            {
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1294:1: (lv_isId_14_0= 'id' )
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1295:3: lv_isId_14_0= 'id'
+        	            {
+        	            lv_isId_14_0=(Token)match(input,31,FollowSets000.FOLLOW_31_in_synpred93_InternalOCLinEcore2939); if (state.failed) return ;
+
+        	            }
+
+
+        	            }
+
+
+        	            }
+        	            break;
+        	        case 2 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1309:7: otherlv_15= '!id'
+        	            {
+        	            otherlv_15=(Token)match(input,65,FollowSets000.FOLLOW_65_in_synpred93_InternalOCLinEcore2970); if (state.failed) return ;
+
+        	            }
+        	            break;
+
+        	    }
+
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1313:2: (otherlv_16= ',' )?
+        	    int alt282=2;
+        	    alt282 = dfa282.predict(input);
+        	    switch (alt282) {
+        	        case 1 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1313:4: otherlv_16= ','
+        	            {
+        	            otherlv_16=(Token)match(input,60,FollowSets000.FOLLOW_60_in_synpred93_InternalOCLinEcore2984); if (state.failed) return ;
+
+        	            }
+        	            break;
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+        	    break;
+        	case 3 :
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1324:4: ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) ) ) )
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1324:4: ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1325:5: {...}? => ( ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) ) )
+        	    {
+        	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred93_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2)");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1325:108: ( ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1326:6: ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) )
+        	    {
+        	    getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2);
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1329:6: ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1329:7: {...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? )
+        	    {
+        	    if ( !((true)) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred93_InternalOCLinEcore", "true");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1329:16: ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1329:17: ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )?
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1329:17: ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' )
+        	    int alt283=2;
+        	    int LA283_0 = input.LA(1);
+
+        	    if ( (LA283_0==38) ) {
+        	        alt283=1;
+        	    }
+        	    else if ( (LA283_0==66) ) {
+        	        alt283=2;
+        	    }
+        	    else {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        NoViableAltException nvae =
+        	            new NoViableAltException("", 283, 0, input);
+
+        	        throw nvae;
+        	    }
+        	    switch (alt283) {
+        	        case 1 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1329:18: ( (lv_isOrdered_17_0= 'ordered' ) )
+        	            {
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1329:18: ( (lv_isOrdered_17_0= 'ordered' ) )
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1330:1: (lv_isOrdered_17_0= 'ordered' )
+        	            {
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1330:1: (lv_isOrdered_17_0= 'ordered' )
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1331:3: lv_isOrdered_17_0= 'ordered'
+        	            {
+        	            lv_isOrdered_17_0=(Token)match(input,38,FollowSets000.FOLLOW_38_in_synpred93_InternalOCLinEcore3061); if (state.failed) return ;
+
+        	            }
+
+
+        	            }
+
+
+        	            }
+        	            break;
+        	        case 2 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1345:7: otherlv_18= '!ordered'
+        	            {
+        	            otherlv_18=(Token)match(input,66,FollowSets000.FOLLOW_66_in_synpred93_InternalOCLinEcore3092); if (state.failed) return ;
+
+        	            }
+        	            break;
+
+        	    }
+
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1349:2: (otherlv_19= ',' )?
+        	    int alt284=2;
+        	    alt284 = dfa284.predict(input);
+        	    switch (alt284) {
+        	        case 1 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1349:4: otherlv_19= ','
+        	            {
+        	            otherlv_19=(Token)match(input,60,FollowSets000.FOLLOW_60_in_synpred93_InternalOCLinEcore3106); if (state.failed) return ;
+
+        	            }
+        	            break;
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+        	    break;
+        	case 4 :
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1360:4: ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) ) ) )
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1360:4: ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1361:5: {...}? => ( ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) ) )
+        	    {
+        	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred93_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3)");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1361:108: ( ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1362:6: ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) )
+        	    {
+        	    getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3);
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1365:6: ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1365:7: {...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? )
+        	    {
+        	    if ( !((true)) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred93_InternalOCLinEcore", "true");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1365:16: ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1365:17: ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )?
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1365:17: ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' )
+        	    int alt285=2;
+        	    int LA285_0 = input.LA(1);
+
+        	    if ( (LA285_0==44) ) {
+        	        alt285=1;
+        	    }
+        	    else if ( (LA285_0==67) ) {
+        	        alt285=2;
+        	    }
+        	    else {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        NoViableAltException nvae =
+        	            new NoViableAltException("", 285, 0, input);
+
+        	        throw nvae;
+        	    }
+        	    switch (alt285) {
+        	        case 1 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1365:18: ( (lv_isReadonly_20_0= 'readonly' ) )
+        	            {
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1365:18: ( (lv_isReadonly_20_0= 'readonly' ) )
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1366:1: (lv_isReadonly_20_0= 'readonly' )
+        	            {
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1366:1: (lv_isReadonly_20_0= 'readonly' )
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1367:3: lv_isReadonly_20_0= 'readonly'
+        	            {
+        	            lv_isReadonly_20_0=(Token)match(input,44,FollowSets000.FOLLOW_44_in_synpred93_InternalOCLinEcore3183); if (state.failed) return ;
+
+        	            }
+
+
+        	            }
+
+
+        	            }
+        	            break;
+        	        case 2 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1381:7: otherlv_21= '!readonly'
+        	            {
+        	            otherlv_21=(Token)match(input,67,FollowSets000.FOLLOW_67_in_synpred93_InternalOCLinEcore3214); if (state.failed) return ;
+
+        	            }
+        	            break;
+
+        	    }
+
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1385:2: (otherlv_22= ',' )?
+        	    int alt286=2;
+        	    alt286 = dfa286.predict(input);
+        	    switch (alt286) {
+        	        case 1 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1385:4: otherlv_22= ','
+        	            {
+        	            otherlv_22=(Token)match(input,60,FollowSets000.FOLLOW_60_in_synpred93_InternalOCLinEcore3228); if (state.failed) return ;
+
+        	            }
+        	            break;
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+        	    break;
+        	case 5 :
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1396:4: ({...}? => ( ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) ) ) )
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1396:4: ({...}? => ( ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1397:5: {...}? => ( ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) ) )
+        	    {
+        	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred93_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4)");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1397:108: ( ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1398:6: ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) )
+        	    {
+        	    getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4);
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1401:6: ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1401:7: {...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? )
+        	    {
+        	    if ( !((true)) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred93_InternalOCLinEcore", "true");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1401:16: ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1401:17: ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )?
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1401:17: ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' )
+        	    int alt287=2;
+        	    int LA287_0 = input.LA(1);
+
+        	    if ( (LA287_0==50) ) {
+        	        alt287=1;
+        	    }
+        	    else if ( (LA287_0==68) ) {
+        	        alt287=2;
+        	    }
+        	    else {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        NoViableAltException nvae =
+        	            new NoViableAltException("", 287, 0, input);
+
+        	        throw nvae;
+        	    }
+        	    switch (alt287) {
+        	        case 1 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1401:18: ( (lv_isTransient_23_0= 'transient' ) )
+        	            {
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1401:18: ( (lv_isTransient_23_0= 'transient' ) )
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1402:1: (lv_isTransient_23_0= 'transient' )
+        	            {
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1402:1: (lv_isTransient_23_0= 'transient' )
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1403:3: lv_isTransient_23_0= 'transient'
+        	            {
+        	            lv_isTransient_23_0=(Token)match(input,50,FollowSets000.FOLLOW_50_in_synpred93_InternalOCLinEcore3305); if (state.failed) return ;
+
+        	            }
+
+
+        	            }
+
+
+        	            }
+        	            break;
+        	        case 2 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1417:7: otherlv_24= '!transient'
+        	            {
+        	            otherlv_24=(Token)match(input,68,FollowSets000.FOLLOW_68_in_synpred93_InternalOCLinEcore3336); if (state.failed) return ;
+
+        	            }
+        	            break;
+
+        	    }
+
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1421:2: (otherlv_25= ',' )?
+        	    int alt288=2;
+        	    alt288 = dfa288.predict(input);
+        	    switch (alt288) {
+        	        case 1 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1421:4: otherlv_25= ','
+        	            {
+        	            otherlv_25=(Token)match(input,60,FollowSets000.FOLLOW_60_in_synpred93_InternalOCLinEcore3350); if (state.failed) return ;
+
+        	            }
+        	            break;
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+        	    break;
+        	case 6 :
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1432:4: ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) ) ) )
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1432:4: ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1433:5: {...}? => ( ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) ) )
+        	    {
+        	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred93_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5)");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1433:108: ( ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1434:6: ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) )
+        	    {
+        	    getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5);
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1437:6: ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1437:7: {...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? )
+        	    {
+        	    if ( !((true)) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred93_InternalOCLinEcore", "true");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1437:16: ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1437:17: ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )?
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1437:17: ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' )
+        	    int alt289=2;
+        	    int LA289_0 = input.LA(1);
+
+        	    if ( (LA289_0==69) ) {
+        	        alt289=1;
+        	    }
+        	    else if ( (LA289_0==51) ) {
+        	        alt289=2;
+        	    }
+        	    else {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        NoViableAltException nvae =
+        	            new NoViableAltException("", 289, 0, input);
+
+        	        throw nvae;
+        	    }
+        	    switch (alt289) {
+        	        case 1 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1437:18: ( (lv_isNotUnique_26_0= '!unique' ) )
+        	            {
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1437:18: ( (lv_isNotUnique_26_0= '!unique' ) )
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1438:1: (lv_isNotUnique_26_0= '!unique' )
+        	            {
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1438:1: (lv_isNotUnique_26_0= '!unique' )
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1439:3: lv_isNotUnique_26_0= '!unique'
+        	            {
+        	            lv_isNotUnique_26_0=(Token)match(input,69,FollowSets000.FOLLOW_69_in_synpred93_InternalOCLinEcore3427); if (state.failed) return ;
+
+        	            }
+
+
+        	            }
+
+
+        	            }
+        	            break;
+        	        case 2 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1453:7: otherlv_27= 'unique'
+        	            {
+        	            otherlv_27=(Token)match(input,51,FollowSets000.FOLLOW_51_in_synpred93_InternalOCLinEcore3458); if (state.failed) return ;
+
+        	            }
+        	            break;
+
+        	    }
+
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1457:2: (otherlv_28= ',' )?
+        	    int alt290=2;
+        	    alt290 = dfa290.predict(input);
+        	    switch (alt290) {
+        	        case 1 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1457:4: otherlv_28= ','
+        	            {
+        	            otherlv_28=(Token)match(input,60,FollowSets000.FOLLOW_60_in_synpred93_InternalOCLinEcore3472); if (state.failed) return ;
+
+        	            }
+        	            break;
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+        	    break;
+        	case 7 :
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1468:4: ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) ) ) )
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1468:4: ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1469:5: {...}? => ( ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) ) )
+        	    {
+        	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred93_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6)");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1469:108: ( ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1470:6: ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) )
+        	    {
+        	    getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6);
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1473:6: ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1473:7: {...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? )
+        	    {
+        	    if ( !((true)) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred93_InternalOCLinEcore", "true");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1473:16: ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1473:17: ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )?
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1473:17: ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' )
+        	    int alt291=2;
+        	    int LA291_0 = input.LA(1);
+
+        	    if ( (LA291_0==52) ) {
+        	        alt291=1;
+        	    }
+        	    else if ( (LA291_0==70) ) {
+        	        alt291=2;
+        	    }
+        	    else {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        NoViableAltException nvae =
+        	            new NoViableAltException("", 291, 0, input);
+
+        	        throw nvae;
+        	    }
+        	    switch (alt291) {
+        	        case 1 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1473:18: ( (lv_isUnsettable_29_0= 'unsettable' ) )
+        	            {
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1473:18: ( (lv_isUnsettable_29_0= 'unsettable' ) )
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1474:1: (lv_isUnsettable_29_0= 'unsettable' )
+        	            {
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1474:1: (lv_isUnsettable_29_0= 'unsettable' )
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1475:3: lv_isUnsettable_29_0= 'unsettable'
+        	            {
+        	            lv_isUnsettable_29_0=(Token)match(input,52,FollowSets000.FOLLOW_52_in_synpred93_InternalOCLinEcore3549); if (state.failed) return ;
+
+        	            }
+
+
+        	            }
+
+
+        	            }
+        	            break;
+        	        case 2 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1489:7: otherlv_30= '!unsettable'
+        	            {
+        	            otherlv_30=(Token)match(input,70,FollowSets000.FOLLOW_70_in_synpred93_InternalOCLinEcore3580); if (state.failed) return ;
+
+        	            }
+        	            break;
+
+        	    }
+
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1493:2: (otherlv_31= ',' )?
+        	    int alt292=2;
+        	    alt292 = dfa292.predict(input);
+        	    switch (alt292) {
+        	        case 1 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1493:4: otherlv_31= ','
+        	            {
+        	            otherlv_31=(Token)match(input,60,FollowSets000.FOLLOW_60_in_synpred93_InternalOCLinEcore3594); if (state.failed) return ;
+
+        	            }
+        	            break;
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+        	    break;
+        	case 8 :
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1504:4: ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) ) ) )
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1504:4: ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1505:5: {...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) ) )
+        	    {
+        	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred93_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7)");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1505:108: ( ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1506:6: ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) )
+        	    {
+        	    getUnorderedGroupHelper().select(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7);
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1509:6: ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1509:7: {...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' )
+        	    {
+        	    if ( !((true)) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred93_InternalOCLinEcore", "true");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1509:16: ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1509:17: ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}'
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1509:17: ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )?
+        	    int alt295=2;
+        	    int LA295_0 = input.LA(1);
+
+        	    if ( (LA295_0==53||LA295_0==71) ) {
+        	        alt295=1;
+        	    }
+        	    switch (alt295) {
+        	        case 1 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1509:18: ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )?
+        	            {
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1509:18: ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' )
+        	            int alt293=2;
+        	            int LA293_0 = input.LA(1);
+
+        	            if ( (LA293_0==53) ) {
+        	                alt293=1;
+        	            }
+        	            else if ( (LA293_0==71) ) {
+        	                alt293=2;
+        	            }
+        	            else {
+        	                if (state.backtracking>0) {state.failed=true; return ;}
+        	                NoViableAltException nvae =
+        	                    new NoViableAltException("", 293, 0, input);
+
+        	                throw nvae;
+        	            }
+        	            switch (alt293) {
+        	                case 1 :
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1509:19: ( (lv_isVolatile_32_0= 'volatile' ) )
+        	                    {
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1509:19: ( (lv_isVolatile_32_0= 'volatile' ) )
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1510:1: (lv_isVolatile_32_0= 'volatile' )
+        	                    {
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1510:1: (lv_isVolatile_32_0= 'volatile' )
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1511:3: lv_isVolatile_32_0= 'volatile'
+        	                    {
+        	                    lv_isVolatile_32_0=(Token)match(input,53,FollowSets000.FOLLOW_53_in_synpred93_InternalOCLinEcore3672); if (state.failed) return ;
+
+        	                    }
+
+
+        	                    }
+
+
+        	                    }
+        	                    break;
+        	                case 2 :
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1525:7: otherlv_33= '!volatile'
+        	                    {
+        	                    otherlv_33=(Token)match(input,71,FollowSets000.FOLLOW_71_in_synpred93_InternalOCLinEcore3703); if (state.failed) return ;
+
+        	                    }
+        	                    break;
+
+        	            }
+
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1529:2: (otherlv_34= ',' )?
+        	            int alt294=2;
+        	            int LA294_0 = input.LA(1);
+
+        	            if ( (LA294_0==60) ) {
+        	                alt294=1;
+        	            }
+        	            switch (alt294) {
+        	                case 1 :
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1529:4: otherlv_34= ','
+        	                    {
+        	                    otherlv_34=(Token)match(input,60,FollowSets000.FOLLOW_60_in_synpred93_InternalOCLinEcore3717); if (state.failed) return ;
+
+        	                    }
+        	                    break;
+
+        	            }
+
+
+        	            }
+        	            break;
+
+        	    }
+
+        	    otherlv_35=(Token)match(input,62,FollowSets000.FOLLOW_62_in_synpred93_InternalOCLinEcore3733); if (state.failed) return ;
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+        	    break;
+
+        	default :
+        	    if ( cnt296 >= 1 ) break loop296;
+        	    if (state.backtracking>0) {state.failed=true; return ;}
+                    EarlyExitException eee =
+                        new EarlyExitException(296, input);
+                    throw eee;
+            }
+            cnt296++;
+        } while (true);
+
+        if ( ! getUnorderedGroupHelper().canLeave(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5()) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred93_InternalOCLinEcore", "getUnorderedGroupHelper().canLeave(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5())");
+        }
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred93_InternalOCLinEcore
+
+    // $ANTLR start synpred139_InternalOCLinEcore
+    public final void synpred139_InternalOCLinEcore_fragment() throws RecognitionException {   
+        Token lv_isStatic_1_0=null;
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2729:4: ( ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2729:4: ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2729:4: ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2730:5: {...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 0) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred139_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 0)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2730:108: ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2731:6: ({...}? => ( (lv_isStatic_1_0= 'static' ) ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 0);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2734:6: ({...}? => ( (lv_isStatic_1_0= 'static' ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2734:7: {...}? => ( (lv_isStatic_1_0= 'static' ) )
+        {
+        if ( !((true)) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred139_InternalOCLinEcore", "true");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2734:16: ( (lv_isStatic_1_0= 'static' ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2735:1: (lv_isStatic_1_0= 'static' )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2735:1: (lv_isStatic_1_0= 'static' )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2736:3: lv_isStatic_1_0= 'static'
+        {
+        lv_isStatic_1_0=(Token)match(input,47,FollowSets000.FOLLOW_47_in_synpred139_InternalOCLinEcore6368); if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred139_InternalOCLinEcore
+
+    // $ANTLR start synpred140_InternalOCLinEcore
+    public final void synpred140_InternalOCLinEcore_fragment() throws RecognitionException {   
+        Token lv_isDefinition_2_0=null;
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2756:4: ( ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2756:4: ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2756:4: ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2757:5: {...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 1) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred140_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 1)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2757:108: ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2758:6: ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getOperationCSAccess().getUnorderedGroup_0(), 1);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2761:6: ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2761:7: {...}? => ( (lv_isDefinition_2_0= 'definition' ) )
+        {
+        if ( !((true)) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred140_InternalOCLinEcore", "true");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2761:16: ( (lv_isDefinition_2_0= 'definition' ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2762:1: (lv_isDefinition_2_0= 'definition' )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2762:1: (lv_isDefinition_2_0= 'definition' )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2763:3: lv_isDefinition_2_0= 'definition'
+        {
+        lv_isDefinition_2_0=(Token)match(input,26,FollowSets000.FOLLOW_26_in_synpred140_InternalOCLinEcore6453); if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred140_InternalOCLinEcore
+
+    // $ANTLR start synpred150_InternalOCLinEcore
+    public final void synpred150_InternalOCLinEcore_fragment() throws RecognitionException {   
+        Token otherlv_18=null;
+        Token lv_isDerived_19_0=null;
+        Token otherlv_20=null;
+        Token otherlv_21=null;
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2953:4: ( ({...}? => ( ({...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2953:4: ({...}? => ( ({...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2953:4: ({...}? => ( ({...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2954:5: {...}? => ( ({...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 0) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred150_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 0)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2954:108: ( ({...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2955:6: ({...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 0);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2958:6: ({...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2958:7: {...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? )
+        {
+        if ( !((true)) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred150_InternalOCLinEcore", "true");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2958:16: (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2958:18: otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )?
+        {
+        otherlv_18=(Token)match(input,61,FollowSets000.FOLLOW_61_in_synpred150_InternalOCLinEcore6811); if (state.failed) return ;
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2962:1: ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )?
+        int alt319=2;
+        int LA319_0 = input.LA(1);
+
+        if ( (LA319_0==28||LA319_0==64) ) {
+            alt319=1;
+        }
+        switch (alt319) {
+            case 1 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2962:2: ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )?
+                {
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2962:2: ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' )
+                int alt317=2;
+                int LA317_0 = input.LA(1);
+
+                if ( (LA317_0==28) ) {
+                    alt317=1;
+                }
+                else if ( (LA317_0==64) ) {
+                    alt317=2;
+                }
+                else {
+                    if (state.backtracking>0) {state.failed=true; return ;}
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 317, 0, input);
+
+                    throw nvae;
+                }
+                switch (alt317) {
+                    case 1 :
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2962:3: ( (lv_isDerived_19_0= 'derived' ) )
+                        {
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2962:3: ( (lv_isDerived_19_0= 'derived' ) )
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2963:1: (lv_isDerived_19_0= 'derived' )
+                        {
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2963:1: (lv_isDerived_19_0= 'derived' )
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2964:3: lv_isDerived_19_0= 'derived'
+                        {
+                        lv_isDerived_19_0=(Token)match(input,28,FollowSets000.FOLLOW_28_in_synpred150_InternalOCLinEcore6831); if (state.failed) return ;
+
+                        }
+
+
+                        }
+
+
+                        }
+                        break;
+                    case 2 :
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2978:7: otherlv_20= '!derived'
+                        {
+                        otherlv_20=(Token)match(input,64,FollowSets000.FOLLOW_64_in_synpred150_InternalOCLinEcore6862); if (state.failed) return ;
+
+                        }
+                        break;
+
+                }
+
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2982:2: (otherlv_21= ',' )?
+                int alt318=2;
+                int LA318_0 = input.LA(1);
+
+                if ( (LA318_0==60) ) {
+                    alt318=1;
+                }
+                switch (alt318) {
+                    case 1 :
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2982:4: otherlv_21= ','
+                        {
+                        otherlv_21=(Token)match(input,60,FollowSets000.FOLLOW_60_in_synpred150_InternalOCLinEcore6876); if (state.failed) return ;
+
+                        }
+                        break;
+
+                }
+
+
+                }
+                break;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred150_InternalOCLinEcore
+
+    // $ANTLR start synpred153_InternalOCLinEcore
+    public final void synpred153_InternalOCLinEcore_fragment() throws RecognitionException {   
+        Token lv_isOrdered_22_0=null;
+        Token otherlv_23=null;
+        Token otherlv_24=null;
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2993:4: ( ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2993:4: ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2993:4: ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2994:5: {...}? => ( ({...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 1) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred153_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 1)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2994:108: ( ({...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2995:6: ({...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 1);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2998:6: ({...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2998:7: {...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? )
+        {
+        if ( !((true)) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred153_InternalOCLinEcore", "true");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2998:16: ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2998:17: ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )?
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2998:17: ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' )
+        int alt320=2;
+        int LA320_0 = input.LA(1);
+
+        if ( (LA320_0==38) ) {
+            alt320=1;
+        }
+        else if ( (LA320_0==66) ) {
+            alt320=2;
+        }
+        else {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            NoViableAltException nvae =
+                new NoViableAltException("", 320, 0, input);
+
+            throw nvae;
+        }
+        switch (alt320) {
+            case 1 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2998:18: ( (lv_isOrdered_22_0= 'ordered' ) )
+                {
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2998:18: ( (lv_isOrdered_22_0= 'ordered' ) )
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2999:1: (lv_isOrdered_22_0= 'ordered' )
+                {
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2999:1: (lv_isOrdered_22_0= 'ordered' )
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3000:3: lv_isOrdered_22_0= 'ordered'
+                {
+                lv_isOrdered_22_0=(Token)match(input,38,FollowSets000.FOLLOW_38_in_synpred153_InternalOCLinEcore6955); if (state.failed) return ;
+
+                }
+
+
+                }
+
+
+                }
+                break;
+            case 2 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3014:7: otherlv_23= '!ordered'
+                {
+                otherlv_23=(Token)match(input,66,FollowSets000.FOLLOW_66_in_synpred153_InternalOCLinEcore6986); if (state.failed) return ;
+
+                }
+                break;
+
+        }
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3018:2: (otherlv_24= ',' )?
+        int alt321=2;
+        int LA321_0 = input.LA(1);
+
+        if ( (LA321_0==60) ) {
+            alt321=1;
+        }
+        switch (alt321) {
+            case 1 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3018:4: otherlv_24= ','
+                {
+                otherlv_24=(Token)match(input,60,FollowSets000.FOLLOW_60_in_synpred153_InternalOCLinEcore7000); if (state.failed) return ;
+
+                }
+                break;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred153_InternalOCLinEcore
+
+    // $ANTLR start synpred157_InternalOCLinEcore
+    public final void synpred157_InternalOCLinEcore_fragment() throws RecognitionException {   
+        Token lv_isNotUnique_25_0=null;
+        Token otherlv_26=null;
+        Token otherlv_27=null;
+        Token otherlv_28=null;
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3029:4: ( ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3029:4: ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3029:4: ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3030:5: {...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 2) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred157_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 2)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3030:108: ( ({...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3031:6: ({...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 2);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3034:6: ({...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3034:7: {...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' )
+        {
+        if ( !((true)) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred157_InternalOCLinEcore", "true");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3034:16: ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3034:17: ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}'
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3034:17: ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )?
+        int alt326=2;
+        int LA326_0 = input.LA(1);
+
+        if ( (LA326_0==51||LA326_0==69) ) {
+            alt326=1;
+        }
+        switch (alt326) {
+            case 1 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3034:18: ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )?
+                {
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3034:18: ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' )
+                int alt324=2;
+                int LA324_0 = input.LA(1);
+
+                if ( (LA324_0==69) ) {
+                    alt324=1;
+                }
+                else if ( (LA324_0==51) ) {
+                    alt324=2;
+                }
+                else {
+                    if (state.backtracking>0) {state.failed=true; return ;}
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 324, 0, input);
+
+                    throw nvae;
+                }
+                switch (alt324) {
+                    case 1 :
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3034:19: ( (lv_isNotUnique_25_0= '!unique' ) )
+                        {
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3034:19: ( (lv_isNotUnique_25_0= '!unique' ) )
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3035:1: (lv_isNotUnique_25_0= '!unique' )
+                        {
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3035:1: (lv_isNotUnique_25_0= '!unique' )
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3036:3: lv_isNotUnique_25_0= '!unique'
+                        {
+                        lv_isNotUnique_25_0=(Token)match(input,69,FollowSets000.FOLLOW_69_in_synpred157_InternalOCLinEcore7078); if (state.failed) return ;
+
+                        }
+
+
+                        }
+
+
+                        }
+                        break;
+                    case 2 :
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3050:7: otherlv_26= 'unique'
+                        {
+                        otherlv_26=(Token)match(input,51,FollowSets000.FOLLOW_51_in_synpred157_InternalOCLinEcore7109); if (state.failed) return ;
+
+                        }
+                        break;
+
+                }
+
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3054:2: (otherlv_27= ',' )?
+                int alt325=2;
+                int LA325_0 = input.LA(1);
+
+                if ( (LA325_0==60) ) {
+                    alt325=1;
+                }
+                switch (alt325) {
+                    case 1 :
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3054:4: otherlv_27= ','
+                        {
+                        otherlv_27=(Token)match(input,60,FollowSets000.FOLLOW_60_in_synpred157_InternalOCLinEcore7123); if (state.failed) return ;
+
+                        }
+                        break;
+
+                }
+
+
+                }
+                break;
+
+        }
+
+        otherlv_28=(Token)match(input,62,FollowSets000.FOLLOW_62_in_synpred157_InternalOCLinEcore7139); if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred157_InternalOCLinEcore
+
+    // $ANTLR start synpred158_InternalOCLinEcore
+    public final void synpred158_InternalOCLinEcore_fragment() throws RecognitionException {   
+        Token otherlv_18=null;
+        Token lv_isDerived_19_0=null;
+        Token otherlv_20=null;
+        Token otherlv_21=null;
+        Token lv_isOrdered_22_0=null;
+        Token otherlv_23=null;
+        Token otherlv_24=null;
+        Token lv_isNotUnique_25_0=null;
+        Token otherlv_26=null;
+        Token otherlv_27=null;
+        Token otherlv_28=null;
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2946:1: ( ( ( ( ({...}? => ( ({...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' ) ) ) ) )+ {...}?) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2946:1: ( ( ( ({...}? => ( ({...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' ) ) ) ) )+ {...}?) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2946:1: ( ( ( ({...}? => ( ({...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' ) ) ) ) )+ {...}?) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2947:2: ( ( ({...}? => ( ({...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' ) ) ) ) )+ {...}?)
+        {
+        getUnorderedGroupHelper().enter(grammarAccess.getOperationCSAccess().getUnorderedGroup_9());
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2950:2: ( ( ({...}? => ( ({...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' ) ) ) ) )+ {...}?)
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2951:3: ( ({...}? => ( ({...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' ) ) ) ) )+ {...}?
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2951:3: ( ({...}? => ( ({...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' ) ) ) ) )+
+        int cnt335=0;
+        loop335:
+        do {
+            int alt335=4;
+            int LA335_0 = input.LA(1);
+
+            if ( LA335_0 ==61 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 0) ) {
+                alt335=1;
+            }
+            else if ( LA335_0 ==38 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 1) ) {
+                alt335=2;
+            }
+            else if ( LA335_0 ==66 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 1) ) {
+                alt335=2;
+            }
+            else if ( LA335_0 ==69 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 2) ) {
+                alt335=3;
+            }
+            else if ( LA335_0 ==51 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 2) ) {
+                alt335=3;
+            }
+            else if ( LA335_0 ==62 && getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 2) ) {
+                alt335=3;
+            }
+
+
+            switch (alt335) {
+        	case 1 :
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2953:4: ({...}? => ( ({...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? ) ) ) )
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2953:4: ({...}? => ( ({...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? ) ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2954:5: {...}? => ( ({...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? ) ) )
+        	    {
+        	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 0) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred158_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 0)");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2954:108: ( ({...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2955:6: ({...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? ) )
+        	    {
+        	    getUnorderedGroupHelper().select(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 0);
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2958:6: ({...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2958:7: {...}? => (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? )
+        	    {
+        	    if ( !((true)) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred158_InternalOCLinEcore", "true");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2958:16: (otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )? )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2958:18: otherlv_18= '{' ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )?
+        	    {
+        	    otherlv_18=(Token)match(input,61,FollowSets000.FOLLOW_61_in_synpred158_InternalOCLinEcore6811); if (state.failed) return ;
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2962:1: ( ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )? )?
+        	    int alt329=2;
+        	    int LA329_0 = input.LA(1);
+
+        	    if ( (LA329_0==28||LA329_0==64) ) {
+        	        alt329=1;
+        	    }
+        	    switch (alt329) {
+        	        case 1 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2962:2: ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' ) (otherlv_21= ',' )?
+        	            {
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2962:2: ( ( (lv_isDerived_19_0= 'derived' ) ) | otherlv_20= '!derived' )
+        	            int alt327=2;
+        	            int LA327_0 = input.LA(1);
+
+        	            if ( (LA327_0==28) ) {
+        	                alt327=1;
+        	            }
+        	            else if ( (LA327_0==64) ) {
+        	                alt327=2;
+        	            }
+        	            else {
+        	                if (state.backtracking>0) {state.failed=true; return ;}
+        	                NoViableAltException nvae =
+        	                    new NoViableAltException("", 327, 0, input);
+
+        	                throw nvae;
+        	            }
+        	            switch (alt327) {
+        	                case 1 :
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2962:3: ( (lv_isDerived_19_0= 'derived' ) )
+        	                    {
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2962:3: ( (lv_isDerived_19_0= 'derived' ) )
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2963:1: (lv_isDerived_19_0= 'derived' )
+        	                    {
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2963:1: (lv_isDerived_19_0= 'derived' )
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2964:3: lv_isDerived_19_0= 'derived'
+        	                    {
+        	                    lv_isDerived_19_0=(Token)match(input,28,FollowSets000.FOLLOW_28_in_synpred158_InternalOCLinEcore6831); if (state.failed) return ;
+
+        	                    }
+
+
+        	                    }
+
+
+        	                    }
+        	                    break;
+        	                case 2 :
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2978:7: otherlv_20= '!derived'
+        	                    {
+        	                    otherlv_20=(Token)match(input,64,FollowSets000.FOLLOW_64_in_synpred158_InternalOCLinEcore6862); if (state.failed) return ;
+
+        	                    }
+        	                    break;
+
+        	            }
+
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2982:2: (otherlv_21= ',' )?
+        	            int alt328=2;
+        	            int LA328_0 = input.LA(1);
+
+        	            if ( (LA328_0==60) ) {
+        	                alt328=1;
+        	            }
+        	            switch (alt328) {
+        	                case 1 :
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2982:4: otherlv_21= ','
+        	                    {
+        	                    otherlv_21=(Token)match(input,60,FollowSets000.FOLLOW_60_in_synpred158_InternalOCLinEcore6876); if (state.failed) return ;
+
+        	                    }
+        	                    break;
+
+        	            }
+
+
+        	            }
+        	            break;
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+        	    break;
+        	case 2 :
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2993:4: ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? ) ) ) )
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2993:4: ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? ) ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2994:5: {...}? => ( ({...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? ) ) )
+        	    {
+        	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 1) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred158_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 1)");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2994:108: ( ({...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2995:6: ({...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? ) )
+        	    {
+        	    getUnorderedGroupHelper().select(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 1);
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2998:6: ({...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2998:7: {...}? => ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? )
+        	    {
+        	    if ( !((true)) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred158_InternalOCLinEcore", "true");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2998:16: ( ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )? )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2998:17: ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' ) (otherlv_24= ',' )?
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2998:17: ( ( (lv_isOrdered_22_0= 'ordered' ) ) | otherlv_23= '!ordered' )
+        	    int alt330=2;
+        	    int LA330_0 = input.LA(1);
+
+        	    if ( (LA330_0==38) ) {
+        	        alt330=1;
+        	    }
+        	    else if ( (LA330_0==66) ) {
+        	        alt330=2;
+        	    }
+        	    else {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        NoViableAltException nvae =
+        	            new NoViableAltException("", 330, 0, input);
+
+        	        throw nvae;
+        	    }
+        	    switch (alt330) {
+        	        case 1 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2998:18: ( (lv_isOrdered_22_0= 'ordered' ) )
+        	            {
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2998:18: ( (lv_isOrdered_22_0= 'ordered' ) )
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2999:1: (lv_isOrdered_22_0= 'ordered' )
+        	            {
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2999:1: (lv_isOrdered_22_0= 'ordered' )
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3000:3: lv_isOrdered_22_0= 'ordered'
+        	            {
+        	            lv_isOrdered_22_0=(Token)match(input,38,FollowSets000.FOLLOW_38_in_synpred158_InternalOCLinEcore6955); if (state.failed) return ;
+
+        	            }
+
+
+        	            }
+
+
+        	            }
+        	            break;
+        	        case 2 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3014:7: otherlv_23= '!ordered'
+        	            {
+        	            otherlv_23=(Token)match(input,66,FollowSets000.FOLLOW_66_in_synpred158_InternalOCLinEcore6986); if (state.failed) return ;
+
+        	            }
+        	            break;
+
+        	    }
+
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3018:2: (otherlv_24= ',' )?
+        	    int alt331=2;
+        	    int LA331_0 = input.LA(1);
+
+        	    if ( (LA331_0==60) ) {
+        	        alt331=1;
+        	    }
+        	    switch (alt331) {
+        	        case 1 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3018:4: otherlv_24= ','
+        	            {
+        	            otherlv_24=(Token)match(input,60,FollowSets000.FOLLOW_60_in_synpred158_InternalOCLinEcore7000); if (state.failed) return ;
+
+        	            }
+        	            break;
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+        	    break;
+        	case 3 :
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3029:4: ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' ) ) ) )
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3029:4: ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' ) ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3030:5: {...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' ) ) )
+        	    {
+        	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 2) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred158_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 2)");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3030:108: ( ({...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3031:6: ({...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' ) )
+        	    {
+        	    getUnorderedGroupHelper().select(grammarAccess.getOperationCSAccess().getUnorderedGroup_9(), 2);
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3034:6: ({...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3034:7: {...}? => ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' )
+        	    {
+        	    if ( !((true)) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred158_InternalOCLinEcore", "true");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3034:16: ( ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}' )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3034:17: ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )? otherlv_28= '}'
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3034:17: ( ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )? )?
+        	    int alt334=2;
+        	    int LA334_0 = input.LA(1);
+
+        	    if ( (LA334_0==51||LA334_0==69) ) {
+        	        alt334=1;
+        	    }
+        	    switch (alt334) {
+        	        case 1 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3034:18: ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' ) (otherlv_27= ',' )?
+        	            {
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3034:18: ( ( (lv_isNotUnique_25_0= '!unique' ) ) | otherlv_26= 'unique' )
+        	            int alt332=2;
+        	            int LA332_0 = input.LA(1);
+
+        	            if ( (LA332_0==69) ) {
+        	                alt332=1;
+        	            }
+        	            else if ( (LA332_0==51) ) {
+        	                alt332=2;
+        	            }
+        	            else {
+        	                if (state.backtracking>0) {state.failed=true; return ;}
+        	                NoViableAltException nvae =
+        	                    new NoViableAltException("", 332, 0, input);
+
+        	                throw nvae;
+        	            }
+        	            switch (alt332) {
+        	                case 1 :
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3034:19: ( (lv_isNotUnique_25_0= '!unique' ) )
+        	                    {
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3034:19: ( (lv_isNotUnique_25_0= '!unique' ) )
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3035:1: (lv_isNotUnique_25_0= '!unique' )
+        	                    {
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3035:1: (lv_isNotUnique_25_0= '!unique' )
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3036:3: lv_isNotUnique_25_0= '!unique'
+        	                    {
+        	                    lv_isNotUnique_25_0=(Token)match(input,69,FollowSets000.FOLLOW_69_in_synpred158_InternalOCLinEcore7078); if (state.failed) return ;
+
+        	                    }
+
+
+        	                    }
+
+
+        	                    }
+        	                    break;
+        	                case 2 :
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3050:7: otherlv_26= 'unique'
+        	                    {
+        	                    otherlv_26=(Token)match(input,51,FollowSets000.FOLLOW_51_in_synpred158_InternalOCLinEcore7109); if (state.failed) return ;
+
+        	                    }
+        	                    break;
+
+        	            }
+
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3054:2: (otherlv_27= ',' )?
+        	            int alt333=2;
+        	            int LA333_0 = input.LA(1);
+
+        	            if ( (LA333_0==60) ) {
+        	                alt333=1;
+        	            }
+        	            switch (alt333) {
+        	                case 1 :
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3054:4: otherlv_27= ','
+        	                    {
+        	                    otherlv_27=(Token)match(input,60,FollowSets000.FOLLOW_60_in_synpred158_InternalOCLinEcore7123); if (state.failed) return ;
+
+        	                    }
+        	                    break;
+
+        	            }
+
+
+        	            }
+        	            break;
+
+        	    }
+
+        	    otherlv_28=(Token)match(input,62,FollowSets000.FOLLOW_62_in_synpred158_InternalOCLinEcore7139); if (state.failed) return ;
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+        	    break;
+
+        	default :
+        	    if ( cnt335 >= 1 ) break loop335;
+        	    if (state.backtracking>0) {state.failed=true; return ;}
+                    EarlyExitException eee =
+                        new EarlyExitException(335, input);
+                    throw eee;
+            }
+            cnt335++;
+        } while (true);
+
+        if ( ! getUnorderedGroupHelper().canLeave(grammarAccess.getOperationCSAccess().getUnorderedGroup_9()) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred158_InternalOCLinEcore", "getUnorderedGroupHelper().canLeave(grammarAccess.getOperationCSAccess().getUnorderedGroup_9())");
+        }
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred158_InternalOCLinEcore
+
+    // $ANTLR start synpred174_InternalOCLinEcore
+    public final void synpred174_InternalOCLinEcore_fragment() throws RecognitionException {   
+        Token otherlv_7=null;
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3457:4: (otherlv_7= ',' )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3457:4: otherlv_7= ','
+        {
+        otherlv_7=(Token)match(input,60,FollowSets000.FOLLOW_60_in_synpred174_InternalOCLinEcore7963); if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred174_InternalOCLinEcore
+
+    // $ANTLR start synpred176_InternalOCLinEcore
+    public final void synpred176_InternalOCLinEcore_fragment() throws RecognitionException {   
+        Token otherlv_4=null;
+        Token lv_isOrdered_5_0=null;
+        Token otherlv_6=null;
+        Token otherlv_7=null;
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3428:4: ( ({...}? => ( ({...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3428:4: ({...}? => ( ({...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3428:4: ({...}? => ( ({...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3429:5: {...}? => ( ({...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred176_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3429:108: ( ({...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3430:6: ({...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3433:6: ({...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3433:7: {...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? )
+        {
+        if ( !((true)) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred176_InternalOCLinEcore", "true");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3433:16: (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3433:18: otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )?
+        {
+        otherlv_4=(Token)match(input,61,FollowSets000.FOLLOW_61_in_synpred176_InternalOCLinEcore7898); if (state.failed) return ;
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3437:1: ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )?
+        int alt346=2;
+        int LA346_0 = input.LA(1);
+
+        if ( (LA346_0==38||LA346_0==66) ) {
+            alt346=1;
+        }
+        switch (alt346) {
+            case 1 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3437:2: ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )?
+                {
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3437:2: ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' )
+                int alt344=2;
+                int LA344_0 = input.LA(1);
+
+                if ( (LA344_0==38) ) {
+                    alt344=1;
+                }
+                else if ( (LA344_0==66) ) {
+                    alt344=2;
+                }
+                else {
+                    if (state.backtracking>0) {state.failed=true; return ;}
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 344, 0, input);
+
+                    throw nvae;
+                }
+                switch (alt344) {
+                    case 1 :
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3437:3: ( (lv_isOrdered_5_0= 'ordered' ) )
+                        {
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3437:3: ( (lv_isOrdered_5_0= 'ordered' ) )
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3438:1: (lv_isOrdered_5_0= 'ordered' )
+                        {
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3438:1: (lv_isOrdered_5_0= 'ordered' )
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3439:3: lv_isOrdered_5_0= 'ordered'
+                        {
+                        lv_isOrdered_5_0=(Token)match(input,38,FollowSets000.FOLLOW_38_in_synpred176_InternalOCLinEcore7918); if (state.failed) return ;
+
+                        }
+
+
+                        }
+
+
+                        }
+                        break;
+                    case 2 :
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3453:7: otherlv_6= '!ordered'
+                        {
+                        otherlv_6=(Token)match(input,66,FollowSets000.FOLLOW_66_in_synpred176_InternalOCLinEcore7949); if (state.failed) return ;
+
+                        }
+                        break;
+
+                }
+
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3457:2: (otherlv_7= ',' )?
+                int alt345=2;
+                int LA345_0 = input.LA(1);
+
+                if ( (LA345_0==60) ) {
+                    alt345=1;
+                }
+                switch (alt345) {
+                    case 1 :
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3457:4: otherlv_7= ','
+                        {
+                        otherlv_7=(Token)match(input,60,FollowSets000.FOLLOW_60_in_synpred176_InternalOCLinEcore7963); if (state.failed) return ;
+
+                        }
+                        break;
+
+                }
+
+
+                }
+                break;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred176_InternalOCLinEcore
+
+    // $ANTLR start synpred180_InternalOCLinEcore
+    public final void synpred180_InternalOCLinEcore_fragment() throws RecognitionException {   
+        Token lv_isNotUnique_8_0=null;
+        Token otherlv_9=null;
+        Token otherlv_10=null;
+        Token otherlv_11=null;
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3468:4: ( ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3468:4: ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3468:4: ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3469:5: {...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 1) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred180_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 1)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3469:108: ( ({...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3470:6: ({...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 1);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3473:6: ({...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3473:7: {...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' )
+        {
+        if ( !((true)) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred180_InternalOCLinEcore", "true");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3473:16: ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3473:17: ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}'
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3473:17: ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )?
+        int alt351=2;
+        int LA351_0 = input.LA(1);
+
+        if ( (LA351_0==51||LA351_0==69) ) {
+            alt351=1;
+        }
+        switch (alt351) {
+            case 1 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3473:18: ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )?
+                {
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3473:18: ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' )
+                int alt349=2;
+                int LA349_0 = input.LA(1);
+
+                if ( (LA349_0==69) ) {
+                    alt349=1;
+                }
+                else if ( (LA349_0==51) ) {
+                    alt349=2;
+                }
+                else {
+                    if (state.backtracking>0) {state.failed=true; return ;}
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 349, 0, input);
+
+                    throw nvae;
+                }
+                switch (alt349) {
+                    case 1 :
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3473:19: ( (lv_isNotUnique_8_0= '!unique' ) )
+                        {
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3473:19: ( (lv_isNotUnique_8_0= '!unique' ) )
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3474:1: (lv_isNotUnique_8_0= '!unique' )
+                        {
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3474:1: (lv_isNotUnique_8_0= '!unique' )
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3475:3: lv_isNotUnique_8_0= '!unique'
+                        {
+                        lv_isNotUnique_8_0=(Token)match(input,69,FollowSets000.FOLLOW_69_in_synpred180_InternalOCLinEcore8043); if (state.failed) return ;
+
+                        }
+
+
+                        }
+
+
+                        }
+                        break;
+                    case 2 :
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3489:7: otherlv_9= 'unique'
+                        {
+                        otherlv_9=(Token)match(input,51,FollowSets000.FOLLOW_51_in_synpred180_InternalOCLinEcore8074); if (state.failed) return ;
+
+                        }
+                        break;
+
+                }
+
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3493:2: (otherlv_10= ',' )?
+                int alt350=2;
+                int LA350_0 = input.LA(1);
+
+                if ( (LA350_0==60) ) {
+                    alt350=1;
+                }
+                switch (alt350) {
+                    case 1 :
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3493:4: otherlv_10= ','
+                        {
+                        otherlv_10=(Token)match(input,60,FollowSets000.FOLLOW_60_in_synpred180_InternalOCLinEcore8088); if (state.failed) return ;
+
+                        }
+                        break;
+
+                }
+
+
+                }
+                break;
+
+        }
+
+        otherlv_11=(Token)match(input,62,FollowSets000.FOLLOW_62_in_synpred180_InternalOCLinEcore8104); if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred180_InternalOCLinEcore
+
+    // $ANTLR start synpred181_InternalOCLinEcore
+    public final void synpred181_InternalOCLinEcore_fragment() throws RecognitionException {   
+        Token otherlv_4=null;
+        Token lv_isOrdered_5_0=null;
+        Token otherlv_6=null;
+        Token otherlv_7=null;
+        Token lv_isNotUnique_8_0=null;
+        Token otherlv_9=null;
+        Token otherlv_10=null;
+        Token otherlv_11=null;
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3421:1: ( ( ( ( ({...}? => ( ({...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' ) ) ) ) )+ {...}?) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3421:1: ( ( ( ({...}? => ( ({...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' ) ) ) ) )+ {...}?) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3421:1: ( ( ( ({...}? => ( ({...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' ) ) ) ) )+ {...}?) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3422:2: ( ( ({...}? => ( ({...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' ) ) ) ) )+ {...}?)
+        {
+        getUnorderedGroupHelper().enter(grammarAccess.getParameterCSAccess().getUnorderedGroup_2());
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3425:2: ( ( ({...}? => ( ({...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' ) ) ) ) )+ {...}?)
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3426:3: ( ({...}? => ( ({...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' ) ) ) ) )+ {...}?
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3426:3: ( ({...}? => ( ({...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' ) ) ) ) )+
+        int cnt358=0;
+        loop358:
+        do {
+            int alt358=3;
+            int LA358_0 = input.LA(1);
+
+            if ( LA358_0 ==61 && getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0) ) {
+                alt358=1;
+            }
+            else if ( LA358_0 ==69 && getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 1) ) {
+                alt358=2;
+            }
+            else if ( LA358_0 ==51 && getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 1) ) {
+                alt358=2;
+            }
+            else if ( LA358_0 ==62 && getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 1) ) {
+                alt358=2;
+            }
+
+
+            switch (alt358) {
+        	case 1 :
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3428:4: ({...}? => ( ({...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? ) ) ) )
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3428:4: ({...}? => ( ({...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? ) ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3429:5: {...}? => ( ({...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? ) ) )
+        	    {
+        	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred181_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0)");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3429:108: ( ({...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3430:6: ({...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? ) )
+        	    {
+        	    getUnorderedGroupHelper().select(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0);
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3433:6: ({...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3433:7: {...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? )
+        	    {
+        	    if ( !((true)) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred181_InternalOCLinEcore", "true");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3433:16: (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3433:18: otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )?
+        	    {
+        	    otherlv_4=(Token)match(input,61,FollowSets000.FOLLOW_61_in_synpred181_InternalOCLinEcore7898); if (state.failed) return ;
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3437:1: ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )?
+        	    int alt354=2;
+        	    int LA354_0 = input.LA(1);
+
+        	    if ( (LA354_0==38||LA354_0==66) ) {
+        	        alt354=1;
+        	    }
+        	    switch (alt354) {
+        	        case 1 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3437:2: ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )?
+        	            {
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3437:2: ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' )
+        	            int alt352=2;
+        	            int LA352_0 = input.LA(1);
+
+        	            if ( (LA352_0==38) ) {
+        	                alt352=1;
+        	            }
+        	            else if ( (LA352_0==66) ) {
+        	                alt352=2;
+        	            }
+        	            else {
+        	                if (state.backtracking>0) {state.failed=true; return ;}
+        	                NoViableAltException nvae =
+        	                    new NoViableAltException("", 352, 0, input);
+
+        	                throw nvae;
+        	            }
+        	            switch (alt352) {
+        	                case 1 :
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3437:3: ( (lv_isOrdered_5_0= 'ordered' ) )
+        	                    {
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3437:3: ( (lv_isOrdered_5_0= 'ordered' ) )
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3438:1: (lv_isOrdered_5_0= 'ordered' )
+        	                    {
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3438:1: (lv_isOrdered_5_0= 'ordered' )
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3439:3: lv_isOrdered_5_0= 'ordered'
+        	                    {
+        	                    lv_isOrdered_5_0=(Token)match(input,38,FollowSets000.FOLLOW_38_in_synpred181_InternalOCLinEcore7918); if (state.failed) return ;
+
+        	                    }
+
+
+        	                    }
+
+
+        	                    }
+        	                    break;
+        	                case 2 :
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3453:7: otherlv_6= '!ordered'
+        	                    {
+        	                    otherlv_6=(Token)match(input,66,FollowSets000.FOLLOW_66_in_synpred181_InternalOCLinEcore7949); if (state.failed) return ;
+
+        	                    }
+        	                    break;
+
+        	            }
+
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3457:2: (otherlv_7= ',' )?
+        	            int alt353=2;
+        	            int LA353_0 = input.LA(1);
+
+        	            if ( (LA353_0==60) ) {
+        	                alt353=1;
+        	            }
+        	            switch (alt353) {
+        	                case 1 :
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3457:4: otherlv_7= ','
+        	                    {
+        	                    otherlv_7=(Token)match(input,60,FollowSets000.FOLLOW_60_in_synpred181_InternalOCLinEcore7963); if (state.failed) return ;
+
+        	                    }
+        	                    break;
+
+        	            }
+
+
+        	            }
+        	            break;
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+        	    break;
+        	case 2 :
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3468:4: ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' ) ) ) )
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3468:4: ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' ) ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3469:5: {...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' ) ) )
+        	    {
+        	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 1) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred181_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 1)");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3469:108: ( ({...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3470:6: ({...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' ) )
+        	    {
+        	    getUnorderedGroupHelper().select(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 1);
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3473:6: ({...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3473:7: {...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' )
+        	    {
+        	    if ( !((true)) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred181_InternalOCLinEcore", "true");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3473:16: ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3473:17: ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}'
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3473:17: ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )?
+        	    int alt357=2;
+        	    int LA357_0 = input.LA(1);
+
+        	    if ( (LA357_0==51||LA357_0==69) ) {
+        	        alt357=1;
+        	    }
+        	    switch (alt357) {
+        	        case 1 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3473:18: ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )?
+        	            {
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3473:18: ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' )
+        	            int alt355=2;
+        	            int LA355_0 = input.LA(1);
+
+        	            if ( (LA355_0==69) ) {
+        	                alt355=1;
+        	            }
+        	            else if ( (LA355_0==51) ) {
+        	                alt355=2;
+        	            }
+        	            else {
+        	                if (state.backtracking>0) {state.failed=true; return ;}
+        	                NoViableAltException nvae =
+        	                    new NoViableAltException("", 355, 0, input);
+
+        	                throw nvae;
+        	            }
+        	            switch (alt355) {
+        	                case 1 :
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3473:19: ( (lv_isNotUnique_8_0= '!unique' ) )
+        	                    {
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3473:19: ( (lv_isNotUnique_8_0= '!unique' ) )
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3474:1: (lv_isNotUnique_8_0= '!unique' )
+        	                    {
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3474:1: (lv_isNotUnique_8_0= '!unique' )
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3475:3: lv_isNotUnique_8_0= '!unique'
+        	                    {
+        	                    lv_isNotUnique_8_0=(Token)match(input,69,FollowSets000.FOLLOW_69_in_synpred181_InternalOCLinEcore8043); if (state.failed) return ;
+
+        	                    }
+
+
+        	                    }
+
+
+        	                    }
+        	                    break;
+        	                case 2 :
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3489:7: otherlv_9= 'unique'
+        	                    {
+        	                    otherlv_9=(Token)match(input,51,FollowSets000.FOLLOW_51_in_synpred181_InternalOCLinEcore8074); if (state.failed) return ;
+
+        	                    }
+        	                    break;
+
+        	            }
+
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3493:2: (otherlv_10= ',' )?
+        	            int alt356=2;
+        	            int LA356_0 = input.LA(1);
+
+        	            if ( (LA356_0==60) ) {
+        	                alt356=1;
+        	            }
+        	            switch (alt356) {
+        	                case 1 :
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3493:4: otherlv_10= ','
+        	                    {
+        	                    otherlv_10=(Token)match(input,60,FollowSets000.FOLLOW_60_in_synpred181_InternalOCLinEcore8088); if (state.failed) return ;
+
+        	                    }
+        	                    break;
+
+        	            }
+
+
+        	            }
+        	            break;
+
+        	    }
+
+        	    otherlv_11=(Token)match(input,62,FollowSets000.FOLLOW_62_in_synpred181_InternalOCLinEcore8104); if (state.failed) return ;
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+        	    break;
+
+        	default :
+        	    if ( cnt358 >= 1 ) break loop358;
+        	    if (state.backtracking>0) {state.failed=true; return ;}
+                    EarlyExitException eee =
+                        new EarlyExitException(358, input);
+                    throw eee;
+            }
+            cnt358++;
+        } while (true);
+
+        if ( ! getUnorderedGroupHelper().canLeave(grammarAccess.getParameterCSAccess().getUnorderedGroup_2()) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred181_InternalOCLinEcore", "getUnorderedGroupHelper().canLeave(grammarAccess.getParameterCSAccess().getUnorderedGroup_2())");
+        }
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred181_InternalOCLinEcore
+
+    // $ANTLR start synpred184_InternalOCLinEcore
+    public final void synpred184_InternalOCLinEcore_fragment() throws RecognitionException {   
+        Token lv_isStatic_1_0=null;
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3588:4: ( ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3588:4: ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3588:4: ({...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3589:5: {...}? => ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 0) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred184_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 0)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3589:108: ( ({...}? => ( (lv_isStatic_1_0= 'static' ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3590:6: ({...}? => ( (lv_isStatic_1_0= 'static' ) ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 0);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3593:6: ({...}? => ( (lv_isStatic_1_0= 'static' ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3593:7: {...}? => ( (lv_isStatic_1_0= 'static' ) )
+        {
+        if ( !((true)) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred184_InternalOCLinEcore", "true");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3593:16: ( (lv_isStatic_1_0= 'static' ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3594:1: (lv_isStatic_1_0= 'static' )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3594:1: (lv_isStatic_1_0= 'static' )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3595:3: lv_isStatic_1_0= 'static'
+        {
+        lv_isStatic_1_0=(Token)match(input,47,FollowSets000.FOLLOW_47_in_synpred184_InternalOCLinEcore8349); if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred184_InternalOCLinEcore
+
+    // $ANTLR start synpred185_InternalOCLinEcore
+    public final void synpred185_InternalOCLinEcore_fragment() throws RecognitionException {   
+        Token lv_isDefinition_2_0=null;
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3615:4: ( ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3615:4: ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3615:4: ({...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3616:5: {...}? => ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 1) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred185_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 1)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3616:108: ( ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3617:6: ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_0(), 1);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3620:6: ({...}? => ( (lv_isDefinition_2_0= 'definition' ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3620:7: {...}? => ( (lv_isDefinition_2_0= 'definition' ) )
+        {
+        if ( !((true)) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred185_InternalOCLinEcore", "true");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3620:16: ( (lv_isDefinition_2_0= 'definition' ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3621:1: (lv_isDefinition_2_0= 'definition' )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3621:1: (lv_isDefinition_2_0= 'definition' )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3622:3: lv_isDefinition_2_0= 'definition'
+        {
+        lv_isDefinition_2_0=(Token)match(input,26,FollowSets000.FOLLOW_26_in_synpred185_InternalOCLinEcore8434); if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred185_InternalOCLinEcore
+
+    // $ANTLR start synpred192_InternalOCLinEcore
+    public final void synpred192_InternalOCLinEcore_fragment() throws RecognitionException {   
+        Token otherlv_12=null;
+        Token lv_isComposes_13_0=null;
+        Token otherlv_14=null;
+        Token otherlv_15=null;
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3746:4: ( ({...}? => ( ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3746:4: ({...}? => ( ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3746:4: ({...}? => ( ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3747:5: {...}? => ( ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred192_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3747:108: ( ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3748:6: ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3751:6: ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3751:7: {...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? )
+        {
+        if ( !((true)) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred192_InternalOCLinEcore", "true");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3751:16: (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3751:18: otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )?
+        {
+        otherlv_12=(Token)match(input,61,FollowSets000.FOLLOW_61_in_synpred192_InternalOCLinEcore8693); if (state.failed) return ;
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3755:1: ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )?
+        int alt364=2;
+        int LA364_0 = input.LA(1);
+
+        if ( (LA364_0==24||LA364_0==78) ) {
+            alt364=1;
+        }
+        switch (alt364) {
+            case 1 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3755:2: ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )?
+                {
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3755:2: ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' )
+                int alt362=2;
+                int LA362_0 = input.LA(1);
+
+                if ( (LA362_0==24) ) {
+                    alt362=1;
+                }
+                else if ( (LA362_0==78) ) {
+                    alt362=2;
+                }
+                else {
+                    if (state.backtracking>0) {state.failed=true; return ;}
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 362, 0, input);
+
+                    throw nvae;
+                }
+                switch (alt362) {
+                    case 1 :
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3755:3: ( (lv_isComposes_13_0= 'composes' ) )
+                        {
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3755:3: ( (lv_isComposes_13_0= 'composes' ) )
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3756:1: (lv_isComposes_13_0= 'composes' )
+                        {
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3756:1: (lv_isComposes_13_0= 'composes' )
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3757:3: lv_isComposes_13_0= 'composes'
+                        {
+                        lv_isComposes_13_0=(Token)match(input,24,FollowSets000.FOLLOW_24_in_synpred192_InternalOCLinEcore8713); if (state.failed) return ;
+
+                        }
+
+
+                        }
+
+
+                        }
+                        break;
+                    case 2 :
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3771:7: otherlv_14= '!composes'
+                        {
+                        otherlv_14=(Token)match(input,78,FollowSets000.FOLLOW_78_in_synpred192_InternalOCLinEcore8744); if (state.failed) return ;
+
+                        }
+                        break;
+
+                }
+
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3775:2: (otherlv_15= ',' )?
+                int alt363=2;
+                int LA363_0 = input.LA(1);
+
+                if ( (LA363_0==60) ) {
+                    alt363=1;
+                }
+                switch (alt363) {
+                    case 1 :
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3775:4: otherlv_15= ','
+                        {
+                        otherlv_15=(Token)match(input,60,FollowSets000.FOLLOW_60_in_synpred192_InternalOCLinEcore8758); if (state.failed) return ;
+
+                        }
+                        break;
+
+                }
+
+
+                }
+                break;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred192_InternalOCLinEcore
+
+    // $ANTLR start synpred195_InternalOCLinEcore
+    public final void synpred195_InternalOCLinEcore_fragment() throws RecognitionException {   
+        Token lv_isDerived_16_0=null;
+        Token otherlv_17=null;
+        Token otherlv_18=null;
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3786:4: ( ({...}? => ( ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3786:4: ({...}? => ( ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3786:4: ({...}? => ( ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3787:5: {...}? => ( ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred195_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3787:108: ( ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3788:6: ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3791:6: ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3791:7: {...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? )
+        {
+        if ( !((true)) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred195_InternalOCLinEcore", "true");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3791:16: ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3791:17: ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )?
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3791:17: ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' )
+        int alt365=2;
+        int LA365_0 = input.LA(1);
+
+        if ( (LA365_0==28) ) {
+            alt365=1;
+        }
+        else if ( (LA365_0==64) ) {
+            alt365=2;
+        }
+        else {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            NoViableAltException nvae =
+                new NoViableAltException("", 365, 0, input);
+
+            throw nvae;
+        }
+        switch (alt365) {
+            case 1 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3791:18: ( (lv_isDerived_16_0= 'derived' ) )
+                {
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3791:18: ( (lv_isDerived_16_0= 'derived' ) )
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3792:1: (lv_isDerived_16_0= 'derived' )
+                {
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3792:1: (lv_isDerived_16_0= 'derived' )
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3793:3: lv_isDerived_16_0= 'derived'
+                {
+                lv_isDerived_16_0=(Token)match(input,28,FollowSets000.FOLLOW_28_in_synpred195_InternalOCLinEcore8837); if (state.failed) return ;
+
+                }
+
+
+                }
+
+
+                }
+                break;
+            case 2 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3807:7: otherlv_17= '!derived'
+                {
+                otherlv_17=(Token)match(input,64,FollowSets000.FOLLOW_64_in_synpred195_InternalOCLinEcore8868); if (state.failed) return ;
+
+                }
+                break;
+
+        }
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3811:2: (otherlv_18= ',' )?
+        int alt366=2;
+        int LA366_0 = input.LA(1);
+
+        if ( (LA366_0==60) ) {
+            alt366=1;
+        }
+        switch (alt366) {
+            case 1 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3811:4: otherlv_18= ','
+                {
+                otherlv_18=(Token)match(input,60,FollowSets000.FOLLOW_60_in_synpred195_InternalOCLinEcore8882); if (state.failed) return ;
+
+                }
+                break;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred195_InternalOCLinEcore
+
+    // $ANTLR start synpred198_InternalOCLinEcore
+    public final void synpred198_InternalOCLinEcore_fragment() throws RecognitionException {   
+        Token lv_isOrdered_19_0=null;
+        Token otherlv_20=null;
+        Token otherlv_21=null;
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3822:4: ( ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3822:4: ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3822:4: ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3823:5: {...}? => ( ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred198_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3823:108: ( ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3824:6: ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3827:6: ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3827:7: {...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? )
+        {
+        if ( !((true)) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred198_InternalOCLinEcore", "true");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3827:16: ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3827:17: ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )?
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3827:17: ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' )
+        int alt367=2;
+        int LA367_0 = input.LA(1);
+
+        if ( (LA367_0==38) ) {
+            alt367=1;
+        }
+        else if ( (LA367_0==66) ) {
+            alt367=2;
+        }
+        else {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            NoViableAltException nvae =
+                new NoViableAltException("", 367, 0, input);
+
+            throw nvae;
+        }
+        switch (alt367) {
+            case 1 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3827:18: ( (lv_isOrdered_19_0= 'ordered' ) )
+                {
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3827:18: ( (lv_isOrdered_19_0= 'ordered' ) )
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3828:1: (lv_isOrdered_19_0= 'ordered' )
+                {
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3828:1: (lv_isOrdered_19_0= 'ordered' )
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3829:3: lv_isOrdered_19_0= 'ordered'
+                {
+                lv_isOrdered_19_0=(Token)match(input,38,FollowSets000.FOLLOW_38_in_synpred198_InternalOCLinEcore8959); if (state.failed) return ;
+
+                }
+
+
+                }
+
+
+                }
+                break;
+            case 2 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3843:7: otherlv_20= '!ordered'
+                {
+                otherlv_20=(Token)match(input,66,FollowSets000.FOLLOW_66_in_synpred198_InternalOCLinEcore8990); if (state.failed) return ;
+
+                }
+                break;
+
+        }
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3847:2: (otherlv_21= ',' )?
+        int alt368=2;
+        int LA368_0 = input.LA(1);
+
+        if ( (LA368_0==60) ) {
+            alt368=1;
+        }
+        switch (alt368) {
+            case 1 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3847:4: otherlv_21= ','
+                {
+                otherlv_21=(Token)match(input,60,FollowSets000.FOLLOW_60_in_synpred198_InternalOCLinEcore9004); if (state.failed) return ;
+
+                }
+                break;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred198_InternalOCLinEcore
+
+    // $ANTLR start synpred201_InternalOCLinEcore
+    public final void synpred201_InternalOCLinEcore_fragment() throws RecognitionException {   
+        Token lv_isReadonly_22_0=null;
+        Token otherlv_23=null;
+        Token otherlv_24=null;
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3858:4: ( ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3858:4: ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3858:4: ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3859:5: {...}? => ( ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred201_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3859:108: ( ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3860:6: ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3863:6: ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3863:7: {...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? )
+        {
+        if ( !((true)) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred201_InternalOCLinEcore", "true");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3863:16: ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3863:17: ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )?
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3863:17: ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' )
+        int alt369=2;
+        int LA369_0 = input.LA(1);
+
+        if ( (LA369_0==44) ) {
+            alt369=1;
+        }
+        else if ( (LA369_0==67) ) {
+            alt369=2;
+        }
+        else {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            NoViableAltException nvae =
+                new NoViableAltException("", 369, 0, input);
+
+            throw nvae;
+        }
+        switch (alt369) {
+            case 1 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3863:18: ( (lv_isReadonly_22_0= 'readonly' ) )
+                {
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3863:18: ( (lv_isReadonly_22_0= 'readonly' ) )
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3864:1: (lv_isReadonly_22_0= 'readonly' )
+                {
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3864:1: (lv_isReadonly_22_0= 'readonly' )
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3865:3: lv_isReadonly_22_0= 'readonly'
+                {
+                lv_isReadonly_22_0=(Token)match(input,44,FollowSets000.FOLLOW_44_in_synpred201_InternalOCLinEcore9081); if (state.failed) return ;
+
+                }
+
+
+                }
+
+
+                }
+                break;
+            case 2 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3879:7: otherlv_23= '!readonly'
+                {
+                otherlv_23=(Token)match(input,67,FollowSets000.FOLLOW_67_in_synpred201_InternalOCLinEcore9112); if (state.failed) return ;
+
+                }
+                break;
+
+        }
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3883:2: (otherlv_24= ',' )?
+        int alt370=2;
+        int LA370_0 = input.LA(1);
+
+        if ( (LA370_0==60) ) {
+            alt370=1;
+        }
+        switch (alt370) {
+            case 1 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3883:4: otherlv_24= ','
+                {
+                otherlv_24=(Token)match(input,60,FollowSets000.FOLLOW_60_in_synpred201_InternalOCLinEcore9126); if (state.failed) return ;
+
+                }
+                break;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred201_InternalOCLinEcore
+
+    // $ANTLR start synpred204_InternalOCLinEcore
+    public final void synpred204_InternalOCLinEcore_fragment() throws RecognitionException {   
+        Token lv_isResolve_25_0=null;
+        Token otherlv_26=null;
+        Token otherlv_27=null;
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3894:4: ( ({...}? => ( ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3894:4: ({...}? => ( ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3894:4: ({...}? => ( ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3895:5: {...}? => ( ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred204_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3895:108: ( ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3896:6: ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3899:6: ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3899:7: {...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? )
+        {
+        if ( !((true)) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred204_InternalOCLinEcore", "true");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3899:16: ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3899:17: ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )?
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3899:17: ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' )
+        int alt371=2;
+        int LA371_0 = input.LA(1);
+
+        if ( (LA371_0==46) ) {
+            alt371=1;
+        }
+        else if ( (LA371_0==79) ) {
+            alt371=2;
+        }
+        else {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            NoViableAltException nvae =
+                new NoViableAltException("", 371, 0, input);
+
+            throw nvae;
+        }
+        switch (alt371) {
+            case 1 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3899:18: ( (lv_isResolve_25_0= 'resolve' ) )
+                {
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3899:18: ( (lv_isResolve_25_0= 'resolve' ) )
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3900:1: (lv_isResolve_25_0= 'resolve' )
+                {
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3900:1: (lv_isResolve_25_0= 'resolve' )
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3901:3: lv_isResolve_25_0= 'resolve'
+                {
+                lv_isResolve_25_0=(Token)match(input,46,FollowSets000.FOLLOW_46_in_synpred204_InternalOCLinEcore9203); if (state.failed) return ;
+
+                }
+
+
+                }
+
+
+                }
+                break;
+            case 2 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3915:7: otherlv_26= '!resolve'
+                {
+                otherlv_26=(Token)match(input,79,FollowSets000.FOLLOW_79_in_synpred204_InternalOCLinEcore9234); if (state.failed) return ;
+
+                }
+                break;
+
+        }
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3919:2: (otherlv_27= ',' )?
+        int alt372=2;
+        int LA372_0 = input.LA(1);
+
+        if ( (LA372_0==60) ) {
+            alt372=1;
+        }
+        switch (alt372) {
+            case 1 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3919:4: otherlv_27= ','
+                {
+                otherlv_27=(Token)match(input,60,FollowSets000.FOLLOW_60_in_synpred204_InternalOCLinEcore9248); if (state.failed) return ;
+
+                }
+                break;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred204_InternalOCLinEcore
+
+    // $ANTLR start synpred207_InternalOCLinEcore
+    public final void synpred207_InternalOCLinEcore_fragment() throws RecognitionException {   
+        Token lv_isTransient_28_0=null;
+        Token otherlv_29=null;
+        Token otherlv_30=null;
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3930:4: ( ({...}? => ( ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3930:4: ({...}? => ( ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3930:4: ({...}? => ( ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3931:5: {...}? => ( ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred207_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3931:108: ( ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3932:6: ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3935:6: ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3935:7: {...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? )
+        {
+        if ( !((true)) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred207_InternalOCLinEcore", "true");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3935:16: ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3935:17: ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )?
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3935:17: ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' )
+        int alt373=2;
+        int LA373_0 = input.LA(1);
+
+        if ( (LA373_0==50) ) {
+            alt373=1;
+        }
+        else if ( (LA373_0==68) ) {
+            alt373=2;
+        }
+        else {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            NoViableAltException nvae =
+                new NoViableAltException("", 373, 0, input);
+
+            throw nvae;
+        }
+        switch (alt373) {
+            case 1 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3935:18: ( (lv_isTransient_28_0= 'transient' ) )
+                {
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3935:18: ( (lv_isTransient_28_0= 'transient' ) )
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3936:1: (lv_isTransient_28_0= 'transient' )
+                {
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3936:1: (lv_isTransient_28_0= 'transient' )
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3937:3: lv_isTransient_28_0= 'transient'
+                {
+                lv_isTransient_28_0=(Token)match(input,50,FollowSets000.FOLLOW_50_in_synpred207_InternalOCLinEcore9325); if (state.failed) return ;
+
+                }
+
+
+                }
+
+
+                }
+                break;
+            case 2 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3951:7: otherlv_29= '!transient'
+                {
+                otherlv_29=(Token)match(input,68,FollowSets000.FOLLOW_68_in_synpred207_InternalOCLinEcore9356); if (state.failed) return ;
+
+                }
+                break;
+
+        }
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3955:2: (otherlv_30= ',' )?
+        int alt374=2;
+        int LA374_0 = input.LA(1);
+
+        if ( (LA374_0==60) ) {
+            alt374=1;
+        }
+        switch (alt374) {
+            case 1 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3955:4: otherlv_30= ','
+                {
+                otherlv_30=(Token)match(input,60,FollowSets000.FOLLOW_60_in_synpred207_InternalOCLinEcore9370); if (state.failed) return ;
+
+                }
+                break;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred207_InternalOCLinEcore
+
+    // $ANTLR start synpred210_InternalOCLinEcore
+    public final void synpred210_InternalOCLinEcore_fragment() throws RecognitionException {   
+        Token lv_isNotUnique_31_0=null;
+        Token otherlv_32=null;
+        Token otherlv_33=null;
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3966:4: ( ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3966:4: ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3966:4: ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3967:5: {...}? => ( ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred210_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3967:108: ( ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3968:6: ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3971:6: ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3971:7: {...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? )
+        {
+        if ( !((true)) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred210_InternalOCLinEcore", "true");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3971:16: ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3971:17: ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )?
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3971:17: ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' )
+        int alt375=2;
+        int LA375_0 = input.LA(1);
+
+        if ( (LA375_0==69) ) {
+            alt375=1;
+        }
+        else if ( (LA375_0==51) ) {
+            alt375=2;
+        }
+        else {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            NoViableAltException nvae =
+                new NoViableAltException("", 375, 0, input);
+
+            throw nvae;
+        }
+        switch (alt375) {
+            case 1 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3971:18: ( (lv_isNotUnique_31_0= '!unique' ) )
+                {
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3971:18: ( (lv_isNotUnique_31_0= '!unique' ) )
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3972:1: (lv_isNotUnique_31_0= '!unique' )
+                {
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3972:1: (lv_isNotUnique_31_0= '!unique' )
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3973:3: lv_isNotUnique_31_0= '!unique'
+                {
+                lv_isNotUnique_31_0=(Token)match(input,69,FollowSets000.FOLLOW_69_in_synpred210_InternalOCLinEcore9447); if (state.failed) return ;
+
+                }
+
+
+                }
+
+
+                }
+                break;
+            case 2 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3987:7: otherlv_32= 'unique'
+                {
+                otherlv_32=(Token)match(input,51,FollowSets000.FOLLOW_51_in_synpred210_InternalOCLinEcore9478); if (state.failed) return ;
+
+                }
+                break;
+
+        }
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3991:2: (otherlv_33= ',' )?
+        int alt376=2;
+        int LA376_0 = input.LA(1);
+
+        if ( (LA376_0==60) ) {
+            alt376=1;
+        }
+        switch (alt376) {
+            case 1 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3991:4: otherlv_33= ','
+                {
+                otherlv_33=(Token)match(input,60,FollowSets001.FOLLOW_60_in_synpred210_InternalOCLinEcore9492); if (state.failed) return ;
+
+                }
+                break;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred210_InternalOCLinEcore
+
+    // $ANTLR start synpred213_InternalOCLinEcore
+    public final void synpred213_InternalOCLinEcore_fragment() throws RecognitionException {   
+        Token lv_isUnsettable_34_0=null;
+        Token otherlv_35=null;
+        Token otherlv_36=null;
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4002:4: ( ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4002:4: ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4002:4: ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4003:5: {...}? => ( ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred213_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4003:108: ( ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4004:6: ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4007:6: ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4007:7: {...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? )
+        {
+        if ( !((true)) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred213_InternalOCLinEcore", "true");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4007:16: ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4007:17: ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )?
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4007:17: ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' )
+        int alt377=2;
+        int LA377_0 = input.LA(1);
+
+        if ( (LA377_0==52) ) {
+            alt377=1;
+        }
+        else if ( (LA377_0==70) ) {
+            alt377=2;
+        }
+        else {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            NoViableAltException nvae =
+                new NoViableAltException("", 377, 0, input);
+
+            throw nvae;
+        }
+        switch (alt377) {
+            case 1 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4007:18: ( (lv_isUnsettable_34_0= 'unsettable' ) )
+                {
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4007:18: ( (lv_isUnsettable_34_0= 'unsettable' ) )
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4008:1: (lv_isUnsettable_34_0= 'unsettable' )
+                {
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4008:1: (lv_isUnsettable_34_0= 'unsettable' )
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4009:3: lv_isUnsettable_34_0= 'unsettable'
+                {
+                lv_isUnsettable_34_0=(Token)match(input,52,FollowSets001.FOLLOW_52_in_synpred213_InternalOCLinEcore9569); if (state.failed) return ;
+
+                }
+
+
+                }
+
+
+                }
+                break;
+            case 2 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4023:7: otherlv_35= '!unsettable'
+                {
+                otherlv_35=(Token)match(input,70,FollowSets001.FOLLOW_70_in_synpred213_InternalOCLinEcore9600); if (state.failed) return ;
+
+                }
+                break;
+
+        }
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4027:2: (otherlv_36= ',' )?
+        int alt378=2;
+        int LA378_0 = input.LA(1);
+
+        if ( (LA378_0==60) ) {
+            alt378=1;
+        }
+        switch (alt378) {
+            case 1 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4027:4: otherlv_36= ','
+                {
+                otherlv_36=(Token)match(input,60,FollowSets001.FOLLOW_60_in_synpred213_InternalOCLinEcore9614); if (state.failed) return ;
+
+                }
+                break;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred213_InternalOCLinEcore
+
+    // $ANTLR start synpred217_InternalOCLinEcore
+    public final void synpred217_InternalOCLinEcore_fragment() throws RecognitionException {   
+        Token lv_isVolatile_37_0=null;
+        Token otherlv_38=null;
+        Token otherlv_39=null;
+        Token otherlv_40=null;
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4038:4: ( ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4038:4: ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) ) ) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4038:4: ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4039:5: {...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred217_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8)");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4039:108: ( ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4040:6: ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4043:6: ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4043:7: {...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' )
+        {
+        if ( !((true)) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred217_InternalOCLinEcore", "true");
+        }
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4043:16: ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4043:17: ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}'
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4043:17: ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )?
+        int alt383=2;
+        int LA383_0 = input.LA(1);
+
+        if ( (LA383_0==53||LA383_0==71) ) {
+            alt383=1;
+        }
+        switch (alt383) {
+            case 1 :
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4043:18: ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )?
+                {
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4043:18: ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' )
+                int alt381=2;
+                int LA381_0 = input.LA(1);
+
+                if ( (LA381_0==53) ) {
+                    alt381=1;
+                }
+                else if ( (LA381_0==71) ) {
+                    alt381=2;
+                }
+                else {
+                    if (state.backtracking>0) {state.failed=true; return ;}
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 381, 0, input);
+
+                    throw nvae;
+                }
+                switch (alt381) {
+                    case 1 :
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4043:19: ( (lv_isVolatile_37_0= 'volatile' ) )
+                        {
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4043:19: ( (lv_isVolatile_37_0= 'volatile' ) )
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4044:1: (lv_isVolatile_37_0= 'volatile' )
+                        {
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4044:1: (lv_isVolatile_37_0= 'volatile' )
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4045:3: lv_isVolatile_37_0= 'volatile'
+                        {
+                        lv_isVolatile_37_0=(Token)match(input,53,FollowSets001.FOLLOW_53_in_synpred217_InternalOCLinEcore9692); if (state.failed) return ;
+
+                        }
+
+
+                        }
+
+
+                        }
+                        break;
+                    case 2 :
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4059:7: otherlv_38= '!volatile'
+                        {
+                        otherlv_38=(Token)match(input,71,FollowSets001.FOLLOW_71_in_synpred217_InternalOCLinEcore9723); if (state.failed) return ;
+
+                        }
+                        break;
+
+                }
+
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4063:2: (otherlv_39= ',' )?
+                int alt382=2;
+                int LA382_0 = input.LA(1);
+
+                if ( (LA382_0==60) ) {
+                    alt382=1;
+                }
+                switch (alt382) {
+                    case 1 :
+                        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4063:4: otherlv_39= ','
+                        {
+                        otherlv_39=(Token)match(input,60,FollowSets001.FOLLOW_60_in_synpred217_InternalOCLinEcore9737); if (state.failed) return ;
+
+                        }
+                        break;
+
+                }
+
+
+                }
+                break;
+
+        }
+
+        otherlv_40=(Token)match(input,62,FollowSets001.FOLLOW_62_in_synpred217_InternalOCLinEcore9753); if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred217_InternalOCLinEcore
+
+    // $ANTLR start synpred218_InternalOCLinEcore
+    public final void synpred218_InternalOCLinEcore_fragment() throws RecognitionException {   
+        Token otherlv_12=null;
+        Token lv_isComposes_13_0=null;
+        Token otherlv_14=null;
+        Token otherlv_15=null;
+        Token lv_isDerived_16_0=null;
+        Token otherlv_17=null;
+        Token otherlv_18=null;
+        Token lv_isOrdered_19_0=null;
+        Token otherlv_20=null;
+        Token otherlv_21=null;
+        Token lv_isReadonly_22_0=null;
+        Token otherlv_23=null;
+        Token otherlv_24=null;
+        Token lv_isResolve_25_0=null;
+        Token otherlv_26=null;
+        Token otherlv_27=null;
+        Token lv_isTransient_28_0=null;
+        Token otherlv_29=null;
+        Token otherlv_30=null;
+        Token lv_isNotUnique_31_0=null;
+        Token otherlv_32=null;
+        Token otherlv_33=null;
+        Token lv_isUnsettable_34_0=null;
+        Token otherlv_35=null;
+        Token otherlv_36=null;
+        Token lv_isVolatile_37_0=null;
+        Token otherlv_38=null;
+        Token otherlv_39=null;
+        Token otherlv_40=null;
+
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3739:1: ( ( ( ( ({...}? => ( ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) ) ) ) )+ {...}?) ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3739:1: ( ( ( ({...}? => ( ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) ) ) ) )+ {...}?) )
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3739:1: ( ( ( ({...}? => ( ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) ) ) ) )+ {...}?) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3740:2: ( ( ({...}? => ( ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) ) ) ) )+ {...}?)
+        {
+        getUnorderedGroupHelper().enter(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6());
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3743:2: ( ( ({...}? => ( ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) ) ) ) )+ {...}?)
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3744:3: ( ({...}? => ( ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) ) ) ) )+ {...}?
+        {
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3744:3: ( ({...}? => ( ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) ) ) ) )+
+        int cnt404=0;
+        loop404:
+        do {
+            int alt404=10;
+            alt404 = dfa404.predict(input);
+            switch (alt404) {
+        	case 1 :
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3746:4: ({...}? => ( ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) ) ) )
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3746:4: ({...}? => ( ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3747:5: {...}? => ( ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) ) )
+        	    {
+        	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred218_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0)");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3747:108: ( ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3748:6: ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) )
+        	    {
+        	    getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0);
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3751:6: ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3751:7: {...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? )
+        	    {
+        	    if ( !((true)) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred218_InternalOCLinEcore", "true");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3751:16: (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3751:18: otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )?
+        	    {
+        	    otherlv_12=(Token)match(input,61,FollowSets001.FOLLOW_61_in_synpred218_InternalOCLinEcore8693); if (state.failed) return ;
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3755:1: ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )?
+        	    int alt386=2;
+        	    alt386 = dfa386.predict(input);
+        	    switch (alt386) {
+        	        case 1 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3755:2: ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )?
+        	            {
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3755:2: ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' )
+        	            int alt384=2;
+        	            int LA384_0 = input.LA(1);
+
+        	            if ( (LA384_0==24) ) {
+        	                alt384=1;
+        	            }
+        	            else if ( (LA384_0==78) ) {
+        	                alt384=2;
+        	            }
+        	            else {
+        	                if (state.backtracking>0) {state.failed=true; return ;}
+        	                NoViableAltException nvae =
+        	                    new NoViableAltException("", 384, 0, input);
+
+        	                throw nvae;
+        	            }
+        	            switch (alt384) {
+        	                case 1 :
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3755:3: ( (lv_isComposes_13_0= 'composes' ) )
+        	                    {
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3755:3: ( (lv_isComposes_13_0= 'composes' ) )
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3756:1: (lv_isComposes_13_0= 'composes' )
+        	                    {
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3756:1: (lv_isComposes_13_0= 'composes' )
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3757:3: lv_isComposes_13_0= 'composes'
+        	                    {
+        	                    lv_isComposes_13_0=(Token)match(input,24,FollowSets001.FOLLOW_24_in_synpred218_InternalOCLinEcore8713); if (state.failed) return ;
+
+        	                    }
+
+
+        	                    }
+
+
+        	                    }
+        	                    break;
+        	                case 2 :
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3771:7: otherlv_14= '!composes'
+        	                    {
+        	                    otherlv_14=(Token)match(input,78,FollowSets001.FOLLOW_78_in_synpred218_InternalOCLinEcore8744); if (state.failed) return ;
+
+        	                    }
+        	                    break;
+
+        	            }
+
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3775:2: (otherlv_15= ',' )?
+        	            int alt385=2;
+        	            alt385 = dfa385.predict(input);
+        	            switch (alt385) {
+        	                case 1 :
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3775:4: otherlv_15= ','
+        	                    {
+        	                    otherlv_15=(Token)match(input,60,FollowSets001.FOLLOW_60_in_synpred218_InternalOCLinEcore8758); if (state.failed) return ;
+
+        	                    }
+        	                    break;
+
+        	            }
+
+
+        	            }
+        	            break;
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+        	    break;
+        	case 2 :
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3786:4: ({...}? => ( ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) ) ) )
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3786:4: ({...}? => ( ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3787:5: {...}? => ( ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) ) )
+        	    {
+        	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred218_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1)");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3787:108: ( ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3788:6: ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) )
+        	    {
+        	    getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1);
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3791:6: ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3791:7: {...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? )
+        	    {
+        	    if ( !((true)) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred218_InternalOCLinEcore", "true");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3791:16: ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3791:17: ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )?
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3791:17: ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' )
+        	    int alt387=2;
+        	    int LA387_0 = input.LA(1);
+
+        	    if ( (LA387_0==28) ) {
+        	        alt387=1;
+        	    }
+        	    else if ( (LA387_0==64) ) {
+        	        alt387=2;
+        	    }
+        	    else {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        NoViableAltException nvae =
+        	            new NoViableAltException("", 387, 0, input);
+
+        	        throw nvae;
+        	    }
+        	    switch (alt387) {
+        	        case 1 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3791:18: ( (lv_isDerived_16_0= 'derived' ) )
+        	            {
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3791:18: ( (lv_isDerived_16_0= 'derived' ) )
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3792:1: (lv_isDerived_16_0= 'derived' )
+        	            {
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3792:1: (lv_isDerived_16_0= 'derived' )
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3793:3: lv_isDerived_16_0= 'derived'
+        	            {
+        	            lv_isDerived_16_0=(Token)match(input,28,FollowSets001.FOLLOW_28_in_synpred218_InternalOCLinEcore8837); if (state.failed) return ;
+
+        	            }
+
+
+        	            }
+
+
+        	            }
+        	            break;
+        	        case 2 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3807:7: otherlv_17= '!derived'
+        	            {
+        	            otherlv_17=(Token)match(input,64,FollowSets001.FOLLOW_64_in_synpred218_InternalOCLinEcore8868); if (state.failed) return ;
+
+        	            }
+        	            break;
+
+        	    }
+
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3811:2: (otherlv_18= ',' )?
+        	    int alt388=2;
+        	    alt388 = dfa388.predict(input);
+        	    switch (alt388) {
+        	        case 1 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3811:4: otherlv_18= ','
+        	            {
+        	            otherlv_18=(Token)match(input,60,FollowSets001.FOLLOW_60_in_synpred218_InternalOCLinEcore8882); if (state.failed) return ;
+
+        	            }
+        	            break;
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+        	    break;
+        	case 3 :
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3822:4: ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) ) ) )
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3822:4: ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3823:5: {...}? => ( ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) ) )
+        	    {
+        	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred218_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2)");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3823:108: ( ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3824:6: ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) )
+        	    {
+        	    getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2);
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3827:6: ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3827:7: {...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? )
+        	    {
+        	    if ( !((true)) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred218_InternalOCLinEcore", "true");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3827:16: ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3827:17: ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )?
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3827:17: ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' )
+        	    int alt389=2;
+        	    int LA389_0 = input.LA(1);
+
+        	    if ( (LA389_0==38) ) {
+        	        alt389=1;
+        	    }
+        	    else if ( (LA389_0==66) ) {
+        	        alt389=2;
+        	    }
+        	    else {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        NoViableAltException nvae =
+        	            new NoViableAltException("", 389, 0, input);
+
+        	        throw nvae;
+        	    }
+        	    switch (alt389) {
+        	        case 1 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3827:18: ( (lv_isOrdered_19_0= 'ordered' ) )
+        	            {
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3827:18: ( (lv_isOrdered_19_0= 'ordered' ) )
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3828:1: (lv_isOrdered_19_0= 'ordered' )
+        	            {
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3828:1: (lv_isOrdered_19_0= 'ordered' )
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3829:3: lv_isOrdered_19_0= 'ordered'
+        	            {
+        	            lv_isOrdered_19_0=(Token)match(input,38,FollowSets001.FOLLOW_38_in_synpred218_InternalOCLinEcore8959); if (state.failed) return ;
+
+        	            }
+
+
+        	            }
+
+
+        	            }
+        	            break;
+        	        case 2 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3843:7: otherlv_20= '!ordered'
+        	            {
+        	            otherlv_20=(Token)match(input,66,FollowSets001.FOLLOW_66_in_synpred218_InternalOCLinEcore8990); if (state.failed) return ;
+
+        	            }
+        	            break;
+
+        	    }
+
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3847:2: (otherlv_21= ',' )?
+        	    int alt390=2;
+        	    alt390 = dfa390.predict(input);
+        	    switch (alt390) {
+        	        case 1 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3847:4: otherlv_21= ','
+        	            {
+        	            otherlv_21=(Token)match(input,60,FollowSets001.FOLLOW_60_in_synpred218_InternalOCLinEcore9004); if (state.failed) return ;
+
+        	            }
+        	            break;
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+        	    break;
+        	case 4 :
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3858:4: ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) ) ) )
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3858:4: ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3859:5: {...}? => ( ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) ) )
+        	    {
+        	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred218_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3)");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3859:108: ( ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3860:6: ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) )
+        	    {
+        	    getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3);
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3863:6: ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3863:7: {...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? )
+        	    {
+        	    if ( !((true)) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred218_InternalOCLinEcore", "true");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3863:16: ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3863:17: ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )?
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3863:17: ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' )
+        	    int alt391=2;
+        	    int LA391_0 = input.LA(1);
+
+        	    if ( (LA391_0==44) ) {
+        	        alt391=1;
+        	    }
+        	    else if ( (LA391_0==67) ) {
+        	        alt391=2;
+        	    }
+        	    else {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        NoViableAltException nvae =
+        	            new NoViableAltException("", 391, 0, input);
+
+        	        throw nvae;
+        	    }
+        	    switch (alt391) {
+        	        case 1 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3863:18: ( (lv_isReadonly_22_0= 'readonly' ) )
+        	            {
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3863:18: ( (lv_isReadonly_22_0= 'readonly' ) )
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3864:1: (lv_isReadonly_22_0= 'readonly' )
+        	            {
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3864:1: (lv_isReadonly_22_0= 'readonly' )
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3865:3: lv_isReadonly_22_0= 'readonly'
+        	            {
+        	            lv_isReadonly_22_0=(Token)match(input,44,FollowSets001.FOLLOW_44_in_synpred218_InternalOCLinEcore9081); if (state.failed) return ;
+
+        	            }
+
+
+        	            }
+
+
+        	            }
+        	            break;
+        	        case 2 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3879:7: otherlv_23= '!readonly'
+        	            {
+        	            otherlv_23=(Token)match(input,67,FollowSets001.FOLLOW_67_in_synpred218_InternalOCLinEcore9112); if (state.failed) return ;
+
+        	            }
+        	            break;
+
+        	    }
+
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3883:2: (otherlv_24= ',' )?
+        	    int alt392=2;
+        	    alt392 = dfa392.predict(input);
+        	    switch (alt392) {
+        	        case 1 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3883:4: otherlv_24= ','
+        	            {
+        	            otherlv_24=(Token)match(input,60,FollowSets001.FOLLOW_60_in_synpred218_InternalOCLinEcore9126); if (state.failed) return ;
+
+        	            }
+        	            break;
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+        	    break;
+        	case 5 :
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3894:4: ({...}? => ( ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) ) ) )
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3894:4: ({...}? => ( ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3895:5: {...}? => ( ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) ) )
+        	    {
+        	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred218_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4)");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3895:108: ( ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3896:6: ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) )
+        	    {
+        	    getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4);
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3899:6: ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3899:7: {...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? )
+        	    {
+        	    if ( !((true)) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred218_InternalOCLinEcore", "true");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3899:16: ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3899:17: ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )?
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3899:17: ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' )
+        	    int alt393=2;
+        	    int LA393_0 = input.LA(1);
+
+        	    if ( (LA393_0==46) ) {
+        	        alt393=1;
+        	    }
+        	    else if ( (LA393_0==79) ) {
+        	        alt393=2;
+        	    }
+        	    else {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        NoViableAltException nvae =
+        	            new NoViableAltException("", 393, 0, input);
+
+        	        throw nvae;
+        	    }
+        	    switch (alt393) {
+        	        case 1 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3899:18: ( (lv_isResolve_25_0= 'resolve' ) )
+        	            {
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3899:18: ( (lv_isResolve_25_0= 'resolve' ) )
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3900:1: (lv_isResolve_25_0= 'resolve' )
+        	            {
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3900:1: (lv_isResolve_25_0= 'resolve' )
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3901:3: lv_isResolve_25_0= 'resolve'
+        	            {
+        	            lv_isResolve_25_0=(Token)match(input,46,FollowSets001.FOLLOW_46_in_synpred218_InternalOCLinEcore9203); if (state.failed) return ;
+
+        	            }
+
+
+        	            }
+
+
+        	            }
+        	            break;
+        	        case 2 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3915:7: otherlv_26= '!resolve'
+        	            {
+        	            otherlv_26=(Token)match(input,79,FollowSets001.FOLLOW_79_in_synpred218_InternalOCLinEcore9234); if (state.failed) return ;
+
+        	            }
+        	            break;
+
+        	    }
+
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3919:2: (otherlv_27= ',' )?
+        	    int alt394=2;
+        	    alt394 = dfa394.predict(input);
+        	    switch (alt394) {
+        	        case 1 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3919:4: otherlv_27= ','
+        	            {
+        	            otherlv_27=(Token)match(input,60,FollowSets001.FOLLOW_60_in_synpred218_InternalOCLinEcore9248); if (state.failed) return ;
+
+        	            }
+        	            break;
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+        	    break;
+        	case 6 :
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3930:4: ({...}? => ( ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) ) ) )
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3930:4: ({...}? => ( ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3931:5: {...}? => ( ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) ) )
+        	    {
+        	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred218_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5)");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3931:108: ( ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3932:6: ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) )
+        	    {
+        	    getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5);
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3935:6: ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3935:7: {...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? )
+        	    {
+        	    if ( !((true)) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred218_InternalOCLinEcore", "true");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3935:16: ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3935:17: ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )?
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3935:17: ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' )
+        	    int alt395=2;
+        	    int LA395_0 = input.LA(1);
+
+        	    if ( (LA395_0==50) ) {
+        	        alt395=1;
+        	    }
+        	    else if ( (LA395_0==68) ) {
+        	        alt395=2;
+        	    }
+        	    else {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        NoViableAltException nvae =
+        	            new NoViableAltException("", 395, 0, input);
+
+        	        throw nvae;
+        	    }
+        	    switch (alt395) {
+        	        case 1 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3935:18: ( (lv_isTransient_28_0= 'transient' ) )
+        	            {
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3935:18: ( (lv_isTransient_28_0= 'transient' ) )
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3936:1: (lv_isTransient_28_0= 'transient' )
+        	            {
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3936:1: (lv_isTransient_28_0= 'transient' )
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3937:3: lv_isTransient_28_0= 'transient'
+        	            {
+        	            lv_isTransient_28_0=(Token)match(input,50,FollowSets001.FOLLOW_50_in_synpred218_InternalOCLinEcore9325); if (state.failed) return ;
+
+        	            }
+
+
+        	            }
+
+
+        	            }
+        	            break;
+        	        case 2 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3951:7: otherlv_29= '!transient'
+        	            {
+        	            otherlv_29=(Token)match(input,68,FollowSets001.FOLLOW_68_in_synpred218_InternalOCLinEcore9356); if (state.failed) return ;
+
+        	            }
+        	            break;
+
+        	    }
+
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3955:2: (otherlv_30= ',' )?
+        	    int alt396=2;
+        	    alt396 = dfa396.predict(input);
+        	    switch (alt396) {
+        	        case 1 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3955:4: otherlv_30= ','
+        	            {
+        	            otherlv_30=(Token)match(input,60,FollowSets001.FOLLOW_60_in_synpred218_InternalOCLinEcore9370); if (state.failed) return ;
+
+        	            }
+        	            break;
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+        	    break;
+        	case 7 :
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3966:4: ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) ) ) )
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3966:4: ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3967:5: {...}? => ( ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) ) )
+        	    {
+        	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred218_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6)");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3967:108: ( ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3968:6: ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) )
+        	    {
+        	    getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6);
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3971:6: ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3971:7: {...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? )
+        	    {
+        	    if ( !((true)) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred218_InternalOCLinEcore", "true");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3971:16: ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3971:17: ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )?
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3971:17: ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' )
+        	    int alt397=2;
+        	    int LA397_0 = input.LA(1);
+
+        	    if ( (LA397_0==69) ) {
+        	        alt397=1;
+        	    }
+        	    else if ( (LA397_0==51) ) {
+        	        alt397=2;
+        	    }
+        	    else {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        NoViableAltException nvae =
+        	            new NoViableAltException("", 397, 0, input);
+
+        	        throw nvae;
+        	    }
+        	    switch (alt397) {
+        	        case 1 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3971:18: ( (lv_isNotUnique_31_0= '!unique' ) )
+        	            {
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3971:18: ( (lv_isNotUnique_31_0= '!unique' ) )
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3972:1: (lv_isNotUnique_31_0= '!unique' )
+        	            {
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3972:1: (lv_isNotUnique_31_0= '!unique' )
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3973:3: lv_isNotUnique_31_0= '!unique'
+        	            {
+        	            lv_isNotUnique_31_0=(Token)match(input,69,FollowSets001.FOLLOW_69_in_synpred218_InternalOCLinEcore9447); if (state.failed) return ;
+
+        	            }
+
+
+        	            }
+
+
+        	            }
+        	            break;
+        	        case 2 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3987:7: otherlv_32= 'unique'
+        	            {
+        	            otherlv_32=(Token)match(input,51,FollowSets001.FOLLOW_51_in_synpred218_InternalOCLinEcore9478); if (state.failed) return ;
+
+        	            }
+        	            break;
+
+        	    }
+
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3991:2: (otherlv_33= ',' )?
+        	    int alt398=2;
+        	    alt398 = dfa398.predict(input);
+        	    switch (alt398) {
+        	        case 1 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3991:4: otherlv_33= ','
+        	            {
+        	            otherlv_33=(Token)match(input,60,FollowSets001.FOLLOW_60_in_synpred218_InternalOCLinEcore9492); if (state.failed) return ;
+
+        	            }
+        	            break;
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+        	    break;
+        	case 8 :
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4002:4: ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) ) ) )
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4002:4: ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4003:5: {...}? => ( ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) ) )
+        	    {
+        	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred218_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7)");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4003:108: ( ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4004:6: ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) )
+        	    {
+        	    getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7);
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4007:6: ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4007:7: {...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? )
+        	    {
+        	    if ( !((true)) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred218_InternalOCLinEcore", "true");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4007:16: ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4007:17: ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )?
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4007:17: ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' )
+        	    int alt399=2;
+        	    int LA399_0 = input.LA(1);
+
+        	    if ( (LA399_0==52) ) {
+        	        alt399=1;
+        	    }
+        	    else if ( (LA399_0==70) ) {
+        	        alt399=2;
+        	    }
+        	    else {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        NoViableAltException nvae =
+        	            new NoViableAltException("", 399, 0, input);
+
+        	        throw nvae;
+        	    }
+        	    switch (alt399) {
+        	        case 1 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4007:18: ( (lv_isUnsettable_34_0= 'unsettable' ) )
+        	            {
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4007:18: ( (lv_isUnsettable_34_0= 'unsettable' ) )
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4008:1: (lv_isUnsettable_34_0= 'unsettable' )
+        	            {
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4008:1: (lv_isUnsettable_34_0= 'unsettable' )
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4009:3: lv_isUnsettable_34_0= 'unsettable'
+        	            {
+        	            lv_isUnsettable_34_0=(Token)match(input,52,FollowSets001.FOLLOW_52_in_synpred218_InternalOCLinEcore9569); if (state.failed) return ;
+
+        	            }
+
+
+        	            }
+
+
+        	            }
+        	            break;
+        	        case 2 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4023:7: otherlv_35= '!unsettable'
+        	            {
+        	            otherlv_35=(Token)match(input,70,FollowSets001.FOLLOW_70_in_synpred218_InternalOCLinEcore9600); if (state.failed) return ;
+
+        	            }
+        	            break;
+
+        	    }
+
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4027:2: (otherlv_36= ',' )?
+        	    int alt400=2;
+        	    alt400 = dfa400.predict(input);
+        	    switch (alt400) {
+        	        case 1 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4027:4: otherlv_36= ','
+        	            {
+        	            otherlv_36=(Token)match(input,60,FollowSets001.FOLLOW_60_in_synpred218_InternalOCLinEcore9614); if (state.failed) return ;
+
+        	            }
+        	            break;
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+        	    break;
+        	case 9 :
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4038:4: ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) ) ) )
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4038:4: ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4039:5: {...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) ) )
+        	    {
+        	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred218_InternalOCLinEcore", "getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8)");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4039:108: ( ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4040:6: ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) )
+        	    {
+        	    getUnorderedGroupHelper().select(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8);
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4043:6: ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4043:7: {...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' )
+        	    {
+        	    if ( !((true)) ) {
+        	        if (state.backtracking>0) {state.failed=true; return ;}
+        	        throw new FailedPredicateException(input, "synpred218_InternalOCLinEcore", "true");
+        	    }
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4043:16: ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' )
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4043:17: ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}'
+        	    {
+        	    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4043:17: ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )?
+        	    int alt403=2;
+        	    int LA403_0 = input.LA(1);
+
+        	    if ( (LA403_0==53||LA403_0==71) ) {
+        	        alt403=1;
+        	    }
+        	    switch (alt403) {
+        	        case 1 :
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4043:18: ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )?
+        	            {
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4043:18: ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' )
+        	            int alt401=2;
+        	            int LA401_0 = input.LA(1);
+
+        	            if ( (LA401_0==53) ) {
+        	                alt401=1;
+        	            }
+        	            else if ( (LA401_0==71) ) {
+        	                alt401=2;
+        	            }
+        	            else {
+        	                if (state.backtracking>0) {state.failed=true; return ;}
+        	                NoViableAltException nvae =
+        	                    new NoViableAltException("", 401, 0, input);
+
+        	                throw nvae;
+        	            }
+        	            switch (alt401) {
+        	                case 1 :
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4043:19: ( (lv_isVolatile_37_0= 'volatile' ) )
+        	                    {
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4043:19: ( (lv_isVolatile_37_0= 'volatile' ) )
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4044:1: (lv_isVolatile_37_0= 'volatile' )
+        	                    {
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4044:1: (lv_isVolatile_37_0= 'volatile' )
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4045:3: lv_isVolatile_37_0= 'volatile'
+        	                    {
+        	                    lv_isVolatile_37_0=(Token)match(input,53,FollowSets001.FOLLOW_53_in_synpred218_InternalOCLinEcore9692); if (state.failed) return ;
+
+        	                    }
+
+
+        	                    }
+
+
+        	                    }
+        	                    break;
+        	                case 2 :
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4059:7: otherlv_38= '!volatile'
+        	                    {
+        	                    otherlv_38=(Token)match(input,71,FollowSets001.FOLLOW_71_in_synpred218_InternalOCLinEcore9723); if (state.failed) return ;
+
+        	                    }
+        	                    break;
+
+        	            }
+
+        	            // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4063:2: (otherlv_39= ',' )?
+        	            int alt402=2;
+        	            int LA402_0 = input.LA(1);
+
+        	            if ( (LA402_0==60) ) {
+        	                alt402=1;
+        	            }
+        	            switch (alt402) {
+        	                case 1 :
+        	                    // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4063:4: otherlv_39= ','
+        	                    {
+        	                    otherlv_39=(Token)match(input,60,FollowSets001.FOLLOW_60_in_synpred218_InternalOCLinEcore9737); if (state.failed) return ;
+
+        	                    }
+        	                    break;
+
+        	            }
+
+
+        	            }
+        	            break;
+
+        	    }
+
+        	    otherlv_40=(Token)match(input,62,FollowSets001.FOLLOW_62_in_synpred218_InternalOCLinEcore9753); if (state.failed) return ;
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+
+
+        	    }
+        	    break;
+
+        	default :
+        	    if ( cnt404 >= 1 ) break loop404;
+        	    if (state.backtracking>0) {state.failed=true; return ;}
+                    EarlyExitException eee =
+                        new EarlyExitException(404, input);
+                    throw eee;
+            }
+            cnt404++;
+        } while (true);
+
+        if ( ! getUnorderedGroupHelper().canLeave(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6()) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred218_InternalOCLinEcore", "getUnorderedGroupHelper().canLeave(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6())");
+        }
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred218_InternalOCLinEcore
+
+    // $ANTLR start synpred320_InternalOCLinEcore
+    public final void synpred320_InternalOCLinEcore_fragment() throws RecognitionException {   
         EObject this_TypeLiteralCS_1 = null;
 
 
-        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7071:2: (this_TypeLiteralCS_1= ruleTypeLiteralCS )
-        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7071:2: this_TypeLiteralCS_1= ruleTypeLiteralCS
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7305:2: (this_TypeLiteralCS_1= ruleTypeLiteralCS )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7305:2: this_TypeLiteralCS_1= ruleTypeLiteralCS
         {
         if ( state.backtracking==0 ) {
            
           	  /* */ 
           	
         }
-        pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralCS_in_synpred300_InternalOCLinEcore16034);
+        pushFollow(FollowSets001.FOLLOW_ruleTypeLiteralCS_in_synpred320_InternalOCLinEcore17440);
         this_TypeLiteralCS_1=ruleTypeLiteralCS();
 
         state._fsp--;
@@ -28416,10 +35210,10 @@
 
         }
     }
-    // $ANTLR end synpred300_InternalOCLinEcore
+    // $ANTLR end synpred320_InternalOCLinEcore
 
-    // $ANTLR start synpred303_InternalOCLinEcore
-    public final void synpred303_InternalOCLinEcore_fragment() throws RecognitionException {   
+    // $ANTLR start synpred323_InternalOCLinEcore
+    public final void synpred323_InternalOCLinEcore_fragment() throws RecognitionException {   
         EObject this_PrefixedPrimaryExpCS_0 = null;
 
         AntlrDatatypeRuleToken lv_name_2_0 = null;
@@ -28427,35 +35221,35 @@
         EObject lv_ownedRight_3_0 = null;
 
 
-        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7134:2: ( (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? ) )
-        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7134:2: (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7368:2: ( (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? ) )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7368:2: (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? )
         {
-        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7134:2: (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? )
-        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7135:2: this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )?
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7368:2: (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7369:2: this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )?
         {
         if ( state.backtracking==0 ) {
            
           	  /* */ 
           	
         }
-        pushFollow(FollowSets000.FOLLOW_rulePrefixedPrimaryExpCS_in_synpred303_InternalOCLinEcore16183);
+        pushFollow(FollowSets001.FOLLOW_rulePrefixedPrimaryExpCS_in_synpred323_InternalOCLinEcore17589);
         this_PrefixedPrimaryExpCS_0=rulePrefixedPrimaryExpCS();
 
         state._fsp--;
         if (state.failed) return ;
-        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7146:1: ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )?
-        int alt292=2;
-        int LA292_0 = input.LA(1);
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7380:1: ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )?
+        int alt428=2;
+        int LA428_0 = input.LA(1);
 
-        if ( (LA292_0==18||LA292_0==63||(LA292_0>=81 && LA292_0<=82)||(LA292_0>=84 && LA292_0<=97)) ) {
-            alt292=1;
+        if ( (LA428_0==18||LA428_0==63||(LA428_0>=81 && LA428_0<=82)||(LA428_0>=84 && LA428_0<=97)) ) {
+            alt428=1;
         }
-        switch (alt292) {
+        switch (alt428) {
             case 1 :
-                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7146:2: () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) )
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7380:2: () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) )
                 {
-                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7146:2: ()
-                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7147:2: 
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7380:2: ()
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7381:2: 
                 {
                 if ( state.backtracking==0 ) {
                    
@@ -28465,18 +35259,18 @@
 
                 }
 
-                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7155:2: ( (lv_name_2_0= ruleBinaryOperatorName ) )
-                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7156:1: (lv_name_2_0= ruleBinaryOperatorName )
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7389:2: ( (lv_name_2_0= ruleBinaryOperatorName ) )
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7390:1: (lv_name_2_0= ruleBinaryOperatorName )
                 {
-                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7156:1: (lv_name_2_0= ruleBinaryOperatorName )
-                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7157:3: lv_name_2_0= ruleBinaryOperatorName
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7390:1: (lv_name_2_0= ruleBinaryOperatorName )
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7391:3: lv_name_2_0= ruleBinaryOperatorName
                 {
                 if ( state.backtracking==0 ) {
                    
                   	        newCompositeNode(grammarAccess.getExpCSAccess().getNameBinaryOperatorNameParserRuleCall_0_1_1_0()); 
                   	    
                 }
-                pushFollow(FollowSets000.FOLLOW_ruleBinaryOperatorName_in_synpred303_InternalOCLinEcore16216);
+                pushFollow(FollowSets001.FOLLOW_ruleBinaryOperatorName_in_synpred323_InternalOCLinEcore17622);
                 lv_name_2_0=ruleBinaryOperatorName();
 
                 state._fsp--;
@@ -28487,18 +35281,18 @@
 
                 }
 
-                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7173:2: ( (lv_ownedRight_3_0= ruleExpCS ) )
-                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7174:1: (lv_ownedRight_3_0= ruleExpCS )
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7407:2: ( (lv_ownedRight_3_0= ruleExpCS ) )
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7408:1: (lv_ownedRight_3_0= ruleExpCS )
                 {
-                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7174:1: (lv_ownedRight_3_0= ruleExpCS )
-                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7175:3: lv_ownedRight_3_0= ruleExpCS
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7408:1: (lv_ownedRight_3_0= ruleExpCS )
+                // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7409:3: lv_ownedRight_3_0= ruleExpCS
                 {
                 if ( state.backtracking==0 ) {
                    
                   	        newCompositeNode(grammarAccess.getExpCSAccess().getOwnedRightExpCSParserRuleCall_0_1_2_0()); 
                   	    
                 }
-                pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_synpred303_InternalOCLinEcore16237);
+                pushFollow(FollowSets001.FOLLOW_ruleExpCS_in_synpred323_InternalOCLinEcore17643);
                 lv_ownedRight_3_0=ruleExpCS();
 
                 state._fsp--;
@@ -28521,22 +35315,22 @@
 
         }
     }
-    // $ANTLR end synpred303_InternalOCLinEcore
+    // $ANTLR end synpred323_InternalOCLinEcore
 
-    // $ANTLR start synpred310_InternalOCLinEcore
-    public final void synpred310_InternalOCLinEcore_fragment() throws RecognitionException {   
+    // $ANTLR start synpred330_InternalOCLinEcore
+    public final void synpred330_InternalOCLinEcore_fragment() throws RecognitionException {   
         EObject this_TupleLiteralExpCS_4 = null;
 
 
-        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7436:2: (this_TupleLiteralExpCS_4= ruleTupleLiteralExpCS )
-        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7436:2: this_TupleLiteralExpCS_4= ruleTupleLiteralExpCS
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7670:2: (this_TupleLiteralExpCS_4= ruleTupleLiteralExpCS )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7670:2: this_TupleLiteralExpCS_4= ruleTupleLiteralExpCS
         {
         if ( state.backtracking==0 ) {
            
           	  /* */ 
           	
         }
-        pushFollow(FollowSets000.FOLLOW_ruleTupleLiteralExpCS_in_synpred310_InternalOCLinEcore16800);
+        pushFollow(FollowSets001.FOLLOW_ruleTupleLiteralExpCS_in_synpred330_InternalOCLinEcore18206);
         this_TupleLiteralExpCS_4=ruleTupleLiteralExpCS();
 
         state._fsp--;
@@ -28544,22 +35338,22 @@
 
         }
     }
-    // $ANTLR end synpred310_InternalOCLinEcore
+    // $ANTLR end synpred330_InternalOCLinEcore
 
-    // $ANTLR start synpred311_InternalOCLinEcore
-    public final void synpred311_InternalOCLinEcore_fragment() throws RecognitionException {   
+    // $ANTLR start synpred331_InternalOCLinEcore
+    public final void synpred331_InternalOCLinEcore_fragment() throws RecognitionException {   
         EObject this_CollectionLiteralExpCS_5 = null;
 
 
-        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7449:2: (this_CollectionLiteralExpCS_5= ruleCollectionLiteralExpCS )
-        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7449:2: this_CollectionLiteralExpCS_5= ruleCollectionLiteralExpCS
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7683:2: (this_CollectionLiteralExpCS_5= ruleCollectionLiteralExpCS )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7683:2: this_CollectionLiteralExpCS_5= ruleCollectionLiteralExpCS
         {
         if ( state.backtracking==0 ) {
            
           	  /* */ 
           	
         }
-        pushFollow(FollowSets000.FOLLOW_ruleCollectionLiteralExpCS_in_synpred311_InternalOCLinEcore16830);
+        pushFollow(FollowSets001.FOLLOW_ruleCollectionLiteralExpCS_in_synpred331_InternalOCLinEcore18236);
         this_CollectionLiteralExpCS_5=ruleCollectionLiteralExpCS();
 
         state._fsp--;
@@ -28567,22 +35361,22 @@
 
         }
     }
-    // $ANTLR end synpred311_InternalOCLinEcore
+    // $ANTLR end synpred331_InternalOCLinEcore
 
-    // $ANTLR start synpred313_InternalOCLinEcore
-    public final void synpred313_InternalOCLinEcore_fragment() throws RecognitionException {   
+    // $ANTLR start synpred333_InternalOCLinEcore
+    public final void synpred333_InternalOCLinEcore_fragment() throws RecognitionException {   
         EObject this_TypeLiteralExpCS_7 = null;
 
 
-        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7475:2: (this_TypeLiteralExpCS_7= ruleTypeLiteralExpCS )
-        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7475:2: this_TypeLiteralExpCS_7= ruleTypeLiteralExpCS
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7709:2: (this_TypeLiteralExpCS_7= ruleTypeLiteralExpCS )
+        // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7709:2: this_TypeLiteralExpCS_7= ruleTypeLiteralExpCS
         {
         if ( state.backtracking==0 ) {
            
           	  /* */ 
           	
         }
-        pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralExpCS_in_synpred313_InternalOCLinEcore16890);
+        pushFollow(FollowSets001.FOLLOW_ruleTypeLiteralExpCS_in_synpred333_InternalOCLinEcore18296);
         this_TypeLiteralExpCS_7=ruleTypeLiteralExpCS();
 
         state._fsp--;
@@ -28590,15 +35384,15 @@
 
         }
     }
-    // $ANTLR end synpred313_InternalOCLinEcore
+    // $ANTLR end synpred333_InternalOCLinEcore
 
     // Delegated rules
 
-    public final boolean synpred311_InternalOCLinEcore() {
+    public final boolean synpred184_InternalOCLinEcore() {
         state.backtracking++;
         int start = input.mark();
         try {
-            synpred311_InternalOCLinEcore_fragment(); // can never throw exception
+            synpred184_InternalOCLinEcore_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -28608,11 +35402,11 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred313_InternalOCLinEcore() {
+    public final boolean synpred331_InternalOCLinEcore() {
         state.backtracking++;
         int start = input.mark();
         try {
-            synpred313_InternalOCLinEcore_fragment(); // can never throw exception
+            synpred331_InternalOCLinEcore_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -28622,11 +35416,11 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred310_InternalOCLinEcore() {
+    public final boolean synpred158_InternalOCLinEcore() {
         state.backtracking++;
         int start = input.mark();
         try {
-            synpred310_InternalOCLinEcore_fragment(); // can never throw exception
+            synpred158_InternalOCLinEcore_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -28636,11 +35430,11 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred303_InternalOCLinEcore() {
+    public final boolean synpred210_InternalOCLinEcore() {
         state.backtracking++;
         int start = input.mark();
         try {
-            synpred303_InternalOCLinEcore_fragment(); // can never throw exception
+            synpred210_InternalOCLinEcore_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -28650,11 +35444,473 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred300_InternalOCLinEcore() {
+    public final boolean synpred192_InternalOCLinEcore() {
         state.backtracking++;
         int start = input.mark();
         try {
-            synpred300_InternalOCLinEcore_fragment(); // can never throw exception
+            synpred192_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred323_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred323_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred64_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred64_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred176_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred176_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred157_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred157_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred76_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred76_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred207_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred207_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred330_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred330_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred82_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred82_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred198_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred198_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred153_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred153_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred185_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred185_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred217_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred217_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred79_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred79_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred180_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred180_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred70_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred70_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred320_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred320_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred333_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred333_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred139_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred139_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred174_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred174_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred218_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred218_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred201_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred201_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred204_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred204_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred140_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred140_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred85_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred85_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred150_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred150_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred181_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred181_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred63_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred63_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred195_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred195_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred92_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred92_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred88_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred88_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred73_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred73_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred213_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred213_InternalOCLinEcore_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred93_InternalOCLinEcore() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred93_InternalOCLinEcore_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -28666,28 +35922,286 @@
     }
 
 
-    protected DFA64 dfa64 = new DFA64(this);
-    protected DFA67 dfa67 = new DFA67(this);
-    protected DFA121 dfa121 = new DFA121(this);
-    protected DFA151 dfa151 = new DFA151(this);
-    protected DFA154 dfa154 = new DFA154(this);
-    protected DFA165 dfa165 = new DFA165(this);
-    protected DFA168 dfa168 = new DFA168(this);
-    protected DFA171 dfa171 = new DFA171(this);
-    protected DFA195 dfa195 = new DFA195(this);
-    static final String DFA64_eotS =
+    protected DFA47 dfa47 = new DFA47(this);
+    protected DFA46 dfa46 = new DFA46(this);
+    protected DFA78 dfa78 = new DFA78(this);
+    protected DFA81 dfa81 = new DFA81(this);
+    protected DFA114 dfa114 = new DFA114(this);
+    protected DFA143 dfa143 = new DFA143(this);
+    protected DFA142 dfa142 = new DFA142(this);
+    protected DFA159 dfa159 = new DFA159(this);
+    protected DFA161 dfa161 = new DFA161(this);
+    protected DFA189 dfa189 = new DFA189(this);
+    protected DFA192 dfa192 = new DFA192(this);
+    protected DFA203 dfa203 = new DFA203(this);
+    protected DFA206 dfa206 = new DFA206(this);
+    protected DFA209 dfa209 = new DFA209(this);
+    protected DFA233 dfa233 = new DFA233(this);
+    protected DFA296 dfa296 = new DFA296(this);
+    protected DFA280 dfa280 = new DFA280(this);
+    protected DFA279 dfa279 = new DFA279(this);
+    protected DFA282 dfa282 = new DFA282(this);
+    protected DFA284 dfa284 = new DFA284(this);
+    protected DFA286 dfa286 = new DFA286(this);
+    protected DFA288 dfa288 = new DFA288(this);
+    protected DFA290 dfa290 = new DFA290(this);
+    protected DFA292 dfa292 = new DFA292(this);
+    protected DFA404 dfa404 = new DFA404(this);
+    protected DFA386 dfa386 = new DFA386(this);
+    protected DFA385 dfa385 = new DFA385(this);
+    protected DFA388 dfa388 = new DFA388(this);
+    protected DFA390 dfa390 = new DFA390(this);
+    protected DFA392 dfa392 = new DFA392(this);
+    protected DFA394 dfa394 = new DFA394(this);
+    protected DFA396 dfa396 = new DFA396(this);
+    protected DFA398 dfa398 = new DFA398(this);
+    protected DFA400 dfa400 = new DFA400(this);
+    static final String DFA47_eotS =
+        "\22\uffff";
+    static final String DFA47_eofS =
+        "\22\uffff";
+    static final String DFA47_minS =
+        "\1\37\1\0\20\uffff";
+    static final String DFA47_maxS =
+        "\1\107\1\0\20\uffff";
+    static final String DFA47_acceptS =
+        "\2\uffff\1\1\16\uffff\1\2";
+    static final String DFA47_specialS =
+        "\1\uffff\1\0\20\uffff}>";
+    static final String[] DFA47_transitionS = {
+            "\1\2\6\uffff\1\2\5\uffff\1\2\5\uffff\4\2\4\uffff\1\21\2\uffff"+
+            "\1\1\1\2\2\uffff\7\2",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA47_eot = DFA.unpackEncodedString(DFA47_eotS);
+    static final short[] DFA47_eof = DFA.unpackEncodedString(DFA47_eofS);
+    static final char[] DFA47_min = DFA.unpackEncodedStringToUnsignedChars(DFA47_minS);
+    static final char[] DFA47_max = DFA.unpackEncodedStringToUnsignedChars(DFA47_maxS);
+    static final short[] DFA47_accept = DFA.unpackEncodedString(DFA47_acceptS);
+    static final short[] DFA47_special = DFA.unpackEncodedString(DFA47_specialS);
+    static final short[][] DFA47_transition;
+
+    static {
+        int numStates = DFA47_transitionS.length;
+        DFA47_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA47_transition[i] = DFA.unpackEncodedString(DFA47_transitionS[i]);
+        }
+    }
+
+    class DFA47 extends DFA {
+
+        public DFA47(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 47;
+            this.eot = DFA47_eot;
+            this.eof = DFA47_eof;
+            this.min = DFA47_min;
+            this.max = DFA47_max;
+            this.accept = DFA47_accept;
+            this.special = DFA47_special;
+            this.transition = DFA47_transition;
+        }
+        public String getDescription() {
+            return "1239:4: ( ( ( ( ({...}? => ( ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) ) ) ) )+ {...}?) ) )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA47_1 = input.LA(1);
+
+                         
+                        int index47_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred93_InternalOCLinEcore()) ) {s = 2;}
+
+                        else if ( (true) ) {s = 17;}
+
+                         
+                        input.seek(index47_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 47, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA46_eotS =
+        "\23\uffff";
+    static final String DFA46_eofS =
+        "\23\uffff";
+    static final String DFA46_minS =
+        "\1\37\1\0\21\uffff";
+    static final String DFA46_maxS =
+        "\1\107\1\0\21\uffff";
+    static final String DFA46_acceptS =
+        "\2\uffff\1\11\2\2\2\3\2\4\2\5\2\6\2\7\3\10\1\1";
+    static final String DFA46_specialS =
+        "\1\0\1\1\21\uffff}>";
+    static final String[] DFA46_transitionS = {
+            "\1\3\6\uffff\1\5\5\uffff\1\7\5\uffff\1\11\1\14\1\15\1\17\4"+
+            "\uffff\1\2\2\uffff\1\1\1\21\2\uffff\1\4\1\6\1\10\1\12\1\13\1"+
+            "\16\1\20",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA46_eot = DFA.unpackEncodedString(DFA46_eotS);
+    static final short[] DFA46_eof = DFA.unpackEncodedString(DFA46_eofS);
+    static final char[] DFA46_min = DFA.unpackEncodedStringToUnsignedChars(DFA46_minS);
+    static final char[] DFA46_max = DFA.unpackEncodedStringToUnsignedChars(DFA46_maxS);
+    static final short[] DFA46_accept = DFA.unpackEncodedString(DFA46_acceptS);
+    static final short[] DFA46_special = DFA.unpackEncodedString(DFA46_specialS);
+    static final short[][] DFA46_transition;
+
+    static {
+        int numStates = DFA46_transitionS.length;
+        DFA46_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA46_transition[i] = DFA.unpackEncodedString(DFA46_transitionS[i]);
+        }
+    }
+
+    class DFA46 extends DFA {
+
+        public DFA46(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 46;
+            this.eot = DFA46_eot;
+            this.eof = DFA46_eof;
+            this.min = DFA46_min;
+            this.max = DFA46_max;
+            this.accept = DFA46_accept;
+            this.special = DFA46_special;
+            this.transition = DFA46_transition;
+        }
+        public String getDescription() {
+            return "()+ loopback of 1246:3: ( ({...}? => ( ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) ) ) ) )+";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA46_0 = input.LA(1);
+
+                         
+                        int index46_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA46_0==61) ) {s = 1;}
+
+                        else if ( (LA46_0==58) ) {s = 2;}
+
+                        else if ( LA46_0 ==31 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1) ) {s = 3;}
+
+                        else if ( LA46_0 ==65 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1) ) {s = 4;}
+
+                        else if ( LA46_0 ==38 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2) ) {s = 5;}
+
+                        else if ( LA46_0 ==66 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2) ) {s = 6;}
+
+                        else if ( LA46_0 ==44 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3) ) {s = 7;}
+
+                        else if ( LA46_0 ==67 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3) ) {s = 8;}
+
+                        else if ( LA46_0 ==50 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4) ) {s = 9;}
+
+                        else if ( LA46_0 ==68 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4) ) {s = 10;}
+
+                        else if ( LA46_0 ==69 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5) ) {s = 11;}
+
+                        else if ( LA46_0 ==51 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5) ) {s = 12;}
+
+                        else if ( LA46_0 ==52 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6) ) {s = 13;}
+
+                        else if ( LA46_0 ==70 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6) ) {s = 14;}
+
+                        else if ( LA46_0 ==53 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {s = 15;}
+
+                        else if ( LA46_0 ==71 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {s = 16;}
+
+                        else if ( LA46_0 ==62 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {s = 17;}
+
+                         
+                        input.seek(index46_0);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA46_1 = input.LA(1);
+
+                         
+                        int index46_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( synpred70_InternalOCLinEcore() && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 18;}
+
+                        else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5()) ) {s = 2;}
+
+                         
+                        input.seek(index46_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 46, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA78_eotS =
         "\57\uffff";
-    static final String DFA64_eofS =
+    static final String DFA78_eofS =
         "\57\uffff";
-    static final String DFA64_minS =
+    static final String DFA78_minS =
         "\1\5\54\71\2\uffff";
-    static final String DFA64_maxS =
+    static final String DFA78_maxS =
         "\1\120\54\143\2\uffff";
-    static final String DFA64_acceptS =
+    static final String DFA78_acceptS =
         "\55\uffff\1\2\1\1";
-    static final String DFA64_specialS =
+    static final String DFA78_specialS =
         "\57\uffff}>";
-    static final String[] DFA64_transitionS = {
+    static final String[] DFA78_transitionS = {
             "\1\55\2\uffff\1\1\1\2\7\uffff\1\25\1\uffff\1\3\1\4\1\5\1\6"+
             "\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22"+
             "\1\23\1\24\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37"+
@@ -28741,54 +36255,54 @@
             ""
     };
 
-    static final short[] DFA64_eot = DFA.unpackEncodedString(DFA64_eotS);
-    static final short[] DFA64_eof = DFA.unpackEncodedString(DFA64_eofS);
-    static final char[] DFA64_min = DFA.unpackEncodedStringToUnsignedChars(DFA64_minS);
-    static final char[] DFA64_max = DFA.unpackEncodedStringToUnsignedChars(DFA64_maxS);
-    static final short[] DFA64_accept = DFA.unpackEncodedString(DFA64_acceptS);
-    static final short[] DFA64_special = DFA.unpackEncodedString(DFA64_specialS);
-    static final short[][] DFA64_transition;
+    static final short[] DFA78_eot = DFA.unpackEncodedString(DFA78_eotS);
+    static final short[] DFA78_eof = DFA.unpackEncodedString(DFA78_eofS);
+    static final char[] DFA78_min = DFA.unpackEncodedStringToUnsignedChars(DFA78_minS);
+    static final char[] DFA78_max = DFA.unpackEncodedStringToUnsignedChars(DFA78_maxS);
+    static final short[] DFA78_accept = DFA.unpackEncodedString(DFA78_acceptS);
+    static final short[] DFA78_special = DFA.unpackEncodedString(DFA78_specialS);
+    static final short[][] DFA78_transition;
 
     static {
-        int numStates = DFA64_transitionS.length;
-        DFA64_transition = new short[numStates][];
+        int numStates = DFA78_transitionS.length;
+        DFA78_transition = new short[numStates][];
         for (int i=0; i<numStates; i++) {
-            DFA64_transition[i] = DFA.unpackEncodedString(DFA64_transitionS[i]);
+            DFA78_transition[i] = DFA.unpackEncodedString(DFA78_transitionS[i]);
         }
     }
 
-    class DFA64 extends DFA {
+    class DFA78 extends DFA {
 
-        public DFA64(BaseRecognizer recognizer) {
+        public DFA78(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 64;
-            this.eot = DFA64_eot;
-            this.eof = DFA64_eof;
-            this.min = DFA64_min;
-            this.max = DFA64_max;
-            this.accept = DFA64_accept;
-            this.special = DFA64_special;
-            this.transition = DFA64_transition;
+            this.decisionNumber = 78;
+            this.eot = DFA78_eot;
+            this.eof = DFA78_eof;
+            this.min = DFA78_min;
+            this.max = DFA78_max;
+            this.accept = DFA78_accept;
+            this.special = DFA78_special;
+            this.transition = DFA78_transition;
         }
         public String getDescription() {
-            return "2354:1: ( ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':' )?";
+            return "2426:1: ( ( (lv_name_1_0= ruleUnrestrictedName ) ) otherlv_2= ':' )?";
         }
     }
-    static final String DFA67_eotS =
+    static final String DFA81_eotS =
         "\23\uffff";
-    static final String DFA67_eofS =
+    static final String DFA81_eofS =
         "\23\uffff";
-    static final String DFA67_minS =
-        "\1\10\1\27\1\10\1\31\2\10\1\uffff\1\10\1\24\3\10\1\24\2\uffff\1"+
-        "\24\2\uffff\1\24";
-    static final String DFA67_maxS =
+    static final String DFA81_minS =
+        "\1\10\1\27\1\10\1\31\2\10\1\uffff\1\10\1\24\3\10\1\24\2\uffff\2"+
+        "\24\2\uffff";
+    static final String DFA81_maxS =
         "\1\113\1\77\1\120\1\77\2\120\1\uffff\1\120\1\77\1\121\2\120\1\77"+
-        "\2\uffff\1\53\2\uffff\1\53";
-    static final String DFA67_acceptS =
-        "\6\uffff\1\2\6\uffff\1\1\1\5\1\uffff\1\3\1\4\1\uffff";
-    static final String DFA67_specialS =
+        "\2\uffff\2\57\2\uffff";
+    static final String DFA81_acceptS =
+        "\6\uffff\1\2\6\uffff\1\1\1\5\2\uffff\1\3\1\4";
+    static final String DFA81_specialS =
         "\23\uffff}>";
-    static final String[] DFA67_transitionS = {
+    static final String[] DFA81_transitionS = {
             "\2\6\7\uffff\1\6\1\uffff\1\1\1\7\2\6\1\2\1\6\1\4\1\10\2\6\1"+
             "\5\7\6\1\11\1\6\1\12\2\6\1\3\1\13\3\6\1\14\6\6\25\uffff\1\6",
             "\1\15\42\uffff\1\6\2\uffff\1\6\1\uffff\1\6",
@@ -28802,130 +36316,564 @@
             "",
             "\2\16\7\uffff\1\16\1\uffff\44\16\3\uffff\1\6\1\16\1\uffff"+
             "\1\6\1\uffff\1\6\10\uffff\1\16\1\uffff\2\16\4\uffff\1\16",
-            "\1\16\20\uffff\1\20\5\uffff\1\16\3\uffff\1\17\12\uffff\1\6"+
-            "\2\uffff\1\6\1\uffff\1\6",
-            "\2\20\7\uffff\1\20\1\uffff\45\20\2\uffff\1\6\1\20\1\uffff"+
-            "\1\6\1\uffff\1\6\10\uffff\1\20\1\uffff\2\20\4\uffff\2\20",
-            "\2\21\7\uffff\1\21\1\uffff\44\21\3\uffff\1\6\1\21\1\uffff"+
-            "\1\6\1\uffff\1\6\10\uffff\1\21\1\uffff\2\21\4\uffff\1\21",
+            "\1\16\5\uffff\1\20\12\uffff\1\21\5\uffff\1\16\3\uffff\1\17"+
+            "\12\uffff\1\6\2\uffff\1\6\1\uffff\1\6",
+            "\2\21\7\uffff\1\21\1\uffff\45\21\2\uffff\1\6\1\21\1\uffff"+
+            "\1\6\1\uffff\1\6\10\uffff\1\21\1\uffff\2\21\4\uffff\2\21",
+            "\2\22\7\uffff\1\22\1\uffff\44\22\3\uffff\1\6\1\22\1\uffff"+
+            "\1\6\1\uffff\1\6\10\uffff\1\22\1\uffff\2\22\4\uffff\1\22",
             "\2\16\7\uffff\1\16\1\uffff\44\16\3\uffff\1\6\1\16\1\uffff"+
             "\1\6\1\uffff\1\6\10\uffff\1\16\1\uffff\2\16\4\uffff\1\16",
-            "\1\16\5\uffff\1\22\12\uffff\1\20\5\uffff\1\16\16\uffff\1\6"+
-            "\2\uffff\1\6\1\uffff\1\6",
+            "\1\16\5\uffff\1\20\12\uffff\1\21\5\uffff\1\16\3\uffff\1\17"+
+            "\12\uffff\1\6\2\uffff\1\6\1\uffff\1\6",
             "",
             "",
-            "\1\16\20\uffff\1\20\5\uffff\1\16",
+            "\1\16\5\uffff\1\20\12\uffff\1\21\5\uffff\1\16\3\uffff\1\17",
+            "\1\16\5\uffff\1\20\12\uffff\1\21\5\uffff\1\16\3\uffff\1\17",
             "",
-            "",
-            "\1\16\20\uffff\1\20\5\uffff\1\16"
+            ""
     };
 
-    static final short[] DFA67_eot = DFA.unpackEncodedString(DFA67_eotS);
-    static final short[] DFA67_eof = DFA.unpackEncodedString(DFA67_eofS);
-    static final char[] DFA67_min = DFA.unpackEncodedStringToUnsignedChars(DFA67_minS);
-    static final char[] DFA67_max = DFA.unpackEncodedStringToUnsignedChars(DFA67_maxS);
-    static final short[] DFA67_accept = DFA.unpackEncodedString(DFA67_acceptS);
-    static final short[] DFA67_special = DFA.unpackEncodedString(DFA67_specialS);
-    static final short[][] DFA67_transition;
+    static final short[] DFA81_eot = DFA.unpackEncodedString(DFA81_eotS);
+    static final short[] DFA81_eof = DFA.unpackEncodedString(DFA81_eofS);
+    static final char[] DFA81_min = DFA.unpackEncodedStringToUnsignedChars(DFA81_minS);
+    static final char[] DFA81_max = DFA.unpackEncodedStringToUnsignedChars(DFA81_maxS);
+    static final short[] DFA81_accept = DFA.unpackEncodedString(DFA81_acceptS);
+    static final short[] DFA81_special = DFA.unpackEncodedString(DFA81_specialS);
+    static final short[][] DFA81_transition;
 
     static {
-        int numStates = DFA67_transitionS.length;
-        DFA67_transition = new short[numStates][];
+        int numStates = DFA81_transitionS.length;
+        DFA81_transition = new short[numStates][];
         for (int i=0; i<numStates; i++) {
-            DFA67_transition[i] = DFA.unpackEncodedString(DFA67_transitionS[i]);
+            DFA81_transition[i] = DFA.unpackEncodedString(DFA81_transitionS[i]);
         }
     }
 
-    class DFA67 extends DFA {
+    class DFA81 extends DFA {
 
-        public DFA67(BaseRecognizer recognizer) {
+        public DFA81(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 67;
-            this.eot = DFA67_eot;
-            this.eof = DFA67_eof;
-            this.min = DFA67_min;
-            this.max = DFA67_max;
-            this.accept = DFA67_accept;
-            this.special = DFA67_special;
-            this.transition = DFA67_transition;
+            this.decisionNumber = 81;
+            this.eot = DFA81_eot;
+            this.eof = DFA81_eof;
+            this.min = DFA81_min;
+            this.max = DFA81_max;
+            this.accept = DFA81_accept;
+            this.special = DFA81_special;
+            this.transition = DFA81_transition;
         }
         public String getDescription() {
-            return "2503:1: (this_ClassCS_0= ruleClassCS | this_EnumerationLiteralCS_1= ruleEnumerationLiteralCS | this_OperationCS_2= ruleOperationCS | this_PackageCS_3= rulePackageCS | this_StructuralFeatureCS_4= ruleStructuralFeatureCS )";
+            return "2575:1: (this_ClassCS_0= ruleClassCS | this_EnumerationLiteralCS_1= ruleEnumerationLiteralCS | this_OperationCS_2= ruleOperationCS | this_PackageCS_3= rulePackageCS | this_StructuralFeatureCS_4= ruleStructuralFeatureCS )";
         }
     }
-    static final String DFA121_eotS =
-        "\12\uffff";
-    static final String DFA121_eofS =
-        "\12\uffff";
-    static final String DFA121_minS =
-        "\1\24\2\uffff\2\24\3\uffff\2\24";
-    static final String DFA121_maxS =
-        "\1\120\2\uffff\1\53\1\57\3\uffff\2\53";
-    static final String DFA121_acceptS =
-        "\1\uffff\1\5\1\1\2\uffff\1\2\1\3\1\4\2\uffff";
-    static final String DFA121_specialS =
-        "\12\uffff}>";
-    static final String[] DFA121_transitionS = {
+    static final String DFA114_eotS =
+        "\17\uffff";
+    static final String DFA114_eofS =
+        "\1\2\1\14\15\uffff";
+    static final String DFA114_minS =
+        "\1\63\1\46\4\uffff\1\0\10\uffff";
+    static final String DFA114_maxS =
+        "\1\105\1\120\4\uffff\1\0\10\uffff";
+    static final String DFA114_acceptS =
+        "\2\uffff\1\3\3\2\1\uffff\10\1";
+    static final String DFA114_specialS =
+        "\1\0\1\2\4\uffff\1\1\10\uffff}>";
+    static final String[] DFA114_transitionS = {
+            "\1\4\4\uffff\1\2\3\uffff\1\2\1\1\1\5\6\uffff\1\3",
+            "\1\7\14\uffff\1\16\4\uffff\1\13\2\uffff\1\2\1\12\1\11\1\6"+
+            "\3\uffff\1\10\2\uffff\1\15\4\uffff\1\2\5\uffff\1\2",
+            "",
+            "",
+            "",
+            "",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA114_eot = DFA.unpackEncodedString(DFA114_eotS);
+    static final short[] DFA114_eof = DFA.unpackEncodedString(DFA114_eofS);
+    static final char[] DFA114_min = DFA.unpackEncodedStringToUnsignedChars(DFA114_minS);
+    static final char[] DFA114_max = DFA.unpackEncodedStringToUnsignedChars(DFA114_maxS);
+    static final short[] DFA114_accept = DFA.unpackEncodedString(DFA114_acceptS);
+    static final short[] DFA114_special = DFA.unpackEncodedString(DFA114_specialS);
+    static final short[][] DFA114_transition;
+
+    static {
+        int numStates = DFA114_transitionS.length;
+        DFA114_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA114_transition[i] = DFA.unpackEncodedString(DFA114_transitionS[i]);
+        }
+    }
+
+    class DFA114 extends DFA {
+
+        public DFA114(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 114;
+            this.eot = DFA114_eot;
+            this.eof = DFA114_eof;
+            this.min = DFA114_min;
+            this.max = DFA114_max;
+            this.accept = DFA114_accept;
+            this.special = DFA114_special;
+            this.transition = DFA114_transition;
+        }
+        public String getDescription() {
+            return "()+ loopback of 3426:3: ( ({...}? => ( ({...}? => (otherlv_4= '{' ( ( ( (lv_isOrdered_5_0= 'ordered' ) ) | otherlv_6= '!ordered' ) (otherlv_7= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isNotUnique_8_0= '!unique' ) ) | otherlv_9= 'unique' ) (otherlv_10= ',' )? )? otherlv_11= '}' ) ) ) ) )+";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA114_0 = input.LA(1);
+
+                         
+                        int index114_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA114_0==61) ) {s = 1;}
+
+                        else if ( (LA114_0==EOF||LA114_0==56||LA114_0==60) ) {s = 2;}
+
+                        else if ( LA114_0 ==69 && getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 1) ) {s = 3;}
+
+                        else if ( LA114_0 ==51 && getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 1) ) {s = 4;}
+
+                        else if ( LA114_0 ==62 && getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 1) ) {s = 5;}
+
+                         
+                        input.seek(index114_0);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA114_6 = input.LA(1);
+
+                         
+                        int index114_6 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( synpred176_InternalOCLinEcore() && getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0) ) {s = 14;}
+
+                        else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getParameterCSAccess().getUnorderedGroup_2()) ) {s = 2;}
+
+                         
+                        input.seek(index114_6);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 2 : 
+                        int LA114_1 = input.LA(1);
+
+                         
+                        int index114_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA114_1==59||LA114_1==74||LA114_1==80) ) {s = 2;}
+
+                        else if ( (LA114_1==62) ) {s = 6;}
+
+                        else if ( LA114_1 ==38 && getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0) ) {s = 7;}
+
+                        else if ( LA114_1 ==66 && getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0) ) {s = 8;}
+
+                        else if ( LA114_1 ==61 && getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0) ) {s = 9;}
+
+                        else if ( LA114_1 ==60 && getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0) ) {s = 10;}
+
+                        else if ( LA114_1 ==56 && getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0) ) {s = 11;}
+
+                        else if ( LA114_1 ==EOF && getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0) ) {s = 12;}
+
+                        else if ( LA114_1 ==69 && getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0) ) {s = 13;}
+
+                        else if ( LA114_1 ==51 && getUnorderedGroupHelper().canSelect(grammarAccess.getParameterCSAccess().getUnorderedGroup_2(), 0) ) {s = 14;}
+
+                         
+                        input.seek(index114_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 114, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA143_eotS =
+        "\24\uffff";
+    static final String DFA143_eofS =
+        "\24\uffff";
+    static final String DFA143_minS =
+        "\1\34\1\0\22\uffff";
+    static final String DFA143_maxS =
+        "\1\117\1\0\22\uffff";
+    static final String DFA143_acceptS =
+        "\2\uffff\1\1\20\uffff\1\2";
+    static final String DFA143_specialS =
+        "\1\uffff\1\0\22\uffff}>";
+    static final String[] DFA143_transitionS = {
+            "\1\2\11\uffff\1\2\5\uffff\1\2\1\uffff\1\2\3\uffff\4\2\4\uffff"+
+            "\1\23\2\uffff\1\1\1\2\1\uffff\1\2\1\uffff\6\2\7\uffff\1\2",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA143_eot = DFA.unpackEncodedString(DFA143_eotS);
+    static final short[] DFA143_eof = DFA.unpackEncodedString(DFA143_eofS);
+    static final char[] DFA143_min = DFA.unpackEncodedStringToUnsignedChars(DFA143_minS);
+    static final char[] DFA143_max = DFA.unpackEncodedStringToUnsignedChars(DFA143_maxS);
+    static final short[] DFA143_accept = DFA.unpackEncodedString(DFA143_acceptS);
+    static final short[] DFA143_special = DFA.unpackEncodedString(DFA143_specialS);
+    static final short[][] DFA143_transition;
+
+    static {
+        int numStates = DFA143_transitionS.length;
+        DFA143_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA143_transition[i] = DFA.unpackEncodedString(DFA143_transitionS[i]);
+        }
+    }
+
+    class DFA143 extends DFA {
+
+        public DFA143(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 143;
+            this.eot = DFA143_eot;
+            this.eof = DFA143_eof;
+            this.min = DFA143_min;
+            this.max = DFA143_max;
+            this.accept = DFA143_accept;
+            this.special = DFA143_special;
+            this.transition = DFA143_transition;
+        }
+        public String getDescription() {
+            return "3737:4: ( ( ( ( ({...}? => ( ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) ) ) ) )+ {...}?) ) )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA143_1 = input.LA(1);
+
+                         
+                        int index143_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (synpred218_InternalOCLinEcore()) ) {s = 2;}
+
+                        else if ( (true) ) {s = 19;}
+
+                         
+                        input.seek(index143_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 143, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA142_eotS =
+        "\25\uffff";
+    static final String DFA142_eofS =
+        "\25\uffff";
+    static final String DFA142_minS =
+        "\1\34\1\0\23\uffff";
+    static final String DFA142_maxS =
+        "\1\117\1\0\23\uffff";
+    static final String DFA142_acceptS =
+        "\2\uffff\1\12\2\2\2\3\2\4\2\5\2\6\2\7\2\10\3\11\1\1";
+    static final String DFA142_specialS =
+        "\1\0\1\1\23\uffff}>";
+    static final String[] DFA142_transitionS = {
+            "\1\3\11\uffff\1\5\5\uffff\1\7\1\uffff\1\11\3\uffff\1\13\1\16"+
+            "\1\17\1\21\4\uffff\1\2\2\uffff\1\1\1\23\1\uffff\1\4\1\uffff"+
+            "\1\6\1\10\1\14\1\15\1\20\1\22\7\uffff\1\12",
+            "\1\uffff",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA142_eot = DFA.unpackEncodedString(DFA142_eotS);
+    static final short[] DFA142_eof = DFA.unpackEncodedString(DFA142_eofS);
+    static final char[] DFA142_min = DFA.unpackEncodedStringToUnsignedChars(DFA142_minS);
+    static final char[] DFA142_max = DFA.unpackEncodedStringToUnsignedChars(DFA142_maxS);
+    static final short[] DFA142_accept = DFA.unpackEncodedString(DFA142_acceptS);
+    static final short[] DFA142_special = DFA.unpackEncodedString(DFA142_specialS);
+    static final short[][] DFA142_transition;
+
+    static {
+        int numStates = DFA142_transitionS.length;
+        DFA142_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA142_transition[i] = DFA.unpackEncodedString(DFA142_transitionS[i]);
+        }
+    }
+
+    class DFA142 extends DFA {
+
+        public DFA142(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 142;
+            this.eot = DFA142_eot;
+            this.eof = DFA142_eof;
+            this.min = DFA142_min;
+            this.max = DFA142_max;
+            this.accept = DFA142_accept;
+            this.special = DFA142_special;
+            this.transition = DFA142_transition;
+        }
+        public String getDescription() {
+            return "()+ loopback of 3744:3: ( ({...}? => ( ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) ) ) ) )+";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA142_0 = input.LA(1);
+
+                         
+                        int index142_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA142_0==61) ) {s = 1;}
+
+                        else if ( (LA142_0==58) ) {s = 2;}
+
+                        else if ( LA142_0 ==28 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1) ) {s = 3;}
+
+                        else if ( LA142_0 ==64 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1) ) {s = 4;}
+
+                        else if ( LA142_0 ==38 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2) ) {s = 5;}
+
+                        else if ( LA142_0 ==66 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2) ) {s = 6;}
+
+                        else if ( LA142_0 ==44 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3) ) {s = 7;}
+
+                        else if ( LA142_0 ==67 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3) ) {s = 8;}
+
+                        else if ( LA142_0 ==46 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4) ) {s = 9;}
+
+                        else if ( LA142_0 ==79 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4) ) {s = 10;}
+
+                        else if ( LA142_0 ==50 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5) ) {s = 11;}
+
+                        else if ( LA142_0 ==68 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5) ) {s = 12;}
+
+                        else if ( LA142_0 ==69 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6) ) {s = 13;}
+
+                        else if ( LA142_0 ==51 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6) ) {s = 14;}
+
+                        else if ( LA142_0 ==52 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7) ) {s = 15;}
+
+                        else if ( LA142_0 ==70 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7) ) {s = 16;}
+
+                        else if ( LA142_0 ==53 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 17;}
+
+                        else if ( LA142_0 ==71 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 18;}
+
+                        else if ( LA142_0 ==62 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 19;}
+
+                         
+                        input.seek(index142_0);
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA142_1 = input.LA(1);
+
+                         
+                        int index142_1 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( synpred192_InternalOCLinEcore() && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 20;}
+
+                        else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6()) ) {s = 2;}
+
+                         
+                        input.seek(index142_1);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 142, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA159_eotS =
+        "\10\uffff";
+    static final String DFA159_eofS =
+        "\10\uffff";
+    static final String DFA159_minS =
+        "\1\24\2\uffff\2\24\3\uffff";
+    static final String DFA159_maxS =
+        "\1\120\2\uffff\2\57\3\uffff";
+    static final String DFA159_acceptS =
+        "\1\uffff\1\5\1\1\2\uffff\1\2\1\3\1\4";
+    static final String DFA159_specialS =
+        "\10\uffff}>";
+    static final String[] DFA159_transitionS = {
             "\1\6\1\uffff\1\7\3\uffff\1\4\12\uffff\1\5\5\uffff\1\6\3\uffff"+
             "\1\3\6\uffff\1\7\4\uffff\1\2\2\uffff\1\1\13\uffff\1\2\5\uffff"+
             "\1\2",
             "",
             "",
-            "\1\6\5\uffff\1\10\12\uffff\1\5\5\uffff\1\6",
-            "\1\6\20\uffff\1\5\5\uffff\1\6\3\uffff\1\11",
+            "\1\6\5\uffff\1\4\12\uffff\1\5\5\uffff\1\6\3\uffff\1\3",
+            "\1\6\5\uffff\1\4\12\uffff\1\5\5\uffff\1\6\3\uffff\1\3",
             "",
             "",
-            "",
-            "\1\6\20\uffff\1\5\5\uffff\1\6",
-            "\1\6\20\uffff\1\5\5\uffff\1\6"
+            ""
     };
 
-    static final short[] DFA121_eot = DFA.unpackEncodedString(DFA121_eotS);
-    static final short[] DFA121_eof = DFA.unpackEncodedString(DFA121_eofS);
-    static final char[] DFA121_min = DFA.unpackEncodedStringToUnsignedChars(DFA121_minS);
-    static final char[] DFA121_max = DFA.unpackEncodedStringToUnsignedChars(DFA121_maxS);
-    static final short[] DFA121_accept = DFA.unpackEncodedString(DFA121_acceptS);
-    static final short[] DFA121_special = DFA.unpackEncodedString(DFA121_specialS);
-    static final short[][] DFA121_transition;
+    static final short[] DFA159_eot = DFA.unpackEncodedString(DFA159_eotS);
+    static final short[] DFA159_eof = DFA.unpackEncodedString(DFA159_eofS);
+    static final char[] DFA159_min = DFA.unpackEncodedStringToUnsignedChars(DFA159_minS);
+    static final char[] DFA159_max = DFA.unpackEncodedStringToUnsignedChars(DFA159_maxS);
+    static final short[] DFA159_accept = DFA.unpackEncodedString(DFA159_acceptS);
+    static final short[] DFA159_special = DFA.unpackEncodedString(DFA159_specialS);
+    static final short[][] DFA159_transition;
 
     static {
-        int numStates = DFA121_transitionS.length;
-        DFA121_transition = new short[numStates][];
+        int numStates = DFA159_transitionS.length;
+        DFA159_transition = new short[numStates][];
         for (int i=0; i<numStates; i++) {
-            DFA121_transition[i] = DFA.unpackEncodedString(DFA121_transitionS[i]);
+            DFA159_transition[i] = DFA.unpackEncodedString(DFA159_transitionS[i]);
         }
     }
 
-    class DFA121 extends DFA {
+    class DFA159 extends DFA {
 
-        public DFA121(BaseRecognizer recognizer) {
+        public DFA159(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 121;
-            this.eot = DFA121_eot;
-            this.eof = DFA121_eof;
-            this.min = DFA121_min;
-            this.max = DFA121_max;
-            this.accept = DFA121_accept;
-            this.special = DFA121_special;
-            this.transition = DFA121_transition;
+            this.decisionNumber = 159;
+            this.eot = DFA159_eot;
+            this.eof = DFA159_eof;
+            this.min = DFA159_min;
+            this.max = DFA159_max;
+            this.accept = DFA159_accept;
+            this.special = DFA159_special;
+            this.transition = DFA159_transition;
         }
         public String getDescription() {
-            return "()* loopback of 4246:1: ( ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )*";
+            return "()* loopback of 4480:1: ( ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )*";
         }
     }
-    static final String DFA151_eotS =
+    static final String DFA161_eotS =
+        "\5\uffff";
+    static final String DFA161_eofS =
+        "\5\uffff";
+    static final String DFA161_minS =
+        "\3\24\2\uffff";
+    static final String DFA161_maxS =
+        "\3\57\2\uffff";
+    static final String DFA161_acceptS =
+        "\3\uffff\1\1\1\2";
+    static final String DFA161_specialS =
+        "\5\uffff}>";
+    static final String[] DFA161_transitionS = {
+            "\1\3\5\uffff\1\2\20\uffff\1\4\3\uffff\1\1",
+            "\1\3\5\uffff\1\2\20\uffff\1\4\3\uffff\1\1",
+            "\1\3\5\uffff\1\2\20\uffff\1\4\3\uffff\1\1",
+            "",
+            ""
+    };
+
+    static final short[] DFA161_eot = DFA.unpackEncodedString(DFA161_eotS);
+    static final short[] DFA161_eof = DFA.unpackEncodedString(DFA161_eofS);
+    static final char[] DFA161_min = DFA.unpackEncodedStringToUnsignedChars(DFA161_minS);
+    static final char[] DFA161_max = DFA.unpackEncodedStringToUnsignedChars(DFA161_maxS);
+    static final short[] DFA161_accept = DFA.unpackEncodedString(DFA161_acceptS);
+    static final short[] DFA161_special = DFA.unpackEncodedString(DFA161_specialS);
+    static final short[][] DFA161_transition;
+
+    static {
+        int numStates = DFA161_transitionS.length;
+        DFA161_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA161_transition[i] = DFA.unpackEncodedString(DFA161_transitionS[i]);
+        }
+    }
+
+    class DFA161 extends DFA {
+
+        public DFA161(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 161;
+            this.eot = DFA161_eot;
+            this.eof = DFA161_eof;
+            this.min = DFA161_min;
+            this.max = DFA161_max;
+            this.accept = DFA161_accept;
+            this.special = DFA161_special;
+            this.transition = DFA161_transition;
+        }
+        public String getDescription() {
+            return "4585:1: (this_AttributeCS_0= ruleAttributeCS | this_ReferenceCS_1= ruleReferenceCS )";
+        }
+    }
+    static final String DFA189_eotS =
         "\57\uffff";
-    static final String DFA151_eofS =
+    static final String DFA189_eofS =
         "\2\uffff\54\1\1\uffff";
-    static final String DFA151_minS =
+    static final String DFA189_minS =
         "\1\4\1\uffff\54\22\1\uffff";
-    static final String DFA151_maxS =
+    static final String DFA189_maxS =
         "\1\u0084\1\uffff\54\172\1\uffff";
-    static final String DFA151_acceptS =
+    static final String DFA189_acceptS =
         "\1\uffff\1\1\54\uffff\1\2";
-    static final String DFA151_specialS =
+    static final String DFA189_specialS =
         "\57\uffff}>";
-    static final String[] DFA151_transitionS = {
+    static final String[] DFA189_transitionS = {
             "\2\1\2\uffff\1\2\1\3\7\uffff\1\26\1\1\1\4\1\5\1\6\1\7\1\10"+
             "\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24"+
             "\1\25\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\41"+
@@ -29025,52 +36973,52 @@
             ""
     };
 
-    static final short[] DFA151_eot = DFA.unpackEncodedString(DFA151_eotS);
-    static final short[] DFA151_eof = DFA.unpackEncodedString(DFA151_eofS);
-    static final char[] DFA151_min = DFA.unpackEncodedStringToUnsignedChars(DFA151_minS);
-    static final char[] DFA151_max = DFA.unpackEncodedStringToUnsignedChars(DFA151_maxS);
-    static final short[] DFA151_accept = DFA.unpackEncodedString(DFA151_acceptS);
-    static final short[] DFA151_special = DFA.unpackEncodedString(DFA151_specialS);
-    static final short[][] DFA151_transition;
+    static final short[] DFA189_eot = DFA.unpackEncodedString(DFA189_eotS);
+    static final short[] DFA189_eof = DFA.unpackEncodedString(DFA189_eofS);
+    static final char[] DFA189_min = DFA.unpackEncodedStringToUnsignedChars(DFA189_minS);
+    static final char[] DFA189_max = DFA.unpackEncodedStringToUnsignedChars(DFA189_maxS);
+    static final short[] DFA189_accept = DFA.unpackEncodedString(DFA189_acceptS);
+    static final short[] DFA189_special = DFA.unpackEncodedString(DFA189_specialS);
+    static final short[][] DFA189_transition;
 
     static {
-        int numStates = DFA151_transitionS.length;
-        DFA151_transition = new short[numStates][];
+        int numStates = DFA189_transitionS.length;
+        DFA189_transition = new short[numStates][];
         for (int i=0; i<numStates; i++) {
-            DFA151_transition[i] = DFA.unpackEncodedString(DFA151_transitionS[i]);
+            DFA189_transition[i] = DFA.unpackEncodedString(DFA189_transitionS[i]);
         }
     }
 
-    class DFA151 extends DFA {
+    class DFA189 extends DFA {
 
-        public DFA151(BaseRecognizer recognizer) {
+        public DFA189(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 151;
-            this.eot = DFA151_eot;
-            this.eof = DFA151_eof;
-            this.min = DFA151_min;
-            this.max = DFA151_max;
-            this.accept = DFA151_accept;
-            this.special = DFA151_special;
-            this.transition = DFA151_transition;
+            this.decisionNumber = 189;
+            this.eot = DFA189_eot;
+            this.eof = DFA189_eof;
+            this.min = DFA189_min;
+            this.max = DFA189_max;
+            this.accept = DFA189_accept;
+            this.special = DFA189_special;
+            this.transition = DFA189_transition;
         }
         public String getDescription() {
-            return "5959:1: ( ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )? ) | ( (lv_ownedExpression_3_0= rulePatternExpCS ) ) )";
+            return "6193:1: ( ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )? ) | ( (lv_ownedExpression_3_0= rulePatternExpCS ) ) )";
         }
     }
-    static final String DFA154_eotS =
+    static final String DFA192_eotS =
         "\57\uffff";
-    static final String DFA154_eofS =
+    static final String DFA192_eofS =
         "\2\uffff\54\1\1\uffff";
-    static final String DFA154_minS =
+    static final String DFA192_minS =
         "\1\4\1\uffff\54\22\1\uffff";
-    static final String DFA154_maxS =
+    static final String DFA192_maxS =
         "\1\u0084\1\uffff\54\172\1\uffff";
-    static final String DFA154_acceptS =
+    static final String DFA192_acceptS =
         "\1\uffff\1\1\54\uffff\1\2";
-    static final String DFA154_specialS =
+    static final String DFA192_specialS =
         "\57\uffff}>";
-    static final String[] DFA154_transitionS = {
+    static final String[] DFA192_transitionS = {
             "\2\1\2\uffff\1\2\1\3\7\uffff\1\26\1\1\1\4\1\5\1\6\1\7\1\10"+
             "\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24"+
             "\1\25\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\41"+
@@ -29170,52 +37118,52 @@
             ""
     };
 
-    static final short[] DFA154_eot = DFA.unpackEncodedString(DFA154_eotS);
-    static final short[] DFA154_eof = DFA.unpackEncodedString(DFA154_eofS);
-    static final char[] DFA154_min = DFA.unpackEncodedStringToUnsignedChars(DFA154_minS);
-    static final char[] DFA154_max = DFA.unpackEncodedStringToUnsignedChars(DFA154_maxS);
-    static final short[] DFA154_accept = DFA.unpackEncodedString(DFA154_acceptS);
-    static final short[] DFA154_special = DFA.unpackEncodedString(DFA154_specialS);
-    static final short[][] DFA154_transition;
+    static final short[] DFA192_eot = DFA.unpackEncodedString(DFA192_eotS);
+    static final short[] DFA192_eof = DFA.unpackEncodedString(DFA192_eofS);
+    static final char[] DFA192_min = DFA.unpackEncodedStringToUnsignedChars(DFA192_minS);
+    static final char[] DFA192_max = DFA.unpackEncodedStringToUnsignedChars(DFA192_maxS);
+    static final short[] DFA192_accept = DFA.unpackEncodedString(DFA192_acceptS);
+    static final short[] DFA192_special = DFA.unpackEncodedString(DFA192_specialS);
+    static final short[][] DFA192_transition;
 
     static {
-        int numStates = DFA154_transitionS.length;
-        DFA154_transition = new short[numStates][];
+        int numStates = DFA192_transitionS.length;
+        DFA192_transition = new short[numStates][];
         for (int i=0; i<numStates; i++) {
-            DFA154_transition[i] = DFA.unpackEncodedString(DFA154_transitionS[i]);
+            DFA192_transition[i] = DFA.unpackEncodedString(DFA192_transitionS[i]);
         }
     }
 
-    class DFA154 extends DFA {
+    class DFA192 extends DFA {
 
-        public DFA154(BaseRecognizer recognizer) {
+        public DFA192(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 154;
-            this.eot = DFA154_eot;
-            this.eof = DFA154_eof;
-            this.min = DFA154_min;
-            this.max = DFA154_max;
-            this.accept = DFA154_accept;
-            this.special = DFA154_special;
-            this.transition = DFA154_transition;
+            this.decisionNumber = 192;
+            this.eot = DFA192_eot;
+            this.eof = DFA192_eof;
+            this.min = DFA192_min;
+            this.max = DFA192_max;
+            this.accept = DFA192_accept;
+            this.special = DFA192_special;
+            this.transition = DFA192_transition;
         }
         public String getDescription() {
-            return "6172:1: (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS )";
+            return "6406:1: (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS )";
         }
     }
-    static final String DFA165_eotS =
+    static final String DFA203_eotS =
         "\74\uffff";
-    static final String DFA165_eofS =
+    static final String DFA203_eofS =
         "\74\uffff";
-    static final String DFA165_minS =
+    static final String DFA203_minS =
         "\1\10\64\uffff\5\0\2\uffff";
-    static final String DFA165_maxS =
+    static final String DFA203_maxS =
         "\1\160\64\uffff\5\0\2\uffff";
-    static final String DFA165_acceptS =
+    static final String DFA203_acceptS =
         "\1\uffff\1\1\53\uffff\1\2\15\uffff\1\3";
-    static final String DFA165_specialS =
+    static final String DFA203_specialS =
         "\65\uffff\1\0\1\1\1\2\1\3\1\4\2\uffff}>";
-    static final String[] DFA165_transitionS = {
+    static final String[] DFA203_transitionS = {
             "\2\1\7\uffff\1\1\1\uffff\44\1\4\uffff\1\1\14\uffff\1\1\1\uffff"+
             "\2\1\4\uffff\1\1\21\uffff\1\55\1\uffff\10\55\1\65\1\66\1\67"+
             "\1\70\1\71",
@@ -29280,138 +37228,138 @@
             ""
     };
 
-    static final short[] DFA165_eot = DFA.unpackEncodedString(DFA165_eotS);
-    static final short[] DFA165_eof = DFA.unpackEncodedString(DFA165_eofS);
-    static final char[] DFA165_min = DFA.unpackEncodedStringToUnsignedChars(DFA165_minS);
-    static final char[] DFA165_max = DFA.unpackEncodedStringToUnsignedChars(DFA165_maxS);
-    static final short[] DFA165_accept = DFA.unpackEncodedString(DFA165_acceptS);
-    static final short[] DFA165_special = DFA.unpackEncodedString(DFA165_specialS);
-    static final short[][] DFA165_transition;
+    static final short[] DFA203_eot = DFA.unpackEncodedString(DFA203_eotS);
+    static final short[] DFA203_eof = DFA.unpackEncodedString(DFA203_eofS);
+    static final char[] DFA203_min = DFA.unpackEncodedStringToUnsignedChars(DFA203_minS);
+    static final char[] DFA203_max = DFA.unpackEncodedStringToUnsignedChars(DFA203_maxS);
+    static final short[] DFA203_accept = DFA.unpackEncodedString(DFA203_acceptS);
+    static final short[] DFA203_special = DFA.unpackEncodedString(DFA203_specialS);
+    static final short[][] DFA203_transition;
 
     static {
-        int numStates = DFA165_transitionS.length;
-        DFA165_transition = new short[numStates][];
+        int numStates = DFA203_transitionS.length;
+        DFA203_transition = new short[numStates][];
         for (int i=0; i<numStates; i++) {
-            DFA165_transition[i] = DFA.unpackEncodedString(DFA165_transitionS[i]);
+            DFA203_transition[i] = DFA.unpackEncodedString(DFA203_transitionS[i]);
         }
     }
 
-    class DFA165 extends DFA {
+    class DFA203 extends DFA {
 
-        public DFA165(BaseRecognizer recognizer) {
+        public DFA203(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 165;
-            this.eot = DFA165_eot;
-            this.eof = DFA165_eof;
-            this.min = DFA165_min;
-            this.max = DFA165_max;
-            this.accept = DFA165_accept;
-            this.special = DFA165_special;
-            this.transition = DFA165_transition;
+            this.decisionNumber = 203;
+            this.eot = DFA203_eot;
+            this.eof = DFA203_eof;
+            this.min = DFA203_min;
+            this.max = DFA203_max;
+            this.accept = DFA203_accept;
+            this.special = DFA203_special;
+            this.transition = DFA203_transition;
         }
         public String getDescription() {
-            return "7057:2: (this_TypeNameExpCS_0= ruleTypeNameExpCS | this_TypeLiteralCS_1= ruleTypeLiteralCS | this_CollectionPatternCS_2= ruleCollectionPatternCS )";
+            return "7291:2: (this_TypeNameExpCS_0= ruleTypeNameExpCS | this_TypeLiteralCS_1= ruleTypeLiteralCS | this_CollectionPatternCS_2= ruleCollectionPatternCS )";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA165_53 = input.LA(1);
+                        int LA203_53 = input.LA(1);
 
                          
-                        int index165_53 = input.index();
+                        int index203_53 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred300_InternalOCLinEcore()) ) {s = 45;}
+                        if ( (synpred320_InternalOCLinEcore()) ) {s = 45;}
 
                         else if ( (true) ) {s = 59;}
 
                          
-                        input.seek(index165_53);
+                        input.seek(index203_53);
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA165_54 = input.LA(1);
+                        int LA203_54 = input.LA(1);
 
                          
-                        int index165_54 = input.index();
+                        int index203_54 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred300_InternalOCLinEcore()) ) {s = 45;}
+                        if ( (synpred320_InternalOCLinEcore()) ) {s = 45;}
 
                         else if ( (true) ) {s = 59;}
 
                          
-                        input.seek(index165_54);
+                        input.seek(index203_54);
                         if ( s>=0 ) return s;
                         break;
                     case 2 : 
-                        int LA165_55 = input.LA(1);
+                        int LA203_55 = input.LA(1);
 
                          
-                        int index165_55 = input.index();
+                        int index203_55 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred300_InternalOCLinEcore()) ) {s = 45;}
+                        if ( (synpred320_InternalOCLinEcore()) ) {s = 45;}
 
                         else if ( (true) ) {s = 59;}
 
                          
-                        input.seek(index165_55);
+                        input.seek(index203_55);
                         if ( s>=0 ) return s;
                         break;
                     case 3 : 
-                        int LA165_56 = input.LA(1);
+                        int LA203_56 = input.LA(1);
 
                          
-                        int index165_56 = input.index();
+                        int index203_56 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred300_InternalOCLinEcore()) ) {s = 45;}
+                        if ( (synpred320_InternalOCLinEcore()) ) {s = 45;}
 
                         else if ( (true) ) {s = 59;}
 
                          
-                        input.seek(index165_56);
+                        input.seek(index203_56);
                         if ( s>=0 ) return s;
                         break;
                     case 4 : 
-                        int LA165_57 = input.LA(1);
+                        int LA203_57 = input.LA(1);
 
                          
-                        int index165_57 = input.index();
+                        int index203_57 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred300_InternalOCLinEcore()) ) {s = 45;}
+                        if ( (synpred320_InternalOCLinEcore()) ) {s = 45;}
 
                         else if ( (true) ) {s = 59;}
 
                          
-                        input.seek(index165_57);
+                        input.seek(index203_57);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 165, _s, input);
+                new NoViableAltException(getDescription(), 203, _s, input);
             error(nvae);
             throw nvae;
         }
     }
-    static final String DFA168_eotS =
+    static final String DFA206_eotS =
         "\111\uffff";
-    static final String DFA168_eofS =
+    static final String DFA206_eofS =
         "\111\uffff";
-    static final String DFA168_minS =
+    static final String DFA206_minS =
         "\1\4\2\0\106\uffff";
-    static final String DFA168_maxS =
+    static final String DFA206_maxS =
         "\1\u0084\2\0\106\uffff";
-    static final String DFA168_acceptS =
+    static final String DFA206_acceptS =
         "\3\uffff\1\1\104\uffff\1\2";
-    static final String DFA168_specialS =
+    static final String DFA206_specialS =
         "\1\uffff\1\0\1\1\106\uffff}>";
-    static final String[] DFA168_transitionS = {
+    static final String[] DFA206_transitionS = {
             "\2\3\2\uffff\2\3\7\uffff\1\3\1\1\45\3\3\uffff\1\3\14\uffff"+
             "\1\3\1\uffff\2\3\4\uffff\1\3\2\uffff\1\2\1\3\15\uffff\1\3\1"+
             "\uffff\15\3\2\uffff\5\3\6\uffff\1\3\4\uffff\1\110\1\3",
@@ -29489,94 +37437,94 @@
             ""
     };
 
-    static final short[] DFA168_eot = DFA.unpackEncodedString(DFA168_eotS);
-    static final short[] DFA168_eof = DFA.unpackEncodedString(DFA168_eofS);
-    static final char[] DFA168_min = DFA.unpackEncodedStringToUnsignedChars(DFA168_minS);
-    static final char[] DFA168_max = DFA.unpackEncodedStringToUnsignedChars(DFA168_maxS);
-    static final short[] DFA168_accept = DFA.unpackEncodedString(DFA168_acceptS);
-    static final short[] DFA168_special = DFA.unpackEncodedString(DFA168_specialS);
-    static final short[][] DFA168_transition;
+    static final short[] DFA206_eot = DFA.unpackEncodedString(DFA206_eotS);
+    static final short[] DFA206_eof = DFA.unpackEncodedString(DFA206_eofS);
+    static final char[] DFA206_min = DFA.unpackEncodedStringToUnsignedChars(DFA206_minS);
+    static final char[] DFA206_max = DFA.unpackEncodedStringToUnsignedChars(DFA206_maxS);
+    static final short[] DFA206_accept = DFA.unpackEncodedString(DFA206_acceptS);
+    static final short[] DFA206_special = DFA.unpackEncodedString(DFA206_specialS);
+    static final short[][] DFA206_transition;
 
     static {
-        int numStates = DFA168_transitionS.length;
-        DFA168_transition = new short[numStates][];
+        int numStates = DFA206_transitionS.length;
+        DFA206_transition = new short[numStates][];
         for (int i=0; i<numStates; i++) {
-            DFA168_transition[i] = DFA.unpackEncodedString(DFA168_transitionS[i]);
+            DFA206_transition[i] = DFA.unpackEncodedString(DFA206_transitionS[i]);
         }
     }
 
-    class DFA168 extends DFA {
+    class DFA206 extends DFA {
 
-        public DFA168(BaseRecognizer recognizer) {
+        public DFA206(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 168;
-            this.eot = DFA168_eot;
-            this.eof = DFA168_eof;
-            this.min = DFA168_min;
-            this.max = DFA168_max;
-            this.accept = DFA168_accept;
-            this.special = DFA168_special;
-            this.transition = DFA168_transition;
+            this.decisionNumber = 206;
+            this.eot = DFA206_eot;
+            this.eof = DFA206_eof;
+            this.min = DFA206_min;
+            this.max = DFA206_max;
+            this.accept = DFA206_accept;
+            this.special = DFA206_special;
+            this.transition = DFA206_transition;
         }
         public String getDescription() {
-            return "7134:1: ( (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? ) | this_PrefixedLetExpCS_4= rulePrefixedLetExpCS )";
+            return "7368:1: ( (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? ) | this_PrefixedLetExpCS_4= rulePrefixedLetExpCS )";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA168_1 = input.LA(1);
+                        int LA206_1 = input.LA(1);
 
                          
-                        int index168_1 = input.index();
+                        int index206_1 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred303_InternalOCLinEcore()) ) {s = 3;}
+                        if ( (synpred323_InternalOCLinEcore()) ) {s = 3;}
 
                         else if ( (true) ) {s = 72;}
 
                          
-                        input.seek(index168_1);
+                        input.seek(index206_1);
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA168_2 = input.LA(1);
+                        int LA206_2 = input.LA(1);
 
                          
-                        int index168_2 = input.index();
+                        int index206_2 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred303_InternalOCLinEcore()) ) {s = 3;}
+                        if ( (synpred323_InternalOCLinEcore()) ) {s = 3;}
 
                         else if ( (true) ) {s = 72;}
 
                          
-                        input.seek(index168_2);
+                        input.seek(index206_2);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 168, _s, input);
+                new NoViableAltException(getDescription(), 206, _s, input);
             error(nvae);
             throw nvae;
         }
     }
-    static final String DFA171_eotS =
+    static final String DFA209_eotS =
         "\110\uffff";
-    static final String DFA171_eofS =
+    static final String DFA209_eofS =
         "\110\uffff";
-    static final String DFA171_minS =
+    static final String DFA209_minS =
         "\1\4\12\uffff\6\0\67\uffff";
-    static final String DFA171_maxS =
+    static final String DFA209_maxS =
         "\1\u0084\12\uffff\6\0\67\uffff";
-    static final String DFA171_acceptS =
+    static final String DFA209_acceptS =
         "\1\uffff\1\1\1\2\1\3\1\4\14\uffff\1\7\1\10\7\uffff\1\11\53\uffff"+
         "\1\5\1\6";
-    static final String DFA171_specialS =
+    static final String DFA209_specialS =
         "\13\uffff\1\0\1\1\1\2\1\3\1\4\1\5\67\uffff}>";
-    static final String[] DFA171_transitionS = {
+    static final String[] DFA209_transitionS = {
             "\2\4\2\uffff\2\32\7\uffff\1\32\1\uffff\44\32\1\1\3\uffff\1"+
             "\32\14\uffff\1\32\1\uffff\2\32\4\uffff\1\32\3\uffff\1\4\15\uffff"+
             "\1\13\1\uffff\10\22\1\14\1\15\1\16\1\17\1\20\2\uffff\1\21\4"+
@@ -29654,153 +37602,153 @@
             ""
     };
 
-    static final short[] DFA171_eot = DFA.unpackEncodedString(DFA171_eotS);
-    static final short[] DFA171_eof = DFA.unpackEncodedString(DFA171_eofS);
-    static final char[] DFA171_min = DFA.unpackEncodedStringToUnsignedChars(DFA171_minS);
-    static final char[] DFA171_max = DFA.unpackEncodedStringToUnsignedChars(DFA171_maxS);
-    static final short[] DFA171_accept = DFA.unpackEncodedString(DFA171_acceptS);
-    static final short[] DFA171_special = DFA.unpackEncodedString(DFA171_specialS);
-    static final short[][] DFA171_transition;
+    static final short[] DFA209_eot = DFA.unpackEncodedString(DFA209_eotS);
+    static final short[] DFA209_eof = DFA.unpackEncodedString(DFA209_eofS);
+    static final char[] DFA209_min = DFA.unpackEncodedStringToUnsignedChars(DFA209_minS);
+    static final char[] DFA209_max = DFA.unpackEncodedStringToUnsignedChars(DFA209_maxS);
+    static final short[] DFA209_accept = DFA.unpackEncodedString(DFA209_acceptS);
+    static final short[] DFA209_special = DFA.unpackEncodedString(DFA209_specialS);
+    static final short[][] DFA209_transition;
 
     static {
-        int numStates = DFA171_transitionS.length;
-        DFA171_transition = new short[numStates][];
+        int numStates = DFA209_transitionS.length;
+        DFA209_transition = new short[numStates][];
         for (int i=0; i<numStates; i++) {
-            DFA171_transition[i] = DFA.unpackEncodedString(DFA171_transitionS[i]);
+            DFA209_transition[i] = DFA.unpackEncodedString(DFA209_transitionS[i]);
         }
     }
 
-    class DFA171 extends DFA {
+    class DFA209 extends DFA {
 
-        public DFA171(BaseRecognizer recognizer) {
+        public DFA209(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 171;
-            this.eot = DFA171_eot;
-            this.eof = DFA171_eof;
-            this.min = DFA171_min;
-            this.max = DFA171_max;
-            this.accept = DFA171_accept;
-            this.special = DFA171_special;
-            this.transition = DFA171_transition;
+            this.decisionNumber = 209;
+            this.eot = DFA209_eot;
+            this.eof = DFA209_eof;
+            this.min = DFA209_min;
+            this.max = DFA209_max;
+            this.accept = DFA209_accept;
+            this.special = DFA209_special;
+            this.transition = DFA209_transition;
         }
         public String getDescription() {
-            return "7383:1: (this_NestedExpCS_0= ruleNestedExpCS | this_IfExpCS_1= ruleIfExpCS | this_SelfExpCS_2= ruleSelfExpCS | this_PrimitiveLiteralExpCS_3= rulePrimitiveLiteralExpCS | this_TupleLiteralExpCS_4= ruleTupleLiteralExpCS | this_CollectionLiteralExpCS_5= ruleCollectionLiteralExpCS | this_LambdaLiteralExpCS_6= ruleLambdaLiteralExpCS | this_TypeLiteralExpCS_7= ruleTypeLiteralExpCS | this_NameExpCS_8= ruleNameExpCS )";
+            return "7617:1: (this_NestedExpCS_0= ruleNestedExpCS | this_IfExpCS_1= ruleIfExpCS | this_SelfExpCS_2= ruleSelfExpCS | this_PrimitiveLiteralExpCS_3= rulePrimitiveLiteralExpCS | this_TupleLiteralExpCS_4= ruleTupleLiteralExpCS | this_CollectionLiteralExpCS_5= ruleCollectionLiteralExpCS | this_LambdaLiteralExpCS_6= ruleLambdaLiteralExpCS | this_TypeLiteralExpCS_7= ruleTypeLiteralExpCS | this_NameExpCS_8= ruleNameExpCS )";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             TokenStream input = (TokenStream)_input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA171_11 = input.LA(1);
+                        int LA209_11 = input.LA(1);
 
                          
-                        int index171_11 = input.index();
+                        int index209_11 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred310_InternalOCLinEcore()) ) {s = 70;}
+                        if ( (synpred330_InternalOCLinEcore()) ) {s = 70;}
 
-                        else if ( (synpred313_InternalOCLinEcore()) ) {s = 18;}
+                        else if ( (synpred333_InternalOCLinEcore()) ) {s = 18;}
 
                          
-                        input.seek(index171_11);
+                        input.seek(index209_11);
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA171_12 = input.LA(1);
+                        int LA209_12 = input.LA(1);
 
                          
-                        int index171_12 = input.index();
+                        int index209_12 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred311_InternalOCLinEcore()) ) {s = 71;}
+                        if ( (synpred331_InternalOCLinEcore()) ) {s = 71;}
 
-                        else if ( (synpred313_InternalOCLinEcore()) ) {s = 18;}
+                        else if ( (synpred333_InternalOCLinEcore()) ) {s = 18;}
 
                          
-                        input.seek(index171_12);
+                        input.seek(index209_12);
                         if ( s>=0 ) return s;
                         break;
                     case 2 : 
-                        int LA171_13 = input.LA(1);
+                        int LA209_13 = input.LA(1);
 
                          
-                        int index171_13 = input.index();
+                        int index209_13 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred311_InternalOCLinEcore()) ) {s = 71;}
+                        if ( (synpred331_InternalOCLinEcore()) ) {s = 71;}
 
-                        else if ( (synpred313_InternalOCLinEcore()) ) {s = 18;}
+                        else if ( (synpred333_InternalOCLinEcore()) ) {s = 18;}
 
                          
-                        input.seek(index171_13);
+                        input.seek(index209_13);
                         if ( s>=0 ) return s;
                         break;
                     case 3 : 
-                        int LA171_14 = input.LA(1);
+                        int LA209_14 = input.LA(1);
 
                          
-                        int index171_14 = input.index();
+                        int index209_14 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred311_InternalOCLinEcore()) ) {s = 71;}
+                        if ( (synpred331_InternalOCLinEcore()) ) {s = 71;}
 
-                        else if ( (synpred313_InternalOCLinEcore()) ) {s = 18;}
+                        else if ( (synpred333_InternalOCLinEcore()) ) {s = 18;}
 
                          
-                        input.seek(index171_14);
+                        input.seek(index209_14);
                         if ( s>=0 ) return s;
                         break;
                     case 4 : 
-                        int LA171_15 = input.LA(1);
+                        int LA209_15 = input.LA(1);
 
                          
-                        int index171_15 = input.index();
+                        int index209_15 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred311_InternalOCLinEcore()) ) {s = 71;}
+                        if ( (synpred331_InternalOCLinEcore()) ) {s = 71;}
 
-                        else if ( (synpred313_InternalOCLinEcore()) ) {s = 18;}
+                        else if ( (synpred333_InternalOCLinEcore()) ) {s = 18;}
 
                          
-                        input.seek(index171_15);
+                        input.seek(index209_15);
                         if ( s>=0 ) return s;
                         break;
                     case 5 : 
-                        int LA171_16 = input.LA(1);
+                        int LA209_16 = input.LA(1);
 
                          
-                        int index171_16 = input.index();
+                        int index209_16 = input.index();
                         input.rewind();
                         s = -1;
-                        if ( (synpred311_InternalOCLinEcore()) ) {s = 71;}
+                        if ( (synpred331_InternalOCLinEcore()) ) {s = 71;}
 
-                        else if ( (synpred313_InternalOCLinEcore()) ) {s = 18;}
+                        else if ( (synpred333_InternalOCLinEcore()) ) {s = 18;}
 
                          
-                        input.seek(index171_16);
+                        input.seek(index209_16);
                         if ( s>=0 ) return s;
                         break;
             }
             if (state.backtracking>0) {state.failed=true; return -1;}
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 171, _s, input);
+                new NoViableAltException(getDescription(), 209, _s, input);
             error(nvae);
             throw nvae;
         }
     }
-    static final String DFA195_eotS =
+    static final String DFA233_eotS =
         "\57\uffff";
-    static final String DFA195_eofS =
+    static final String DFA233_eofS =
         "\57\uffff";
-    static final String DFA195_minS =
+    static final String DFA233_minS =
         "\1\4\1\uffff\54\22\1\uffff";
-    static final String DFA195_maxS =
+    static final String DFA233_maxS =
         "\1\u0084\1\uffff\54\177\1\uffff";
-    static final String DFA195_acceptS =
+    static final String DFA233_acceptS =
         "\1\uffff\1\1\54\uffff\1\2";
-    static final String DFA195_specialS =
+    static final String DFA233_specialS =
         "\57\uffff}>";
-    static final String[] DFA195_transitionS = {
+    static final String[] DFA233_transitionS = {
             "\2\1\2\uffff\1\2\1\3\7\uffff\1\26\1\1\1\4\1\5\1\6\1\7\1\10"+
             "\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24"+
             "\1\25\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\41"+
@@ -29944,37 +37892,2061 @@
             ""
     };
 
-    static final short[] DFA195_eot = DFA.unpackEncodedString(DFA195_eotS);
-    static final short[] DFA195_eof = DFA.unpackEncodedString(DFA195_eofS);
-    static final char[] DFA195_min = DFA.unpackEncodedStringToUnsignedChars(DFA195_minS);
-    static final char[] DFA195_max = DFA.unpackEncodedStringToUnsignedChars(DFA195_maxS);
-    static final short[] DFA195_accept = DFA.unpackEncodedString(DFA195_acceptS);
-    static final short[] DFA195_special = DFA.unpackEncodedString(DFA195_specialS);
-    static final short[][] DFA195_transition;
+    static final short[] DFA233_eot = DFA.unpackEncodedString(DFA233_eotS);
+    static final short[] DFA233_eof = DFA.unpackEncodedString(DFA233_eofS);
+    static final char[] DFA233_min = DFA.unpackEncodedStringToUnsignedChars(DFA233_minS);
+    static final char[] DFA233_max = DFA.unpackEncodedStringToUnsignedChars(DFA233_maxS);
+    static final short[] DFA233_accept = DFA.unpackEncodedString(DFA233_acceptS);
+    static final short[] DFA233_special = DFA.unpackEncodedString(DFA233_specialS);
+    static final short[][] DFA233_transition;
 
     static {
-        int numStates = DFA195_transitionS.length;
-        DFA195_transition = new short[numStates][];
+        int numStates = DFA233_transitionS.length;
+        DFA233_transition = new short[numStates][];
         for (int i=0; i<numStates; i++) {
-            DFA195_transition[i] = DFA.unpackEncodedString(DFA195_transitionS[i]);
+            DFA233_transition[i] = DFA.unpackEncodedString(DFA233_transitionS[i]);
         }
     }
 
-    class DFA195 extends DFA {
+    class DFA233 extends DFA {
 
-        public DFA195(BaseRecognizer recognizer) {
+        public DFA233(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 195;
-            this.eot = DFA195_eot;
-            this.eof = DFA195_eof;
-            this.min = DFA195_min;
-            this.max = DFA195_max;
-            this.accept = DFA195_accept;
-            this.special = DFA195_special;
-            this.transition = DFA195_transition;
+            this.decisionNumber = 233;
+            this.eot = DFA233_eot;
+            this.eof = DFA233_eof;
+            this.min = DFA233_min;
+            this.max = DFA233_max;
+            this.accept = DFA233_accept;
+            this.special = DFA233_special;
+            this.transition = DFA233_transition;
         }
         public String getDescription() {
-            return "8429:1: (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS )";
+            return "8663:1: (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS )";
+        }
+    }
+    static final String DFA296_eotS =
+        "\22\uffff";
+    static final String DFA296_eofS =
+        "\1\1\21\uffff";
+    static final String DFA296_minS =
+        "\1\37\21\uffff";
+    static final String DFA296_maxS =
+        "\1\107\21\uffff";
+    static final String DFA296_acceptS =
+        "\1\uffff\1\11\1\1\2\2\2\3\2\4\2\5\2\6\2\7\3\10";
+    static final String DFA296_specialS =
+        "\1\0\21\uffff}>";
+    static final String[] DFA296_transitionS = {
+            "\1\3\6\uffff\1\5\5\uffff\1\7\5\uffff\1\11\1\14\1\15\1\17\7"+
+            "\uffff\1\2\1\21\2\uffff\1\4\1\6\1\10\1\12\1\13\1\16\1\20",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA296_eot = DFA.unpackEncodedString(DFA296_eotS);
+    static final short[] DFA296_eof = DFA.unpackEncodedString(DFA296_eofS);
+    static final char[] DFA296_min = DFA.unpackEncodedStringToUnsignedChars(DFA296_minS);
+    static final char[] DFA296_max = DFA.unpackEncodedStringToUnsignedChars(DFA296_maxS);
+    static final short[] DFA296_accept = DFA.unpackEncodedString(DFA296_acceptS);
+    static final short[] DFA296_special = DFA.unpackEncodedString(DFA296_specialS);
+    static final short[][] DFA296_transition;
+
+    static {
+        int numStates = DFA296_transitionS.length;
+        DFA296_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA296_transition[i] = DFA.unpackEncodedString(DFA296_transitionS[i]);
+        }
+    }
+
+    class DFA296 extends DFA {
+
+        public DFA296(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 296;
+            this.eot = DFA296_eot;
+            this.eof = DFA296_eof;
+            this.min = DFA296_min;
+            this.max = DFA296_max;
+            this.accept = DFA296_accept;
+            this.special = DFA296_special;
+            this.transition = DFA296_transition;
+        }
+        public String getDescription() {
+            return "()+ loopback of 1246:3: ( ({...}? => ( ({...}? => (otherlv_10= '{' ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isId_14_0= 'id' ) ) | otherlv_15= '!id' ) (otherlv_16= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_17_0= 'ordered' ) ) | otherlv_18= '!ordered' ) (otherlv_19= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_20_0= 'readonly' ) ) | otherlv_21= '!readonly' ) (otherlv_22= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_23_0= 'transient' ) ) | otherlv_24= '!transient' ) (otherlv_25= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_26_0= '!unique' ) ) | otherlv_27= 'unique' ) (otherlv_28= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_29_0= 'unsettable' ) ) | otherlv_30= '!unsettable' ) (otherlv_31= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_32_0= 'volatile' ) ) | otherlv_33= '!volatile' ) (otherlv_34= ',' )? )? otherlv_35= '}' ) ) ) ) )+";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA296_0 = input.LA(1);
+
+                         
+                        int index296_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA296_0==EOF) ) {s = 1;}
+
+                        else if ( LA296_0 ==61 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 2;}
+
+                        else if ( LA296_0 ==31 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1) ) {s = 3;}
+
+                        else if ( LA296_0 ==65 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1) ) {s = 4;}
+
+                        else if ( LA296_0 ==38 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2) ) {s = 5;}
+
+                        else if ( LA296_0 ==66 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2) ) {s = 6;}
+
+                        else if ( LA296_0 ==44 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3) ) {s = 7;}
+
+                        else if ( LA296_0 ==67 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3) ) {s = 8;}
+
+                        else if ( LA296_0 ==50 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4) ) {s = 9;}
+
+                        else if ( LA296_0 ==68 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4) ) {s = 10;}
+
+                        else if ( LA296_0 ==69 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5) ) {s = 11;}
+
+                        else if ( LA296_0 ==51 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5) ) {s = 12;}
+
+                        else if ( LA296_0 ==52 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6) ) {s = 13;}
+
+                        else if ( LA296_0 ==70 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6) ) {s = 14;}
+
+                        else if ( LA296_0 ==53 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {s = 15;}
+
+                        else if ( LA296_0 ==71 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {s = 16;}
+
+                        else if ( LA296_0 ==62 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {s = 17;}
+
+                         
+                        input.seek(index296_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 296, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA280_eotS =
+        "\13\uffff";
+    static final String DFA280_eofS =
+        "\1\2\12\uffff";
+    static final String DFA280_minS =
+        "\1\34\12\uffff";
+    static final String DFA280_maxS =
+        "\1\107\12\uffff";
+    static final String DFA280_acceptS =
+        "\1\uffff\1\1\11\2";
+    static final String DFA280_specialS =
+        "\1\0\12\uffff}>";
+    static final String[] DFA280_transitionS = {
+            "\1\1\2\uffff\1\4\6\uffff\1\5\5\uffff\1\6\5\uffff\1\7\1\10\1"+
+            "\11\1\12\7\uffff\1\3\1\12\1\uffff\1\1\1\4\1\5\1\6\1\7\1\10\1"+
+            "\11\1\12",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA280_eot = DFA.unpackEncodedString(DFA280_eotS);
+    static final short[] DFA280_eof = DFA.unpackEncodedString(DFA280_eofS);
+    static final char[] DFA280_min = DFA.unpackEncodedStringToUnsignedChars(DFA280_minS);
+    static final char[] DFA280_max = DFA.unpackEncodedStringToUnsignedChars(DFA280_maxS);
+    static final short[] DFA280_accept = DFA.unpackEncodedString(DFA280_acceptS);
+    static final short[] DFA280_special = DFA.unpackEncodedString(DFA280_specialS);
+    static final short[][] DFA280_transition;
+
+    static {
+        int numStates = DFA280_transitionS.length;
+        DFA280_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA280_transition[i] = DFA.unpackEncodedString(DFA280_transitionS[i]);
+        }
+    }
+
+    class DFA280 extends DFA {
+
+        public DFA280(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 280;
+            this.eot = DFA280_eot;
+            this.eof = DFA280_eof;
+            this.min = DFA280_min;
+            this.max = DFA280_max;
+            this.accept = DFA280_accept;
+            this.special = DFA280_special;
+            this.transition = DFA280_transition;
+        }
+        public String getDescription() {
+            return "1257:1: ( ( ( (lv_isDerived_11_0= 'derived' ) ) | otherlv_12= '!derived' ) (otherlv_13= ',' )? )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA280_0 = input.LA(1);
+
+                         
+                        int index280_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA280_0==28||LA280_0==64) ) {s = 1;}
+
+                        else if ( (LA280_0==EOF) ) {s = 2;}
+
+                        else if ( LA280_0 ==61 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 3;}
+
+                        else if ( (LA280_0==31||LA280_0==65) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1) ) {s = 4;}
+
+                        else if ( (LA280_0==38||LA280_0==66) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2) ) {s = 5;}
+
+                        else if ( (LA280_0==44||LA280_0==67) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3) ) {s = 6;}
+
+                        else if ( (LA280_0==50||LA280_0==68) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4) ) {s = 7;}
+
+                        else if ( (LA280_0==51||LA280_0==69) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5) ) {s = 8;}
+
+                        else if ( (LA280_0==52||LA280_0==70) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6) ) {s = 9;}
+
+                        else if ( (LA280_0==53||LA280_0==62||LA280_0==71) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {s = 10;}
+
+                         
+                        input.seek(index280_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 280, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA279_eotS =
+        "\13\uffff";
+    static final String DFA279_eofS =
+        "\1\2\12\uffff";
+    static final String DFA279_minS =
+        "\1\37\12\uffff";
+    static final String DFA279_maxS =
+        "\1\107\12\uffff";
+    static final String DFA279_acceptS =
+        "\1\uffff\1\1\11\2";
+    static final String DFA279_specialS =
+        "\1\0\12\uffff}>";
+    static final String[] DFA279_transitionS = {
+            "\1\4\6\uffff\1\5\5\uffff\1\6\5\uffff\1\7\1\10\1\11\1\12\6\uffff"+
+            "\1\1\1\3\1\12\2\uffff\1\4\1\5\1\6\1\7\1\10\1\11\1\12",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA279_eot = DFA.unpackEncodedString(DFA279_eotS);
+    static final short[] DFA279_eof = DFA.unpackEncodedString(DFA279_eofS);
+    static final char[] DFA279_min = DFA.unpackEncodedStringToUnsignedChars(DFA279_minS);
+    static final char[] DFA279_max = DFA.unpackEncodedStringToUnsignedChars(DFA279_maxS);
+    static final short[] DFA279_accept = DFA.unpackEncodedString(DFA279_acceptS);
+    static final short[] DFA279_special = DFA.unpackEncodedString(DFA279_specialS);
+    static final short[][] DFA279_transition;
+
+    static {
+        int numStates = DFA279_transitionS.length;
+        DFA279_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA279_transition[i] = DFA.unpackEncodedString(DFA279_transitionS[i]);
+        }
+    }
+
+    class DFA279 extends DFA {
+
+        public DFA279(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 279;
+            this.eot = DFA279_eot;
+            this.eof = DFA279_eof;
+            this.min = DFA279_min;
+            this.max = DFA279_max;
+            this.accept = DFA279_accept;
+            this.special = DFA279_special;
+            this.transition = DFA279_transition;
+        }
+        public String getDescription() {
+            return "1277:2: (otherlv_13= ',' )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA279_0 = input.LA(1);
+
+                         
+                        int index279_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA279_0==60) ) {s = 1;}
+
+                        else if ( (LA279_0==EOF) ) {s = 2;}
+
+                        else if ( LA279_0 ==61 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 3;}
+
+                        else if ( (LA279_0==31||LA279_0==65) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1) ) {s = 4;}
+
+                        else if ( (LA279_0==38||LA279_0==66) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2) ) {s = 5;}
+
+                        else if ( (LA279_0==44||LA279_0==67) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3) ) {s = 6;}
+
+                        else if ( (LA279_0==50||LA279_0==68) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4) ) {s = 7;}
+
+                        else if ( (LA279_0==51||LA279_0==69) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5) ) {s = 8;}
+
+                        else if ( (LA279_0==52||LA279_0==70) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6) ) {s = 9;}
+
+                        else if ( (LA279_0==53||LA279_0==62||LA279_0==71) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {s = 10;}
+
+                         
+                        input.seek(index279_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 279, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA282_eotS =
+        "\13\uffff";
+    static final String DFA282_eofS =
+        "\1\2\12\uffff";
+    static final String DFA282_minS =
+        "\1\37\12\uffff";
+    static final String DFA282_maxS =
+        "\1\107\12\uffff";
+    static final String DFA282_acceptS =
+        "\1\uffff\1\1\11\2";
+    static final String DFA282_specialS =
+        "\1\0\12\uffff}>";
+    static final String[] DFA282_transitionS = {
+            "\1\4\6\uffff\1\5\5\uffff\1\6\5\uffff\1\7\1\10\1\11\1\12\6\uffff"+
+            "\1\1\1\3\1\12\2\uffff\1\4\1\5\1\6\1\7\1\10\1\11\1\12",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA282_eot = DFA.unpackEncodedString(DFA282_eotS);
+    static final short[] DFA282_eof = DFA.unpackEncodedString(DFA282_eofS);
+    static final char[] DFA282_min = DFA.unpackEncodedStringToUnsignedChars(DFA282_minS);
+    static final char[] DFA282_max = DFA.unpackEncodedStringToUnsignedChars(DFA282_maxS);
+    static final short[] DFA282_accept = DFA.unpackEncodedString(DFA282_acceptS);
+    static final short[] DFA282_special = DFA.unpackEncodedString(DFA282_specialS);
+    static final short[][] DFA282_transition;
+
+    static {
+        int numStates = DFA282_transitionS.length;
+        DFA282_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA282_transition[i] = DFA.unpackEncodedString(DFA282_transitionS[i]);
+        }
+    }
+
+    class DFA282 extends DFA {
+
+        public DFA282(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 282;
+            this.eot = DFA282_eot;
+            this.eof = DFA282_eof;
+            this.min = DFA282_min;
+            this.max = DFA282_max;
+            this.accept = DFA282_accept;
+            this.special = DFA282_special;
+            this.transition = DFA282_transition;
+        }
+        public String getDescription() {
+            return "1313:2: (otherlv_16= ',' )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA282_0 = input.LA(1);
+
+                         
+                        int index282_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA282_0==60) ) {s = 1;}
+
+                        else if ( (LA282_0==EOF) ) {s = 2;}
+
+                        else if ( LA282_0 ==61 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 3;}
+
+                        else if ( (LA282_0==31||LA282_0==65) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1) ) {s = 4;}
+
+                        else if ( (LA282_0==38||LA282_0==66) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2) ) {s = 5;}
+
+                        else if ( (LA282_0==44||LA282_0==67) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3) ) {s = 6;}
+
+                        else if ( (LA282_0==50||LA282_0==68) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4) ) {s = 7;}
+
+                        else if ( (LA282_0==51||LA282_0==69) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5) ) {s = 8;}
+
+                        else if ( (LA282_0==52||LA282_0==70) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6) ) {s = 9;}
+
+                        else if ( (LA282_0==53||LA282_0==62||LA282_0==71) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {s = 10;}
+
+                         
+                        input.seek(index282_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 282, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA284_eotS =
+        "\13\uffff";
+    static final String DFA284_eofS =
+        "\1\2\12\uffff";
+    static final String DFA284_minS =
+        "\1\37\12\uffff";
+    static final String DFA284_maxS =
+        "\1\107\12\uffff";
+    static final String DFA284_acceptS =
+        "\1\uffff\1\1\11\2";
+    static final String DFA284_specialS =
+        "\1\0\12\uffff}>";
+    static final String[] DFA284_transitionS = {
+            "\1\4\6\uffff\1\5\5\uffff\1\6\5\uffff\1\7\1\10\1\11\1\12\6\uffff"+
+            "\1\1\1\3\1\12\2\uffff\1\4\1\5\1\6\1\7\1\10\1\11\1\12",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA284_eot = DFA.unpackEncodedString(DFA284_eotS);
+    static final short[] DFA284_eof = DFA.unpackEncodedString(DFA284_eofS);
+    static final char[] DFA284_min = DFA.unpackEncodedStringToUnsignedChars(DFA284_minS);
+    static final char[] DFA284_max = DFA.unpackEncodedStringToUnsignedChars(DFA284_maxS);
+    static final short[] DFA284_accept = DFA.unpackEncodedString(DFA284_acceptS);
+    static final short[] DFA284_special = DFA.unpackEncodedString(DFA284_specialS);
+    static final short[][] DFA284_transition;
+
+    static {
+        int numStates = DFA284_transitionS.length;
+        DFA284_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA284_transition[i] = DFA.unpackEncodedString(DFA284_transitionS[i]);
+        }
+    }
+
+    class DFA284 extends DFA {
+
+        public DFA284(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 284;
+            this.eot = DFA284_eot;
+            this.eof = DFA284_eof;
+            this.min = DFA284_min;
+            this.max = DFA284_max;
+            this.accept = DFA284_accept;
+            this.special = DFA284_special;
+            this.transition = DFA284_transition;
+        }
+        public String getDescription() {
+            return "1349:2: (otherlv_19= ',' )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA284_0 = input.LA(1);
+
+                         
+                        int index284_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA284_0==60) ) {s = 1;}
+
+                        else if ( (LA284_0==EOF) ) {s = 2;}
+
+                        else if ( LA284_0 ==61 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 3;}
+
+                        else if ( (LA284_0==31||LA284_0==65) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1) ) {s = 4;}
+
+                        else if ( (LA284_0==38||LA284_0==66) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2) ) {s = 5;}
+
+                        else if ( (LA284_0==44||LA284_0==67) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3) ) {s = 6;}
+
+                        else if ( (LA284_0==50||LA284_0==68) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4) ) {s = 7;}
+
+                        else if ( (LA284_0==51||LA284_0==69) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5) ) {s = 8;}
+
+                        else if ( (LA284_0==52||LA284_0==70) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6) ) {s = 9;}
+
+                        else if ( (LA284_0==53||LA284_0==62||LA284_0==71) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {s = 10;}
+
+                         
+                        input.seek(index284_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 284, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA286_eotS =
+        "\13\uffff";
+    static final String DFA286_eofS =
+        "\1\2\12\uffff";
+    static final String DFA286_minS =
+        "\1\37\12\uffff";
+    static final String DFA286_maxS =
+        "\1\107\12\uffff";
+    static final String DFA286_acceptS =
+        "\1\uffff\1\1\11\2";
+    static final String DFA286_specialS =
+        "\1\0\12\uffff}>";
+    static final String[] DFA286_transitionS = {
+            "\1\4\6\uffff\1\5\5\uffff\1\6\5\uffff\1\7\1\10\1\11\1\12\6\uffff"+
+            "\1\1\1\3\1\12\2\uffff\1\4\1\5\1\6\1\7\1\10\1\11\1\12",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA286_eot = DFA.unpackEncodedString(DFA286_eotS);
+    static final short[] DFA286_eof = DFA.unpackEncodedString(DFA286_eofS);
+    static final char[] DFA286_min = DFA.unpackEncodedStringToUnsignedChars(DFA286_minS);
+    static final char[] DFA286_max = DFA.unpackEncodedStringToUnsignedChars(DFA286_maxS);
+    static final short[] DFA286_accept = DFA.unpackEncodedString(DFA286_acceptS);
+    static final short[] DFA286_special = DFA.unpackEncodedString(DFA286_specialS);
+    static final short[][] DFA286_transition;
+
+    static {
+        int numStates = DFA286_transitionS.length;
+        DFA286_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA286_transition[i] = DFA.unpackEncodedString(DFA286_transitionS[i]);
+        }
+    }
+
+    class DFA286 extends DFA {
+
+        public DFA286(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 286;
+            this.eot = DFA286_eot;
+            this.eof = DFA286_eof;
+            this.min = DFA286_min;
+            this.max = DFA286_max;
+            this.accept = DFA286_accept;
+            this.special = DFA286_special;
+            this.transition = DFA286_transition;
+        }
+        public String getDescription() {
+            return "1385:2: (otherlv_22= ',' )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA286_0 = input.LA(1);
+
+                         
+                        int index286_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA286_0==60) ) {s = 1;}
+
+                        else if ( (LA286_0==EOF) ) {s = 2;}
+
+                        else if ( LA286_0 ==61 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 3;}
+
+                        else if ( (LA286_0==31||LA286_0==65) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1) ) {s = 4;}
+
+                        else if ( (LA286_0==38||LA286_0==66) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2) ) {s = 5;}
+
+                        else if ( (LA286_0==44||LA286_0==67) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3) ) {s = 6;}
+
+                        else if ( (LA286_0==50||LA286_0==68) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4) ) {s = 7;}
+
+                        else if ( (LA286_0==51||LA286_0==69) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5) ) {s = 8;}
+
+                        else if ( (LA286_0==52||LA286_0==70) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6) ) {s = 9;}
+
+                        else if ( (LA286_0==53||LA286_0==62||LA286_0==71) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {s = 10;}
+
+                         
+                        input.seek(index286_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 286, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA288_eotS =
+        "\13\uffff";
+    static final String DFA288_eofS =
+        "\1\2\12\uffff";
+    static final String DFA288_minS =
+        "\1\37\12\uffff";
+    static final String DFA288_maxS =
+        "\1\107\12\uffff";
+    static final String DFA288_acceptS =
+        "\1\uffff\1\1\11\2";
+    static final String DFA288_specialS =
+        "\1\0\12\uffff}>";
+    static final String[] DFA288_transitionS = {
+            "\1\4\6\uffff\1\5\5\uffff\1\6\5\uffff\1\7\1\10\1\11\1\12\6\uffff"+
+            "\1\1\1\3\1\12\2\uffff\1\4\1\5\1\6\1\7\1\10\1\11\1\12",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA288_eot = DFA.unpackEncodedString(DFA288_eotS);
+    static final short[] DFA288_eof = DFA.unpackEncodedString(DFA288_eofS);
+    static final char[] DFA288_min = DFA.unpackEncodedStringToUnsignedChars(DFA288_minS);
+    static final char[] DFA288_max = DFA.unpackEncodedStringToUnsignedChars(DFA288_maxS);
+    static final short[] DFA288_accept = DFA.unpackEncodedString(DFA288_acceptS);
+    static final short[] DFA288_special = DFA.unpackEncodedString(DFA288_specialS);
+    static final short[][] DFA288_transition;
+
+    static {
+        int numStates = DFA288_transitionS.length;
+        DFA288_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA288_transition[i] = DFA.unpackEncodedString(DFA288_transitionS[i]);
+        }
+    }
+
+    class DFA288 extends DFA {
+
+        public DFA288(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 288;
+            this.eot = DFA288_eot;
+            this.eof = DFA288_eof;
+            this.min = DFA288_min;
+            this.max = DFA288_max;
+            this.accept = DFA288_accept;
+            this.special = DFA288_special;
+            this.transition = DFA288_transition;
+        }
+        public String getDescription() {
+            return "1421:2: (otherlv_25= ',' )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA288_0 = input.LA(1);
+
+                         
+                        int index288_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA288_0==60) ) {s = 1;}
+
+                        else if ( (LA288_0==EOF) ) {s = 2;}
+
+                        else if ( LA288_0 ==61 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 3;}
+
+                        else if ( (LA288_0==31||LA288_0==65) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1) ) {s = 4;}
+
+                        else if ( (LA288_0==38||LA288_0==66) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2) ) {s = 5;}
+
+                        else if ( (LA288_0==44||LA288_0==67) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3) ) {s = 6;}
+
+                        else if ( (LA288_0==50||LA288_0==68) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4) ) {s = 7;}
+
+                        else if ( (LA288_0==51||LA288_0==69) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5) ) {s = 8;}
+
+                        else if ( (LA288_0==52||LA288_0==70) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6) ) {s = 9;}
+
+                        else if ( (LA288_0==53||LA288_0==62||LA288_0==71) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {s = 10;}
+
+                         
+                        input.seek(index288_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 288, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA290_eotS =
+        "\13\uffff";
+    static final String DFA290_eofS =
+        "\1\2\12\uffff";
+    static final String DFA290_minS =
+        "\1\37\12\uffff";
+    static final String DFA290_maxS =
+        "\1\107\12\uffff";
+    static final String DFA290_acceptS =
+        "\1\uffff\1\1\11\2";
+    static final String DFA290_specialS =
+        "\1\0\12\uffff}>";
+    static final String[] DFA290_transitionS = {
+            "\1\4\6\uffff\1\5\5\uffff\1\6\5\uffff\1\7\1\10\1\11\1\12\6\uffff"+
+            "\1\1\1\3\1\12\2\uffff\1\4\1\5\1\6\1\7\1\10\1\11\1\12",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA290_eot = DFA.unpackEncodedString(DFA290_eotS);
+    static final short[] DFA290_eof = DFA.unpackEncodedString(DFA290_eofS);
+    static final char[] DFA290_min = DFA.unpackEncodedStringToUnsignedChars(DFA290_minS);
+    static final char[] DFA290_max = DFA.unpackEncodedStringToUnsignedChars(DFA290_maxS);
+    static final short[] DFA290_accept = DFA.unpackEncodedString(DFA290_acceptS);
+    static final short[] DFA290_special = DFA.unpackEncodedString(DFA290_specialS);
+    static final short[][] DFA290_transition;
+
+    static {
+        int numStates = DFA290_transitionS.length;
+        DFA290_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA290_transition[i] = DFA.unpackEncodedString(DFA290_transitionS[i]);
+        }
+    }
+
+    class DFA290 extends DFA {
+
+        public DFA290(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 290;
+            this.eot = DFA290_eot;
+            this.eof = DFA290_eof;
+            this.min = DFA290_min;
+            this.max = DFA290_max;
+            this.accept = DFA290_accept;
+            this.special = DFA290_special;
+            this.transition = DFA290_transition;
+        }
+        public String getDescription() {
+            return "1457:2: (otherlv_28= ',' )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA290_0 = input.LA(1);
+
+                         
+                        int index290_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA290_0==60) ) {s = 1;}
+
+                        else if ( (LA290_0==EOF) ) {s = 2;}
+
+                        else if ( LA290_0 ==61 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 3;}
+
+                        else if ( (LA290_0==31||LA290_0==65) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1) ) {s = 4;}
+
+                        else if ( (LA290_0==38||LA290_0==66) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2) ) {s = 5;}
+
+                        else if ( (LA290_0==44||LA290_0==67) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3) ) {s = 6;}
+
+                        else if ( (LA290_0==50||LA290_0==68) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4) ) {s = 7;}
+
+                        else if ( (LA290_0==51||LA290_0==69) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5) ) {s = 8;}
+
+                        else if ( (LA290_0==52||LA290_0==70) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6) ) {s = 9;}
+
+                        else if ( (LA290_0==53||LA290_0==62||LA290_0==71) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {s = 10;}
+
+                         
+                        input.seek(index290_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 290, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA292_eotS =
+        "\13\uffff";
+    static final String DFA292_eofS =
+        "\1\2\12\uffff";
+    static final String DFA292_minS =
+        "\1\37\12\uffff";
+    static final String DFA292_maxS =
+        "\1\107\12\uffff";
+    static final String DFA292_acceptS =
+        "\1\uffff\1\1\11\2";
+    static final String DFA292_specialS =
+        "\1\0\12\uffff}>";
+    static final String[] DFA292_transitionS = {
+            "\1\4\6\uffff\1\5\5\uffff\1\6\5\uffff\1\7\1\10\1\11\1\12\6\uffff"+
+            "\1\1\1\3\1\12\2\uffff\1\4\1\5\1\6\1\7\1\10\1\11\1\12",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA292_eot = DFA.unpackEncodedString(DFA292_eotS);
+    static final short[] DFA292_eof = DFA.unpackEncodedString(DFA292_eofS);
+    static final char[] DFA292_min = DFA.unpackEncodedStringToUnsignedChars(DFA292_minS);
+    static final char[] DFA292_max = DFA.unpackEncodedStringToUnsignedChars(DFA292_maxS);
+    static final short[] DFA292_accept = DFA.unpackEncodedString(DFA292_acceptS);
+    static final short[] DFA292_special = DFA.unpackEncodedString(DFA292_specialS);
+    static final short[][] DFA292_transition;
+
+    static {
+        int numStates = DFA292_transitionS.length;
+        DFA292_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA292_transition[i] = DFA.unpackEncodedString(DFA292_transitionS[i]);
+        }
+    }
+
+    class DFA292 extends DFA {
+
+        public DFA292(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 292;
+            this.eot = DFA292_eot;
+            this.eof = DFA292_eof;
+            this.min = DFA292_min;
+            this.max = DFA292_max;
+            this.accept = DFA292_accept;
+            this.special = DFA292_special;
+            this.transition = DFA292_transition;
+        }
+        public String getDescription() {
+            return "1493:2: (otherlv_31= ',' )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA292_0 = input.LA(1);
+
+                         
+                        int index292_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA292_0==60) ) {s = 1;}
+
+                        else if ( (LA292_0==EOF) ) {s = 2;}
+
+                        else if ( LA292_0 ==61 && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 0) ) {s = 3;}
+
+                        else if ( (LA292_0==31||LA292_0==65) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 1) ) {s = 4;}
+
+                        else if ( (LA292_0==38||LA292_0==66) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 2) ) {s = 5;}
+
+                        else if ( (LA292_0==44||LA292_0==67) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 3) ) {s = 6;}
+
+                        else if ( (LA292_0==50||LA292_0==68) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 4) ) {s = 7;}
+
+                        else if ( (LA292_0==51||LA292_0==69) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 5) ) {s = 8;}
+
+                        else if ( (LA292_0==52||LA292_0==70) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 6) ) {s = 9;}
+
+                        else if ( (LA292_0==53||LA292_0==62||LA292_0==71) && getUnorderedGroupHelper().canSelect(grammarAccess.getAttributeCSAccess().getUnorderedGroup_5(), 7) ) {s = 10;}
+
+                         
+                        input.seek(index292_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 292, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA404_eotS =
+        "\24\uffff";
+    static final String DFA404_eofS =
+        "\1\1\23\uffff";
+    static final String DFA404_minS =
+        "\1\34\23\uffff";
+    static final String DFA404_maxS =
+        "\1\117\23\uffff";
+    static final String DFA404_acceptS =
+        "\1\uffff\1\12\1\1\2\2\2\3\2\4\2\5\2\6\2\7\2\10\3\11";
+    static final String DFA404_specialS =
+        "\1\0\23\uffff}>";
+    static final String[] DFA404_transitionS = {
+            "\1\3\11\uffff\1\5\5\uffff\1\7\1\uffff\1\11\3\uffff\1\13\1\16"+
+            "\1\17\1\21\7\uffff\1\2\1\23\1\uffff\1\4\1\uffff\1\6\1\10\1\14"+
+            "\1\15\1\20\1\22\7\uffff\1\12",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA404_eot = DFA.unpackEncodedString(DFA404_eotS);
+    static final short[] DFA404_eof = DFA.unpackEncodedString(DFA404_eofS);
+    static final char[] DFA404_min = DFA.unpackEncodedStringToUnsignedChars(DFA404_minS);
+    static final char[] DFA404_max = DFA.unpackEncodedStringToUnsignedChars(DFA404_maxS);
+    static final short[] DFA404_accept = DFA.unpackEncodedString(DFA404_acceptS);
+    static final short[] DFA404_special = DFA.unpackEncodedString(DFA404_specialS);
+    static final short[][] DFA404_transition;
+
+    static {
+        int numStates = DFA404_transitionS.length;
+        DFA404_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA404_transition[i] = DFA.unpackEncodedString(DFA404_transitionS[i]);
+        }
+    }
+
+    class DFA404 extends DFA {
+
+        public DFA404(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 404;
+            this.eot = DFA404_eot;
+            this.eof = DFA404_eof;
+            this.min = DFA404_min;
+            this.max = DFA404_max;
+            this.accept = DFA404_accept;
+            this.special = DFA404_special;
+            this.transition = DFA404_transition;
+        }
+        public String getDescription() {
+            return "()+ loopback of 3744:3: ( ({...}? => ( ({...}? => (otherlv_12= '{' ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isDerived_16_0= 'derived' ) ) | otherlv_17= '!derived' ) (otherlv_18= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isOrdered_19_0= 'ordered' ) ) | otherlv_20= '!ordered' ) (otherlv_21= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isReadonly_22_0= 'readonly' ) ) | otherlv_23= '!readonly' ) (otherlv_24= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isResolve_25_0= 'resolve' ) ) | otherlv_26= '!resolve' ) (otherlv_27= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isTransient_28_0= 'transient' ) ) | otherlv_29= '!transient' ) (otherlv_30= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isNotUnique_31_0= '!unique' ) ) | otherlv_32= 'unique' ) (otherlv_33= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( (lv_isUnsettable_34_0= 'unsettable' ) ) | otherlv_35= '!unsettable' ) (otherlv_36= ',' )? ) ) ) ) | ({...}? => ( ({...}? => ( ( ( ( (lv_isVolatile_37_0= 'volatile' ) ) | otherlv_38= '!volatile' ) (otherlv_39= ',' )? )? otherlv_40= '}' ) ) ) ) )+";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA404_0 = input.LA(1);
+
+                         
+                        int index404_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA404_0==EOF) ) {s = 1;}
+
+                        else if ( LA404_0 ==61 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 2;}
+
+                        else if ( LA404_0 ==28 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1) ) {s = 3;}
+
+                        else if ( LA404_0 ==64 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1) ) {s = 4;}
+
+                        else if ( LA404_0 ==38 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2) ) {s = 5;}
+
+                        else if ( LA404_0 ==66 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2) ) {s = 6;}
+
+                        else if ( LA404_0 ==44 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3) ) {s = 7;}
+
+                        else if ( LA404_0 ==67 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3) ) {s = 8;}
+
+                        else if ( LA404_0 ==46 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4) ) {s = 9;}
+
+                        else if ( LA404_0 ==79 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4) ) {s = 10;}
+
+                        else if ( LA404_0 ==50 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5) ) {s = 11;}
+
+                        else if ( LA404_0 ==68 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5) ) {s = 12;}
+
+                        else if ( LA404_0 ==69 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6) ) {s = 13;}
+
+                        else if ( LA404_0 ==51 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6) ) {s = 14;}
+
+                        else if ( LA404_0 ==52 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7) ) {s = 15;}
+
+                        else if ( LA404_0 ==70 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7) ) {s = 16;}
+
+                        else if ( LA404_0 ==53 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 17;}
+
+                        else if ( LA404_0 ==71 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 18;}
+
+                        else if ( LA404_0 ==62 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 19;}
+
+                         
+                        input.seek(index404_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 404, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA386_eotS =
+        "\14\uffff";
+    static final String DFA386_eofS =
+        "\1\2\13\uffff";
+    static final String DFA386_minS =
+        "\1\30\13\uffff";
+    static final String DFA386_maxS =
+        "\1\117\13\uffff";
+    static final String DFA386_acceptS =
+        "\1\uffff\1\1\12\2";
+    static final String DFA386_specialS =
+        "\1\0\13\uffff}>";
+    static final String[] DFA386_transitionS = {
+            "\1\1\3\uffff\1\4\11\uffff\1\5\5\uffff\1\6\1\uffff\1\7\3\uffff"+
+            "\1\10\1\11\1\12\1\13\7\uffff\1\3\1\13\1\uffff\1\4\1\uffff\1"+
+            "\5\1\6\1\10\1\11\1\12\1\13\6\uffff\1\1\1\7",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA386_eot = DFA.unpackEncodedString(DFA386_eotS);
+    static final short[] DFA386_eof = DFA.unpackEncodedString(DFA386_eofS);
+    static final char[] DFA386_min = DFA.unpackEncodedStringToUnsignedChars(DFA386_minS);
+    static final char[] DFA386_max = DFA.unpackEncodedStringToUnsignedChars(DFA386_maxS);
+    static final short[] DFA386_accept = DFA.unpackEncodedString(DFA386_acceptS);
+    static final short[] DFA386_special = DFA.unpackEncodedString(DFA386_specialS);
+    static final short[][] DFA386_transition;
+
+    static {
+        int numStates = DFA386_transitionS.length;
+        DFA386_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA386_transition[i] = DFA.unpackEncodedString(DFA386_transitionS[i]);
+        }
+    }
+
+    class DFA386 extends DFA {
+
+        public DFA386(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 386;
+            this.eot = DFA386_eot;
+            this.eof = DFA386_eof;
+            this.min = DFA386_min;
+            this.max = DFA386_max;
+            this.accept = DFA386_accept;
+            this.special = DFA386_special;
+            this.transition = DFA386_transition;
+        }
+        public String getDescription() {
+            return "3755:1: ( ( ( (lv_isComposes_13_0= 'composes' ) ) | otherlv_14= '!composes' ) (otherlv_15= ',' )? )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA386_0 = input.LA(1);
+
+                         
+                        int index386_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA386_0==24||LA386_0==78) ) {s = 1;}
+
+                        else if ( (LA386_0==EOF) ) {s = 2;}
+
+                        else if ( LA386_0 ==61 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 3;}
+
+                        else if ( (LA386_0==28||LA386_0==64) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1) ) {s = 4;}
+
+                        else if ( (LA386_0==38||LA386_0==66) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2) ) {s = 5;}
+
+                        else if ( (LA386_0==44||LA386_0==67) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3) ) {s = 6;}
+
+                        else if ( (LA386_0==46||LA386_0==79) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4) ) {s = 7;}
+
+                        else if ( (LA386_0==50||LA386_0==68) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5) ) {s = 8;}
+
+                        else if ( (LA386_0==51||LA386_0==69) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6) ) {s = 9;}
+
+                        else if ( (LA386_0==52||LA386_0==70) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7) ) {s = 10;}
+
+                        else if ( (LA386_0==53||LA386_0==62||LA386_0==71) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 11;}
+
+                         
+                        input.seek(index386_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 386, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA385_eotS =
+        "\14\uffff";
+    static final String DFA385_eofS =
+        "\1\2\13\uffff";
+    static final String DFA385_minS =
+        "\1\34\13\uffff";
+    static final String DFA385_maxS =
+        "\1\117\13\uffff";
+    static final String DFA385_acceptS =
+        "\1\uffff\1\1\12\2";
+    static final String DFA385_specialS =
+        "\1\0\13\uffff}>";
+    static final String[] DFA385_transitionS = {
+            "\1\4\11\uffff\1\5\5\uffff\1\6\1\uffff\1\7\3\uffff\1\10\1\11"+
+            "\1\12\1\13\6\uffff\1\1\1\3\1\13\1\uffff\1\4\1\uffff\1\5\1\6"+
+            "\1\10\1\11\1\12\1\13\7\uffff\1\7",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA385_eot = DFA.unpackEncodedString(DFA385_eotS);
+    static final short[] DFA385_eof = DFA.unpackEncodedString(DFA385_eofS);
+    static final char[] DFA385_min = DFA.unpackEncodedStringToUnsignedChars(DFA385_minS);
+    static final char[] DFA385_max = DFA.unpackEncodedStringToUnsignedChars(DFA385_maxS);
+    static final short[] DFA385_accept = DFA.unpackEncodedString(DFA385_acceptS);
+    static final short[] DFA385_special = DFA.unpackEncodedString(DFA385_specialS);
+    static final short[][] DFA385_transition;
+
+    static {
+        int numStates = DFA385_transitionS.length;
+        DFA385_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA385_transition[i] = DFA.unpackEncodedString(DFA385_transitionS[i]);
+        }
+    }
+
+    class DFA385 extends DFA {
+
+        public DFA385(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 385;
+            this.eot = DFA385_eot;
+            this.eof = DFA385_eof;
+            this.min = DFA385_min;
+            this.max = DFA385_max;
+            this.accept = DFA385_accept;
+            this.special = DFA385_special;
+            this.transition = DFA385_transition;
+        }
+        public String getDescription() {
+            return "3775:2: (otherlv_15= ',' )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA385_0 = input.LA(1);
+
+                         
+                        int index385_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA385_0==60) ) {s = 1;}
+
+                        else if ( (LA385_0==EOF) ) {s = 2;}
+
+                        else if ( LA385_0 ==61 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 3;}
+
+                        else if ( (LA385_0==28||LA385_0==64) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1) ) {s = 4;}
+
+                        else if ( (LA385_0==38||LA385_0==66) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2) ) {s = 5;}
+
+                        else if ( (LA385_0==44||LA385_0==67) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3) ) {s = 6;}
+
+                        else if ( (LA385_0==46||LA385_0==79) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4) ) {s = 7;}
+
+                        else if ( (LA385_0==50||LA385_0==68) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5) ) {s = 8;}
+
+                        else if ( (LA385_0==51||LA385_0==69) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6) ) {s = 9;}
+
+                        else if ( (LA385_0==52||LA385_0==70) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7) ) {s = 10;}
+
+                        else if ( (LA385_0==53||LA385_0==62||LA385_0==71) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 11;}
+
+                         
+                        input.seek(index385_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 385, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA388_eotS =
+        "\14\uffff";
+    static final String DFA388_eofS =
+        "\1\2\13\uffff";
+    static final String DFA388_minS =
+        "\1\34\13\uffff";
+    static final String DFA388_maxS =
+        "\1\117\13\uffff";
+    static final String DFA388_acceptS =
+        "\1\uffff\1\1\12\2";
+    static final String DFA388_specialS =
+        "\1\0\13\uffff}>";
+    static final String[] DFA388_transitionS = {
+            "\1\4\11\uffff\1\5\5\uffff\1\6\1\uffff\1\7\3\uffff\1\10\1\11"+
+            "\1\12\1\13\6\uffff\1\1\1\3\1\13\1\uffff\1\4\1\uffff\1\5\1\6"+
+            "\1\10\1\11\1\12\1\13\7\uffff\1\7",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA388_eot = DFA.unpackEncodedString(DFA388_eotS);
+    static final short[] DFA388_eof = DFA.unpackEncodedString(DFA388_eofS);
+    static final char[] DFA388_min = DFA.unpackEncodedStringToUnsignedChars(DFA388_minS);
+    static final char[] DFA388_max = DFA.unpackEncodedStringToUnsignedChars(DFA388_maxS);
+    static final short[] DFA388_accept = DFA.unpackEncodedString(DFA388_acceptS);
+    static final short[] DFA388_special = DFA.unpackEncodedString(DFA388_specialS);
+    static final short[][] DFA388_transition;
+
+    static {
+        int numStates = DFA388_transitionS.length;
+        DFA388_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA388_transition[i] = DFA.unpackEncodedString(DFA388_transitionS[i]);
+        }
+    }
+
+    class DFA388 extends DFA {
+
+        public DFA388(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 388;
+            this.eot = DFA388_eot;
+            this.eof = DFA388_eof;
+            this.min = DFA388_min;
+            this.max = DFA388_max;
+            this.accept = DFA388_accept;
+            this.special = DFA388_special;
+            this.transition = DFA388_transition;
+        }
+        public String getDescription() {
+            return "3811:2: (otherlv_18= ',' )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA388_0 = input.LA(1);
+
+                         
+                        int index388_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA388_0==60) ) {s = 1;}
+
+                        else if ( (LA388_0==EOF) ) {s = 2;}
+
+                        else if ( LA388_0 ==61 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 3;}
+
+                        else if ( (LA388_0==28||LA388_0==64) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1) ) {s = 4;}
+
+                        else if ( (LA388_0==38||LA388_0==66) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2) ) {s = 5;}
+
+                        else if ( (LA388_0==44||LA388_0==67) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3) ) {s = 6;}
+
+                        else if ( (LA388_0==46||LA388_0==79) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4) ) {s = 7;}
+
+                        else if ( (LA388_0==50||LA388_0==68) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5) ) {s = 8;}
+
+                        else if ( (LA388_0==51||LA388_0==69) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6) ) {s = 9;}
+
+                        else if ( (LA388_0==52||LA388_0==70) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7) ) {s = 10;}
+
+                        else if ( (LA388_0==53||LA388_0==62||LA388_0==71) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 11;}
+
+                         
+                        input.seek(index388_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 388, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA390_eotS =
+        "\14\uffff";
+    static final String DFA390_eofS =
+        "\1\2\13\uffff";
+    static final String DFA390_minS =
+        "\1\34\13\uffff";
+    static final String DFA390_maxS =
+        "\1\117\13\uffff";
+    static final String DFA390_acceptS =
+        "\1\uffff\1\1\12\2";
+    static final String DFA390_specialS =
+        "\1\0\13\uffff}>";
+    static final String[] DFA390_transitionS = {
+            "\1\4\11\uffff\1\5\5\uffff\1\6\1\uffff\1\7\3\uffff\1\10\1\11"+
+            "\1\12\1\13\6\uffff\1\1\1\3\1\13\1\uffff\1\4\1\uffff\1\5\1\6"+
+            "\1\10\1\11\1\12\1\13\7\uffff\1\7",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA390_eot = DFA.unpackEncodedString(DFA390_eotS);
+    static final short[] DFA390_eof = DFA.unpackEncodedString(DFA390_eofS);
+    static final char[] DFA390_min = DFA.unpackEncodedStringToUnsignedChars(DFA390_minS);
+    static final char[] DFA390_max = DFA.unpackEncodedStringToUnsignedChars(DFA390_maxS);
+    static final short[] DFA390_accept = DFA.unpackEncodedString(DFA390_acceptS);
+    static final short[] DFA390_special = DFA.unpackEncodedString(DFA390_specialS);
+    static final short[][] DFA390_transition;
+
+    static {
+        int numStates = DFA390_transitionS.length;
+        DFA390_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA390_transition[i] = DFA.unpackEncodedString(DFA390_transitionS[i]);
+        }
+    }
+
+    class DFA390 extends DFA {
+
+        public DFA390(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 390;
+            this.eot = DFA390_eot;
+            this.eof = DFA390_eof;
+            this.min = DFA390_min;
+            this.max = DFA390_max;
+            this.accept = DFA390_accept;
+            this.special = DFA390_special;
+            this.transition = DFA390_transition;
+        }
+        public String getDescription() {
+            return "3847:2: (otherlv_21= ',' )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA390_0 = input.LA(1);
+
+                         
+                        int index390_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA390_0==60) ) {s = 1;}
+
+                        else if ( (LA390_0==EOF) ) {s = 2;}
+
+                        else if ( LA390_0 ==61 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 3;}
+
+                        else if ( (LA390_0==28||LA390_0==64) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1) ) {s = 4;}
+
+                        else if ( (LA390_0==38||LA390_0==66) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2) ) {s = 5;}
+
+                        else if ( (LA390_0==44||LA390_0==67) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3) ) {s = 6;}
+
+                        else if ( (LA390_0==46||LA390_0==79) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4) ) {s = 7;}
+
+                        else if ( (LA390_0==50||LA390_0==68) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5) ) {s = 8;}
+
+                        else if ( (LA390_0==51||LA390_0==69) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6) ) {s = 9;}
+
+                        else if ( (LA390_0==52||LA390_0==70) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7) ) {s = 10;}
+
+                        else if ( (LA390_0==53||LA390_0==62||LA390_0==71) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 11;}
+
+                         
+                        input.seek(index390_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 390, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA392_eotS =
+        "\14\uffff";
+    static final String DFA392_eofS =
+        "\1\2\13\uffff";
+    static final String DFA392_minS =
+        "\1\34\13\uffff";
+    static final String DFA392_maxS =
+        "\1\117\13\uffff";
+    static final String DFA392_acceptS =
+        "\1\uffff\1\1\12\2";
+    static final String DFA392_specialS =
+        "\1\0\13\uffff}>";
+    static final String[] DFA392_transitionS = {
+            "\1\4\11\uffff\1\5\5\uffff\1\6\1\uffff\1\7\3\uffff\1\10\1\11"+
+            "\1\12\1\13\6\uffff\1\1\1\3\1\13\1\uffff\1\4\1\uffff\1\5\1\6"+
+            "\1\10\1\11\1\12\1\13\7\uffff\1\7",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA392_eot = DFA.unpackEncodedString(DFA392_eotS);
+    static final short[] DFA392_eof = DFA.unpackEncodedString(DFA392_eofS);
+    static final char[] DFA392_min = DFA.unpackEncodedStringToUnsignedChars(DFA392_minS);
+    static final char[] DFA392_max = DFA.unpackEncodedStringToUnsignedChars(DFA392_maxS);
+    static final short[] DFA392_accept = DFA.unpackEncodedString(DFA392_acceptS);
+    static final short[] DFA392_special = DFA.unpackEncodedString(DFA392_specialS);
+    static final short[][] DFA392_transition;
+
+    static {
+        int numStates = DFA392_transitionS.length;
+        DFA392_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA392_transition[i] = DFA.unpackEncodedString(DFA392_transitionS[i]);
+        }
+    }
+
+    class DFA392 extends DFA {
+
+        public DFA392(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 392;
+            this.eot = DFA392_eot;
+            this.eof = DFA392_eof;
+            this.min = DFA392_min;
+            this.max = DFA392_max;
+            this.accept = DFA392_accept;
+            this.special = DFA392_special;
+            this.transition = DFA392_transition;
+        }
+        public String getDescription() {
+            return "3883:2: (otherlv_24= ',' )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA392_0 = input.LA(1);
+
+                         
+                        int index392_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA392_0==60) ) {s = 1;}
+
+                        else if ( (LA392_0==EOF) ) {s = 2;}
+
+                        else if ( LA392_0 ==61 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 3;}
+
+                        else if ( (LA392_0==28||LA392_0==64) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1) ) {s = 4;}
+
+                        else if ( (LA392_0==38||LA392_0==66) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2) ) {s = 5;}
+
+                        else if ( (LA392_0==44||LA392_0==67) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3) ) {s = 6;}
+
+                        else if ( (LA392_0==46||LA392_0==79) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4) ) {s = 7;}
+
+                        else if ( (LA392_0==50||LA392_0==68) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5) ) {s = 8;}
+
+                        else if ( (LA392_0==51||LA392_0==69) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6) ) {s = 9;}
+
+                        else if ( (LA392_0==52||LA392_0==70) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7) ) {s = 10;}
+
+                        else if ( (LA392_0==53||LA392_0==62||LA392_0==71) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 11;}
+
+                         
+                        input.seek(index392_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 392, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA394_eotS =
+        "\14\uffff";
+    static final String DFA394_eofS =
+        "\1\2\13\uffff";
+    static final String DFA394_minS =
+        "\1\34\13\uffff";
+    static final String DFA394_maxS =
+        "\1\117\13\uffff";
+    static final String DFA394_acceptS =
+        "\1\uffff\1\1\12\2";
+    static final String DFA394_specialS =
+        "\1\0\13\uffff}>";
+    static final String[] DFA394_transitionS = {
+            "\1\4\11\uffff\1\5\5\uffff\1\6\1\uffff\1\7\3\uffff\1\10\1\11"+
+            "\1\12\1\13\6\uffff\1\1\1\3\1\13\1\uffff\1\4\1\uffff\1\5\1\6"+
+            "\1\10\1\11\1\12\1\13\7\uffff\1\7",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA394_eot = DFA.unpackEncodedString(DFA394_eotS);
+    static final short[] DFA394_eof = DFA.unpackEncodedString(DFA394_eofS);
+    static final char[] DFA394_min = DFA.unpackEncodedStringToUnsignedChars(DFA394_minS);
+    static final char[] DFA394_max = DFA.unpackEncodedStringToUnsignedChars(DFA394_maxS);
+    static final short[] DFA394_accept = DFA.unpackEncodedString(DFA394_acceptS);
+    static final short[] DFA394_special = DFA.unpackEncodedString(DFA394_specialS);
+    static final short[][] DFA394_transition;
+
+    static {
+        int numStates = DFA394_transitionS.length;
+        DFA394_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA394_transition[i] = DFA.unpackEncodedString(DFA394_transitionS[i]);
+        }
+    }
+
+    class DFA394 extends DFA {
+
+        public DFA394(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 394;
+            this.eot = DFA394_eot;
+            this.eof = DFA394_eof;
+            this.min = DFA394_min;
+            this.max = DFA394_max;
+            this.accept = DFA394_accept;
+            this.special = DFA394_special;
+            this.transition = DFA394_transition;
+        }
+        public String getDescription() {
+            return "3919:2: (otherlv_27= ',' )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA394_0 = input.LA(1);
+
+                         
+                        int index394_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA394_0==60) ) {s = 1;}
+
+                        else if ( (LA394_0==EOF) ) {s = 2;}
+
+                        else if ( LA394_0 ==61 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 3;}
+
+                        else if ( (LA394_0==28||LA394_0==64) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1) ) {s = 4;}
+
+                        else if ( (LA394_0==38||LA394_0==66) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2) ) {s = 5;}
+
+                        else if ( (LA394_0==44||LA394_0==67) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3) ) {s = 6;}
+
+                        else if ( (LA394_0==46||LA394_0==79) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4) ) {s = 7;}
+
+                        else if ( (LA394_0==50||LA394_0==68) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5) ) {s = 8;}
+
+                        else if ( (LA394_0==51||LA394_0==69) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6) ) {s = 9;}
+
+                        else if ( (LA394_0==52||LA394_0==70) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7) ) {s = 10;}
+
+                        else if ( (LA394_0==53||LA394_0==62||LA394_0==71) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 11;}
+
+                         
+                        input.seek(index394_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 394, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA396_eotS =
+        "\14\uffff";
+    static final String DFA396_eofS =
+        "\1\2\13\uffff";
+    static final String DFA396_minS =
+        "\1\34\13\uffff";
+    static final String DFA396_maxS =
+        "\1\117\13\uffff";
+    static final String DFA396_acceptS =
+        "\1\uffff\1\1\12\2";
+    static final String DFA396_specialS =
+        "\1\0\13\uffff}>";
+    static final String[] DFA396_transitionS = {
+            "\1\4\11\uffff\1\5\5\uffff\1\6\1\uffff\1\7\3\uffff\1\10\1\11"+
+            "\1\12\1\13\6\uffff\1\1\1\3\1\13\1\uffff\1\4\1\uffff\1\5\1\6"+
+            "\1\10\1\11\1\12\1\13\7\uffff\1\7",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA396_eot = DFA.unpackEncodedString(DFA396_eotS);
+    static final short[] DFA396_eof = DFA.unpackEncodedString(DFA396_eofS);
+    static final char[] DFA396_min = DFA.unpackEncodedStringToUnsignedChars(DFA396_minS);
+    static final char[] DFA396_max = DFA.unpackEncodedStringToUnsignedChars(DFA396_maxS);
+    static final short[] DFA396_accept = DFA.unpackEncodedString(DFA396_acceptS);
+    static final short[] DFA396_special = DFA.unpackEncodedString(DFA396_specialS);
+    static final short[][] DFA396_transition;
+
+    static {
+        int numStates = DFA396_transitionS.length;
+        DFA396_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA396_transition[i] = DFA.unpackEncodedString(DFA396_transitionS[i]);
+        }
+    }
+
+    class DFA396 extends DFA {
+
+        public DFA396(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 396;
+            this.eot = DFA396_eot;
+            this.eof = DFA396_eof;
+            this.min = DFA396_min;
+            this.max = DFA396_max;
+            this.accept = DFA396_accept;
+            this.special = DFA396_special;
+            this.transition = DFA396_transition;
+        }
+        public String getDescription() {
+            return "3955:2: (otherlv_30= ',' )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA396_0 = input.LA(1);
+
+                         
+                        int index396_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA396_0==60) ) {s = 1;}
+
+                        else if ( (LA396_0==EOF) ) {s = 2;}
+
+                        else if ( LA396_0 ==61 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 3;}
+
+                        else if ( (LA396_0==28||LA396_0==64) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1) ) {s = 4;}
+
+                        else if ( (LA396_0==38||LA396_0==66) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2) ) {s = 5;}
+
+                        else if ( (LA396_0==44||LA396_0==67) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3) ) {s = 6;}
+
+                        else if ( (LA396_0==46||LA396_0==79) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4) ) {s = 7;}
+
+                        else if ( (LA396_0==50||LA396_0==68) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5) ) {s = 8;}
+
+                        else if ( (LA396_0==51||LA396_0==69) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6) ) {s = 9;}
+
+                        else if ( (LA396_0==52||LA396_0==70) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7) ) {s = 10;}
+
+                        else if ( (LA396_0==53||LA396_0==62||LA396_0==71) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 11;}
+
+                         
+                        input.seek(index396_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 396, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA398_eotS =
+        "\14\uffff";
+    static final String DFA398_eofS =
+        "\1\2\13\uffff";
+    static final String DFA398_minS =
+        "\1\34\13\uffff";
+    static final String DFA398_maxS =
+        "\1\117\13\uffff";
+    static final String DFA398_acceptS =
+        "\1\uffff\1\1\12\2";
+    static final String DFA398_specialS =
+        "\1\0\13\uffff}>";
+    static final String[] DFA398_transitionS = {
+            "\1\4\11\uffff\1\5\5\uffff\1\6\1\uffff\1\7\3\uffff\1\10\1\11"+
+            "\1\12\1\13\6\uffff\1\1\1\3\1\13\1\uffff\1\4\1\uffff\1\5\1\6"+
+            "\1\10\1\11\1\12\1\13\7\uffff\1\7",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA398_eot = DFA.unpackEncodedString(DFA398_eotS);
+    static final short[] DFA398_eof = DFA.unpackEncodedString(DFA398_eofS);
+    static final char[] DFA398_min = DFA.unpackEncodedStringToUnsignedChars(DFA398_minS);
+    static final char[] DFA398_max = DFA.unpackEncodedStringToUnsignedChars(DFA398_maxS);
+    static final short[] DFA398_accept = DFA.unpackEncodedString(DFA398_acceptS);
+    static final short[] DFA398_special = DFA.unpackEncodedString(DFA398_specialS);
+    static final short[][] DFA398_transition;
+
+    static {
+        int numStates = DFA398_transitionS.length;
+        DFA398_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA398_transition[i] = DFA.unpackEncodedString(DFA398_transitionS[i]);
+        }
+    }
+
+    class DFA398 extends DFA {
+
+        public DFA398(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 398;
+            this.eot = DFA398_eot;
+            this.eof = DFA398_eof;
+            this.min = DFA398_min;
+            this.max = DFA398_max;
+            this.accept = DFA398_accept;
+            this.special = DFA398_special;
+            this.transition = DFA398_transition;
+        }
+        public String getDescription() {
+            return "3991:2: (otherlv_33= ',' )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA398_0 = input.LA(1);
+
+                         
+                        int index398_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA398_0==60) ) {s = 1;}
+
+                        else if ( (LA398_0==EOF) ) {s = 2;}
+
+                        else if ( LA398_0 ==61 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 3;}
+
+                        else if ( (LA398_0==28||LA398_0==64) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1) ) {s = 4;}
+
+                        else if ( (LA398_0==38||LA398_0==66) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2) ) {s = 5;}
+
+                        else if ( (LA398_0==44||LA398_0==67) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3) ) {s = 6;}
+
+                        else if ( (LA398_0==46||LA398_0==79) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4) ) {s = 7;}
+
+                        else if ( (LA398_0==50||LA398_0==68) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5) ) {s = 8;}
+
+                        else if ( (LA398_0==51||LA398_0==69) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6) ) {s = 9;}
+
+                        else if ( (LA398_0==52||LA398_0==70) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7) ) {s = 10;}
+
+                        else if ( (LA398_0==53||LA398_0==62||LA398_0==71) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 11;}
+
+                         
+                        input.seek(index398_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 398, _s, input);
+            error(nvae);
+            throw nvae;
+        }
+    }
+    static final String DFA400_eotS =
+        "\14\uffff";
+    static final String DFA400_eofS =
+        "\1\2\13\uffff";
+    static final String DFA400_minS =
+        "\1\34\13\uffff";
+    static final String DFA400_maxS =
+        "\1\117\13\uffff";
+    static final String DFA400_acceptS =
+        "\1\uffff\1\1\12\2";
+    static final String DFA400_specialS =
+        "\1\0\13\uffff}>";
+    static final String[] DFA400_transitionS = {
+            "\1\4\11\uffff\1\5\5\uffff\1\6\1\uffff\1\7\3\uffff\1\10\1\11"+
+            "\1\12\1\13\6\uffff\1\1\1\3\1\13\1\uffff\1\4\1\uffff\1\5\1\6"+
+            "\1\10\1\11\1\12\1\13\7\uffff\1\7",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+    };
+
+    static final short[] DFA400_eot = DFA.unpackEncodedString(DFA400_eotS);
+    static final short[] DFA400_eof = DFA.unpackEncodedString(DFA400_eofS);
+    static final char[] DFA400_min = DFA.unpackEncodedStringToUnsignedChars(DFA400_minS);
+    static final char[] DFA400_max = DFA.unpackEncodedStringToUnsignedChars(DFA400_maxS);
+    static final short[] DFA400_accept = DFA.unpackEncodedString(DFA400_acceptS);
+    static final short[] DFA400_special = DFA.unpackEncodedString(DFA400_specialS);
+    static final short[][] DFA400_transition;
+
+    static {
+        int numStates = DFA400_transitionS.length;
+        DFA400_transition = new short[numStates][];
+        for (int i=0; i<numStates; i++) {
+            DFA400_transition[i] = DFA.unpackEncodedString(DFA400_transitionS[i]);
+        }
+    }
+
+    class DFA400 extends DFA {
+
+        public DFA400(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 400;
+            this.eot = DFA400_eot;
+            this.eof = DFA400_eof;
+            this.min = DFA400_min;
+            this.max = DFA400_max;
+            this.accept = DFA400_accept;
+            this.special = DFA400_special;
+            this.transition = DFA400_transition;
+        }
+        public String getDescription() {
+            return "4027:2: (otherlv_36= ',' )?";
+        }
+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
+            TokenStream input = (TokenStream)_input;
+        	int _s = s;
+            switch ( s ) {
+                    case 0 : 
+                        int LA400_0 = input.LA(1);
+
+                         
+                        int index400_0 = input.index();
+                        input.rewind();
+                        s = -1;
+                        if ( (LA400_0==60) ) {s = 1;}
+
+                        else if ( (LA400_0==EOF) ) {s = 2;}
+
+                        else if ( LA400_0 ==61 && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 0) ) {s = 3;}
+
+                        else if ( (LA400_0==28||LA400_0==64) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 1) ) {s = 4;}
+
+                        else if ( (LA400_0==38||LA400_0==66) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 2) ) {s = 5;}
+
+                        else if ( (LA400_0==44||LA400_0==67) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 3) ) {s = 6;}
+
+                        else if ( (LA400_0==46||LA400_0==79) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 4) ) {s = 7;}
+
+                        else if ( (LA400_0==50||LA400_0==68) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 5) ) {s = 8;}
+
+                        else if ( (LA400_0==51||LA400_0==69) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 6) ) {s = 9;}
+
+                        else if ( (LA400_0==52||LA400_0==70) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 7) ) {s = 10;}
+
+                        else if ( (LA400_0==53||LA400_0==62||LA400_0==71) && getUnorderedGroupHelper().canSelect(grammarAccess.getReferenceCSAccess().getUnorderedGroup_6(), 8) ) {s = 11;}
+
+                         
+                        input.seek(index400_0);
+                        if ( s>=0 ) return s;
+                        break;
+            }
+            if (state.backtracking>0) {state.failed=true; return -1;}
+            NoViableAltException nvae =
+                new NoViableAltException(getDescription(), 400, _s, input);
+            error(nvae);
+            throw nvae;
         }
     }
  
@@ -30084,780 +40056,950 @@
         public static final BitSet FOLLOW_ruleAnnotationCS_in_ruleAnnotationElementCS2290 = new BitSet(new long[]{0x0000000000000002L});
         public static final BitSet FOLLOW_ruleDocumentationCS_in_ruleAnnotationElementCS2320 = new BitSet(new long[]{0x0000000000000002L});
         public static final BitSet FOLLOW_ruleSysMLCS_in_ruleAnnotationElementCS2350 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAttributeCS_in_entryRuleAttributeCS2385 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleAttributeCS2395 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_47_in_ruleAttributeCS2440 = new BitSet(new long[]{0x0000000004100000L});
-        public static final BitSet FOLLOW_26_in_ruleAttributeCS2471 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_26_in_ruleAttributeCS2511 = new BitSet(new long[]{0x0000800000100000L});
-        public static final BitSet FOLLOW_47_in_ruleAttributeCS2542 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_20_in_ruleAttributeCS2571 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleAttributeCS2592 = new BitSet(new long[]{0xA600000000000000L});
-        public static final BitSet FOLLOW_57_in_ruleAttributeCS2605 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
-        public static final BitSet FOLLOW_ruleTypedMultiplicityRefCS_in_ruleAttributeCS2626 = new BitSet(new long[]{0xA400000000000000L});
-        public static final BitSet FOLLOW_63_in_ruleAttributeCS2641 = new BitSet(new long[]{0x0000000000000020L});
-        public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleAttributeCS2658 = new BitSet(new long[]{0x2400000000000000L});
-        public static final BitSet FOLLOW_61_in_ruleAttributeCS2678 = new BitSet(new long[]{0x003C104090000000L,0x00000000000000FFL});
-        public static final BitSet FOLLOW_28_in_ruleAttributeCS2698 = new BitSet(new long[]{0x503C104090000000L,0x00000000000000FFL});
-        public static final BitSet FOLLOW_64_in_ruleAttributeCS2735 = new BitSet(new long[]{0x503C104090000000L,0x00000000000000FFL});
-        public static final BitSet FOLLOW_31_in_ruleAttributeCS2772 = new BitSet(new long[]{0x503C104090000000L,0x00000000000000FFL});
-        public static final BitSet FOLLOW_65_in_ruleAttributeCS2809 = new BitSet(new long[]{0x503C104090000000L,0x00000000000000FFL});
-        public static final BitSet FOLLOW_38_in_ruleAttributeCS2846 = new BitSet(new long[]{0x503C104090000000L,0x00000000000000FFL});
-        public static final BitSet FOLLOW_66_in_ruleAttributeCS2883 = new BitSet(new long[]{0x503C104090000000L,0x00000000000000FFL});
-        public static final BitSet FOLLOW_44_in_ruleAttributeCS2920 = new BitSet(new long[]{0x503C104090000000L,0x00000000000000FFL});
-        public static final BitSet FOLLOW_67_in_ruleAttributeCS2957 = new BitSet(new long[]{0x503C104090000000L,0x00000000000000FFL});
-        public static final BitSet FOLLOW_50_in_ruleAttributeCS2994 = new BitSet(new long[]{0x503C104090000000L,0x00000000000000FFL});
-        public static final BitSet FOLLOW_68_in_ruleAttributeCS3031 = new BitSet(new long[]{0x503C104090000000L,0x00000000000000FFL});
-        public static final BitSet FOLLOW_51_in_ruleAttributeCS3068 = new BitSet(new long[]{0x503C104090000000L,0x00000000000000FFL});
-        public static final BitSet FOLLOW_69_in_ruleAttributeCS3105 = new BitSet(new long[]{0x503C104090000000L,0x00000000000000FFL});
-        public static final BitSet FOLLOW_52_in_ruleAttributeCS3142 = new BitSet(new long[]{0x503C104090000000L,0x00000000000000FFL});
-        public static final BitSet FOLLOW_70_in_ruleAttributeCS3179 = new BitSet(new long[]{0x503C104090000000L,0x00000000000000FFL});
-        public static final BitSet FOLLOW_53_in_ruleAttributeCS3216 = new BitSet(new long[]{0x503C104090000000L,0x00000000000000FFL});
-        public static final BitSet FOLLOW_71_in_ruleAttributeCS3253 = new BitSet(new long[]{0x503C104090000000L,0x00000000000000FFL});
-        public static final BitSet FOLLOW_60_in_ruleAttributeCS3280 = new BitSet(new long[]{0x403C104090000000L,0x00000000000000FFL});
-        public static final BitSet FOLLOW_62_in_ruleAttributeCS3296 = new BitSet(new long[]{0x2400000000000000L});
-        public static final BitSet FOLLOW_61_in_ruleAttributeCS3312 = new BitSet(new long[]{0x4800000208000000L,0x0000000000010400L});
-        public static final BitSet FOLLOW_ruleAnnotationElementCS_in_ruleAttributeCS3334 = new BitSet(new long[]{0x4800000208000000L,0x0000000000010400L});
-        public static final BitSet FOLLOW_27_in_ruleAttributeCS3353 = new BitSet(new long[]{0x0A7FFFFFFFFA0300L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleAttributeCS3373 = new BitSet(new long[]{0x0200000000000000L});
-        public static final BitSet FOLLOW_57_in_ruleAttributeCS3386 = new BitSet(new long[]{0x0CFFFFFFFFFE03B0L,0x40F9FFF400190D00L,0x0000000000000018L});
-        public static final BitSet FOLLOW_ruleSpecificationCS_in_ruleAttributeCS3407 = new BitSet(new long[]{0x0400000000000000L});
-        public static final BitSet FOLLOW_58_in_ruleAttributeCS3420 = new BitSet(new long[]{0x4800000208000000L,0x0000000000010400L});
-        public static final BitSet FOLLOW_33_in_ruleAttributeCS3440 = new BitSet(new long[]{0x0A7FFFFFFFFA0300L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleAttributeCS3460 = new BitSet(new long[]{0x0200000000000000L});
-        public static final BitSet FOLLOW_57_in_ruleAttributeCS3473 = new BitSet(new long[]{0x0CFFFFFFFFFE03B0L,0x40F9FFF400190D00L,0x0000000000000018L});
-        public static final BitSet FOLLOW_ruleSpecificationCS_in_ruleAttributeCS3494 = new BitSet(new long[]{0x0400000000000000L});
-        public static final BitSet FOLLOW_58_in_ruleAttributeCS3507 = new BitSet(new long[]{0x4800000208000000L,0x0000000000010400L});
-        public static final BitSet FOLLOW_62_in_ruleAttributeCS3522 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_58_in_ruleAttributeCS3541 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleClassCS_in_entryRuleClassCS3578 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleClassCS3588 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStructuredClassCS_in_ruleClassCS3638 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleDataTypeCS_in_ruleClassCS3668 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEnumerationCS_in_ruleClassCS3698 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleDataTypeCS_in_entryRuleDataTypeCS3733 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleDataTypeCS3743 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_42_in_ruleDataTypeCS3786 = new BitSet(new long[]{0x0000000002000000L});
-        public static final BitSet FOLLOW_25_in_ruleDataTypeCS3812 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleDataTypeCS3833 = new BitSet(new long[]{0x2680000000000000L,0x0000000000020000L});
-        public static final BitSet FOLLOW_ruleTemplateSignatureCS_in_ruleDataTypeCS3854 = new BitSet(new long[]{0x2600000000000000L});
-        public static final BitSet FOLLOW_57_in_ruleDataTypeCS3868 = new BitSet(new long[]{0x0000000000000020L});
-        public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleDataTypeCS3885 = new BitSet(new long[]{0x2400000000000000L});
-        public static final BitSet FOLLOW_61_in_ruleDataTypeCS3905 = new BitSet(new long[]{0x4000000000000000L,0x0000000000000300L});
-        public static final BitSet FOLLOW_72_in_ruleDataTypeCS3924 = new BitSet(new long[]{0x4000000000000000L});
-        public static final BitSet FOLLOW_73_in_ruleDataTypeCS3955 = new BitSet(new long[]{0x4000000000000000L});
-        public static final BitSet FOLLOW_62_in_ruleDataTypeCS3969 = new BitSet(new long[]{0x2400000000000000L});
-        public static final BitSet FOLLOW_61_in_ruleDataTypeCS3985 = new BitSet(new long[]{0x4840000000400000L,0x0000000000010400L});
-        public static final BitSet FOLLOW_ruleAnnotationElementCS_in_ruleDataTypeCS4007 = new BitSet(new long[]{0x4840000000400000L,0x0000000000010400L});
-        public static final BitSet FOLLOW_ruleInvariantConstraintCS_in_ruleDataTypeCS4034 = new BitSet(new long[]{0x4840000000400000L,0x0000000000010400L});
-        public static final BitSet FOLLOW_62_in_ruleDataTypeCS4048 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_58_in_ruleDataTypeCS4067 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleDetailCS_in_entryRuleDetailCS4104 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleDetailCS4114 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleDetailCS4162 = new BitSet(new long[]{0x8000000000000000L});
-        public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleDetailCS4177 = new BitSet(new long[]{0x8000000000000000L});
-        public static final BitSet FOLLOW_63_in_ruleDetailCS4197 = new BitSet(new long[]{0x0000000000000062L});
-        public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleDetailCS4216 = new BitSet(new long[]{0x0000000000000062L});
-        public static final BitSet FOLLOW_RULE_ML_SINGLE_QUOTED_STRING_in_ruleDetailCS4236 = new BitSet(new long[]{0x0000000000000062L});
-        public static final BitSet FOLLOW_ruleDocumentationCS_in_entryRuleDocumentationCS4281 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleDocumentationCS4291 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_74_in_ruleDocumentationCS4340 = new BitSet(new long[]{0x0480000000000020L});
-        public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleDocumentationCS4357 = new BitSet(new long[]{0x0480000000000000L});
-        public static final BitSet FOLLOW_55_in_ruleDocumentationCS4376 = new BitSet(new long[]{0x087FFFFFFFFA0320L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleDetailCS_in_ruleDocumentationCS4397 = new BitSet(new long[]{0x1100000000000000L});
-        public static final BitSet FOLLOW_60_in_ruleDocumentationCS4410 = new BitSet(new long[]{0x087FFFFFFFFA0320L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleDetailCS_in_ruleDocumentationCS4431 = new BitSet(new long[]{0x1100000000000000L});
-        public static final BitSet FOLLOW_56_in_ruleDocumentationCS4445 = new BitSet(new long[]{0x0400000000000000L});
-        public static final BitSet FOLLOW_58_in_ruleDocumentationCS4459 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEnumerationCS_in_entryRuleEnumerationCS4495 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleEnumerationCS4505 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_29_in_ruleEnumerationCS4542 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleEnumerationCS4563 = new BitSet(new long[]{0x2680000000000000L,0x0000000000020000L});
-        public static final BitSet FOLLOW_ruleTemplateSignatureCS_in_ruleEnumerationCS4584 = new BitSet(new long[]{0x2600000000000000L});
-        public static final BitSet FOLLOW_57_in_ruleEnumerationCS4598 = new BitSet(new long[]{0x0000000000000020L});
-        public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleEnumerationCS4615 = new BitSet(new long[]{0x2400000000000000L});
-        public static final BitSet FOLLOW_61_in_ruleEnumerationCS4635 = new BitSet(new long[]{0x4000000000000000L,0x0000000000000300L});
-        public static final BitSet FOLLOW_72_in_ruleEnumerationCS4654 = new BitSet(new long[]{0x4000000000000000L});
-        public static final BitSet FOLLOW_73_in_ruleEnumerationCS4685 = new BitSet(new long[]{0x4000000000000000L});
-        public static final BitSet FOLLOW_62_in_ruleEnumerationCS4699 = new BitSet(new long[]{0x2400000000000000L});
-        public static final BitSet FOLLOW_61_in_ruleEnumerationCS4715 = new BitSet(new long[]{0x487FFFFFFFFA0300L,0x0000000000010C00L});
-        public static final BitSet FOLLOW_ruleAnnotationElementCS_in_ruleEnumerationCS4737 = new BitSet(new long[]{0x487FFFFFFFFA0300L,0x0000000000010C00L});
-        public static final BitSet FOLLOW_ruleEnumerationLiteralCS_in_ruleEnumerationCS4764 = new BitSet(new long[]{0x487FFFFFFFFA0300L,0x0000000000010C00L});
-        public static final BitSet FOLLOW_ruleInvariantConstraintCS_in_ruleEnumerationCS4791 = new BitSet(new long[]{0x487FFFFFFFFA0300L,0x0000000000010C00L});
-        public static final BitSet FOLLOW_62_in_ruleEnumerationCS4805 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_58_in_ruleEnumerationCS4824 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEnumerationLiteralCS_in_entryRuleEnumerationLiteralCS4861 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleEnumerationLiteralCS4871 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_75_in_ruleEnumerationLiteralCS4910 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleEnumerationLiteralCS4931 = new BitSet(new long[]{0xA400000000000000L});
-        public static final BitSet FOLLOW_ruleEnumerationLiteralName_in_ruleEnumerationLiteralCS4959 = new BitSet(new long[]{0xA400000000000000L});
-        public static final BitSet FOLLOW_63_in_ruleEnumerationLiteralCS4973 = new BitSet(new long[]{0x0000000000040010L});
-        public static final BitSet FOLLOW_ruleSIGNED_in_ruleEnumerationLiteralCS4994 = new BitSet(new long[]{0x2400000000000000L});
-        public static final BitSet FOLLOW_61_in_ruleEnumerationLiteralCS5010 = new BitSet(new long[]{0x4800000000000000L,0x0000000000010400L});
-        public static final BitSet FOLLOW_ruleAnnotationElementCS_in_ruleEnumerationLiteralCS5031 = new BitSet(new long[]{0x4800000000000000L,0x0000000000010400L});
-        public static final BitSet FOLLOW_62_in_ruleEnumerationLiteralCS5044 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_58_in_ruleEnumerationLiteralCS5063 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleImportCS_in_entryRuleImportCS5100 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleImportCS5110 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_32_in_ruleImportCS5147 = new BitSet(new long[]{0x087FFFFFFFFA0320L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleImportCS5169 = new BitSet(new long[]{0x0200000000000000L});
-        public static final BitSet FOLLOW_57_in_ruleImportCS5181 = new BitSet(new long[]{0x087FFFFFFFFA0320L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleURIPathNameCS_in_ruleImportCS5204 = new BitSet(new long[]{0x0400000000000000L,0x0000000000001000L});
-        public static final BitSet FOLLOW_76_in_ruleImportCS5222 = new BitSet(new long[]{0x0400000000000000L});
-        public static final BitSet FOLLOW_58_in_ruleImportCS5248 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleLibraryCS_in_entryRuleLibraryCS5284 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleLibraryCS5294 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_36_in_ruleLibraryCS5331 = new BitSet(new long[]{0x087FFFFFFFFA0320L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleLibraryCS5353 = new BitSet(new long[]{0x0200000000000000L});
-        public static final BitSet FOLLOW_57_in_ruleLibraryCS5365 = new BitSet(new long[]{0x087FFFFFFFFA0320L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleURI_in_ruleLibraryCS5394 = new BitSet(new long[]{0x0400000000000000L});
-        public static final BitSet FOLLOW_58_in_ruleLibraryCS5406 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleModelElementCS_in_entryRuleModelElementCS5442 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleModelElementCS5452 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleClassCS_in_ruleModelElementCS5502 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEnumerationLiteralCS_in_ruleModelElementCS5532 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleOperationCS_in_ruleModelElementCS5562 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePackageCS_in_ruleModelElementCS5592 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStructuralFeatureCS_in_ruleModelElementCS5622 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleModelElementRefCS_in_entryRuleModelElementRefCS5657 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleModelElementRefCS5667 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_45_in_ruleModelElementRefCS5704 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
-        public static final BitSet FOLLOW_rulePathNameCS_in_ruleModelElementRefCS5725 = new BitSet(new long[]{0x0400000000000000L});
-        public static final BitSet FOLLOW_58_in_ruleModelElementRefCS5737 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleOperationCS_in_entryRuleOperationCS5773 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleOperationCS5783 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_47_in_ruleOperationCS5828 = new BitSet(new long[]{0x0000002004000000L});
-        public static final BitSet FOLLOW_26_in_ruleOperationCS5859 = new BitSet(new long[]{0x0000002000000000L});
-        public static final BitSet FOLLOW_26_in_ruleOperationCS5899 = new BitSet(new long[]{0x0000802000000000L});
-        public static final BitSet FOLLOW_47_in_ruleOperationCS5930 = new BitSet(new long[]{0x0000002000000000L});
-        public static final BitSet FOLLOW_37_in_ruleOperationCS5959 = new BitSet(new long[]{0x08FFFFFFFFFA0300L,0x0000000000030D00L});
-        public static final BitSet FOLLOW_ruleTemplateSignatureCS_in_ruleOperationCS5980 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleOperationCS6002 = new BitSet(new long[]{0x0080000000000000L});
-        public static final BitSet FOLLOW_55_in_ruleOperationCS6014 = new BitSet(new long[]{0x097FFFFFFFFA0300L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleParameterCS_in_ruleOperationCS6036 = new BitSet(new long[]{0x1100000000000000L});
-        public static final BitSet FOLLOW_60_in_ruleOperationCS6049 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleParameterCS_in_ruleOperationCS6070 = new BitSet(new long[]{0x1100000000000000L});
-        public static final BitSet FOLLOW_56_in_ruleOperationCS6086 = new BitSet(new long[]{0x2602000000000000L});
-        public static final BitSet FOLLOW_57_in_ruleOperationCS6099 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
-        public static final BitSet FOLLOW_ruleTypedMultiplicityRefCS_in_ruleOperationCS6120 = new BitSet(new long[]{0x2402000000000000L});
-        public static final BitSet FOLLOW_49_in_ruleOperationCS6135 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
-        public static final BitSet FOLLOW_ruleTypedRefCS_in_ruleOperationCS6156 = new BitSet(new long[]{0x3400000000000000L});
-        public static final BitSet FOLLOW_60_in_ruleOperationCS6169 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
-        public static final BitSet FOLLOW_ruleTypedRefCS_in_ruleOperationCS6190 = new BitSet(new long[]{0x3400000000000000L});
-        public static final BitSet FOLLOW_61_in_ruleOperationCS6207 = new BitSet(new long[]{0x0008004010000000L,0x0000000000000025L});
-        public static final BitSet FOLLOW_28_in_ruleOperationCS6227 = new BitSet(new long[]{0x5008004010000000L,0x0000000000000025L});
-        public static final BitSet FOLLOW_64_in_ruleOperationCS6264 = new BitSet(new long[]{0x5008004010000000L,0x0000000000000025L});
-        public static final BitSet FOLLOW_38_in_ruleOperationCS6301 = new BitSet(new long[]{0x5008004010000000L,0x0000000000000025L});
-        public static final BitSet FOLLOW_66_in_ruleOperationCS6338 = new BitSet(new long[]{0x5008004010000000L,0x0000000000000025L});
-        public static final BitSet FOLLOW_51_in_ruleOperationCS6375 = new BitSet(new long[]{0x5008004010000000L,0x0000000000000025L});
-        public static final BitSet FOLLOW_69_in_ruleOperationCS6412 = new BitSet(new long[]{0x5008004010000000L,0x0000000000000025L});
-        public static final BitSet FOLLOW_60_in_ruleOperationCS6439 = new BitSet(new long[]{0x4008004010000000L,0x0000000000000025L});
-        public static final BitSet FOLLOW_62_in_ruleOperationCS6455 = new BitSet(new long[]{0x2400000000000000L});
-        public static final BitSet FOLLOW_61_in_ruleOperationCS6471 = new BitSet(new long[]{0x4800030000200000L,0x0000000000010400L});
-        public static final BitSet FOLLOW_ruleAnnotationElementCS_in_ruleOperationCS6493 = new BitSet(new long[]{0x4800030000200000L,0x0000000000010400L});
-        public static final BitSet FOLLOW_rulePreconditionConstraintCS_in_ruleOperationCS6520 = new BitSet(new long[]{0x4800030000200000L,0x0000000000010400L});
-        public static final BitSet FOLLOW_21_in_ruleOperationCS6539 = new BitSet(new long[]{0x0A7FFFFFFFFA0300L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleOperationCS6559 = new BitSet(new long[]{0x0200000000000000L});
-        public static final BitSet FOLLOW_57_in_ruleOperationCS6572 = new BitSet(new long[]{0x0CFFFFFFFFFE03B0L,0x40F9FFF400190D00L,0x0000000000000018L});
-        public static final BitSet FOLLOW_ruleSpecificationCS_in_ruleOperationCS6593 = new BitSet(new long[]{0x0400000000000000L});
-        public static final BitSet FOLLOW_58_in_ruleOperationCS6606 = new BitSet(new long[]{0x4800030000200000L,0x0000000000010400L});
-        public static final BitSet FOLLOW_rulePostconditionConstraintCS_in_ruleOperationCS6634 = new BitSet(new long[]{0x4800030000200000L,0x0000000000010400L});
-        public static final BitSet FOLLOW_62_in_ruleOperationCS6648 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_58_in_ruleOperationCS6667 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePackageCS_in_entryRulePackageCS6704 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRulePackageCS6714 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_39_in_rulePackageCS6751 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rulePackageCS6772 = new BitSet(new long[]{0xA600000000000000L});
-        public static final BitSet FOLLOW_57_in_rulePackageCS6785 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rulePackageCS6806 = new BitSet(new long[]{0xA400000000000000L});
-        public static final BitSet FOLLOW_63_in_rulePackageCS6821 = new BitSet(new long[]{0x087FFFFFFFFA0320L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleURI_in_rulePackageCS6842 = new BitSet(new long[]{0x2400000000000000L});
-        public static final BitSet FOLLOW_61_in_rulePackageCS6858 = new BitSet(new long[]{0x4800048022880000L,0x0000000000010400L});
-        public static final BitSet FOLLOW_ruleAnnotationElementCS_in_rulePackageCS6880 = new BitSet(new long[]{0x4800048022880000L,0x0000000000010400L});
-        public static final BitSet FOLLOW_rulePackageCS_in_rulePackageCS6907 = new BitSet(new long[]{0x4800048022880000L,0x0000000000010400L});
-        public static final BitSet FOLLOW_ruleClassCS_in_rulePackageCS6934 = new BitSet(new long[]{0x4800048022880000L,0x0000000000010400L});
-        public static final BitSet FOLLOW_62_in_rulePackageCS6948 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_58_in_rulePackageCS6967 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleParameterCS_in_entryRuleParameterCS7004 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleParameterCS7014 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleParameterCS7060 = new BitSet(new long[]{0x2200000000000002L});
-        public static final BitSet FOLLOW_57_in_ruleParameterCS7073 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
-        public static final BitSet FOLLOW_ruleTypedMultiplicityRefCS_in_ruleParameterCS7094 = new BitSet(new long[]{0x2000000000000002L});
-        public static final BitSet FOLLOW_61_in_ruleParameterCS7109 = new BitSet(new long[]{0x0008004000000000L,0x0000000000000024L});
-        public static final BitSet FOLLOW_38_in_ruleParameterCS7129 = new BitSet(new long[]{0x5008004000000000L,0x0000000000000024L});
-        public static final BitSet FOLLOW_66_in_ruleParameterCS7166 = new BitSet(new long[]{0x5008004000000000L,0x0000000000000024L});
-        public static final BitSet FOLLOW_51_in_ruleParameterCS7203 = new BitSet(new long[]{0x5008004000000000L,0x0000000000000024L});
-        public static final BitSet FOLLOW_69_in_ruleParameterCS7240 = new BitSet(new long[]{0x5008004000000000L,0x0000000000000024L});
-        public static final BitSet FOLLOW_60_in_ruleParameterCS7267 = new BitSet(new long[]{0x4008004000000000L,0x0000000000000024L});
-        public static final BitSet FOLLOW_62_in_ruleParameterCS7283 = new BitSet(new long[]{0x2000000000000002L});
-        public static final BitSet FOLLOW_61_in_ruleParameterCS7298 = new BitSet(new long[]{0x4800000000000000L,0x0000000000010400L});
-        public static final BitSet FOLLOW_ruleAnnotationElementCS_in_ruleParameterCS7319 = new BitSet(new long[]{0x4800000000000000L,0x0000000000010400L});
-        public static final BitSet FOLLOW_62_in_ruleParameterCS7332 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleReferenceCS_in_entryRuleReferenceCS7370 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleReferenceCS7380 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_47_in_ruleReferenceCS7425 = new BitSet(new long[]{0x0000080004000000L});
-        public static final BitSet FOLLOW_26_in_ruleReferenceCS7456 = new BitSet(new long[]{0x0000080000000000L});
-        public static final BitSet FOLLOW_26_in_ruleReferenceCS7496 = new BitSet(new long[]{0x0000880000000000L});
-        public static final BitSet FOLLOW_47_in_ruleReferenceCS7527 = new BitSet(new long[]{0x0000080000000000L});
-        public static final BitSet FOLLOW_43_in_ruleReferenceCS7556 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleReferenceCS7577 = new BitSet(new long[]{0xA600000000000000L,0x0000000000002000L});
-        public static final BitSet FOLLOW_77_in_ruleReferenceCS7590 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleReferenceCS7617 = new BitSet(new long[]{0xA600000000000000L});
-        public static final BitSet FOLLOW_57_in_ruleReferenceCS7632 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
-        public static final BitSet FOLLOW_ruleTypedMultiplicityRefCS_in_ruleReferenceCS7653 = new BitSet(new long[]{0xA400000000000000L});
-        public static final BitSet FOLLOW_63_in_ruleReferenceCS7668 = new BitSet(new long[]{0x0000000000000020L});
-        public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleReferenceCS7685 = new BitSet(new long[]{0x2400000000000000L});
-        public static final BitSet FOLLOW_61_in_ruleReferenceCS7705 = new BitSet(new long[]{0x003C504011000000L,0x000000000000C0FDL});
-        public static final BitSet FOLLOW_24_in_ruleReferenceCS7725 = new BitSet(new long[]{0x503C504011000000L,0x000000000000C0FDL});
-        public static final BitSet FOLLOW_78_in_ruleReferenceCS7762 = new BitSet(new long[]{0x503C504011000000L,0x000000000000C0FDL});
-        public static final BitSet FOLLOW_28_in_ruleReferenceCS7799 = new BitSet(new long[]{0x503C504011000000L,0x000000000000C0FDL});
-        public static final BitSet FOLLOW_64_in_ruleReferenceCS7836 = new BitSet(new long[]{0x503C504011000000L,0x000000000000C0FDL});
-        public static final BitSet FOLLOW_38_in_ruleReferenceCS7873 = new BitSet(new long[]{0x503C504011000000L,0x000000000000C0FDL});
-        public static final BitSet FOLLOW_66_in_ruleReferenceCS7910 = new BitSet(new long[]{0x503C504011000000L,0x000000000000C0FDL});
-        public static final BitSet FOLLOW_44_in_ruleReferenceCS7947 = new BitSet(new long[]{0x503C504011000000L,0x000000000000C0FDL});
-        public static final BitSet FOLLOW_67_in_ruleReferenceCS7984 = new BitSet(new long[]{0x503C504011000000L,0x000000000000C0FDL});
-        public static final BitSet FOLLOW_46_in_ruleReferenceCS8021 = new BitSet(new long[]{0x503C504011000000L,0x000000000000C0FDL});
-        public static final BitSet FOLLOW_79_in_ruleReferenceCS8058 = new BitSet(new long[]{0x503C504011000000L,0x000000000000C0FDL});
-        public static final BitSet FOLLOW_50_in_ruleReferenceCS8095 = new BitSet(new long[]{0x503C504011000000L,0x000000000000C0FDL});
-        public static final BitSet FOLLOW_68_in_ruleReferenceCS8132 = new BitSet(new long[]{0x503C504011000000L,0x000000000000C0FDL});
-        public static final BitSet FOLLOW_51_in_ruleReferenceCS8169 = new BitSet(new long[]{0x503C504011000000L,0x000000000000C0FDL});
-        public static final BitSet FOLLOW_69_in_ruleReferenceCS8206 = new BitSet(new long[]{0x503C504011000000L,0x000000000000C0FDL});
-        public static final BitSet FOLLOW_52_in_ruleReferenceCS8243 = new BitSet(new long[]{0x503C504011000000L,0x000000000000C0FDL});
-        public static final BitSet FOLLOW_70_in_ruleReferenceCS8280 = new BitSet(new long[]{0x503C504011000000L,0x000000000000C0FDL});
-        public static final BitSet FOLLOW_53_in_ruleReferenceCS8317 = new BitSet(new long[]{0x503C504011000000L,0x000000000000C0FDL});
-        public static final BitSet FOLLOW_71_in_ruleReferenceCS8354 = new BitSet(new long[]{0x503C504011000000L,0x000000000000C0FDL});
-        public static final BitSet FOLLOW_60_in_ruleReferenceCS8381 = new BitSet(new long[]{0x403C504011000000L,0x000000000000C0FDL});
-        public static final BitSet FOLLOW_62_in_ruleReferenceCS8397 = new BitSet(new long[]{0x2400000000000000L});
-        public static final BitSet FOLLOW_61_in_ruleReferenceCS8413 = new BitSet(new long[]{0x4800000A08000000L,0x0000000000010400L});
-        public static final BitSet FOLLOW_ruleAnnotationElementCS_in_ruleReferenceCS8435 = new BitSet(new long[]{0x4800000A08000000L,0x0000000000010400L});
-        public static final BitSet FOLLOW_35_in_ruleReferenceCS8454 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleReferenceCS8481 = new BitSet(new long[]{0x1400000000000000L});
-        public static final BitSet FOLLOW_60_in_ruleReferenceCS8494 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleReferenceCS8521 = new BitSet(new long[]{0x1400000000000000L});
-        public static final BitSet FOLLOW_58_in_ruleReferenceCS8535 = new BitSet(new long[]{0x4800000A08000000L,0x0000000000010400L});
-        public static final BitSet FOLLOW_27_in_ruleReferenceCS8555 = new BitSet(new long[]{0x0A7FFFFFFFFA0300L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleReferenceCS8575 = new BitSet(new long[]{0x0200000000000000L});
-        public static final BitSet FOLLOW_57_in_ruleReferenceCS8588 = new BitSet(new long[]{0x0CFFFFFFFFFE03B0L,0x40F9FFF400190D00L,0x0000000000000018L});
-        public static final BitSet FOLLOW_ruleSpecificationCS_in_ruleReferenceCS8609 = new BitSet(new long[]{0x0400000000000000L});
-        public static final BitSet FOLLOW_58_in_ruleReferenceCS8622 = new BitSet(new long[]{0x4800000A08000000L,0x0000000000010400L});
-        public static final BitSet FOLLOW_33_in_ruleReferenceCS8642 = new BitSet(new long[]{0x0A7FFFFFFFFA0300L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleReferenceCS8662 = new BitSet(new long[]{0x0200000000000000L});
-        public static final BitSet FOLLOW_57_in_ruleReferenceCS8675 = new BitSet(new long[]{0x0CFFFFFFFFFE03B0L,0x40F9FFF400190D00L,0x0000000000000018L});
-        public static final BitSet FOLLOW_ruleSpecificationCS_in_ruleReferenceCS8696 = new BitSet(new long[]{0x0400000000000000L});
-        public static final BitSet FOLLOW_58_in_ruleReferenceCS8709 = new BitSet(new long[]{0x4800000A08000000L,0x0000000000010400L});
-        public static final BitSet FOLLOW_62_in_ruleReferenceCS8724 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_58_in_ruleReferenceCS8743 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleSpecificationCS_in_entryRuleSpecificationCS8780 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleSpecificationCS8790 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExpCS_in_ruleSpecificationCS8836 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_UNQUOTED_STRING_in_ruleSpecificationCS8859 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStructuredClassCS_in_entryRuleStructuredClassCS8900 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleStructuredClassCS8910 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_19_in_ruleStructuredClassCS8953 = new BitSet(new long[]{0x0000000000800000L});
-        public static final BitSet FOLLOW_23_in_ruleStructuredClassCS8979 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleStructuredClassCS9000 = new BitSet(new long[]{0x2680000040000000L,0x0000000000020000L});
-        public static final BitSet FOLLOW_ruleTemplateSignatureCS_in_ruleStructuredClassCS9021 = new BitSet(new long[]{0x2600000040000000L});
-        public static final BitSet FOLLOW_30_in_ruleStructuredClassCS9035 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
-        public static final BitSet FOLLOW_ruleTypedRefCS_in_ruleStructuredClassCS9056 = new BitSet(new long[]{0x3600000000000000L});
-        public static final BitSet FOLLOW_60_in_ruleStructuredClassCS9069 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
-        public static final BitSet FOLLOW_ruleTypedRefCS_in_ruleStructuredClassCS9090 = new BitSet(new long[]{0x3600000000000000L});
-        public static final BitSet FOLLOW_57_in_ruleStructuredClassCS9107 = new BitSet(new long[]{0x0000000000000020L});
-        public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleStructuredClassCS9124 = new BitSet(new long[]{0x2400000000000000L});
-        public static final BitSet FOLLOW_61_in_ruleStructuredClassCS9144 = new BitSet(new long[]{0x4000000400000000L});
-        public static final BitSet FOLLOW_34_in_ruleStructuredClassCS9162 = new BitSet(new long[]{0x4000000000000000L});
-        public static final BitSet FOLLOW_62_in_ruleStructuredClassCS9188 = new BitSet(new long[]{0x2400000000000000L});
-        public static final BitSet FOLLOW_61_in_ruleStructuredClassCS9204 = new BitSet(new long[]{0x487FFFFFFFFA0300L,0x0000000000010C00L});
-        public static final BitSet FOLLOW_ruleAnnotationElementCS_in_ruleStructuredClassCS9226 = new BitSet(new long[]{0x487FFFFFFFFA0300L,0x0000000000010C00L});
-        public static final BitSet FOLLOW_ruleOperationCS_in_ruleStructuredClassCS9253 = new BitSet(new long[]{0x487FFFFFFFFA0300L,0x0000000000010C00L});
-        public static final BitSet FOLLOW_ruleStructuralFeatureCS_in_ruleStructuredClassCS9280 = new BitSet(new long[]{0x487FFFFFFFFA0300L,0x0000000000010C00L});
-        public static final BitSet FOLLOW_ruleInvariantConstraintCS_in_ruleStructuredClassCS9307 = new BitSet(new long[]{0x487FFFFFFFFA0300L,0x0000000000010C00L});
-        public static final BitSet FOLLOW_62_in_ruleStructuredClassCS9321 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_58_in_ruleStructuredClassCS9340 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStructuralFeatureCS_in_entryRuleStructuralFeatureCS9377 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleStructuralFeatureCS9387 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAttributeCS_in_ruleStructuralFeatureCS9437 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleReferenceCS_in_ruleStructuralFeatureCS9467 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleSysMLCS_in_entryRuleSysMLCS9502 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleSysMLCS9512 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_80_in_ruleSysMLCS9561 = new BitSet(new long[]{0x287FFFFFFFFA0320L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleDetailCS_in_ruleSysMLCS9584 = new BitSet(new long[]{0x0400000000000000L});
-        public static final BitSet FOLLOW_58_in_ruleSysMLCS9596 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_61_in_ruleSysMLCS9616 = new BitSet(new long[]{0x487FFFFFFFFA0320L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleDetailCS_in_ruleSysMLCS9638 = new BitSet(new long[]{0x0400000000000000L});
-        public static final BitSet FOLLOW_58_in_ruleSysMLCS9650 = new BitSet(new long[]{0x487FFFFFFFFA0320L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_62_in_ruleSysMLCS9664 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypedMultiplicityRefCS_in_entryRuleTypedMultiplicityRefCS9704 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleTypedMultiplicityRefCS9714 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypedRefCS_in_ruleTypedMultiplicityRefCS9764 = new BitSet(new long[]{0x0000000000000002L,0x0400000000000000L});
-        public static final BitSet FOLLOW_ruleMultiplicityCS_in_ruleTypedMultiplicityRefCS9784 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTemplateBindingCS_in_entryRuleTemplateBindingCS9821 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleTemplateBindingCS9831 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_55_in_ruleTemplateBindingCS9869 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleTemplateParameterSubstitutionCS_in_ruleTemplateBindingCS9890 = new BitSet(new long[]{0x1100000000000000L});
-        public static final BitSet FOLLOW_60_in_ruleTemplateBindingCS9903 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleTemplateParameterSubstitutionCS_in_ruleTemplateBindingCS9924 = new BitSet(new long[]{0x1100000000000000L});
-        public static final BitSet FOLLOW_56_in_ruleTemplateBindingCS9938 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_81_in_ruleTemplateBindingCS9958 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleTemplateParameterSubstitutionCS_in_ruleTemplateBindingCS9979 = new BitSet(new long[]{0x1000000000000000L,0x0000000000040000L});
-        public static final BitSet FOLLOW_60_in_ruleTemplateBindingCS9992 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleTemplateParameterSubstitutionCS_in_ruleTemplateBindingCS10013 = new BitSet(new long[]{0x1000000000000000L,0x0000000000040000L});
-        public static final BitSet FOLLOW_82_in_ruleTemplateBindingCS10027 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTemplateSignatureCS_in_entryRuleTemplateSignatureCS10064 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleTemplateSignatureCS10074 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_55_in_ruleTemplateSignatureCS10112 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleTypeParameterCS_in_ruleTemplateSignatureCS10133 = new BitSet(new long[]{0x1100000000000000L});
-        public static final BitSet FOLLOW_60_in_ruleTemplateSignatureCS10146 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleTypeParameterCS_in_ruleTemplateSignatureCS10167 = new BitSet(new long[]{0x1100000000000000L});
-        public static final BitSet FOLLOW_56_in_ruleTemplateSignatureCS10181 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_81_in_ruleTemplateSignatureCS10201 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleTypeParameterCS_in_ruleTemplateSignatureCS10222 = new BitSet(new long[]{0x1000000000000000L,0x0000000000040000L});
-        public static final BitSet FOLLOW_60_in_ruleTemplateSignatureCS10235 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleTypeParameterCS_in_ruleTemplateSignatureCS10256 = new BitSet(new long[]{0x1000000000000000L,0x0000000000040000L});
-        public static final BitSet FOLLOW_82_in_ruleTemplateSignatureCS10270 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypedRefCS_in_entryRuleTypedRefCS10307 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleTypedRefCS10317 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypeLiteralCS_in_ruleTypedRefCS10367 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypedTypeRefCS_in_ruleTypedRefCS10397 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_entryRuleUnrestrictedName10433 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleUnrestrictedName10444 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEnumerationLiteralName_in_ruleUnrestrictedName10491 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_59_in_ruleUnrestrictedName10515 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_74_in_ruleUnrestrictedName10534 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_54_in_ruleUnrestrictedName10553 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_75_in_ruleUnrestrictedName10572 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_72_in_ruleUnrestrictedName10591 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_80_in_ruleUnrestrictedName10610 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEssentialOCLUnaryOperatorName_in_entryRuleEssentialOCLUnaryOperatorName10655 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleEssentialOCLUnaryOperatorName10666 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_18_in_ruleEssentialOCLUnaryOperatorName10704 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_83_in_ruleEssentialOCLUnaryOperatorName10723 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEssentialOCLInfixOperatorName_in_entryRuleEssentialOCLInfixOperatorName10764 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleEssentialOCLInfixOperatorName10775 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_84_in_ruleEssentialOCLInfixOperatorName10813 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_85_in_ruleEssentialOCLInfixOperatorName10832 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_86_in_ruleEssentialOCLInfixOperatorName10851 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_18_in_ruleEssentialOCLInfixOperatorName10870 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_82_in_ruleEssentialOCLInfixOperatorName10889 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_81_in_ruleEssentialOCLInfixOperatorName10908 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_87_in_ruleEssentialOCLInfixOperatorName10927 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_88_in_ruleEssentialOCLInfixOperatorName10946 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_63_in_ruleEssentialOCLInfixOperatorName10965 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_89_in_ruleEssentialOCLInfixOperatorName10984 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_90_in_ruleEssentialOCLInfixOperatorName11003 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_91_in_ruleEssentialOCLInfixOperatorName11022 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_92_in_ruleEssentialOCLInfixOperatorName11041 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_93_in_ruleEssentialOCLInfixOperatorName11060 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEssentialOCLNavigationOperatorName_in_entryRuleEssentialOCLNavigationOperatorName11101 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleEssentialOCLNavigationOperatorName11112 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_94_in_ruleEssentialOCLNavigationOperatorName11150 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_95_in_ruleEssentialOCLNavigationOperatorName11169 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_96_in_ruleEssentialOCLNavigationOperatorName11188 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_97_in_ruleEssentialOCLNavigationOperatorName11207 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBinaryOperatorName_in_entryRuleBinaryOperatorName11248 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleBinaryOperatorName11259 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleInfixOperatorName_in_ruleBinaryOperatorName11306 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNavigationOperatorName_in_ruleBinaryOperatorName11339 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleInfixOperatorName_in_entryRuleInfixOperatorName11385 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleInfixOperatorName11396 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEssentialOCLInfixOperatorName_in_ruleInfixOperatorName11442 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNavigationOperatorName_in_entryRuleNavigationOperatorName11487 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleNavigationOperatorName11498 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEssentialOCLNavigationOperatorName_in_ruleNavigationOperatorName11544 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnaryOperatorName_in_entryRuleUnaryOperatorName11589 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleUnaryOperatorName11600 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEssentialOCLUnaryOperatorName_in_ruleUnaryOperatorName11646 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEssentialOCLUnrestrictedName_in_entryRuleEssentialOCLUnrestrictedName11691 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleEssentialOCLUnrestrictedName11702 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleIdentifier_in_ruleEssentialOCLUnrestrictedName11748 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEssentialOCLUnreservedName_in_entryRuleEssentialOCLUnreservedName11793 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleEssentialOCLUnreservedName11804 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleEssentialOCLUnreservedName11851 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCollectionTypeIdentifier_in_ruleEssentialOCLUnreservedName11884 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePrimitiveTypeIdentifier_in_ruleEssentialOCLUnreservedName11917 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_98_in_ruleEssentialOCLUnreservedName11941 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnreservedName_in_entryRuleUnreservedName11982 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleUnreservedName11993 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEssentialOCLUnreservedName_in_ruleUnreservedName12039 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleURIPathNameCS_in_entryRuleURIPathNameCS12083 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleURIPathNameCS12093 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleURIFirstPathElementCS_in_ruleURIPathNameCS12139 = new BitSet(new long[]{0x0000000000000002L,0x0000000800000000L});
-        public static final BitSet FOLLOW_99_in_ruleURIPathNameCS12152 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0001FFF400010D00L});
-        public static final BitSet FOLLOW_ruleNextPathElementCS_in_ruleURIPathNameCS12173 = new BitSet(new long[]{0x0000000000000002L,0x0000000800000000L});
-        public static final BitSet FOLLOW_ruleURIFirstPathElementCS_in_entryRuleURIFirstPathElementCS12211 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleURIFirstPathElementCS12221 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleURIFirstPathElementCS12273 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleURI_in_ruleURIFirstPathElementCS12319 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePrimitiveTypeIdentifier_in_entryRulePrimitiveTypeIdentifier12357 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRulePrimitiveTypeIdentifier12368 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_100_in_rulePrimitiveTypeIdentifier12406 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_101_in_rulePrimitiveTypeIdentifier12425 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_102_in_rulePrimitiveTypeIdentifier12444 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_103_in_rulePrimitiveTypeIdentifier12463 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_104_in_rulePrimitiveTypeIdentifier12482 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_105_in_rulePrimitiveTypeIdentifier12501 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_106_in_rulePrimitiveTypeIdentifier12520 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_107_in_rulePrimitiveTypeIdentifier12539 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePrimitiveTypeCS_in_entryRulePrimitiveTypeCS12579 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRulePrimitiveTypeCS12589 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePrimitiveTypeIdentifier_in_rulePrimitiveTypeCS12634 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCollectionTypeIdentifier_in_entryRuleCollectionTypeIdentifier12670 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleCollectionTypeIdentifier12681 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_108_in_ruleCollectionTypeIdentifier12719 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_109_in_ruleCollectionTypeIdentifier12738 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_110_in_ruleCollectionTypeIdentifier12757 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_111_in_ruleCollectionTypeIdentifier12776 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_112_in_ruleCollectionTypeIdentifier12795 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCollectionTypeCS_in_entryRuleCollectionTypeCS12835 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleCollectionTypeCS12845 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCollectionTypeIdentifier_in_ruleCollectionTypeCS12891 = new BitSet(new long[]{0x0080000000000002L});
-        public static final BitSet FOLLOW_55_in_ruleCollectionTypeCS12904 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
-        public static final BitSet FOLLOW_ruleTypeExpCS_in_ruleCollectionTypeCS12925 = new BitSet(new long[]{0x0100000000000000L});
-        public static final BitSet FOLLOW_56_in_ruleCollectionTypeCS12937 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTupleTypeCS_in_entryRuleTupleTypeCS12975 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleTupleTypeCS12985 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_98_in_ruleTupleTypeCS13028 = new BitSet(new long[]{0x0080000000000002L});
-        public static final BitSet FOLLOW_55_in_ruleTupleTypeCS13054 = new BitSet(new long[]{0x097FFFFFFFFA0300L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleTuplePartCS_in_ruleTupleTypeCS13076 = new BitSet(new long[]{0x1100000000000000L});
-        public static final BitSet FOLLOW_60_in_ruleTupleTypeCS13089 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleTuplePartCS_in_ruleTupleTypeCS13110 = new BitSet(new long[]{0x1100000000000000L});
-        public static final BitSet FOLLOW_56_in_ruleTupleTypeCS13126 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTuplePartCS_in_entryRuleTuplePartCS13164 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleTuplePartCS13174 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleTuplePartCS13220 = new BitSet(new long[]{0x0200000000000000L});
-        public static final BitSet FOLLOW_57_in_ruleTuplePartCS13232 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
-        public static final BitSet FOLLOW_ruleTypeExpCS_in_ruleTuplePartCS13253 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCollectionLiteralExpCS_in_entryRuleCollectionLiteralExpCS13289 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleCollectionLiteralExpCS13299 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCollectionTypeCS_in_ruleCollectionLiteralExpCS13345 = new BitSet(new long[]{0x2000000000000000L});
-        public static final BitSet FOLLOW_61_in_ruleCollectionLiteralExpCS13357 = new BitSet(new long[]{0x4AFFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
-        public static final BitSet FOLLOW_ruleCollectionLiteralPartCS_in_ruleCollectionLiteralExpCS13379 = new BitSet(new long[]{0x5000000000000000L});
-        public static final BitSet FOLLOW_60_in_ruleCollectionLiteralExpCS13392 = new BitSet(new long[]{0x0AFFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
-        public static final BitSet FOLLOW_ruleCollectionLiteralPartCS_in_ruleCollectionLiteralExpCS13413 = new BitSet(new long[]{0x5000000000000000L});
-        public static final BitSet FOLLOW_62_in_ruleCollectionLiteralExpCS13429 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCollectionLiteralPartCS_in_entryRuleCollectionLiteralPartCS13465 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleCollectionLiteralPartCS13475 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExpCS_in_ruleCollectionLiteralPartCS13522 = new BitSet(new long[]{0x0000000000000002L,0x0002000000000000L});
-        public static final BitSet FOLLOW_113_in_ruleCollectionLiteralPartCS13535 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
-        public static final BitSet FOLLOW_ruleExpCS_in_ruleCollectionLiteralPartCS13556 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePatternExpCS_in_ruleCollectionLiteralPartCS13586 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCollectionPatternCS_in_entryRuleCollectionPatternCS13622 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleCollectionPatternCS13632 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCollectionTypeCS_in_ruleCollectionPatternCS13678 = new BitSet(new long[]{0x2000000000000000L});
-        public static final BitSet FOLLOW_61_in_ruleCollectionPatternCS13690 = new BitSet(new long[]{0x4AFFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rulePatternExpCS_in_ruleCollectionPatternCS13712 = new BitSet(new long[]{0x1000000000000000L,0x0004000000000000L});
-        public static final BitSet FOLLOW_60_in_ruleCollectionPatternCS13725 = new BitSet(new long[]{0x0AFFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rulePatternExpCS_in_ruleCollectionPatternCS13746 = new BitSet(new long[]{0x1000000000000000L,0x0004000000000000L});
-        public static final BitSet FOLLOW_114_in_ruleCollectionPatternCS13761 = new BitSet(new long[]{0x0000000000000300L});
-        public static final BitSet FOLLOW_ruleIdentifier_in_ruleCollectionPatternCS13782 = new BitSet(new long[]{0x4000000000000000L});
-        public static final BitSet FOLLOW_62_in_ruleCollectionPatternCS13797 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleConstructorPartCS_in_entryRuleConstructorPartCS13833 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleConstructorPartCS13843 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleConstructorPartCS13895 = new BitSet(new long[]{0x8000000000000000L});
-        public static final BitSet FOLLOW_63_in_ruleConstructorPartCS13907 = new BitSet(new long[]{0x0AFFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
-        public static final BitSet FOLLOW_ruleExpCS_in_ruleConstructorPartCS13930 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePatternExpCS_in_ruleConstructorPartCS13949 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePatternExpCS_in_entryRulePatternExpCS13988 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRulePatternExpCS13998 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rulePatternExpCS14044 = new BitSet(new long[]{0x0200000000000000L});
-        public static final BitSet FOLLOW_57_in_rulePatternExpCS14057 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
-        public static final BitSet FOLLOW_ruleTypeExpCS_in_rulePatternExpCS14078 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleLambdaLiteralExpCS_in_entryRuleLambdaLiteralExpCS14114 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleLambdaLiteralExpCS14124 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_115_in_ruleLambdaLiteralExpCS14161 = new BitSet(new long[]{0x2000000000000000L});
-        public static final BitSet FOLLOW_61_in_ruleLambdaLiteralExpCS14173 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
-        public static final BitSet FOLLOW_ruleExpCS_in_ruleLambdaLiteralExpCS14194 = new BitSet(new long[]{0x4000000000000000L});
-        public static final BitSet FOLLOW_62_in_ruleLambdaLiteralExpCS14206 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePrimitiveLiteralExpCS_in_entryRulePrimitiveLiteralExpCS14242 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRulePrimitiveLiteralExpCS14252 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNumberLiteralExpCS_in_rulePrimitiveLiteralExpCS14302 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStringLiteralExpCS_in_rulePrimitiveLiteralExpCS14332 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBooleanLiteralExpCS_in_rulePrimitiveLiteralExpCS14362 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnlimitedNaturalLiteralExpCS_in_rulePrimitiveLiteralExpCS14392 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleInvalidLiteralExpCS_in_rulePrimitiveLiteralExpCS14422 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNullLiteralExpCS_in_rulePrimitiveLiteralExpCS14452 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTupleLiteralExpCS_in_entryRuleTupleLiteralExpCS14487 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleTupleLiteralExpCS14497 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_98_in_ruleTupleLiteralExpCS14534 = new BitSet(new long[]{0x2000000000000000L});
-        public static final BitSet FOLLOW_61_in_ruleTupleLiteralExpCS14546 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleTupleLiteralPartCS_in_ruleTupleLiteralExpCS14567 = new BitSet(new long[]{0x5000000000000000L});
-        public static final BitSet FOLLOW_60_in_ruleTupleLiteralExpCS14580 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleTupleLiteralPartCS_in_ruleTupleLiteralExpCS14601 = new BitSet(new long[]{0x5000000000000000L});
-        public static final BitSet FOLLOW_62_in_ruleTupleLiteralExpCS14615 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTupleLiteralPartCS_in_entryRuleTupleLiteralPartCS14651 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleTupleLiteralPartCS14661 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleTupleLiteralPartCS14707 = new BitSet(new long[]{0x8200000000000000L});
-        public static final BitSet FOLLOW_57_in_ruleTupleLiteralPartCS14720 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
-        public static final BitSet FOLLOW_ruleTypeExpCS_in_ruleTupleLiteralPartCS14741 = new BitSet(new long[]{0x8000000000000000L});
-        public static final BitSet FOLLOW_63_in_ruleTupleLiteralPartCS14755 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
-        public static final BitSet FOLLOW_ruleExpCS_in_ruleTupleLiteralPartCS14776 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNumberLiteralExpCS_in_entryRuleNumberLiteralExpCS14812 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleNumberLiteralExpCS14822 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNUMBER_LITERAL_in_ruleNumberLiteralExpCS14867 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStringLiteralExpCS_in_entryRuleStringLiteralExpCS14902 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleStringLiteralExpCS14912 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStringLiteral_in_ruleStringLiteralExpCS14957 = new BitSet(new long[]{0x0000000000000022L});
-        public static final BitSet FOLLOW_ruleBooleanLiteralExpCS_in_entryRuleBooleanLiteralExpCS14993 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleBooleanLiteralExpCS15003 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_116_in_ruleBooleanLiteralExpCS15046 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_117_in_ruleBooleanLiteralExpCS15083 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnlimitedNaturalLiteralExpCS_in_entryRuleUnlimitedNaturalLiteralExpCS15132 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleUnlimitedNaturalLiteralExpCS15142 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_84_in_ruleUnlimitedNaturalLiteralExpCS15191 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleInvalidLiteralExpCS_in_entryRuleInvalidLiteralExpCS15227 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleInvalidLiteralExpCS15237 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_118_in_ruleInvalidLiteralExpCS15286 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNullLiteralExpCS_in_entryRuleNullLiteralExpCS15322 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleNullLiteralExpCS15332 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_119_in_ruleNullLiteralExpCS15381 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypeLiteralCS_in_entryRuleTypeLiteralCS15417 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleTypeLiteralCS15427 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePrimitiveTypeCS_in_ruleTypeLiteralCS15477 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCollectionTypeCS_in_ruleTypeLiteralCS15507 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTupleTypeCS_in_ruleTypeLiteralCS15537 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypeLiteralWithMultiplicityCS_in_entryRuleTypeLiteralWithMultiplicityCS15572 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleTypeLiteralWithMultiplicityCS15582 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypeLiteralCS_in_ruleTypeLiteralWithMultiplicityCS15632 = new BitSet(new long[]{0x0000000000000002L,0x0400000000000000L});
-        public static final BitSet FOLLOW_ruleMultiplicityCS_in_ruleTypeLiteralWithMultiplicityCS15652 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypeLiteralExpCS_in_entryRuleTypeLiteralExpCS15689 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleTypeLiteralExpCS15699 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypeLiteralWithMultiplicityCS_in_ruleTypeLiteralExpCS15744 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypeNameExpCS_in_entryRuleTypeNameExpCS15779 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleTypeNameExpCS15789 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePathNameCS_in_ruleTypeNameExpCS15835 = new BitSet(new long[]{0x2000000000000002L});
-        public static final BitSet FOLLOW_ruleCurlyBracketedClauseCS_in_ruleTypeNameExpCS15857 = new BitSet(new long[]{0x2000000000000002L});
-        public static final BitSet FOLLOW_61_in_ruleTypeNameExpCS15870 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
-        public static final BitSet FOLLOW_ruleExpCS_in_ruleTypeNameExpCS15891 = new BitSet(new long[]{0x4000000000000000L});
-        public static final BitSet FOLLOW_62_in_ruleTypeNameExpCS15903 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypeExpCS_in_entryRuleTypeExpCS15943 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleTypeExpCS15953 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypeNameExpCS_in_ruleTypeExpCS16004 = new BitSet(new long[]{0x0000000000000002L,0x0400000000000000L});
-        public static final BitSet FOLLOW_ruleTypeLiteralCS_in_ruleTypeExpCS16034 = new BitSet(new long[]{0x0000000000000002L,0x0400000000000000L});
-        public static final BitSet FOLLOW_ruleCollectionPatternCS_in_ruleTypeExpCS16064 = new BitSet(new long[]{0x0000000000000002L,0x0400000000000000L});
-        public static final BitSet FOLLOW_ruleMultiplicityCS_in_ruleTypeExpCS16085 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExpCS_in_entryRuleExpCS16122 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleExpCS16132 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePrefixedPrimaryExpCS_in_ruleExpCS16183 = new BitSet(new long[]{0x8000000000040002L,0x00000003FFF60000L});
-        public static final BitSet FOLLOW_ruleBinaryOperatorName_in_ruleExpCS16216 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
-        public static final BitSet FOLLOW_ruleExpCS_in_ruleExpCS16237 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePrefixedLetExpCS_in_ruleExpCS16271 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePrefixedLetExpCS_in_entryRulePrefixedLetExpCS16306 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRulePrefixedLetExpCS16316 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnaryOperatorName_in_rulePrefixedLetExpCS16375 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
-        public static final BitSet FOLLOW_rulePrefixedLetExpCS_in_rulePrefixedLetExpCS16396 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleLetExpCS_in_rulePrefixedLetExpCS16428 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePrefixedPrimaryExpCS_in_entryRulePrefixedPrimaryExpCS16463 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRulePrefixedPrimaryExpCS16473 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnaryOperatorName_in_rulePrefixedPrimaryExpCS16532 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
-        public static final BitSet FOLLOW_rulePrefixedPrimaryExpCS_in_rulePrefixedPrimaryExpCS16553 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePrimaryExpCS_in_rulePrefixedPrimaryExpCS16585 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePrimaryExpCS_in_entryRulePrimaryExpCS16620 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRulePrimaryExpCS16630 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNestedExpCS_in_rulePrimaryExpCS16680 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleIfExpCS_in_rulePrimaryExpCS16710 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleSelfExpCS_in_rulePrimaryExpCS16740 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePrimitiveLiteralExpCS_in_rulePrimaryExpCS16770 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTupleLiteralExpCS_in_rulePrimaryExpCS16800 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCollectionLiteralExpCS_in_rulePrimaryExpCS16830 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleLambdaLiteralExpCS_in_rulePrimaryExpCS16860 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypeLiteralExpCS_in_rulePrimaryExpCS16890 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNameExpCS_in_rulePrimaryExpCS16920 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNameExpCS_in_entryRuleNameExpCS16955 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleNameExpCS16965 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePathNameCS_in_ruleNameExpCS17011 = new BitSet(new long[]{0x2080000000000002L,0x0500000000000000L});
-        public static final BitSet FOLLOW_ruleSquareBracketedClauseCS_in_ruleNameExpCS17032 = new BitSet(new long[]{0x2080000000000002L,0x0500000000000000L});
-        public static final BitSet FOLLOW_ruleRoundBracketedClauseCS_in_ruleNameExpCS17054 = new BitSet(new long[]{0x2000000000000002L,0x0100000000000000L});
-        public static final BitSet FOLLOW_ruleCurlyBracketedClauseCS_in_ruleNameExpCS17076 = new BitSet(new long[]{0x0000000000000002L,0x0100000000000000L});
-        public static final BitSet FOLLOW_120_in_ruleNameExpCS17096 = new BitSet(new long[]{0x0000000000000000L,0x0200000000000000L});
-        public static final BitSet FOLLOW_121_in_ruleNameExpCS17121 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCurlyBracketedClauseCS_in_entryRuleCurlyBracketedClauseCS17159 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleCurlyBracketedClauseCS17169 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_61_in_ruleCurlyBracketedClauseCS17218 = new BitSet(new long[]{0x487FFFFFFFFA0320L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleConstructorPartCS_in_ruleCurlyBracketedClauseCS17241 = new BitSet(new long[]{0x5000000000000000L});
-        public static final BitSet FOLLOW_60_in_ruleCurlyBracketedClauseCS17254 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleConstructorPartCS_in_ruleCurlyBracketedClauseCS17275 = new BitSet(new long[]{0x5000000000000000L});
-        public static final BitSet FOLLOW_ruleStringLiteral_in_ruleCurlyBracketedClauseCS17306 = new BitSet(new long[]{0x4000000000000000L});
-        public static final BitSet FOLLOW_62_in_ruleCurlyBracketedClauseCS17319 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleRoundBracketedClauseCS_in_entryRuleRoundBracketedClauseCS17355 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleRoundBracketedClauseCS17365 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_55_in_ruleRoundBracketedClauseCS17414 = new BitSet(new long[]{0x0BFFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
-        public static final BitSet FOLLOW_ruleNavigatingArgCS_in_ruleRoundBracketedClauseCS17436 = new BitSet(new long[]{0x1500000000000000L,0x2000000000000000L});
-        public static final BitSet FOLLOW_ruleNavigatingCommaArgCS_in_ruleRoundBracketedClauseCS17457 = new BitSet(new long[]{0x1500000000000000L,0x2000000000000000L});
-        public static final BitSet FOLLOW_ruleNavigatingSemiArgCS_in_ruleRoundBracketedClauseCS17480 = new BitSet(new long[]{0x1100000000000000L,0x2000000000000000L});
-        public static final BitSet FOLLOW_ruleNavigatingCommaArgCS_in_ruleRoundBracketedClauseCS17501 = new BitSet(new long[]{0x1100000000000000L,0x2000000000000000L});
-        public static final BitSet FOLLOW_ruleNavigatingBarArgCS_in_ruleRoundBracketedClauseCS17526 = new BitSet(new long[]{0x1100000000000000L,0x2000000000000000L});
-        public static final BitSet FOLLOW_ruleNavigatingCommaArgCS_in_ruleRoundBracketedClauseCS17547 = new BitSet(new long[]{0x1100000000000000L,0x2000000000000000L});
-        public static final BitSet FOLLOW_56_in_ruleRoundBracketedClauseCS17564 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleSquareBracketedClauseCS_in_entryRuleSquareBracketedClauseCS17600 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleSquareBracketedClauseCS17610 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_122_in_ruleSquareBracketedClauseCS17647 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
-        public static final BitSet FOLLOW_ruleExpCS_in_ruleSquareBracketedClauseCS17668 = new BitSet(new long[]{0x1000000000000000L,0x0800000000000000L});
-        public static final BitSet FOLLOW_60_in_ruleSquareBracketedClauseCS17681 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
-        public static final BitSet FOLLOW_ruleExpCS_in_ruleSquareBracketedClauseCS17702 = new BitSet(new long[]{0x1000000000000000L,0x0800000000000000L});
-        public static final BitSet FOLLOW_123_in_ruleSquareBracketedClauseCS17716 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNavigatingArgCS_in_entryRuleNavigatingArgCS17752 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleNavigatingArgCS17762 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNavigatingArgExpCS_in_ruleNavigatingArgCS17809 = new BitSet(new long[]{0x0200000000000002L,0x1000000000000000L});
-        public static final BitSet FOLLOW_57_in_ruleNavigatingArgCS17823 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
-        public static final BitSet FOLLOW_ruleTypeExpCS_in_ruleNavigatingArgCS17844 = new BitSet(new long[]{0x8000000000000002L});
-        public static final BitSet FOLLOW_63_in_ruleNavigatingArgCS17857 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
-        public static final BitSet FOLLOW_ruleExpCS_in_ruleNavigatingArgCS17878 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_124_in_ruleNavigatingArgCS17900 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
-        public static final BitSet FOLLOW_ruleExpCS_in_ruleNavigatingArgCS17921 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_57_in_ruleNavigatingArgCS17944 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
-        public static final BitSet FOLLOW_ruleTypeExpCS_in_ruleNavigatingArgCS17965 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNavigatingBarArgCS_in_entryRuleNavigatingBarArgCS18002 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleNavigatingBarArgCS18012 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_125_in_ruleNavigatingBarArgCS18055 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
-        public static final BitSet FOLLOW_ruleNavigatingArgExpCS_in_ruleNavigatingBarArgCS18089 = new BitSet(new long[]{0x0200000000000002L});
-        public static final BitSet FOLLOW_57_in_ruleNavigatingBarArgCS18102 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
-        public static final BitSet FOLLOW_ruleTypeExpCS_in_ruleNavigatingBarArgCS18123 = new BitSet(new long[]{0x8000000000000002L});
-        public static final BitSet FOLLOW_63_in_ruleNavigatingBarArgCS18136 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
-        public static final BitSet FOLLOW_ruleExpCS_in_ruleNavigatingBarArgCS18157 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNavigatingCommaArgCS_in_entryRuleNavigatingCommaArgCS18197 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleNavigatingCommaArgCS18207 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_60_in_ruleNavigatingCommaArgCS18250 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
-        public static final BitSet FOLLOW_ruleNavigatingArgExpCS_in_ruleNavigatingCommaArgCS18284 = new BitSet(new long[]{0x0200000000000002L,0x1000000000000000L});
-        public static final BitSet FOLLOW_57_in_ruleNavigatingCommaArgCS18298 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
-        public static final BitSet FOLLOW_ruleTypeExpCS_in_ruleNavigatingCommaArgCS18319 = new BitSet(new long[]{0x8000000000000002L});
-        public static final BitSet FOLLOW_63_in_ruleNavigatingCommaArgCS18332 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
-        public static final BitSet FOLLOW_ruleExpCS_in_ruleNavigatingCommaArgCS18353 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_124_in_ruleNavigatingCommaArgCS18375 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
-        public static final BitSet FOLLOW_ruleExpCS_in_ruleNavigatingCommaArgCS18396 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNavigatingSemiArgCS_in_entryRuleNavigatingSemiArgCS18435 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleNavigatingSemiArgCS18445 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_58_in_ruleNavigatingSemiArgCS18488 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
-        public static final BitSet FOLLOW_ruleNavigatingArgExpCS_in_ruleNavigatingSemiArgCS18522 = new BitSet(new long[]{0x0200000000000002L});
-        public static final BitSet FOLLOW_57_in_ruleNavigatingSemiArgCS18535 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
-        public static final BitSet FOLLOW_ruleTypeExpCS_in_ruleNavigatingSemiArgCS18556 = new BitSet(new long[]{0x8000000000000002L});
-        public static final BitSet FOLLOW_63_in_ruleNavigatingSemiArgCS18569 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
-        public static final BitSet FOLLOW_ruleExpCS_in_ruleNavigatingSemiArgCS18590 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNavigatingArgExpCS_in_entryRuleNavigatingArgExpCS18630 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleNavigatingArgExpCS18640 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleExpCS_in_ruleNavigatingArgExpCS18689 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleIfExpCS_in_entryRuleIfExpCS18723 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleIfExpCS18733 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_126_in_ruleIfExpCS18770 = new BitSet(new long[]{0x0AFFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
-        public static final BitSet FOLLOW_ruleExpCS_in_ruleIfExpCS18793 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L});
-        public static final BitSet FOLLOW_rulePatternExpCS_in_ruleIfExpCS18812 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L});
-        public static final BitSet FOLLOW_127_in_ruleIfExpCS18827 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
-        public static final BitSet FOLLOW_ruleExpCS_in_ruleIfExpCS18848 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000005L});
-        public static final BitSet FOLLOW_ruleElseIfThenExpCS_in_ruleIfExpCS18869 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000005L});
-        public static final BitSet FOLLOW_128_in_ruleIfExpCS18882 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
-        public static final BitSet FOLLOW_ruleExpCS_in_ruleIfExpCS18903 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000002L});
-        public static final BitSet FOLLOW_129_in_ruleIfExpCS18915 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleElseIfThenExpCS_in_entryRuleElseIfThenExpCS18951 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleElseIfThenExpCS18961 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_130_in_ruleElseIfThenExpCS18998 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
-        public static final BitSet FOLLOW_ruleExpCS_in_ruleElseIfThenExpCS19019 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L});
-        public static final BitSet FOLLOW_127_in_ruleElseIfThenExpCS19031 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
-        public static final BitSet FOLLOW_ruleExpCS_in_ruleElseIfThenExpCS19052 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleLetExpCS_in_entryRuleLetExpCS19088 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleLetExpCS19098 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_131_in_ruleLetExpCS19135 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleLetVariableCS_in_ruleLetExpCS19156 = new BitSet(new long[]{0x1000000000000000L,0x1000000000000000L});
-        public static final BitSet FOLLOW_60_in_ruleLetExpCS19169 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
-        public static final BitSet FOLLOW_ruleLetVariableCS_in_ruleLetExpCS19190 = new BitSet(new long[]{0x1000000000000000L,0x1000000000000000L});
-        public static final BitSet FOLLOW_124_in_ruleLetExpCS19204 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
-        public static final BitSet FOLLOW_ruleExpCS_in_ruleLetExpCS19225 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleLetVariableCS_in_entryRuleLetVariableCS19261 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleLetVariableCS19271 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleLetVariableCS19317 = new BitSet(new long[]{0x8280000000000000L});
-        public static final BitSet FOLLOW_ruleRoundBracketedClauseCS_in_ruleLetVariableCS19338 = new BitSet(new long[]{0x8200000000000000L});
-        public static final BitSet FOLLOW_57_in_ruleLetVariableCS19352 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
-        public static final BitSet FOLLOW_ruleTypeExpCS_in_ruleLetVariableCS19373 = new BitSet(new long[]{0x8000000000000000L});
-        public static final BitSet FOLLOW_63_in_ruleLetVariableCS19387 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
-        public static final BitSet FOLLOW_ruleExpCS_in_ruleLetVariableCS19408 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNestedExpCS_in_entryRuleNestedExpCS19444 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleNestedExpCS19454 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_55_in_ruleNestedExpCS19491 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
-        public static final BitSet FOLLOW_ruleExpCS_in_ruleNestedExpCS19512 = new BitSet(new long[]{0x0100000000000000L});
-        public static final BitSet FOLLOW_56_in_ruleNestedExpCS19524 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleSelfExpCS_in_entryRuleSelfExpCS19560 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleSelfExpCS19570 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_132_in_ruleSelfExpCS19619 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleMultiplicityBoundsCS_in_entryRuleMultiplicityBoundsCS19655 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleMultiplicityBoundsCS19665 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleLOWER_in_ruleMultiplicityBoundsCS19711 = new BitSet(new long[]{0x0000000000000002L,0x0002000000000000L});
-        public static final BitSet FOLLOW_113_in_ruleMultiplicityBoundsCS19724 = new BitSet(new long[]{0x0000000000000010L,0x0000000000100000L});
-        public static final BitSet FOLLOW_ruleUPPER_in_ruleMultiplicityBoundsCS19745 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleMultiplicityCS_in_entryRuleMultiplicityCS19783 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleMultiplicityCS19793 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_122_in_ruleMultiplicityCS19830 = new BitSet(new long[]{0x0000000000000010L,0x0000000000500000L,0x0000000000000020L});
-        public static final BitSet FOLLOW_ruleMultiplicityBoundsCS_in_ruleMultiplicityCS19856 = new BitSet(new long[]{0x0000000000000000L,0x0800000000000000L});
-        public static final BitSet FOLLOW_ruleMultiplicityStringCS_in_ruleMultiplicityCS19886 = new BitSet(new long[]{0x0000000000000000L,0x0800000000000000L});
-        public static final BitSet FOLLOW_123_in_ruleMultiplicityCS19898 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleMultiplicityStringCS_in_entryRuleMultiplicityStringCS19934 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleMultiplicityStringCS19944 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_84_in_ruleMultiplicityStringCS19988 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_86_in_ruleMultiplicityStringCS20017 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_133_in_ruleMultiplicityStringCS20046 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePathNameCS_in_entryRulePathNameCS20097 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRulePathNameCS20107 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleFirstPathElementCS_in_rulePathNameCS20153 = new BitSet(new long[]{0x0000000000000002L,0x0000000800000000L});
-        public static final BitSet FOLLOW_99_in_rulePathNameCS20166 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0001FFF400010D00L});
-        public static final BitSet FOLLOW_ruleNextPathElementCS_in_rulePathNameCS20187 = new BitSet(new long[]{0x0000000000000002L,0x0000000800000000L});
-        public static final BitSet FOLLOW_ruleFirstPathElementCS_in_entryRuleFirstPathElementCS20225 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleFirstPathElementCS20235 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleFirstPathElementCS20286 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNextPathElementCS_in_entryRuleNextPathElementCS20321 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleNextPathElementCS20331 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnreservedName_in_ruleNextPathElementCS20382 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTemplateParameterSubstitutionCS_in_entryRuleTemplateParameterSubstitutionCS20417 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleTemplateParameterSubstitutionCS20427 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypeRefCS_in_ruleTemplateParameterSubstitutionCS20472 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypeParameterCS_in_entryRuleTypeParameterCS20507 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleTypeParameterCS20517 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleTypeParameterCS20563 = new BitSet(new long[]{0x0001000040000002L});
-        public static final BitSet FOLLOW_30_in_ruleTypeParameterCS20577 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
-        public static final BitSet FOLLOW_ruleTypedRefCS_in_ruleTypeParameterCS20598 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000040L});
-        public static final BitSet FOLLOW_134_in_ruleTypeParameterCS20611 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
-        public static final BitSet FOLLOW_ruleTypedRefCS_in_ruleTypeParameterCS20632 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000040L});
-        public static final BitSet FOLLOW_48_in_ruleTypeParameterCS20654 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
-        public static final BitSet FOLLOW_ruleTypedRefCS_in_ruleTypeParameterCS20675 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypeRefCS_in_entryRuleTypeRefCS20714 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleTypeRefCS20724 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypedRefCS_in_ruleTypeRefCS20774 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleWildcardTypeRefCS_in_ruleTypeRefCS20804 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypedTypeRefCS_in_entryRuleTypedTypeRefCS20839 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleTypedTypeRefCS20849 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePathNameCS_in_ruleTypedTypeRefCS20895 = new BitSet(new long[]{0x0080000000000002L,0x0000000000020000L});
-        public static final BitSet FOLLOW_ruleTemplateBindingCS_in_ruleTypedTypeRefCS20916 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleWildcardTypeRefCS_in_entryRuleWildcardTypeRefCS20953 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleWildcardTypeRefCS20963 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_133_in_ruleWildcardTypeRefCS21012 = new BitSet(new long[]{0x0001000040000002L});
-        public static final BitSet FOLLOW_30_in_ruleWildcardTypeRefCS21026 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
-        public static final BitSet FOLLOW_ruleTypedRefCS_in_ruleWildcardTypeRefCS21047 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_48_in_ruleWildcardTypeRefCS21067 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
-        public static final BitSet FOLLOW_ruleTypedRefCS_in_ruleWildcardTypeRefCS21088 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleID_in_entryRuleID21128 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleID21139 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_SIMPLE_ID_in_ruleID21179 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_ESCAPED_ID_in_ruleID21205 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleIdentifier_in_entryRuleIdentifier21251 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleIdentifier21262 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleID_in_ruleIdentifier21308 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleLOWER_in_entryRuleLOWER21353 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleLOWER21364 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_INT_in_ruleLOWER21403 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleNUMBER_LITERAL_in_entryRuleNUMBER_LITERAL21448 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleNUMBER_LITERAL21459 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_INT_in_ruleNUMBER_LITERAL21498 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleStringLiteral_in_entryRuleStringLiteral21543 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleStringLiteral21554 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleStringLiteral21593 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleUPPER_in_entryRuleUPPER21638 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleUPPER21649 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_INT_in_ruleUPPER21689 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_84_in_ruleUPPER21713 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleURI_in_entryRuleURI21754 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleURI21765 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleURI21804 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypeLiteralCS_in_synpred300_InternalOCLinEcore16034 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePrefixedPrimaryExpCS_in_synpred303_InternalOCLinEcore16183 = new BitSet(new long[]{0x8000000000040002L,0x00000003FFF60000L});
-        public static final BitSet FOLLOW_ruleBinaryOperatorName_in_synpred303_InternalOCLinEcore16216 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
-        public static final BitSet FOLLOW_ruleExpCS_in_synpred303_InternalOCLinEcore16237 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTupleLiteralExpCS_in_synpred310_InternalOCLinEcore16800 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCollectionLiteralExpCS_in_synpred311_InternalOCLinEcore16830 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleTypeLiteralExpCS_in_synpred313_InternalOCLinEcore16890 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAttributeCS_in_entryRuleAttributeCS2391 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleAttributeCS2401 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_47_in_ruleAttributeCS2493 = new BitSet(new long[]{0x0000800004100000L});
+        public static final BitSet FOLLOW_26_in_ruleAttributeCS2578 = new BitSet(new long[]{0x0000800004100000L});
+        public static final BitSet FOLLOW_20_in_ruleAttributeCS2643 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleAttributeCS2664 = new BitSet(new long[]{0xE63C104080000000L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_57_in_ruleAttributeCS2677 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
+        public static final BitSet FOLLOW_ruleTypedMultiplicityRefCS_in_ruleAttributeCS2698 = new BitSet(new long[]{0xE43C104080000000L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_63_in_ruleAttributeCS2713 = new BitSet(new long[]{0x0000000000000020L});
+        public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleAttributeCS2730 = new BitSet(new long[]{0x643C104080000000L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_61_in_ruleAttributeCS2795 = new BitSet(new long[]{0x643C104090000000L,0x00000000000000FFL});
+        public static final BitSet FOLLOW_28_in_ruleAttributeCS2815 = new BitSet(new long[]{0x743C104080000000L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_64_in_ruleAttributeCS2846 = new BitSet(new long[]{0x743C104080000000L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_60_in_ruleAttributeCS2860 = new BitSet(new long[]{0x643C104080000000L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_31_in_ruleAttributeCS2939 = new BitSet(new long[]{0x743C104080000000L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_65_in_ruleAttributeCS2970 = new BitSet(new long[]{0x743C104080000000L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_60_in_ruleAttributeCS2984 = new BitSet(new long[]{0x643C104080000000L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_38_in_ruleAttributeCS3061 = new BitSet(new long[]{0x743C104080000000L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_66_in_ruleAttributeCS3092 = new BitSet(new long[]{0x743C104080000000L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_60_in_ruleAttributeCS3106 = new BitSet(new long[]{0x643C104080000000L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_44_in_ruleAttributeCS3183 = new BitSet(new long[]{0x743C104080000000L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_67_in_ruleAttributeCS3214 = new BitSet(new long[]{0x743C104080000000L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_60_in_ruleAttributeCS3228 = new BitSet(new long[]{0x643C104080000000L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_50_in_ruleAttributeCS3305 = new BitSet(new long[]{0x743C104080000000L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_68_in_ruleAttributeCS3336 = new BitSet(new long[]{0x743C104080000000L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_60_in_ruleAttributeCS3350 = new BitSet(new long[]{0x643C104080000000L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_69_in_ruleAttributeCS3427 = new BitSet(new long[]{0x743C104080000000L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_51_in_ruleAttributeCS3458 = new BitSet(new long[]{0x743C104080000000L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_60_in_ruleAttributeCS3472 = new BitSet(new long[]{0x643C104080000000L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_52_in_ruleAttributeCS3549 = new BitSet(new long[]{0x743C104080000000L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_70_in_ruleAttributeCS3580 = new BitSet(new long[]{0x743C104080000000L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_60_in_ruleAttributeCS3594 = new BitSet(new long[]{0x643C104080000000L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_53_in_ruleAttributeCS3672 = new BitSet(new long[]{0x5000000000000000L});
+        public static final BitSet FOLLOW_71_in_ruleAttributeCS3703 = new BitSet(new long[]{0x5000000000000000L});
+        public static final BitSet FOLLOW_60_in_ruleAttributeCS3717 = new BitSet(new long[]{0x4000000000000000L});
+        public static final BitSet FOLLOW_62_in_ruleAttributeCS3733 = new BitSet(new long[]{0x643C104080000000L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_61_in_ruleAttributeCS3795 = new BitSet(new long[]{0x4800000208000000L,0x0000000000010400L});
+        public static final BitSet FOLLOW_ruleAnnotationElementCS_in_ruleAttributeCS3817 = new BitSet(new long[]{0x4800000208000000L,0x0000000000010400L});
+        public static final BitSet FOLLOW_27_in_ruleAttributeCS3836 = new BitSet(new long[]{0x0A7FFFFFFFFA0300L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleAttributeCS3856 = new BitSet(new long[]{0x0200000000000000L});
+        public static final BitSet FOLLOW_57_in_ruleAttributeCS3869 = new BitSet(new long[]{0x0CFFFFFFFFFE03B0L,0x40F9FFF400190D00L,0x0000000000000018L});
+        public static final BitSet FOLLOW_ruleSpecificationCS_in_ruleAttributeCS3890 = new BitSet(new long[]{0x0400000000000000L});
+        public static final BitSet FOLLOW_58_in_ruleAttributeCS3903 = new BitSet(new long[]{0x4800000208000000L,0x0000000000010400L});
+        public static final BitSet FOLLOW_33_in_ruleAttributeCS3923 = new BitSet(new long[]{0x0A7FFFFFFFFA0300L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleAttributeCS3943 = new BitSet(new long[]{0x0200000000000000L});
+        public static final BitSet FOLLOW_57_in_ruleAttributeCS3956 = new BitSet(new long[]{0x0CFFFFFFFFFE03B0L,0x40F9FFF400190D00L,0x0000000000000018L});
+        public static final BitSet FOLLOW_ruleSpecificationCS_in_ruleAttributeCS3977 = new BitSet(new long[]{0x0400000000000000L});
+        public static final BitSet FOLLOW_58_in_ruleAttributeCS3990 = new BitSet(new long[]{0x4800000208000000L,0x0000000000010400L});
+        public static final BitSet FOLLOW_62_in_ruleAttributeCS4005 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_58_in_ruleAttributeCS4024 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleClassCS_in_entryRuleClassCS4065 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleClassCS4075 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStructuredClassCS_in_ruleClassCS4125 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleDataTypeCS_in_ruleClassCS4155 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEnumerationCS_in_ruleClassCS4185 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleDataTypeCS_in_entryRuleDataTypeCS4220 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleDataTypeCS4230 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_42_in_ruleDataTypeCS4273 = new BitSet(new long[]{0x0000000002000000L});
+        public static final BitSet FOLLOW_25_in_ruleDataTypeCS4299 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleDataTypeCS4320 = new BitSet(new long[]{0x2680000000000000L,0x0000000000020000L});
+        public static final BitSet FOLLOW_ruleTemplateSignatureCS_in_ruleDataTypeCS4341 = new BitSet(new long[]{0x2600000000000000L});
+        public static final BitSet FOLLOW_57_in_ruleDataTypeCS4355 = new BitSet(new long[]{0x0000000000000020L});
+        public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleDataTypeCS4372 = new BitSet(new long[]{0x2400000000000000L});
+        public static final BitSet FOLLOW_61_in_ruleDataTypeCS4392 = new BitSet(new long[]{0x4000000000000000L,0x0000000000000300L});
+        public static final BitSet FOLLOW_72_in_ruleDataTypeCS4411 = new BitSet(new long[]{0x4000000000000000L});
+        public static final BitSet FOLLOW_73_in_ruleDataTypeCS4442 = new BitSet(new long[]{0x4000000000000000L});
+        public static final BitSet FOLLOW_62_in_ruleDataTypeCS4456 = new BitSet(new long[]{0x2400000000000000L});
+        public static final BitSet FOLLOW_61_in_ruleDataTypeCS4472 = new BitSet(new long[]{0x4840000000400000L,0x0000000000010400L});
+        public static final BitSet FOLLOW_ruleAnnotationElementCS_in_ruleDataTypeCS4494 = new BitSet(new long[]{0x4840000000400000L,0x0000000000010400L});
+        public static final BitSet FOLLOW_ruleInvariantConstraintCS_in_ruleDataTypeCS4521 = new BitSet(new long[]{0x4840000000400000L,0x0000000000010400L});
+        public static final BitSet FOLLOW_62_in_ruleDataTypeCS4535 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_58_in_ruleDataTypeCS4554 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleDetailCS_in_entryRuleDetailCS4591 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleDetailCS4601 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleDetailCS4649 = new BitSet(new long[]{0x8000000000000000L});
+        public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleDetailCS4664 = new BitSet(new long[]{0x8000000000000000L});
+        public static final BitSet FOLLOW_63_in_ruleDetailCS4684 = new BitSet(new long[]{0x0000000000000062L});
+        public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleDetailCS4703 = new BitSet(new long[]{0x0000000000000062L});
+        public static final BitSet FOLLOW_RULE_ML_SINGLE_QUOTED_STRING_in_ruleDetailCS4723 = new BitSet(new long[]{0x0000000000000062L});
+        public static final BitSet FOLLOW_ruleDocumentationCS_in_entryRuleDocumentationCS4768 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleDocumentationCS4778 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_74_in_ruleDocumentationCS4827 = new BitSet(new long[]{0x0480000000000020L});
+        public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleDocumentationCS4844 = new BitSet(new long[]{0x0480000000000000L});
+        public static final BitSet FOLLOW_55_in_ruleDocumentationCS4863 = new BitSet(new long[]{0x087FFFFFFFFA0320L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleDetailCS_in_ruleDocumentationCS4884 = new BitSet(new long[]{0x1100000000000000L});
+        public static final BitSet FOLLOW_60_in_ruleDocumentationCS4897 = new BitSet(new long[]{0x087FFFFFFFFA0320L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleDetailCS_in_ruleDocumentationCS4918 = new BitSet(new long[]{0x1100000000000000L});
+        public static final BitSet FOLLOW_56_in_ruleDocumentationCS4932 = new BitSet(new long[]{0x0400000000000000L});
+        public static final BitSet FOLLOW_58_in_ruleDocumentationCS4946 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEnumerationCS_in_entryRuleEnumerationCS4982 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEnumerationCS4992 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_29_in_ruleEnumerationCS5029 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleEnumerationCS5050 = new BitSet(new long[]{0x2680000000000000L,0x0000000000020000L});
+        public static final BitSet FOLLOW_ruleTemplateSignatureCS_in_ruleEnumerationCS5071 = new BitSet(new long[]{0x2600000000000000L});
+        public static final BitSet FOLLOW_57_in_ruleEnumerationCS5085 = new BitSet(new long[]{0x0000000000000020L});
+        public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleEnumerationCS5102 = new BitSet(new long[]{0x2400000000000000L});
+        public static final BitSet FOLLOW_61_in_ruleEnumerationCS5122 = new BitSet(new long[]{0x4000000000000000L,0x0000000000000300L});
+        public static final BitSet FOLLOW_72_in_ruleEnumerationCS5141 = new BitSet(new long[]{0x4000000000000000L});
+        public static final BitSet FOLLOW_73_in_ruleEnumerationCS5172 = new BitSet(new long[]{0x4000000000000000L});
+        public static final BitSet FOLLOW_62_in_ruleEnumerationCS5186 = new BitSet(new long[]{0x2400000000000000L});
+        public static final BitSet FOLLOW_61_in_ruleEnumerationCS5202 = new BitSet(new long[]{0x487FFFFFFFFA0300L,0x0000000000010C00L});
+        public static final BitSet FOLLOW_ruleAnnotationElementCS_in_ruleEnumerationCS5224 = new BitSet(new long[]{0x487FFFFFFFFA0300L,0x0000000000010C00L});
+        public static final BitSet FOLLOW_ruleEnumerationLiteralCS_in_ruleEnumerationCS5251 = new BitSet(new long[]{0x487FFFFFFFFA0300L,0x0000000000010C00L});
+        public static final BitSet FOLLOW_ruleInvariantConstraintCS_in_ruleEnumerationCS5278 = new BitSet(new long[]{0x487FFFFFFFFA0300L,0x0000000000010C00L});
+        public static final BitSet FOLLOW_62_in_ruleEnumerationCS5292 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_58_in_ruleEnumerationCS5311 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEnumerationLiteralCS_in_entryRuleEnumerationLiteralCS5348 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEnumerationLiteralCS5358 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_75_in_ruleEnumerationLiteralCS5397 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleEnumerationLiteralCS5418 = new BitSet(new long[]{0xA400000000000000L});
+        public static final BitSet FOLLOW_ruleEnumerationLiteralName_in_ruleEnumerationLiteralCS5446 = new BitSet(new long[]{0xA400000000000000L});
+        public static final BitSet FOLLOW_63_in_ruleEnumerationLiteralCS5460 = new BitSet(new long[]{0x0000000000040010L});
+        public static final BitSet FOLLOW_ruleSIGNED_in_ruleEnumerationLiteralCS5481 = new BitSet(new long[]{0x2400000000000000L});
+        public static final BitSet FOLLOW_61_in_ruleEnumerationLiteralCS5497 = new BitSet(new long[]{0x4800000000000000L,0x0000000000010400L});
+        public static final BitSet FOLLOW_ruleAnnotationElementCS_in_ruleEnumerationLiteralCS5518 = new BitSet(new long[]{0x4800000000000000L,0x0000000000010400L});
+        public static final BitSet FOLLOW_62_in_ruleEnumerationLiteralCS5531 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_58_in_ruleEnumerationLiteralCS5550 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleImportCS_in_entryRuleImportCS5587 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleImportCS5597 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_32_in_ruleImportCS5634 = new BitSet(new long[]{0x087FFFFFFFFA0320L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleImportCS5656 = new BitSet(new long[]{0x0200000000000000L});
+        public static final BitSet FOLLOW_57_in_ruleImportCS5668 = new BitSet(new long[]{0x087FFFFFFFFA0320L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleURIPathNameCS_in_ruleImportCS5691 = new BitSet(new long[]{0x0400000000000000L,0x0000000000001000L});
+        public static final BitSet FOLLOW_76_in_ruleImportCS5709 = new BitSet(new long[]{0x0400000000000000L});
+        public static final BitSet FOLLOW_58_in_ruleImportCS5735 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleLibraryCS_in_entryRuleLibraryCS5771 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleLibraryCS5781 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_36_in_ruleLibraryCS5818 = new BitSet(new long[]{0x087FFFFFFFFA0320L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleLibraryCS5840 = new BitSet(new long[]{0x0200000000000000L});
+        public static final BitSet FOLLOW_57_in_ruleLibraryCS5852 = new BitSet(new long[]{0x087FFFFFFFFA0320L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleURI_in_ruleLibraryCS5881 = new BitSet(new long[]{0x0400000000000000L});
+        public static final BitSet FOLLOW_58_in_ruleLibraryCS5893 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleModelElementCS_in_entryRuleModelElementCS5929 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleModelElementCS5939 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleClassCS_in_ruleModelElementCS5989 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEnumerationLiteralCS_in_ruleModelElementCS6019 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleOperationCS_in_ruleModelElementCS6049 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePackageCS_in_ruleModelElementCS6079 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStructuralFeatureCS_in_ruleModelElementCS6109 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleModelElementRefCS_in_entryRuleModelElementRefCS6144 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleModelElementRefCS6154 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_45_in_ruleModelElementRefCS6191 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
+        public static final BitSet FOLLOW_rulePathNameCS_in_ruleModelElementRefCS6212 = new BitSet(new long[]{0x0400000000000000L});
+        public static final BitSet FOLLOW_58_in_ruleModelElementRefCS6224 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleOperationCS_in_entryRuleOperationCS6266 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleOperationCS6276 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_47_in_ruleOperationCS6368 = new BitSet(new long[]{0x0000802004000000L});
+        public static final BitSet FOLLOW_26_in_ruleOperationCS6453 = new BitSet(new long[]{0x0000802004000000L});
+        public static final BitSet FOLLOW_37_in_ruleOperationCS6518 = new BitSet(new long[]{0x08FFFFFFFFFA0300L,0x0000000000030D00L});
+        public static final BitSet FOLLOW_ruleTemplateSignatureCS_in_ruleOperationCS6539 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleOperationCS6561 = new BitSet(new long[]{0x0080000000000000L});
+        public static final BitSet FOLLOW_55_in_ruleOperationCS6573 = new BitSet(new long[]{0x097FFFFFFFFA0300L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleParameterCS_in_ruleOperationCS6595 = new BitSet(new long[]{0x1100000000000000L});
+        public static final BitSet FOLLOW_60_in_ruleOperationCS6608 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleParameterCS_in_ruleOperationCS6629 = new BitSet(new long[]{0x1100000000000000L});
+        public static final BitSet FOLLOW_56_in_ruleOperationCS6645 = new BitSet(new long[]{0x660A004000000000L,0x0000000000000024L});
+        public static final BitSet FOLLOW_57_in_ruleOperationCS6658 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
+        public static final BitSet FOLLOW_ruleTypedMultiplicityRefCS_in_ruleOperationCS6679 = new BitSet(new long[]{0x640A004000000000L,0x0000000000000024L});
+        public static final BitSet FOLLOW_49_in_ruleOperationCS6694 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
+        public static final BitSet FOLLOW_ruleTypedRefCS_in_ruleOperationCS6715 = new BitSet(new long[]{0x7408004000000000L,0x0000000000000024L});
+        public static final BitSet FOLLOW_60_in_ruleOperationCS6728 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
+        public static final BitSet FOLLOW_ruleTypedRefCS_in_ruleOperationCS6749 = new BitSet(new long[]{0x7408004000000000L,0x0000000000000024L});
+        public static final BitSet FOLLOW_61_in_ruleOperationCS6811 = new BitSet(new long[]{0x6408004010000000L,0x0000000000000025L});
+        public static final BitSet FOLLOW_28_in_ruleOperationCS6831 = new BitSet(new long[]{0x7408004000000000L,0x0000000000000024L});
+        public static final BitSet FOLLOW_64_in_ruleOperationCS6862 = new BitSet(new long[]{0x7408004000000000L,0x0000000000000024L});
+        public static final BitSet FOLLOW_60_in_ruleOperationCS6876 = new BitSet(new long[]{0x6408004000000000L,0x0000000000000024L});
+        public static final BitSet FOLLOW_38_in_ruleOperationCS6955 = new BitSet(new long[]{0x7408004000000000L,0x0000000000000024L});
+        public static final BitSet FOLLOW_66_in_ruleOperationCS6986 = new BitSet(new long[]{0x7408004000000000L,0x0000000000000024L});
+        public static final BitSet FOLLOW_60_in_ruleOperationCS7000 = new BitSet(new long[]{0x6408004000000000L,0x0000000000000024L});
+        public static final BitSet FOLLOW_69_in_ruleOperationCS7078 = new BitSet(new long[]{0x5000000000000000L});
+        public static final BitSet FOLLOW_51_in_ruleOperationCS7109 = new BitSet(new long[]{0x5000000000000000L});
+        public static final BitSet FOLLOW_60_in_ruleOperationCS7123 = new BitSet(new long[]{0x4000000000000000L});
+        public static final BitSet FOLLOW_62_in_ruleOperationCS7139 = new BitSet(new long[]{0x6408004000000000L,0x0000000000000024L});
+        public static final BitSet FOLLOW_61_in_ruleOperationCS7201 = new BitSet(new long[]{0x4800030000200000L,0x0000000000010400L});
+        public static final BitSet FOLLOW_ruleAnnotationElementCS_in_ruleOperationCS7223 = new BitSet(new long[]{0x4800030000200000L,0x0000000000010400L});
+        public static final BitSet FOLLOW_rulePreconditionConstraintCS_in_ruleOperationCS7250 = new BitSet(new long[]{0x4800030000200000L,0x0000000000010400L});
+        public static final BitSet FOLLOW_21_in_ruleOperationCS7269 = new BitSet(new long[]{0x0A7FFFFFFFFA0300L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleOperationCS7289 = new BitSet(new long[]{0x0200000000000000L});
+        public static final BitSet FOLLOW_57_in_ruleOperationCS7302 = new BitSet(new long[]{0x0CFFFFFFFFFE03B0L,0x40F9FFF400190D00L,0x0000000000000018L});
+        public static final BitSet FOLLOW_ruleSpecificationCS_in_ruleOperationCS7323 = new BitSet(new long[]{0x0400000000000000L});
+        public static final BitSet FOLLOW_58_in_ruleOperationCS7336 = new BitSet(new long[]{0x4800030000200000L,0x0000000000010400L});
+        public static final BitSet FOLLOW_rulePostconditionConstraintCS_in_ruleOperationCS7364 = new BitSet(new long[]{0x4800030000200000L,0x0000000000010400L});
+        public static final BitSet FOLLOW_62_in_ruleOperationCS7378 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_58_in_ruleOperationCS7397 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePackageCS_in_entryRulePackageCS7438 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRulePackageCS7448 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_39_in_rulePackageCS7485 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rulePackageCS7506 = new BitSet(new long[]{0xA600000000000000L});
+        public static final BitSet FOLLOW_57_in_rulePackageCS7519 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rulePackageCS7540 = new BitSet(new long[]{0xA400000000000000L});
+        public static final BitSet FOLLOW_63_in_rulePackageCS7555 = new BitSet(new long[]{0x087FFFFFFFFA0320L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleURI_in_rulePackageCS7576 = new BitSet(new long[]{0x2400000000000000L});
+        public static final BitSet FOLLOW_61_in_rulePackageCS7592 = new BitSet(new long[]{0x4800048022880000L,0x0000000000010400L});
+        public static final BitSet FOLLOW_ruleAnnotationElementCS_in_rulePackageCS7614 = new BitSet(new long[]{0x4800048022880000L,0x0000000000010400L});
+        public static final BitSet FOLLOW_rulePackageCS_in_rulePackageCS7641 = new BitSet(new long[]{0x4800048022880000L,0x0000000000010400L});
+        public static final BitSet FOLLOW_ruleClassCS_in_rulePackageCS7668 = new BitSet(new long[]{0x4800048022880000L,0x0000000000010400L});
+        public static final BitSet FOLLOW_62_in_rulePackageCS7682 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_58_in_rulePackageCS7701 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleParameterCS_in_entryRuleParameterCS7744 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleParameterCS7754 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleParameterCS7804 = new BitSet(new long[]{0x6208000000000002L,0x0000000000000020L});
+        public static final BitSet FOLLOW_57_in_ruleParameterCS7817 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
+        public static final BitSet FOLLOW_ruleTypedMultiplicityRefCS_in_ruleParameterCS7838 = new BitSet(new long[]{0x6008000000000002L,0x0000000000000020L});
+        public static final BitSet FOLLOW_61_in_ruleParameterCS7898 = new BitSet(new long[]{0x6008004000000002L,0x0000000000000024L});
+        public static final BitSet FOLLOW_38_in_ruleParameterCS7918 = new BitSet(new long[]{0x7008000000000002L,0x0000000000000020L});
+        public static final BitSet FOLLOW_66_in_ruleParameterCS7949 = new BitSet(new long[]{0x7008000000000002L,0x0000000000000020L});
+        public static final BitSet FOLLOW_60_in_ruleParameterCS7963 = new BitSet(new long[]{0x6008000000000002L,0x0000000000000020L});
+        public static final BitSet FOLLOW_69_in_ruleParameterCS8043 = new BitSet(new long[]{0x5000000000000000L});
+        public static final BitSet FOLLOW_51_in_ruleParameterCS8074 = new BitSet(new long[]{0x5000000000000000L});
+        public static final BitSet FOLLOW_60_in_ruleParameterCS8088 = new BitSet(new long[]{0x4000000000000000L});
+        public static final BitSet FOLLOW_62_in_ruleParameterCS8104 = new BitSet(new long[]{0x6008000000000002L,0x0000000000000020L});
+        public static final BitSet FOLLOW_61_in_ruleParameterCS8165 = new BitSet(new long[]{0x4800000000000000L,0x0000000000010400L});
+        public static final BitSet FOLLOW_ruleAnnotationElementCS_in_ruleParameterCS8186 = new BitSet(new long[]{0x4800000000000000L,0x0000000000010400L});
+        public static final BitSet FOLLOW_62_in_ruleParameterCS8199 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleReferenceCS_in_entryRuleReferenceCS8247 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleReferenceCS8257 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_47_in_ruleReferenceCS8349 = new BitSet(new long[]{0x0000880004000000L});
+        public static final BitSet FOLLOW_26_in_ruleReferenceCS8434 = new BitSet(new long[]{0x0000880004000000L});
+        public static final BitSet FOLLOW_43_in_ruleReferenceCS8499 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleReferenceCS8520 = new BitSet(new long[]{0xE63C504010000000L,0x000000000000A0FDL});
+        public static final BitSet FOLLOW_77_in_ruleReferenceCS8533 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleReferenceCS8560 = new BitSet(new long[]{0xE63C504010000000L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_57_in_ruleReferenceCS8575 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
+        public static final BitSet FOLLOW_ruleTypedMultiplicityRefCS_in_ruleReferenceCS8596 = new BitSet(new long[]{0xE43C504010000000L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_63_in_ruleReferenceCS8611 = new BitSet(new long[]{0x0000000000000020L});
+        public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleReferenceCS8628 = new BitSet(new long[]{0x643C504010000000L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_61_in_ruleReferenceCS8693 = new BitSet(new long[]{0x643C504011000000L,0x000000000000C0FDL});
+        public static final BitSet FOLLOW_24_in_ruleReferenceCS8713 = new BitSet(new long[]{0x743C504010000000L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_78_in_ruleReferenceCS8744 = new BitSet(new long[]{0x743C504010000000L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_60_in_ruleReferenceCS8758 = new BitSet(new long[]{0x643C504010000000L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_28_in_ruleReferenceCS8837 = new BitSet(new long[]{0x743C504010000000L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_64_in_ruleReferenceCS8868 = new BitSet(new long[]{0x743C504010000000L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_60_in_ruleReferenceCS8882 = new BitSet(new long[]{0x643C504010000000L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_38_in_ruleReferenceCS8959 = new BitSet(new long[]{0x743C504010000000L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_66_in_ruleReferenceCS8990 = new BitSet(new long[]{0x743C504010000000L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_60_in_ruleReferenceCS9004 = new BitSet(new long[]{0x643C504010000000L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_44_in_ruleReferenceCS9081 = new BitSet(new long[]{0x743C504010000000L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_67_in_ruleReferenceCS9112 = new BitSet(new long[]{0x743C504010000000L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_60_in_ruleReferenceCS9126 = new BitSet(new long[]{0x643C504010000000L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_46_in_ruleReferenceCS9203 = new BitSet(new long[]{0x743C504010000000L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_79_in_ruleReferenceCS9234 = new BitSet(new long[]{0x743C504010000000L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_60_in_ruleReferenceCS9248 = new BitSet(new long[]{0x643C504010000000L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_50_in_ruleReferenceCS9325 = new BitSet(new long[]{0x743C504010000000L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_68_in_ruleReferenceCS9356 = new BitSet(new long[]{0x743C504010000000L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_60_in_ruleReferenceCS9370 = new BitSet(new long[]{0x643C504010000000L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_69_in_ruleReferenceCS9447 = new BitSet(new long[]{0x743C504010000000L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_51_in_ruleReferenceCS9478 = new BitSet(new long[]{0x743C504010000000L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_60_in_ruleReferenceCS9492 = new BitSet(new long[]{0x643C504010000000L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_52_in_ruleReferenceCS9569 = new BitSet(new long[]{0x743C504010000000L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_70_in_ruleReferenceCS9600 = new BitSet(new long[]{0x743C504010000000L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_60_in_ruleReferenceCS9614 = new BitSet(new long[]{0x643C504010000000L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_53_in_ruleReferenceCS9692 = new BitSet(new long[]{0x5000000000000000L});
+        public static final BitSet FOLLOW_71_in_ruleReferenceCS9723 = new BitSet(new long[]{0x5000000000000000L});
+        public static final BitSet FOLLOW_60_in_ruleReferenceCS9737 = new BitSet(new long[]{0x4000000000000000L});
+        public static final BitSet FOLLOW_62_in_ruleReferenceCS9753 = new BitSet(new long[]{0x643C504010000000L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_61_in_ruleReferenceCS9815 = new BitSet(new long[]{0x4800000A08000000L,0x0000000000010400L});
+        public static final BitSet FOLLOW_ruleAnnotationElementCS_in_ruleReferenceCS9837 = new BitSet(new long[]{0x4800000A08000000L,0x0000000000010400L});
+        public static final BitSet FOLLOW_35_in_ruleReferenceCS9856 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleReferenceCS9883 = new BitSet(new long[]{0x1400000000000000L});
+        public static final BitSet FOLLOW_60_in_ruleReferenceCS9896 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleReferenceCS9923 = new BitSet(new long[]{0x1400000000000000L});
+        public static final BitSet FOLLOW_58_in_ruleReferenceCS9937 = new BitSet(new long[]{0x4800000A08000000L,0x0000000000010400L});
+        public static final BitSet FOLLOW_27_in_ruleReferenceCS9957 = new BitSet(new long[]{0x0A7FFFFFFFFA0300L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleReferenceCS9977 = new BitSet(new long[]{0x0200000000000000L});
+        public static final BitSet FOLLOW_57_in_ruleReferenceCS9990 = new BitSet(new long[]{0x0CFFFFFFFFFE03B0L,0x40F9FFF400190D00L,0x0000000000000018L});
+        public static final BitSet FOLLOW_ruleSpecificationCS_in_ruleReferenceCS10011 = new BitSet(new long[]{0x0400000000000000L});
+        public static final BitSet FOLLOW_58_in_ruleReferenceCS10024 = new BitSet(new long[]{0x4800000A08000000L,0x0000000000010400L});
+        public static final BitSet FOLLOW_33_in_ruleReferenceCS10044 = new BitSet(new long[]{0x0A7FFFFFFFFA0300L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleReferenceCS10064 = new BitSet(new long[]{0x0200000000000000L});
+        public static final BitSet FOLLOW_57_in_ruleReferenceCS10077 = new BitSet(new long[]{0x0CFFFFFFFFFE03B0L,0x40F9FFF400190D00L,0x0000000000000018L});
+        public static final BitSet FOLLOW_ruleSpecificationCS_in_ruleReferenceCS10098 = new BitSet(new long[]{0x0400000000000000L});
+        public static final BitSet FOLLOW_58_in_ruleReferenceCS10111 = new BitSet(new long[]{0x4800000A08000000L,0x0000000000010400L});
+        public static final BitSet FOLLOW_62_in_ruleReferenceCS10126 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_58_in_ruleReferenceCS10145 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSpecificationCS_in_entryRuleSpecificationCS10186 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleSpecificationCS10196 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleExpCS_in_ruleSpecificationCS10242 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_UNQUOTED_STRING_in_ruleSpecificationCS10265 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStructuredClassCS_in_entryRuleStructuredClassCS10306 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleStructuredClassCS10316 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_19_in_ruleStructuredClassCS10359 = new BitSet(new long[]{0x0000000000800000L});
+        public static final BitSet FOLLOW_23_in_ruleStructuredClassCS10385 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleStructuredClassCS10406 = new BitSet(new long[]{0x2680000040000000L,0x0000000000020000L});
+        public static final BitSet FOLLOW_ruleTemplateSignatureCS_in_ruleStructuredClassCS10427 = new BitSet(new long[]{0x2600000040000000L});
+        public static final BitSet FOLLOW_30_in_ruleStructuredClassCS10441 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
+        public static final BitSet FOLLOW_ruleTypedRefCS_in_ruleStructuredClassCS10462 = new BitSet(new long[]{0x3600000000000000L});
+        public static final BitSet FOLLOW_60_in_ruleStructuredClassCS10475 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
+        public static final BitSet FOLLOW_ruleTypedRefCS_in_ruleStructuredClassCS10496 = new BitSet(new long[]{0x3600000000000000L});
+        public static final BitSet FOLLOW_57_in_ruleStructuredClassCS10513 = new BitSet(new long[]{0x0000000000000020L});
+        public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleStructuredClassCS10530 = new BitSet(new long[]{0x2400000000000000L});
+        public static final BitSet FOLLOW_61_in_ruleStructuredClassCS10550 = new BitSet(new long[]{0x4000000400000000L});
+        public static final BitSet FOLLOW_34_in_ruleStructuredClassCS10568 = new BitSet(new long[]{0x4000000000000000L});
+        public static final BitSet FOLLOW_62_in_ruleStructuredClassCS10594 = new BitSet(new long[]{0x2400000000000000L});
+        public static final BitSet FOLLOW_61_in_ruleStructuredClassCS10610 = new BitSet(new long[]{0x487FFFFFFFFA0300L,0x0000000000010C00L});
+        public static final BitSet FOLLOW_ruleAnnotationElementCS_in_ruleStructuredClassCS10632 = new BitSet(new long[]{0x487FFFFFFFFA0300L,0x0000000000010C00L});
+        public static final BitSet FOLLOW_ruleOperationCS_in_ruleStructuredClassCS10659 = new BitSet(new long[]{0x487FFFFFFFFA0300L,0x0000000000010C00L});
+        public static final BitSet FOLLOW_ruleStructuralFeatureCS_in_ruleStructuredClassCS10686 = new BitSet(new long[]{0x487FFFFFFFFA0300L,0x0000000000010C00L});
+        public static final BitSet FOLLOW_ruleInvariantConstraintCS_in_ruleStructuredClassCS10713 = new BitSet(new long[]{0x487FFFFFFFFA0300L,0x0000000000010C00L});
+        public static final BitSet FOLLOW_62_in_ruleStructuredClassCS10727 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_58_in_ruleStructuredClassCS10746 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStructuralFeatureCS_in_entryRuleStructuralFeatureCS10783 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleStructuralFeatureCS10793 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAttributeCS_in_ruleStructuralFeatureCS10843 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleReferenceCS_in_ruleStructuralFeatureCS10873 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSysMLCS_in_entryRuleSysMLCS10908 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleSysMLCS10918 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_80_in_ruleSysMLCS10967 = new BitSet(new long[]{0x287FFFFFFFFA0320L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleDetailCS_in_ruleSysMLCS10990 = new BitSet(new long[]{0x0400000000000000L});
+        public static final BitSet FOLLOW_58_in_ruleSysMLCS11002 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_61_in_ruleSysMLCS11022 = new BitSet(new long[]{0x487FFFFFFFFA0320L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleDetailCS_in_ruleSysMLCS11044 = new BitSet(new long[]{0x0400000000000000L});
+        public static final BitSet FOLLOW_58_in_ruleSysMLCS11056 = new BitSet(new long[]{0x487FFFFFFFFA0320L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_62_in_ruleSysMLCS11070 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypedMultiplicityRefCS_in_entryRuleTypedMultiplicityRefCS11110 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleTypedMultiplicityRefCS11120 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypedRefCS_in_ruleTypedMultiplicityRefCS11170 = new BitSet(new long[]{0x0000000000000002L,0x0400000000000000L});
+        public static final BitSet FOLLOW_ruleMultiplicityCS_in_ruleTypedMultiplicityRefCS11190 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTemplateBindingCS_in_entryRuleTemplateBindingCS11227 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleTemplateBindingCS11237 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_55_in_ruleTemplateBindingCS11275 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleTemplateParameterSubstitutionCS_in_ruleTemplateBindingCS11296 = new BitSet(new long[]{0x1100000000000000L});
+        public static final BitSet FOLLOW_60_in_ruleTemplateBindingCS11309 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleTemplateParameterSubstitutionCS_in_ruleTemplateBindingCS11330 = new BitSet(new long[]{0x1100000000000000L});
+        public static final BitSet FOLLOW_56_in_ruleTemplateBindingCS11344 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_81_in_ruleTemplateBindingCS11364 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleTemplateParameterSubstitutionCS_in_ruleTemplateBindingCS11385 = new BitSet(new long[]{0x1000000000000000L,0x0000000000040000L});
+        public static final BitSet FOLLOW_60_in_ruleTemplateBindingCS11398 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleTemplateParameterSubstitutionCS_in_ruleTemplateBindingCS11419 = new BitSet(new long[]{0x1000000000000000L,0x0000000000040000L});
+        public static final BitSet FOLLOW_82_in_ruleTemplateBindingCS11433 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTemplateSignatureCS_in_entryRuleTemplateSignatureCS11470 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleTemplateSignatureCS11480 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_55_in_ruleTemplateSignatureCS11518 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleTypeParameterCS_in_ruleTemplateSignatureCS11539 = new BitSet(new long[]{0x1100000000000000L});
+        public static final BitSet FOLLOW_60_in_ruleTemplateSignatureCS11552 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleTypeParameterCS_in_ruleTemplateSignatureCS11573 = new BitSet(new long[]{0x1100000000000000L});
+        public static final BitSet FOLLOW_56_in_ruleTemplateSignatureCS11587 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_81_in_ruleTemplateSignatureCS11607 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleTypeParameterCS_in_ruleTemplateSignatureCS11628 = new BitSet(new long[]{0x1000000000000000L,0x0000000000040000L});
+        public static final BitSet FOLLOW_60_in_ruleTemplateSignatureCS11641 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleTypeParameterCS_in_ruleTemplateSignatureCS11662 = new BitSet(new long[]{0x1000000000000000L,0x0000000000040000L});
+        public static final BitSet FOLLOW_82_in_ruleTemplateSignatureCS11676 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypedRefCS_in_entryRuleTypedRefCS11713 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleTypedRefCS11723 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypeLiteralCS_in_ruleTypedRefCS11773 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypedTypeRefCS_in_ruleTypedRefCS11803 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_entryRuleUnrestrictedName11839 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleUnrestrictedName11850 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEnumerationLiteralName_in_ruleUnrestrictedName11897 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_59_in_ruleUnrestrictedName11921 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_74_in_ruleUnrestrictedName11940 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_54_in_ruleUnrestrictedName11959 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_75_in_ruleUnrestrictedName11978 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_72_in_ruleUnrestrictedName11997 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_80_in_ruleUnrestrictedName12016 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEssentialOCLUnaryOperatorName_in_entryRuleEssentialOCLUnaryOperatorName12061 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEssentialOCLUnaryOperatorName12072 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_ruleEssentialOCLUnaryOperatorName12110 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_83_in_ruleEssentialOCLUnaryOperatorName12129 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEssentialOCLInfixOperatorName_in_entryRuleEssentialOCLInfixOperatorName12170 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEssentialOCLInfixOperatorName12181 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_84_in_ruleEssentialOCLInfixOperatorName12219 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_85_in_ruleEssentialOCLInfixOperatorName12238 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_86_in_ruleEssentialOCLInfixOperatorName12257 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_ruleEssentialOCLInfixOperatorName12276 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_82_in_ruleEssentialOCLInfixOperatorName12295 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_81_in_ruleEssentialOCLInfixOperatorName12314 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_87_in_ruleEssentialOCLInfixOperatorName12333 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_88_in_ruleEssentialOCLInfixOperatorName12352 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_63_in_ruleEssentialOCLInfixOperatorName12371 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_89_in_ruleEssentialOCLInfixOperatorName12390 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_90_in_ruleEssentialOCLInfixOperatorName12409 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_91_in_ruleEssentialOCLInfixOperatorName12428 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_92_in_ruleEssentialOCLInfixOperatorName12447 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_93_in_ruleEssentialOCLInfixOperatorName12466 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEssentialOCLNavigationOperatorName_in_entryRuleEssentialOCLNavigationOperatorName12507 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEssentialOCLNavigationOperatorName12518 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_94_in_ruleEssentialOCLNavigationOperatorName12556 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_95_in_ruleEssentialOCLNavigationOperatorName12575 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_96_in_ruleEssentialOCLNavigationOperatorName12594 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_97_in_ruleEssentialOCLNavigationOperatorName12613 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleBinaryOperatorName_in_entryRuleBinaryOperatorName12654 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleBinaryOperatorName12665 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleInfixOperatorName_in_ruleBinaryOperatorName12712 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleNavigationOperatorName_in_ruleBinaryOperatorName12745 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleInfixOperatorName_in_entryRuleInfixOperatorName12791 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleInfixOperatorName12802 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEssentialOCLInfixOperatorName_in_ruleInfixOperatorName12848 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleNavigationOperatorName_in_entryRuleNavigationOperatorName12893 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleNavigationOperatorName12904 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEssentialOCLNavigationOperatorName_in_ruleNavigationOperatorName12950 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnaryOperatorName_in_entryRuleUnaryOperatorName12995 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleUnaryOperatorName13006 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEssentialOCLUnaryOperatorName_in_ruleUnaryOperatorName13052 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEssentialOCLUnrestrictedName_in_entryRuleEssentialOCLUnrestrictedName13097 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEssentialOCLUnrestrictedName13108 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleIdentifier_in_ruleEssentialOCLUnrestrictedName13154 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEssentialOCLUnreservedName_in_entryRuleEssentialOCLUnreservedName13199 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEssentialOCLUnreservedName13210 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleEssentialOCLUnreservedName13257 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleCollectionTypeIdentifier_in_ruleEssentialOCLUnreservedName13290 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePrimitiveTypeIdentifier_in_ruleEssentialOCLUnreservedName13323 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_98_in_ruleEssentialOCLUnreservedName13347 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnreservedName_in_entryRuleUnreservedName13388 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleUnreservedName13399 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEssentialOCLUnreservedName_in_ruleUnreservedName13445 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleURIPathNameCS_in_entryRuleURIPathNameCS13489 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleURIPathNameCS13499 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleURIFirstPathElementCS_in_ruleURIPathNameCS13545 = new BitSet(new long[]{0x0000000000000002L,0x0000000800000000L});
+        public static final BitSet FOLLOW_99_in_ruleURIPathNameCS13558 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0001FFF400010D00L});
+        public static final BitSet FOLLOW_ruleNextPathElementCS_in_ruleURIPathNameCS13579 = new BitSet(new long[]{0x0000000000000002L,0x0000000800000000L});
+        public static final BitSet FOLLOW_ruleURIFirstPathElementCS_in_entryRuleURIFirstPathElementCS13617 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleURIFirstPathElementCS13627 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleURIFirstPathElementCS13679 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleURI_in_ruleURIFirstPathElementCS13725 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePrimitiveTypeIdentifier_in_entryRulePrimitiveTypeIdentifier13763 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRulePrimitiveTypeIdentifier13774 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_100_in_rulePrimitiveTypeIdentifier13812 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_101_in_rulePrimitiveTypeIdentifier13831 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_102_in_rulePrimitiveTypeIdentifier13850 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_103_in_rulePrimitiveTypeIdentifier13869 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_104_in_rulePrimitiveTypeIdentifier13888 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_105_in_rulePrimitiveTypeIdentifier13907 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_106_in_rulePrimitiveTypeIdentifier13926 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_107_in_rulePrimitiveTypeIdentifier13945 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePrimitiveTypeCS_in_entryRulePrimitiveTypeCS13985 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRulePrimitiveTypeCS13995 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePrimitiveTypeIdentifier_in_rulePrimitiveTypeCS14040 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleCollectionTypeIdentifier_in_entryRuleCollectionTypeIdentifier14076 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleCollectionTypeIdentifier14087 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_108_in_ruleCollectionTypeIdentifier14125 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_109_in_ruleCollectionTypeIdentifier14144 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_110_in_ruleCollectionTypeIdentifier14163 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_111_in_ruleCollectionTypeIdentifier14182 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_112_in_ruleCollectionTypeIdentifier14201 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleCollectionTypeCS_in_entryRuleCollectionTypeCS14241 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleCollectionTypeCS14251 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleCollectionTypeIdentifier_in_ruleCollectionTypeCS14297 = new BitSet(new long[]{0x0080000000000002L});
+        public static final BitSet FOLLOW_55_in_ruleCollectionTypeCS14310 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
+        public static final BitSet FOLLOW_ruleTypeExpCS_in_ruleCollectionTypeCS14331 = new BitSet(new long[]{0x0100000000000000L});
+        public static final BitSet FOLLOW_56_in_ruleCollectionTypeCS14343 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTupleTypeCS_in_entryRuleTupleTypeCS14381 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleTupleTypeCS14391 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_98_in_ruleTupleTypeCS14434 = new BitSet(new long[]{0x0080000000000002L});
+        public static final BitSet FOLLOW_55_in_ruleTupleTypeCS14460 = new BitSet(new long[]{0x097FFFFFFFFA0300L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleTuplePartCS_in_ruleTupleTypeCS14482 = new BitSet(new long[]{0x1100000000000000L});
+        public static final BitSet FOLLOW_60_in_ruleTupleTypeCS14495 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleTuplePartCS_in_ruleTupleTypeCS14516 = new BitSet(new long[]{0x1100000000000000L});
+        public static final BitSet FOLLOW_56_in_ruleTupleTypeCS14532 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTuplePartCS_in_entryRuleTuplePartCS14570 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleTuplePartCS14580 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleTuplePartCS14626 = new BitSet(new long[]{0x0200000000000000L});
+        public static final BitSet FOLLOW_57_in_ruleTuplePartCS14638 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
+        public static final BitSet FOLLOW_ruleTypeExpCS_in_ruleTuplePartCS14659 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleCollectionLiteralExpCS_in_entryRuleCollectionLiteralExpCS14695 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleCollectionLiteralExpCS14705 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleCollectionTypeCS_in_ruleCollectionLiteralExpCS14751 = new BitSet(new long[]{0x2000000000000000L});
+        public static final BitSet FOLLOW_61_in_ruleCollectionLiteralExpCS14763 = new BitSet(new long[]{0x4AFFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
+        public static final BitSet FOLLOW_ruleCollectionLiteralPartCS_in_ruleCollectionLiteralExpCS14785 = new BitSet(new long[]{0x5000000000000000L});
+        public static final BitSet FOLLOW_60_in_ruleCollectionLiteralExpCS14798 = new BitSet(new long[]{0x0AFFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
+        public static final BitSet FOLLOW_ruleCollectionLiteralPartCS_in_ruleCollectionLiteralExpCS14819 = new BitSet(new long[]{0x5000000000000000L});
+        public static final BitSet FOLLOW_62_in_ruleCollectionLiteralExpCS14835 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleCollectionLiteralPartCS_in_entryRuleCollectionLiteralPartCS14871 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleCollectionLiteralPartCS14881 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleExpCS_in_ruleCollectionLiteralPartCS14928 = new BitSet(new long[]{0x0000000000000002L,0x0002000000000000L});
+        public static final BitSet FOLLOW_113_in_ruleCollectionLiteralPartCS14941 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
+        public static final BitSet FOLLOW_ruleExpCS_in_ruleCollectionLiteralPartCS14962 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePatternExpCS_in_ruleCollectionLiteralPartCS14992 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleCollectionPatternCS_in_entryRuleCollectionPatternCS15028 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleCollectionPatternCS15038 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleCollectionTypeCS_in_ruleCollectionPatternCS15084 = new BitSet(new long[]{0x2000000000000000L});
+        public static final BitSet FOLLOW_61_in_ruleCollectionPatternCS15096 = new BitSet(new long[]{0x4AFFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
+        public static final BitSet FOLLOW_rulePatternExpCS_in_ruleCollectionPatternCS15118 = new BitSet(new long[]{0x1000000000000000L,0x0004000000000000L});
+        public static final BitSet FOLLOW_60_in_ruleCollectionPatternCS15131 = new BitSet(new long[]{0x0AFFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
+        public static final BitSet FOLLOW_rulePatternExpCS_in_ruleCollectionPatternCS15152 = new BitSet(new long[]{0x1000000000000000L,0x0004000000000000L});
+        public static final BitSet FOLLOW_114_in_ruleCollectionPatternCS15167 = new BitSet(new long[]{0x0000000000000300L});
+        public static final BitSet FOLLOW_ruleIdentifier_in_ruleCollectionPatternCS15188 = new BitSet(new long[]{0x4000000000000000L});
+        public static final BitSet FOLLOW_62_in_ruleCollectionPatternCS15203 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleConstructorPartCS_in_entryRuleConstructorPartCS15239 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleConstructorPartCS15249 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleConstructorPartCS15301 = new BitSet(new long[]{0x8000000000000000L});
+        public static final BitSet FOLLOW_63_in_ruleConstructorPartCS15313 = new BitSet(new long[]{0x0AFFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
+        public static final BitSet FOLLOW_ruleExpCS_in_ruleConstructorPartCS15336 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePatternExpCS_in_ruleConstructorPartCS15355 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePatternExpCS_in_entryRulePatternExpCS15394 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRulePatternExpCS15404 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_rulePatternExpCS15450 = new BitSet(new long[]{0x0200000000000000L});
+        public static final BitSet FOLLOW_57_in_rulePatternExpCS15463 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
+        public static final BitSet FOLLOW_ruleTypeExpCS_in_rulePatternExpCS15484 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleLambdaLiteralExpCS_in_entryRuleLambdaLiteralExpCS15520 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleLambdaLiteralExpCS15530 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_115_in_ruleLambdaLiteralExpCS15567 = new BitSet(new long[]{0x2000000000000000L});
+        public static final BitSet FOLLOW_61_in_ruleLambdaLiteralExpCS15579 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
+        public static final BitSet FOLLOW_ruleExpCS_in_ruleLambdaLiteralExpCS15600 = new BitSet(new long[]{0x4000000000000000L});
+        public static final BitSet FOLLOW_62_in_ruleLambdaLiteralExpCS15612 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePrimitiveLiteralExpCS_in_entryRulePrimitiveLiteralExpCS15648 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRulePrimitiveLiteralExpCS15658 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleNumberLiteralExpCS_in_rulePrimitiveLiteralExpCS15708 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStringLiteralExpCS_in_rulePrimitiveLiteralExpCS15738 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleBooleanLiteralExpCS_in_rulePrimitiveLiteralExpCS15768 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnlimitedNaturalLiteralExpCS_in_rulePrimitiveLiteralExpCS15798 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleInvalidLiteralExpCS_in_rulePrimitiveLiteralExpCS15828 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleNullLiteralExpCS_in_rulePrimitiveLiteralExpCS15858 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTupleLiteralExpCS_in_entryRuleTupleLiteralExpCS15893 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleTupleLiteralExpCS15903 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_98_in_ruleTupleLiteralExpCS15940 = new BitSet(new long[]{0x2000000000000000L});
+        public static final BitSet FOLLOW_61_in_ruleTupleLiteralExpCS15952 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleTupleLiteralPartCS_in_ruleTupleLiteralExpCS15973 = new BitSet(new long[]{0x5000000000000000L});
+        public static final BitSet FOLLOW_60_in_ruleTupleLiteralExpCS15986 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleTupleLiteralPartCS_in_ruleTupleLiteralExpCS16007 = new BitSet(new long[]{0x5000000000000000L});
+        public static final BitSet FOLLOW_62_in_ruleTupleLiteralExpCS16021 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTupleLiteralPartCS_in_entryRuleTupleLiteralPartCS16057 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleTupleLiteralPartCS16067 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleTupleLiteralPartCS16113 = new BitSet(new long[]{0x8200000000000000L});
+        public static final BitSet FOLLOW_57_in_ruleTupleLiteralPartCS16126 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
+        public static final BitSet FOLLOW_ruleTypeExpCS_in_ruleTupleLiteralPartCS16147 = new BitSet(new long[]{0x8000000000000000L});
+        public static final BitSet FOLLOW_63_in_ruleTupleLiteralPartCS16161 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
+        public static final BitSet FOLLOW_ruleExpCS_in_ruleTupleLiteralPartCS16182 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleNumberLiteralExpCS_in_entryRuleNumberLiteralExpCS16218 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleNumberLiteralExpCS16228 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleNUMBER_LITERAL_in_ruleNumberLiteralExpCS16273 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStringLiteralExpCS_in_entryRuleStringLiteralExpCS16308 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleStringLiteralExpCS16318 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStringLiteral_in_ruleStringLiteralExpCS16363 = new BitSet(new long[]{0x0000000000000022L});
+        public static final BitSet FOLLOW_ruleBooleanLiteralExpCS_in_entryRuleBooleanLiteralExpCS16399 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleBooleanLiteralExpCS16409 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_116_in_ruleBooleanLiteralExpCS16452 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_117_in_ruleBooleanLiteralExpCS16489 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnlimitedNaturalLiteralExpCS_in_entryRuleUnlimitedNaturalLiteralExpCS16538 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleUnlimitedNaturalLiteralExpCS16548 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_84_in_ruleUnlimitedNaturalLiteralExpCS16597 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleInvalidLiteralExpCS_in_entryRuleInvalidLiteralExpCS16633 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleInvalidLiteralExpCS16643 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_118_in_ruleInvalidLiteralExpCS16692 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleNullLiteralExpCS_in_entryRuleNullLiteralExpCS16728 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleNullLiteralExpCS16738 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_119_in_ruleNullLiteralExpCS16787 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypeLiteralCS_in_entryRuleTypeLiteralCS16823 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleTypeLiteralCS16833 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePrimitiveTypeCS_in_ruleTypeLiteralCS16883 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleCollectionTypeCS_in_ruleTypeLiteralCS16913 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTupleTypeCS_in_ruleTypeLiteralCS16943 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypeLiteralWithMultiplicityCS_in_entryRuleTypeLiteralWithMultiplicityCS16978 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleTypeLiteralWithMultiplicityCS16988 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypeLiteralCS_in_ruleTypeLiteralWithMultiplicityCS17038 = new BitSet(new long[]{0x0000000000000002L,0x0400000000000000L});
+        public static final BitSet FOLLOW_ruleMultiplicityCS_in_ruleTypeLiteralWithMultiplicityCS17058 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypeLiteralExpCS_in_entryRuleTypeLiteralExpCS17095 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleTypeLiteralExpCS17105 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypeLiteralWithMultiplicityCS_in_ruleTypeLiteralExpCS17150 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypeNameExpCS_in_entryRuleTypeNameExpCS17185 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleTypeNameExpCS17195 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePathNameCS_in_ruleTypeNameExpCS17241 = new BitSet(new long[]{0x2000000000000002L});
+        public static final BitSet FOLLOW_ruleCurlyBracketedClauseCS_in_ruleTypeNameExpCS17263 = new BitSet(new long[]{0x2000000000000002L});
+        public static final BitSet FOLLOW_61_in_ruleTypeNameExpCS17276 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
+        public static final BitSet FOLLOW_ruleExpCS_in_ruleTypeNameExpCS17297 = new BitSet(new long[]{0x4000000000000000L});
+        public static final BitSet FOLLOW_62_in_ruleTypeNameExpCS17309 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypeExpCS_in_entryRuleTypeExpCS17349 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleTypeExpCS17359 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypeNameExpCS_in_ruleTypeExpCS17410 = new BitSet(new long[]{0x0000000000000002L,0x0400000000000000L});
+        public static final BitSet FOLLOW_ruleTypeLiteralCS_in_ruleTypeExpCS17440 = new BitSet(new long[]{0x0000000000000002L,0x0400000000000000L});
+        public static final BitSet FOLLOW_ruleCollectionPatternCS_in_ruleTypeExpCS17470 = new BitSet(new long[]{0x0000000000000002L,0x0400000000000000L});
+        public static final BitSet FOLLOW_ruleMultiplicityCS_in_ruleTypeExpCS17491 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleExpCS_in_entryRuleExpCS17528 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleExpCS17538 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePrefixedPrimaryExpCS_in_ruleExpCS17589 = new BitSet(new long[]{0x8000000000040002L,0x00000003FFF60000L});
+        public static final BitSet FOLLOW_ruleBinaryOperatorName_in_ruleExpCS17622 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
+        public static final BitSet FOLLOW_ruleExpCS_in_ruleExpCS17643 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePrefixedLetExpCS_in_ruleExpCS17677 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePrefixedLetExpCS_in_entryRulePrefixedLetExpCS17712 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRulePrefixedLetExpCS17722 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnaryOperatorName_in_rulePrefixedLetExpCS17781 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
+        public static final BitSet FOLLOW_rulePrefixedLetExpCS_in_rulePrefixedLetExpCS17802 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleLetExpCS_in_rulePrefixedLetExpCS17834 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePrefixedPrimaryExpCS_in_entryRulePrefixedPrimaryExpCS17869 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRulePrefixedPrimaryExpCS17879 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnaryOperatorName_in_rulePrefixedPrimaryExpCS17938 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
+        public static final BitSet FOLLOW_rulePrefixedPrimaryExpCS_in_rulePrefixedPrimaryExpCS17959 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePrimaryExpCS_in_rulePrefixedPrimaryExpCS17991 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePrimaryExpCS_in_entryRulePrimaryExpCS18026 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRulePrimaryExpCS18036 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleNestedExpCS_in_rulePrimaryExpCS18086 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleIfExpCS_in_rulePrimaryExpCS18116 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSelfExpCS_in_rulePrimaryExpCS18146 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePrimitiveLiteralExpCS_in_rulePrimaryExpCS18176 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTupleLiteralExpCS_in_rulePrimaryExpCS18206 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleCollectionLiteralExpCS_in_rulePrimaryExpCS18236 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleLambdaLiteralExpCS_in_rulePrimaryExpCS18266 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypeLiteralExpCS_in_rulePrimaryExpCS18296 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleNameExpCS_in_rulePrimaryExpCS18326 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleNameExpCS_in_entryRuleNameExpCS18361 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleNameExpCS18371 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePathNameCS_in_ruleNameExpCS18417 = new BitSet(new long[]{0x2080000000000002L,0x0500000000000000L});
+        public static final BitSet FOLLOW_ruleSquareBracketedClauseCS_in_ruleNameExpCS18438 = new BitSet(new long[]{0x2080000000000002L,0x0500000000000000L});
+        public static final BitSet FOLLOW_ruleRoundBracketedClauseCS_in_ruleNameExpCS18460 = new BitSet(new long[]{0x2000000000000002L,0x0100000000000000L});
+        public static final BitSet FOLLOW_ruleCurlyBracketedClauseCS_in_ruleNameExpCS18482 = new BitSet(new long[]{0x0000000000000002L,0x0100000000000000L});
+        public static final BitSet FOLLOW_120_in_ruleNameExpCS18502 = new BitSet(new long[]{0x0000000000000000L,0x0200000000000000L});
+        public static final BitSet FOLLOW_121_in_ruleNameExpCS18527 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleCurlyBracketedClauseCS_in_entryRuleCurlyBracketedClauseCS18565 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleCurlyBracketedClauseCS18575 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_61_in_ruleCurlyBracketedClauseCS18624 = new BitSet(new long[]{0x487FFFFFFFFA0320L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleConstructorPartCS_in_ruleCurlyBracketedClauseCS18647 = new BitSet(new long[]{0x5000000000000000L});
+        public static final BitSet FOLLOW_60_in_ruleCurlyBracketedClauseCS18660 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleConstructorPartCS_in_ruleCurlyBracketedClauseCS18681 = new BitSet(new long[]{0x5000000000000000L});
+        public static final BitSet FOLLOW_ruleStringLiteral_in_ruleCurlyBracketedClauseCS18712 = new BitSet(new long[]{0x4000000000000000L});
+        public static final BitSet FOLLOW_62_in_ruleCurlyBracketedClauseCS18725 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleRoundBracketedClauseCS_in_entryRuleRoundBracketedClauseCS18761 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleRoundBracketedClauseCS18771 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_55_in_ruleRoundBracketedClauseCS18820 = new BitSet(new long[]{0x0BFFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
+        public static final BitSet FOLLOW_ruleNavigatingArgCS_in_ruleRoundBracketedClauseCS18842 = new BitSet(new long[]{0x1500000000000000L,0x2000000000000000L});
+        public static final BitSet FOLLOW_ruleNavigatingCommaArgCS_in_ruleRoundBracketedClauseCS18863 = new BitSet(new long[]{0x1500000000000000L,0x2000000000000000L});
+        public static final BitSet FOLLOW_ruleNavigatingSemiArgCS_in_ruleRoundBracketedClauseCS18886 = new BitSet(new long[]{0x1100000000000000L,0x2000000000000000L});
+        public static final BitSet FOLLOW_ruleNavigatingCommaArgCS_in_ruleRoundBracketedClauseCS18907 = new BitSet(new long[]{0x1100000000000000L,0x2000000000000000L});
+        public static final BitSet FOLLOW_ruleNavigatingBarArgCS_in_ruleRoundBracketedClauseCS18932 = new BitSet(new long[]{0x1100000000000000L,0x2000000000000000L});
+        public static final BitSet FOLLOW_ruleNavigatingCommaArgCS_in_ruleRoundBracketedClauseCS18953 = new BitSet(new long[]{0x1100000000000000L,0x2000000000000000L});
+        public static final BitSet FOLLOW_56_in_ruleRoundBracketedClauseCS18970 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSquareBracketedClauseCS_in_entryRuleSquareBracketedClauseCS19006 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleSquareBracketedClauseCS19016 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_122_in_ruleSquareBracketedClauseCS19053 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
+        public static final BitSet FOLLOW_ruleExpCS_in_ruleSquareBracketedClauseCS19074 = new BitSet(new long[]{0x1000000000000000L,0x0800000000000000L});
+        public static final BitSet FOLLOW_60_in_ruleSquareBracketedClauseCS19087 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
+        public static final BitSet FOLLOW_ruleExpCS_in_ruleSquareBracketedClauseCS19108 = new BitSet(new long[]{0x1000000000000000L,0x0800000000000000L});
+        public static final BitSet FOLLOW_123_in_ruleSquareBracketedClauseCS19122 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleNavigatingArgCS_in_entryRuleNavigatingArgCS19158 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleNavigatingArgCS19168 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleNavigatingArgExpCS_in_ruleNavigatingArgCS19215 = new BitSet(new long[]{0x0200000000000002L,0x1000000000000000L});
+        public static final BitSet FOLLOW_57_in_ruleNavigatingArgCS19229 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
+        public static final BitSet FOLLOW_ruleTypeExpCS_in_ruleNavigatingArgCS19250 = new BitSet(new long[]{0x8000000000000002L});
+        public static final BitSet FOLLOW_63_in_ruleNavigatingArgCS19263 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
+        public static final BitSet FOLLOW_ruleExpCS_in_ruleNavigatingArgCS19284 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_124_in_ruleNavigatingArgCS19306 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
+        public static final BitSet FOLLOW_ruleExpCS_in_ruleNavigatingArgCS19327 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_57_in_ruleNavigatingArgCS19350 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
+        public static final BitSet FOLLOW_ruleTypeExpCS_in_ruleNavigatingArgCS19371 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleNavigatingBarArgCS_in_entryRuleNavigatingBarArgCS19408 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleNavigatingBarArgCS19418 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_125_in_ruleNavigatingBarArgCS19461 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
+        public static final BitSet FOLLOW_ruleNavigatingArgExpCS_in_ruleNavigatingBarArgCS19495 = new BitSet(new long[]{0x0200000000000002L});
+        public static final BitSet FOLLOW_57_in_ruleNavigatingBarArgCS19508 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
+        public static final BitSet FOLLOW_ruleTypeExpCS_in_ruleNavigatingBarArgCS19529 = new BitSet(new long[]{0x8000000000000002L});
+        public static final BitSet FOLLOW_63_in_ruleNavigatingBarArgCS19542 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
+        public static final BitSet FOLLOW_ruleExpCS_in_ruleNavigatingBarArgCS19563 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleNavigatingCommaArgCS_in_entryRuleNavigatingCommaArgCS19603 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleNavigatingCommaArgCS19613 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_60_in_ruleNavigatingCommaArgCS19656 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
+        public static final BitSet FOLLOW_ruleNavigatingArgExpCS_in_ruleNavigatingCommaArgCS19690 = new BitSet(new long[]{0x0200000000000002L,0x1000000000000000L});
+        public static final BitSet FOLLOW_57_in_ruleNavigatingCommaArgCS19704 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
+        public static final BitSet FOLLOW_ruleTypeExpCS_in_ruleNavigatingCommaArgCS19725 = new BitSet(new long[]{0x8000000000000002L});
+        public static final BitSet FOLLOW_63_in_ruleNavigatingCommaArgCS19738 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
+        public static final BitSet FOLLOW_ruleExpCS_in_ruleNavigatingCommaArgCS19759 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_124_in_ruleNavigatingCommaArgCS19781 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
+        public static final BitSet FOLLOW_ruleExpCS_in_ruleNavigatingCommaArgCS19802 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleNavigatingSemiArgCS_in_entryRuleNavigatingSemiArgCS19841 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleNavigatingSemiArgCS19851 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_58_in_ruleNavigatingSemiArgCS19894 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
+        public static final BitSet FOLLOW_ruleNavigatingArgExpCS_in_ruleNavigatingSemiArgCS19928 = new BitSet(new long[]{0x0200000000000002L});
+        public static final BitSet FOLLOW_57_in_ruleNavigatingSemiArgCS19941 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
+        public static final BitSet FOLLOW_ruleTypeExpCS_in_ruleNavigatingSemiArgCS19962 = new BitSet(new long[]{0x8000000000000002L});
+        public static final BitSet FOLLOW_63_in_ruleNavigatingSemiArgCS19975 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
+        public static final BitSet FOLLOW_ruleExpCS_in_ruleNavigatingSemiArgCS19996 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleNavigatingArgExpCS_in_entryRuleNavigatingArgExpCS20036 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleNavigatingArgExpCS20046 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleExpCS_in_ruleNavigatingArgExpCS20095 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleIfExpCS_in_entryRuleIfExpCS20129 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleIfExpCS20139 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_126_in_ruleIfExpCS20176 = new BitSet(new long[]{0x0AFFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
+        public static final BitSet FOLLOW_ruleExpCS_in_ruleIfExpCS20199 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L});
+        public static final BitSet FOLLOW_rulePatternExpCS_in_ruleIfExpCS20218 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L});
+        public static final BitSet FOLLOW_127_in_ruleIfExpCS20233 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
+        public static final BitSet FOLLOW_ruleExpCS_in_ruleIfExpCS20254 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000005L});
+        public static final BitSet FOLLOW_ruleElseIfThenExpCS_in_ruleIfExpCS20275 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000005L});
+        public static final BitSet FOLLOW_128_in_ruleIfExpCS20288 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
+        public static final BitSet FOLLOW_ruleExpCS_in_ruleIfExpCS20309 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_129_in_ruleIfExpCS20321 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleElseIfThenExpCS_in_entryRuleElseIfThenExpCS20357 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleElseIfThenExpCS20367 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_130_in_ruleElseIfThenExpCS20404 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
+        public static final BitSet FOLLOW_ruleExpCS_in_ruleElseIfThenExpCS20425 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L});
+        public static final BitSet FOLLOW_127_in_ruleElseIfThenExpCS20437 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
+        public static final BitSet FOLLOW_ruleExpCS_in_ruleElseIfThenExpCS20458 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleLetExpCS_in_entryRuleLetExpCS20494 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleLetExpCS20504 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_131_in_ruleLetExpCS20541 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleLetVariableCS_in_ruleLetExpCS20562 = new BitSet(new long[]{0x1000000000000000L,0x1000000000000000L});
+        public static final BitSet FOLLOW_60_in_ruleLetExpCS20575 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0000000000010D00L});
+        public static final BitSet FOLLOW_ruleLetVariableCS_in_ruleLetExpCS20596 = new BitSet(new long[]{0x1000000000000000L,0x1000000000000000L});
+        public static final BitSet FOLLOW_124_in_ruleLetExpCS20610 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
+        public static final BitSet FOLLOW_ruleExpCS_in_ruleLetExpCS20631 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleLetVariableCS_in_entryRuleLetVariableCS20667 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleLetVariableCS20677 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleLetVariableCS20723 = new BitSet(new long[]{0x8280000000000000L});
+        public static final BitSet FOLLOW_ruleRoundBracketedClauseCS_in_ruleLetVariableCS20744 = new BitSet(new long[]{0x8200000000000000L});
+        public static final BitSet FOLLOW_57_in_ruleLetVariableCS20758 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
+        public static final BitSet FOLLOW_ruleTypeExpCS_in_ruleLetVariableCS20779 = new BitSet(new long[]{0x8000000000000000L});
+        public static final BitSet FOLLOW_63_in_ruleLetVariableCS20793 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
+        public static final BitSet FOLLOW_ruleExpCS_in_ruleLetVariableCS20814 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleNestedExpCS_in_entryRuleNestedExpCS20850 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleNestedExpCS20860 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_55_in_ruleNestedExpCS20897 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
+        public static final BitSet FOLLOW_ruleExpCS_in_ruleNestedExpCS20918 = new BitSet(new long[]{0x0100000000000000L});
+        public static final BitSet FOLLOW_56_in_ruleNestedExpCS20930 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSelfExpCS_in_entryRuleSelfExpCS20966 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleSelfExpCS20976 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_132_in_ruleSelfExpCS21025 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleMultiplicityBoundsCS_in_entryRuleMultiplicityBoundsCS21061 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleMultiplicityBoundsCS21071 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleLOWER_in_ruleMultiplicityBoundsCS21117 = new BitSet(new long[]{0x0000000000000002L,0x0002000000000000L});
+        public static final BitSet FOLLOW_113_in_ruleMultiplicityBoundsCS21130 = new BitSet(new long[]{0x0000000000000010L,0x0000000000100000L});
+        public static final BitSet FOLLOW_ruleUPPER_in_ruleMultiplicityBoundsCS21151 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleMultiplicityCS_in_entryRuleMultiplicityCS21189 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleMultiplicityCS21199 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_122_in_ruleMultiplicityCS21236 = new BitSet(new long[]{0x0000000000000010L,0x0000000000500000L,0x0000000000000020L});
+        public static final BitSet FOLLOW_ruleMultiplicityBoundsCS_in_ruleMultiplicityCS21262 = new BitSet(new long[]{0x0000000000000000L,0x0800000000000000L});
+        public static final BitSet FOLLOW_ruleMultiplicityStringCS_in_ruleMultiplicityCS21292 = new BitSet(new long[]{0x0000000000000000L,0x0800000000000000L});
+        public static final BitSet FOLLOW_123_in_ruleMultiplicityCS21304 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleMultiplicityStringCS_in_entryRuleMultiplicityStringCS21340 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleMultiplicityStringCS21350 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_84_in_ruleMultiplicityStringCS21394 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_86_in_ruleMultiplicityStringCS21423 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_133_in_ruleMultiplicityStringCS21452 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePathNameCS_in_entryRulePathNameCS21503 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRulePathNameCS21513 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleFirstPathElementCS_in_rulePathNameCS21559 = new BitSet(new long[]{0x0000000000000002L,0x0000000800000000L});
+        public static final BitSet FOLLOW_99_in_rulePathNameCS21572 = new BitSet(new long[]{0x087FFFFFFFFA0300L,0x0001FFF400010D00L});
+        public static final BitSet FOLLOW_ruleNextPathElementCS_in_rulePathNameCS21593 = new BitSet(new long[]{0x0000000000000002L,0x0000000800000000L});
+        public static final BitSet FOLLOW_ruleFirstPathElementCS_in_entryRuleFirstPathElementCS21631 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleFirstPathElementCS21641 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleFirstPathElementCS21692 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleNextPathElementCS_in_entryRuleNextPathElementCS21727 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleNextPathElementCS21737 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnreservedName_in_ruleNextPathElementCS21788 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTemplateParameterSubstitutionCS_in_entryRuleTemplateParameterSubstitutionCS21823 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleTemplateParameterSubstitutionCS21833 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypeRefCS_in_ruleTemplateParameterSubstitutionCS21878 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypeParameterCS_in_entryRuleTypeParameterCS21913 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleTypeParameterCS21923 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleTypeParameterCS21969 = new BitSet(new long[]{0x0001000040000002L});
+        public static final BitSet FOLLOW_30_in_ruleTypeParameterCS21983 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
+        public static final BitSet FOLLOW_ruleTypedRefCS_in_ruleTypeParameterCS22004 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000040L});
+        public static final BitSet FOLLOW_134_in_ruleTypeParameterCS22017 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
+        public static final BitSet FOLLOW_ruleTypedRefCS_in_ruleTypeParameterCS22038 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000040L});
+        public static final BitSet FOLLOW_48_in_ruleTypeParameterCS22060 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
+        public static final BitSet FOLLOW_ruleTypedRefCS_in_ruleTypeParameterCS22081 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypeRefCS_in_entryRuleTypeRefCS22120 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleTypeRefCS22130 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypedRefCS_in_ruleTypeRefCS22180 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleWildcardTypeRefCS_in_ruleTypeRefCS22210 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypedTypeRefCS_in_entryRuleTypedTypeRefCS22245 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleTypedTypeRefCS22255 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePathNameCS_in_ruleTypedTypeRefCS22301 = new BitSet(new long[]{0x0080000000000002L,0x0000000000020000L});
+        public static final BitSet FOLLOW_ruleTemplateBindingCS_in_ruleTypedTypeRefCS22322 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleWildcardTypeRefCS_in_entryRuleWildcardTypeRefCS22359 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleWildcardTypeRefCS22369 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_133_in_ruleWildcardTypeRefCS22418 = new BitSet(new long[]{0x0001000040000002L});
+        public static final BitSet FOLLOW_30_in_ruleWildcardTypeRefCS22432 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
+        public static final BitSet FOLLOW_ruleTypedRefCS_in_ruleWildcardTypeRefCS22453 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_48_in_ruleWildcardTypeRefCS22473 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000010L});
+        public static final BitSet FOLLOW_ruleTypedRefCS_in_ruleWildcardTypeRefCS22494 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleID_in_entryRuleID22534 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleID22545 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_SIMPLE_ID_in_ruleID22585 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ESCAPED_ID_in_ruleID22611 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleIdentifier_in_entryRuleIdentifier22657 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleIdentifier22668 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleID_in_ruleIdentifier22714 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleLOWER_in_entryRuleLOWER22759 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleLOWER22770 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_INT_in_ruleLOWER22809 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleNUMBER_LITERAL_in_entryRuleNUMBER_LITERAL22854 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleNUMBER_LITERAL22865 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_INT_in_ruleNUMBER_LITERAL22904 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleStringLiteral_in_entryRuleStringLiteral22949 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleStringLiteral22960 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleStringLiteral22999 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleUPPER_in_entryRuleUPPER23044 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleUPPER23055 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_INT_in_ruleUPPER23095 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_84_in_ruleUPPER23119 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleURI_in_entryRuleURI23160 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleURI23171 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleURI23210 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_47_in_synpred63_InternalOCLinEcore2493 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_26_in_synpred64_InternalOCLinEcore2578 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_61_in_synpred70_InternalOCLinEcore2795 = new BitSet(new long[]{0x0000000010000002L,0x0000000000000001L});
+        public static final BitSet FOLLOW_28_in_synpred70_InternalOCLinEcore2815 = new BitSet(new long[]{0x1000000000000002L});
+        public static final BitSet FOLLOW_64_in_synpred70_InternalOCLinEcore2846 = new BitSet(new long[]{0x1000000000000002L});
+        public static final BitSet FOLLOW_60_in_synpred70_InternalOCLinEcore2860 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_31_in_synpred73_InternalOCLinEcore2939 = new BitSet(new long[]{0x1000000000000002L});
+        public static final BitSet FOLLOW_65_in_synpred73_InternalOCLinEcore2970 = new BitSet(new long[]{0x1000000000000002L});
+        public static final BitSet FOLLOW_60_in_synpred73_InternalOCLinEcore2984 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_38_in_synpred76_InternalOCLinEcore3061 = new BitSet(new long[]{0x1000000000000002L});
+        public static final BitSet FOLLOW_66_in_synpred76_InternalOCLinEcore3092 = new BitSet(new long[]{0x1000000000000002L});
+        public static final BitSet FOLLOW_60_in_synpred76_InternalOCLinEcore3106 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_44_in_synpred79_InternalOCLinEcore3183 = new BitSet(new long[]{0x1000000000000002L});
+        public static final BitSet FOLLOW_67_in_synpred79_InternalOCLinEcore3214 = new BitSet(new long[]{0x1000000000000002L});
+        public static final BitSet FOLLOW_60_in_synpred79_InternalOCLinEcore3228 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_50_in_synpred82_InternalOCLinEcore3305 = new BitSet(new long[]{0x1000000000000002L});
+        public static final BitSet FOLLOW_68_in_synpred82_InternalOCLinEcore3336 = new BitSet(new long[]{0x1000000000000002L});
+        public static final BitSet FOLLOW_60_in_synpred82_InternalOCLinEcore3350 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_69_in_synpred85_InternalOCLinEcore3427 = new BitSet(new long[]{0x1000000000000002L});
+        public static final BitSet FOLLOW_51_in_synpred85_InternalOCLinEcore3458 = new BitSet(new long[]{0x1000000000000002L});
+        public static final BitSet FOLLOW_60_in_synpred85_InternalOCLinEcore3472 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_52_in_synpred88_InternalOCLinEcore3549 = new BitSet(new long[]{0x1000000000000002L});
+        public static final BitSet FOLLOW_70_in_synpred88_InternalOCLinEcore3580 = new BitSet(new long[]{0x1000000000000002L});
+        public static final BitSet FOLLOW_60_in_synpred88_InternalOCLinEcore3594 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_53_in_synpred92_InternalOCLinEcore3672 = new BitSet(new long[]{0x5000000000000000L});
+        public static final BitSet FOLLOW_71_in_synpred92_InternalOCLinEcore3703 = new BitSet(new long[]{0x5000000000000000L});
+        public static final BitSet FOLLOW_60_in_synpred92_InternalOCLinEcore3717 = new BitSet(new long[]{0x4000000000000000L});
+        public static final BitSet FOLLOW_62_in_synpred92_InternalOCLinEcore3733 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_61_in_synpred93_InternalOCLinEcore2795 = new BitSet(new long[]{0x603C104090000002L,0x00000000000000FFL});
+        public static final BitSet FOLLOW_28_in_synpred93_InternalOCLinEcore2815 = new BitSet(new long[]{0x703C104080000002L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_64_in_synpred93_InternalOCLinEcore2846 = new BitSet(new long[]{0x703C104080000002L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_60_in_synpred93_InternalOCLinEcore2860 = new BitSet(new long[]{0x603C104080000002L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_31_in_synpred93_InternalOCLinEcore2939 = new BitSet(new long[]{0x703C104080000002L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_65_in_synpred93_InternalOCLinEcore2970 = new BitSet(new long[]{0x703C104080000002L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_60_in_synpred93_InternalOCLinEcore2984 = new BitSet(new long[]{0x603C104080000002L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_38_in_synpred93_InternalOCLinEcore3061 = new BitSet(new long[]{0x703C104080000002L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_66_in_synpred93_InternalOCLinEcore3092 = new BitSet(new long[]{0x703C104080000002L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_60_in_synpred93_InternalOCLinEcore3106 = new BitSet(new long[]{0x603C104080000002L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_44_in_synpred93_InternalOCLinEcore3183 = new BitSet(new long[]{0x703C104080000002L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_67_in_synpred93_InternalOCLinEcore3214 = new BitSet(new long[]{0x703C104080000002L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_60_in_synpred93_InternalOCLinEcore3228 = new BitSet(new long[]{0x603C104080000002L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_50_in_synpred93_InternalOCLinEcore3305 = new BitSet(new long[]{0x703C104080000002L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_68_in_synpred93_InternalOCLinEcore3336 = new BitSet(new long[]{0x703C104080000002L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_60_in_synpred93_InternalOCLinEcore3350 = new BitSet(new long[]{0x603C104080000002L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_69_in_synpred93_InternalOCLinEcore3427 = new BitSet(new long[]{0x703C104080000002L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_51_in_synpred93_InternalOCLinEcore3458 = new BitSet(new long[]{0x703C104080000002L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_60_in_synpred93_InternalOCLinEcore3472 = new BitSet(new long[]{0x603C104080000002L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_52_in_synpred93_InternalOCLinEcore3549 = new BitSet(new long[]{0x703C104080000002L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_70_in_synpred93_InternalOCLinEcore3580 = new BitSet(new long[]{0x703C104080000002L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_60_in_synpred93_InternalOCLinEcore3594 = new BitSet(new long[]{0x603C104080000002L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_53_in_synpred93_InternalOCLinEcore3672 = new BitSet(new long[]{0x5000000000000000L});
+        public static final BitSet FOLLOW_71_in_synpred93_InternalOCLinEcore3703 = new BitSet(new long[]{0x5000000000000000L});
+        public static final BitSet FOLLOW_60_in_synpred93_InternalOCLinEcore3717 = new BitSet(new long[]{0x4000000000000000L});
+        public static final BitSet FOLLOW_62_in_synpred93_InternalOCLinEcore3733 = new BitSet(new long[]{0x603C104080000002L,0x00000000000000FEL});
+        public static final BitSet FOLLOW_47_in_synpred139_InternalOCLinEcore6368 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_26_in_synpred140_InternalOCLinEcore6453 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_61_in_synpred150_InternalOCLinEcore6811 = new BitSet(new long[]{0x0000000010000002L,0x0000000000000001L});
+        public static final BitSet FOLLOW_28_in_synpred150_InternalOCLinEcore6831 = new BitSet(new long[]{0x1000000000000002L});
+        public static final BitSet FOLLOW_64_in_synpred150_InternalOCLinEcore6862 = new BitSet(new long[]{0x1000000000000002L});
+        public static final BitSet FOLLOW_60_in_synpred150_InternalOCLinEcore6876 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_38_in_synpred153_InternalOCLinEcore6955 = new BitSet(new long[]{0x1000000000000002L});
+        public static final BitSet FOLLOW_66_in_synpred153_InternalOCLinEcore6986 = new BitSet(new long[]{0x1000000000000002L});
+        public static final BitSet FOLLOW_60_in_synpred153_InternalOCLinEcore7000 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_69_in_synpred157_InternalOCLinEcore7078 = new BitSet(new long[]{0x5000000000000000L});
+        public static final BitSet FOLLOW_51_in_synpred157_InternalOCLinEcore7109 = new BitSet(new long[]{0x5000000000000000L});
+        public static final BitSet FOLLOW_60_in_synpred157_InternalOCLinEcore7123 = new BitSet(new long[]{0x4000000000000000L});
+        public static final BitSet FOLLOW_62_in_synpred157_InternalOCLinEcore7139 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_61_in_synpred158_InternalOCLinEcore6811 = new BitSet(new long[]{0x6008004010000002L,0x0000000000000025L});
+        public static final BitSet FOLLOW_28_in_synpred158_InternalOCLinEcore6831 = new BitSet(new long[]{0x7008004000000002L,0x0000000000000024L});
+        public static final BitSet FOLLOW_64_in_synpred158_InternalOCLinEcore6862 = new BitSet(new long[]{0x7008004000000002L,0x0000000000000024L});
+        public static final BitSet FOLLOW_60_in_synpred158_InternalOCLinEcore6876 = new BitSet(new long[]{0x6008004000000002L,0x0000000000000024L});
+        public static final BitSet FOLLOW_38_in_synpred158_InternalOCLinEcore6955 = new BitSet(new long[]{0x7008004000000002L,0x0000000000000024L});
+        public static final BitSet FOLLOW_66_in_synpred158_InternalOCLinEcore6986 = new BitSet(new long[]{0x7008004000000002L,0x0000000000000024L});
+        public static final BitSet FOLLOW_60_in_synpred158_InternalOCLinEcore7000 = new BitSet(new long[]{0x6008004000000002L,0x0000000000000024L});
+        public static final BitSet FOLLOW_69_in_synpred158_InternalOCLinEcore7078 = new BitSet(new long[]{0x5000000000000000L});
+        public static final BitSet FOLLOW_51_in_synpred158_InternalOCLinEcore7109 = new BitSet(new long[]{0x5000000000000000L});
+        public static final BitSet FOLLOW_60_in_synpred158_InternalOCLinEcore7123 = new BitSet(new long[]{0x4000000000000000L});
+        public static final BitSet FOLLOW_62_in_synpred158_InternalOCLinEcore7139 = new BitSet(new long[]{0x6008004000000002L,0x0000000000000024L});
+        public static final BitSet FOLLOW_60_in_synpred174_InternalOCLinEcore7963 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_61_in_synpred176_InternalOCLinEcore7898 = new BitSet(new long[]{0x0000004000000002L,0x0000000000000004L});
+        public static final BitSet FOLLOW_38_in_synpred176_InternalOCLinEcore7918 = new BitSet(new long[]{0x1000000000000002L});
+        public static final BitSet FOLLOW_66_in_synpred176_InternalOCLinEcore7949 = new BitSet(new long[]{0x1000000000000002L});
+        public static final BitSet FOLLOW_60_in_synpred176_InternalOCLinEcore7963 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_69_in_synpred180_InternalOCLinEcore8043 = new BitSet(new long[]{0x5000000000000000L});
+        public static final BitSet FOLLOW_51_in_synpred180_InternalOCLinEcore8074 = new BitSet(new long[]{0x5000000000000000L});
+        public static final BitSet FOLLOW_60_in_synpred180_InternalOCLinEcore8088 = new BitSet(new long[]{0x4000000000000000L});
+        public static final BitSet FOLLOW_62_in_synpred180_InternalOCLinEcore8104 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_61_in_synpred181_InternalOCLinEcore7898 = new BitSet(new long[]{0x6008004000000002L,0x0000000000000024L});
+        public static final BitSet FOLLOW_38_in_synpred181_InternalOCLinEcore7918 = new BitSet(new long[]{0x7008000000000002L,0x0000000000000020L});
+        public static final BitSet FOLLOW_66_in_synpred181_InternalOCLinEcore7949 = new BitSet(new long[]{0x7008000000000002L,0x0000000000000020L});
+        public static final BitSet FOLLOW_60_in_synpred181_InternalOCLinEcore7963 = new BitSet(new long[]{0x6008000000000002L,0x0000000000000020L});
+        public static final BitSet FOLLOW_69_in_synpred181_InternalOCLinEcore8043 = new BitSet(new long[]{0x5000000000000000L});
+        public static final BitSet FOLLOW_51_in_synpred181_InternalOCLinEcore8074 = new BitSet(new long[]{0x5000000000000000L});
+        public static final BitSet FOLLOW_60_in_synpred181_InternalOCLinEcore8088 = new BitSet(new long[]{0x4000000000000000L});
+        public static final BitSet FOLLOW_62_in_synpred181_InternalOCLinEcore8104 = new BitSet(new long[]{0x6008000000000002L,0x0000000000000020L});
+        public static final BitSet FOLLOW_47_in_synpred184_InternalOCLinEcore8349 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_26_in_synpred185_InternalOCLinEcore8434 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_61_in_synpred192_InternalOCLinEcore8693 = new BitSet(new long[]{0x0000000001000002L,0x0000000000004000L});
+        public static final BitSet FOLLOW_24_in_synpred192_InternalOCLinEcore8713 = new BitSet(new long[]{0x1000000000000002L});
+        public static final BitSet FOLLOW_78_in_synpred192_InternalOCLinEcore8744 = new BitSet(new long[]{0x1000000000000002L});
+        public static final BitSet FOLLOW_60_in_synpred192_InternalOCLinEcore8758 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_28_in_synpred195_InternalOCLinEcore8837 = new BitSet(new long[]{0x1000000000000002L});
+        public static final BitSet FOLLOW_64_in_synpred195_InternalOCLinEcore8868 = new BitSet(new long[]{0x1000000000000002L});
+        public static final BitSet FOLLOW_60_in_synpred195_InternalOCLinEcore8882 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_38_in_synpred198_InternalOCLinEcore8959 = new BitSet(new long[]{0x1000000000000002L});
+        public static final BitSet FOLLOW_66_in_synpred198_InternalOCLinEcore8990 = new BitSet(new long[]{0x1000000000000002L});
+        public static final BitSet FOLLOW_60_in_synpred198_InternalOCLinEcore9004 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_44_in_synpred201_InternalOCLinEcore9081 = new BitSet(new long[]{0x1000000000000002L});
+        public static final BitSet FOLLOW_67_in_synpred201_InternalOCLinEcore9112 = new BitSet(new long[]{0x1000000000000002L});
+        public static final BitSet FOLLOW_60_in_synpred201_InternalOCLinEcore9126 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_46_in_synpred204_InternalOCLinEcore9203 = new BitSet(new long[]{0x1000000000000002L});
+        public static final BitSet FOLLOW_79_in_synpred204_InternalOCLinEcore9234 = new BitSet(new long[]{0x1000000000000002L});
+        public static final BitSet FOLLOW_60_in_synpred204_InternalOCLinEcore9248 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_50_in_synpred207_InternalOCLinEcore9325 = new BitSet(new long[]{0x1000000000000002L});
+        public static final BitSet FOLLOW_68_in_synpred207_InternalOCLinEcore9356 = new BitSet(new long[]{0x1000000000000002L});
+        public static final BitSet FOLLOW_60_in_synpred207_InternalOCLinEcore9370 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_69_in_synpred210_InternalOCLinEcore9447 = new BitSet(new long[]{0x1000000000000002L});
+        public static final BitSet FOLLOW_51_in_synpred210_InternalOCLinEcore9478 = new BitSet(new long[]{0x1000000000000002L});
+    }
+
+    private static class FollowSets001 {
+        public static final BitSet FOLLOW_60_in_synpred210_InternalOCLinEcore9492 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_52_in_synpred213_InternalOCLinEcore9569 = new BitSet(new long[]{0x1000000000000002L});
+        public static final BitSet FOLLOW_70_in_synpred213_InternalOCLinEcore9600 = new BitSet(new long[]{0x1000000000000002L});
+        public static final BitSet FOLLOW_60_in_synpred213_InternalOCLinEcore9614 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_53_in_synpred217_InternalOCLinEcore9692 = new BitSet(new long[]{0x5000000000000000L});
+        public static final BitSet FOLLOW_71_in_synpred217_InternalOCLinEcore9723 = new BitSet(new long[]{0x5000000000000000L});
+        public static final BitSet FOLLOW_60_in_synpred217_InternalOCLinEcore9737 = new BitSet(new long[]{0x4000000000000000L});
+        public static final BitSet FOLLOW_62_in_synpred217_InternalOCLinEcore9753 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_61_in_synpred218_InternalOCLinEcore8693 = new BitSet(new long[]{0x603C504011000002L,0x000000000000C0FDL});
+        public static final BitSet FOLLOW_24_in_synpred218_InternalOCLinEcore8713 = new BitSet(new long[]{0x703C504010000002L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_78_in_synpred218_InternalOCLinEcore8744 = new BitSet(new long[]{0x703C504010000002L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_60_in_synpred218_InternalOCLinEcore8758 = new BitSet(new long[]{0x603C504010000002L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_28_in_synpred218_InternalOCLinEcore8837 = new BitSet(new long[]{0x703C504010000002L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_64_in_synpred218_InternalOCLinEcore8868 = new BitSet(new long[]{0x703C504010000002L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_60_in_synpred218_InternalOCLinEcore8882 = new BitSet(new long[]{0x603C504010000002L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_38_in_synpred218_InternalOCLinEcore8959 = new BitSet(new long[]{0x703C504010000002L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_66_in_synpred218_InternalOCLinEcore8990 = new BitSet(new long[]{0x703C504010000002L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_60_in_synpred218_InternalOCLinEcore9004 = new BitSet(new long[]{0x603C504010000002L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_44_in_synpred218_InternalOCLinEcore9081 = new BitSet(new long[]{0x703C504010000002L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_67_in_synpred218_InternalOCLinEcore9112 = new BitSet(new long[]{0x703C504010000002L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_60_in_synpred218_InternalOCLinEcore9126 = new BitSet(new long[]{0x603C504010000002L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_46_in_synpred218_InternalOCLinEcore9203 = new BitSet(new long[]{0x703C504010000002L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_79_in_synpred218_InternalOCLinEcore9234 = new BitSet(new long[]{0x703C504010000002L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_60_in_synpred218_InternalOCLinEcore9248 = new BitSet(new long[]{0x603C504010000002L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_50_in_synpred218_InternalOCLinEcore9325 = new BitSet(new long[]{0x703C504010000002L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_68_in_synpred218_InternalOCLinEcore9356 = new BitSet(new long[]{0x703C504010000002L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_60_in_synpred218_InternalOCLinEcore9370 = new BitSet(new long[]{0x603C504010000002L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_69_in_synpred218_InternalOCLinEcore9447 = new BitSet(new long[]{0x703C504010000002L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_51_in_synpred218_InternalOCLinEcore9478 = new BitSet(new long[]{0x703C504010000002L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_60_in_synpred218_InternalOCLinEcore9492 = new BitSet(new long[]{0x603C504010000002L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_52_in_synpred218_InternalOCLinEcore9569 = new BitSet(new long[]{0x703C504010000002L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_70_in_synpred218_InternalOCLinEcore9600 = new BitSet(new long[]{0x703C504010000002L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_60_in_synpred218_InternalOCLinEcore9614 = new BitSet(new long[]{0x603C504010000002L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_53_in_synpred218_InternalOCLinEcore9692 = new BitSet(new long[]{0x5000000000000000L});
+        public static final BitSet FOLLOW_71_in_synpred218_InternalOCLinEcore9723 = new BitSet(new long[]{0x5000000000000000L});
+        public static final BitSet FOLLOW_60_in_synpred218_InternalOCLinEcore9737 = new BitSet(new long[]{0x4000000000000000L});
+        public static final BitSet FOLLOW_62_in_synpred218_InternalOCLinEcore9753 = new BitSet(new long[]{0x603C504010000002L,0x00000000000080FDL});
+        public static final BitSet FOLLOW_ruleTypeLiteralCS_in_synpred320_InternalOCLinEcore17440 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePrefixedPrimaryExpCS_in_synpred323_InternalOCLinEcore17589 = new BitSet(new long[]{0x8000000000040002L,0x00000003FFF60000L});
+        public static final BitSet FOLLOW_ruleBinaryOperatorName_in_synpred323_InternalOCLinEcore17622 = new BitSet(new long[]{0x08FFFFFFFFFE0330L,0x40F9FFF400190D00L,0x0000000000000018L});
+        public static final BitSet FOLLOW_ruleExpCS_in_synpred323_InternalOCLinEcore17643 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTupleLiteralExpCS_in_synpred330_InternalOCLinEcore18206 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleCollectionLiteralExpCS_in_synpred331_InternalOCLinEcore18236 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleTypeLiteralExpCS_in_synpred333_InternalOCLinEcore18296 = new BitSet(new long[]{0x0000000000000002L});
     }
 
 
diff --git a/plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/serializer/AbstractOCLinEcoreSemanticSequencer.java b/plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/serializer/AbstractOCLinEcoreSemanticSequencer.java
index 0763f0e..ca5dff4 100644
--- a/plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/serializer/AbstractOCLinEcoreSemanticSequencer.java
+++ b/plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/serializer/AbstractOCLinEcoreSemanticSequencer.java
@@ -695,28 +695,21 @@
 	/**
 	 * Constraint:
 	 *     (
-	 *         ((qualifiers+='static' qualifiers+='definition'?) | (qualifiers+='definition' qualifiers+='static'?))? 
+	 *         isStatic?='static'? 
+	 *         isDefinition?='definition'? 
 	 *         name=UnrestrictedName 
 	 *         ownedType=TypedMultiplicityRefCS? 
 	 *         default=SINGLE_QUOTED_STRING? 
 	 *         (
-	 *             qualifiers+='derived' | 
-	 *             qualifiers+='!derived' | 
-	 *             qualifiers+='id' | 
-	 *             qualifiers+='!id' | 
-	 *             qualifiers+='ordered' | 
-	 *             qualifiers+='!ordered' | 
-	 *             qualifiers+='readonly' | 
-	 *             qualifiers+='!readonly' | 
-	 *             qualifiers+='transient' | 
-	 *             qualifiers+='!transient' | 
-	 *             qualifiers+='unique' | 
-	 *             qualifiers+='!unique' | 
-	 *             qualifiers+='unsettable' | 
-	 *             qualifiers+='!unsettable' | 
-	 *             qualifiers+='volatile' | 
-	 *             qualifiers+='!volatile'
-	 *         )* 
+	 *             isDerived?='derived'? 
+	 *             isId?='id'? 
+	 *             isOrdered?='ordered'? 
+	 *             isReadonly?='readonly'? 
+	 *             isTransient?='transient'? 
+	 *             isNotUnique?='!unique'? 
+	 *             isUnsettable?='unsettable'? 
+	 *             isVolatile?='volatile'?
+	 *         )? 
 	 *         (ownedAnnotations+=AnnotationElementCS | ownedDefaultExpressions+=SpecificationCS? | ownedDefaultExpressions+=SpecificationCS?)*
 	 *     )
 	 */
@@ -836,20 +829,14 @@
 	/**
 	 * Constraint:
 	 *     (
-	 *         ((qualifiers+='static' qualifiers+='definition'?) | (qualifiers+='definition' qualifiers+='static'?))? 
+	 *         isStatic?='static'? 
+	 *         isDefinition?='definition'? 
 	 *         ownedSignature=TemplateSignatureCS? 
 	 *         name=UnrestrictedName 
 	 *         (ownedParameters+=ParameterCS ownedParameters+=ParameterCS*)? 
 	 *         ownedType=TypedMultiplicityRefCS? 
 	 *         (ownedExceptions+=TypedRefCS ownedExceptions+=TypedRefCS*)? 
-	 *         (
-	 *             qualifiers+='derived' | 
-	 *             qualifiers+='!derived' | 
-	 *             qualifiers+='ordered' | 
-	 *             qualifiers+='!ordered' | 
-	 *             qualifiers+='unique' | 
-	 *             qualifiers+='!unique'
-	 *         )* 
+	 *         (isDerived?='derived'? isOrdered?='ordered'? isNotUnique?='!unique'?)? 
 	 *         (
 	 *             ownedAnnotations+=AnnotationElementCS | 
 	 *             ownedPreconditions+=PreconditionConstraintCS | 
@@ -879,12 +866,7 @@
 	
 	/**
 	 * Constraint:
-	 *     (
-	 *         name=UnrestrictedName 
-	 *         ownedType=TypedMultiplicityRefCS? 
-	 *         (qualifiers+='ordered' | qualifiers+='!ordered' | qualifiers+='unique' | qualifiers+='!unique')* 
-	 *         ownedAnnotations+=AnnotationElementCS*
-	 *     )
+	 *     (name=UnrestrictedName ownedType=TypedMultiplicityRefCS? (isOrdered?='ordered'? isNotUnique?='!unique'?)? ownedAnnotations+=AnnotationElementCS*)
 	 */
 	protected void sequence_ParameterCS(EObject context, ParameterCS semanticObject) {
 		genericSequencer.createSequence(context, semanticObject);
@@ -921,31 +903,23 @@
 	/**
 	 * Constraint:
 	 *     (
-	 *         ((qualifiers+='static' qualifiers+='definition'?) | (qualifiers+='definition' qualifiers+='static'?))? 
+	 *         isStatic?='static'? 
+	 *         isDefinition?='definition'? 
 	 *         name=UnrestrictedName 
 	 *         referredOpposite=[Property|UnrestrictedName]? 
 	 *         ownedType=TypedMultiplicityRefCS? 
 	 *         default=SINGLE_QUOTED_STRING? 
 	 *         (
-	 *             qualifiers+='composes' | 
-	 *             qualifiers+='!composes' | 
-	 *             qualifiers+='derived' | 
-	 *             qualifiers+='!derived' | 
-	 *             qualifiers+='ordered' | 
-	 *             qualifiers+='!ordered' | 
-	 *             qualifiers+='readonly' | 
-	 *             qualifiers+='!readonly' | 
-	 *             qualifiers+='resolve' | 
-	 *             qualifiers+='!resolve' | 
-	 *             qualifiers+='transient' | 
-	 *             qualifiers+='!transient' | 
-	 *             qualifiers+='unique' | 
-	 *             qualifiers+='!unique' | 
-	 *             qualifiers+='unsettable' | 
-	 *             qualifiers+='!unsettable' | 
-	 *             qualifiers+='volatile' | 
-	 *             qualifiers+='!volatile'
-	 *         )* 
+	 *             isComposes?='composes'? 
+	 *             isDerived?='derived'? 
+	 *             isOrdered?='ordered'? 
+	 *             isReadonly?='readonly'? 
+	 *             isResolve?='resolve'? 
+	 *             isTransient?='transient'? 
+	 *             isNotUnique?='!unique'? 
+	 *             isUnsettable?='unsettable'? 
+	 *             isVolatile?='volatile'?
+	 *         )? 
 	 *         (
 	 *             ownedAnnotations+=AnnotationElementCS | 
 	 *             (referredKeys+=[Property|UnrestrictedName] referredKeys+=[Property|UnrestrictedName]*) | 
diff --git a/plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/serializer/AbstractOCLinEcoreSyntacticSequencer.java b/plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/serializer/AbstractOCLinEcoreSyntacticSequencer.java
index 3d7c33d..815d4d5 100644
--- a/plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/serializer/AbstractOCLinEcoreSyntacticSequencer.java
+++ b/plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/serializer/AbstractOCLinEcoreSyntacticSequencer.java
@@ -19,21 +19,49 @@
 public abstract class AbstractOCLinEcoreSyntacticSequencer extends AbstractSyntacticSequencer {
 
 	protected OCLinEcoreGrammarAccess grammarAccess;
+	protected AbstractElementAlias match_AttributeCS_CommaKeyword_5_0_1_1_q;
 	protected AbstractElementAlias match_AttributeCS_CommaKeyword_5_1_1_q;
+	protected AbstractElementAlias match_AttributeCS_CommaKeyword_5_2_1_q;
+	protected AbstractElementAlias match_AttributeCS_CommaKeyword_5_3_1_q;
+	protected AbstractElementAlias match_AttributeCS_CommaKeyword_5_4_1_q;
+	protected AbstractElementAlias match_AttributeCS_CommaKeyword_5_5_1_q;
+	protected AbstractElementAlias match_AttributeCS_CommaKeyword_5_6_1_q;
+	protected AbstractElementAlias match_AttributeCS_IsDerivedDerivedKeyword_5_0_1_0_0_0;
+	protected AbstractElementAlias match_AttributeCS_IsVolatileVolatileKeyword_5_7_0_0_0_0;
 	protected AbstractElementAlias match_AttributeCS_SemicolonKeyword_6_1_or___LeftCurlyBracketKeyword_6_0_0_____DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2_SemicolonKeyword_6_0_1_1_4___or___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4____a_RightCurlyBracketKeyword_6_0_2__;
 	protected AbstractElementAlias match_AttributeCS_UnrestrictedNameParserRuleCall_6_0_1_1_1_q;
 	protected AbstractElementAlias match_AttributeCS_UnrestrictedNameParserRuleCall_6_0_1_2_1_q;
+	protected AbstractElementAlias match_AttributeCS___CommaKeyword_5_1_1_q_IdKeyword_5_1_0_1__a;
+	protected AbstractElementAlias match_AttributeCS___CommaKeyword_5_2_1_q_OrderedKeyword_5_2_0_1__a;
+	protected AbstractElementAlias match_AttributeCS___CommaKeyword_5_3_1_q_ReadonlyKeyword_5_3_0_1__a;
+	protected AbstractElementAlias match_AttributeCS___CommaKeyword_5_4_1_q_TransientKeyword_5_4_0_1__a;
+	protected AbstractElementAlias match_AttributeCS___CommaKeyword_5_5_1_q_UniqueKeyword_5_5_0_1__a;
+	protected AbstractElementAlias match_AttributeCS___CommaKeyword_5_6_1_q_UnsettableKeyword_5_6_0_1__a;
 	protected AbstractElementAlias match_AttributeCS___DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2_SemicolonKeyword_6_0_1_1_4___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4__a__a;
 	protected AbstractElementAlias match_AttributeCS___DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2_SemicolonKeyword_6_0_1_1_4__a;
 	protected AbstractElementAlias match_AttributeCS___DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2___SemicolonKeyword_6_0_1_1_4_DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2__a___or_____DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2___SemicolonKeyword_6_0_1_1_4_DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2__a_SemicolonKeyword_6_0_1_1_4__q___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4__p_DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2___SemicolonKeyword_6_0_1_1_4_DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2__a___SemicolonKeyword_6_0_1_1_4___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4__p_DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2___SemicolonKeyword_6_0_1_1_4_DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2__a__a__;
+	protected AbstractElementAlias match_AttributeCS___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a__a;
 	protected AbstractElementAlias match_AttributeCS___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4___DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2_SemicolonKeyword_6_0_1_1_4__a__a;
 	protected AbstractElementAlias match_AttributeCS___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4__a;
 	protected AbstractElementAlias match_AttributeCS___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2___SemicolonKeyword_6_0_1_2_4_InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2__a___or_____InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2___SemicolonKeyword_6_0_1_2_4_InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2__a_SemicolonKeyword_6_0_1_2_4__q___DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2_SemicolonKeyword_6_0_1_1_4__p_InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2___SemicolonKeyword_6_0_1_2_4_InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2__a___SemicolonKeyword_6_0_1_2_4___DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2_SemicolonKeyword_6_0_1_1_4__p_InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2___SemicolonKeyword_6_0_1_2_4_InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2__a__a__;
+	protected AbstractElementAlias match_AttributeCS___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a__a;
+	protected AbstractElementAlias match_AttributeCS___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a__a;
+	protected AbstractElementAlias match_AttributeCS___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a;
+	protected AbstractElementAlias match_AttributeCS___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a;
+	protected AbstractElementAlias match_AttributeCS___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a;
+	protected AbstractElementAlias match_AttributeCS___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a;
+	protected AbstractElementAlias match_AttributeCS___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a;
+	protected AbstractElementAlias match_AttributeCS___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a;
+	protected AbstractElementAlias match_AttributeCS___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a;
 	protected AbstractElementAlias match_AttributeCS___SemicolonKeyword_6_0_1_1_4___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4__a_DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2__a;
 	protected AbstractElementAlias match_AttributeCS___SemicolonKeyword_6_0_1_1_4___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4__a_DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2__p;
 	protected AbstractElementAlias match_AttributeCS___SemicolonKeyword_6_0_1_2_4___DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2_SemicolonKeyword_6_0_1_1_4__a_InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2__a;
 	protected AbstractElementAlias match_AttributeCS___SemicolonKeyword_6_0_1_2_4___DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2_SemicolonKeyword_6_0_1_1_4__a_InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2__p;
+	protected AbstractElementAlias match_AttributeCS___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a__a;
+	protected AbstractElementAlias match_AttributeCS___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a__a;
+	protected AbstractElementAlias match_AttributeCS___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a__a;
 	protected AbstractElementAlias match_AttributeCS_____DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2_SemicolonKeyword_6_0_1_1_4___or___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4____a;
+	protected AbstractElementAlias match_AttributeCS_______LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q___or___RightCurlyBracketKeyword_5_7_1___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q_________IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q___or___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q___or___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q___or___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q___or___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q___or___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q____a__p;
 	protected AbstractElementAlias match_DataTypeCS_SemicolonKeyword_6_1_or___LeftCurlyBracketKeyword_6_0_0_RightCurlyBracketKeyword_6_0_2__;
 	protected AbstractElementAlias match_DataTypeCS___LeftCurlyBracketKeyword_5_0_SerializableKeyword_5_1_1_q_RightCurlyBracketKeyword_5_2__q;
 	protected AbstractElementAlias match_EnumerationCS_SemicolonKeyword_5_1_or___LeftCurlyBracketKeyword_5_0_0_RightCurlyBracketKeyword_5_0_2__;
@@ -41,29 +69,72 @@
 	protected AbstractElementAlias match_EnumerationLiteralCS_SemicolonKeyword_2_1_or___LeftCurlyBracketKeyword_2_0_0_RightCurlyBracketKeyword_2_0_2__;
 	protected AbstractElementAlias match_InvariantConstraintCS_SemicolonKeyword_3_1_or___ColonKeyword_3_0_0_SemicolonKeyword_3_0_2__;
 	protected AbstractElementAlias match_OperationCS_CommaKeyword_9_1_1_q;
+	protected AbstractElementAlias match_OperationCS_IsDerivedDerivedKeyword_9_0_1_0_0_0;
+	protected AbstractElementAlias match_OperationCS_IsNotUniqueUniqueKeyword_9_2_0_0_0_0;
 	protected AbstractElementAlias match_OperationCS_SemicolonKeyword_10_1_or___LeftCurlyBracketKeyword_10_0_0___BodyKeyword_10_0_1_2_0_UnrestrictedNameParserRuleCall_10_0_1_2_1_q_ColonKeyword_10_0_1_2_2_SemicolonKeyword_10_0_1_2_4__a_RightCurlyBracketKeyword_10_0_2__;
 	protected AbstractElementAlias match_OperationCS_UnrestrictedNameParserRuleCall_10_0_1_2_1_q;
 	protected AbstractElementAlias match_OperationCS___BodyKeyword_10_0_1_2_0_UnrestrictedNameParserRuleCall_10_0_1_2_1_q_ColonKeyword_10_0_1_2_2_SemicolonKeyword_10_0_1_2_4__a;
+	protected AbstractElementAlias match_OperationCS___CommaKeyword_9_1_1_q_____LeftCurlyBracketKeyword_9_0_0___DerivedKeyword_9_0_1_0_1_CommaKeyword_9_0_1_1_q__q___or___RightCurlyBracketKeyword_9_2_1___UniqueKeyword_9_2_0_0_1_CommaKeyword_9_2_0_1_q__q____a_OrderedKeyword_9_1_0_1__a;
+	protected AbstractElementAlias match_OperationCS___OrderedKeyword_9_1_0_1_CommaKeyword_9_1_1_q___RightCurlyBracketKeyword_9_2_1___LeftCurlyBracketKeyword_9_0_0___DerivedKeyword_9_0_1_0_1_CommaKeyword_9_0_1_1_q__q__a___UniqueKeyword_9_2_0_0_1_CommaKeyword_9_2_0_1_q__q__a__a;
+	protected AbstractElementAlias match_OperationCS___RightCurlyBracketKeyword_9_2_1___LeftCurlyBracketKeyword_9_0_0___DerivedKeyword_9_0_1_0_1_CommaKeyword_9_0_1_1_q__q__a___OrderedKeyword_9_1_0_1_CommaKeyword_9_1_1_q__a___UniqueKeyword_9_2_0_0_1_CommaKeyword_9_2_0_1_q__q__a;
+	protected AbstractElementAlias match_OperationCS___RightCurlyBracketKeyword_9_2_1___LeftCurlyBracketKeyword_9_0_0___DerivedKeyword_9_0_1_0_1_CommaKeyword_9_0_1_1_q__q__a___UniqueKeyword_9_2_0_0_1_CommaKeyword_9_2_0_1_q__q__a;
 	protected AbstractElementAlias match_OperationCS___SemicolonKeyword_10_0_1_2_4_BodyKeyword_10_0_1_2_0_UnrestrictedNameParserRuleCall_10_0_1_2_1_q_ColonKeyword_10_0_1_2_2__a;
 	protected AbstractElementAlias match_OperationCS___SemicolonKeyword_10_0_1_2_4_BodyKeyword_10_0_1_2_0_UnrestrictedNameParserRuleCall_10_0_1_2_1_q_ColonKeyword_10_0_1_2_2__p;
+	protected AbstractElementAlias match_OperationCS_______LeftCurlyBracketKeyword_9_0_0___DerivedKeyword_9_0_1_0_1_CommaKeyword_9_0_1_1_q__q___or___RightCurlyBracketKeyword_9_2_1___UniqueKeyword_9_2_0_0_1_CommaKeyword_9_2_0_1_q__q____a_OrderedKeyword_9_1_0_1_CommaKeyword_9_1_1_q__a;
 	protected AbstractElementAlias match_PackageCS_SemicolonKeyword_4_1_or___LeftCurlyBracketKeyword_4_0_0_RightCurlyBracketKeyword_4_0_2__;
-	protected AbstractElementAlias match_ParameterCS_CommaKeyword_2_1_1_q;
+	protected AbstractElementAlias match_ParameterCS_IsNotUniqueUniqueKeyword_2_1_0_0_0_0;
+	protected AbstractElementAlias match_ParameterCS_IsOrderedOrderedKeyword_2_0_1_0_0_0;
+	protected AbstractElementAlias match_ParameterCS___CommaKeyword_2_1_0_1_q___RightCurlyBracketKeyword_2_1_1___LeftCurlyBracketKeyword_2_0_0___OrderedKeyword_2_0_1_0_1_CommaKeyword_2_0_1_1_q__q__a__p_UniqueKeyword_2_1_0_0_1__a;
 	protected AbstractElementAlias match_ParameterCS___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q;
+	protected AbstractElementAlias match_ParameterCS___RightCurlyBracketKeyword_2_1_1___LeftCurlyBracketKeyword_2_0_0___OrderedKeyword_2_0_1_0_1_CommaKeyword_2_0_1_1_q__q__a___UniqueKeyword_2_1_0_0_1_CommaKeyword_2_1_0_1_q__q__a;
+	protected AbstractElementAlias match_ParameterCS_____LeftCurlyBracketKeyword_2_0_0___OrderedKeyword_2_0_1_0_1_CommaKeyword_2_0_1_1_q__q___or___RightCurlyBracketKeyword_2_1_1___UniqueKeyword_2_1_0_0_1_CommaKeyword_2_1_0_1_q__q____p;
+	protected AbstractElementAlias match_ReferenceCS_CommaKeyword_6_0_1_1_q;
 	protected AbstractElementAlias match_ReferenceCS_CommaKeyword_6_1_1_q;
+	protected AbstractElementAlias match_ReferenceCS_CommaKeyword_6_2_1_q;
+	protected AbstractElementAlias match_ReferenceCS_CommaKeyword_6_3_1_q;
+	protected AbstractElementAlias match_ReferenceCS_CommaKeyword_6_4_1_q;
+	protected AbstractElementAlias match_ReferenceCS_CommaKeyword_6_5_1_q;
+	protected AbstractElementAlias match_ReferenceCS_CommaKeyword_6_6_1_q;
+	protected AbstractElementAlias match_ReferenceCS_CommaKeyword_6_7_1_q;
+	protected AbstractElementAlias match_ReferenceCS_IsComposesComposesKeyword_6_0_1_0_0_0;
+	protected AbstractElementAlias match_ReferenceCS_IsVolatileVolatileKeyword_6_8_0_0_0_0;
 	protected AbstractElementAlias match_ReferenceCS_SemicolonKeyword_7_1_or___LeftCurlyBracketKeyword_7_0_0_____DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2_SemicolonKeyword_7_0_1_2_4___or___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4____a_RightCurlyBracketKeyword_7_0_2__;
 	protected AbstractElementAlias match_ReferenceCS_UnrestrictedNameParserRuleCall_7_0_1_2_1_q;
 	protected AbstractElementAlias match_ReferenceCS_UnrestrictedNameParserRuleCall_7_0_1_3_1_q;
+	protected AbstractElementAlias match_ReferenceCS___CommaKeyword_6_1_1_q_DerivedKeyword_6_1_0_1__a;
+	protected AbstractElementAlias match_ReferenceCS___CommaKeyword_6_2_1_q_OrderedKeyword_6_2_0_1__a;
+	protected AbstractElementAlias match_ReferenceCS___CommaKeyword_6_3_1_q_ReadonlyKeyword_6_3_0_1__a;
+	protected AbstractElementAlias match_ReferenceCS___CommaKeyword_6_4_1_q_ResolveKeyword_6_4_0_1__a;
+	protected AbstractElementAlias match_ReferenceCS___CommaKeyword_6_5_1_q_TransientKeyword_6_5_0_1__a;
+	protected AbstractElementAlias match_ReferenceCS___CommaKeyword_6_6_1_q_UniqueKeyword_6_6_0_1__a;
+	protected AbstractElementAlias match_ReferenceCS___CommaKeyword_6_7_1_q_UnsettableKeyword_6_7_0_1__a;
 	protected AbstractElementAlias match_ReferenceCS___DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2_SemicolonKeyword_7_0_1_2_4___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4__a__a;
 	protected AbstractElementAlias match_ReferenceCS___DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2_SemicolonKeyword_7_0_1_2_4__a;
 	protected AbstractElementAlias match_ReferenceCS___DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2___SemicolonKeyword_7_0_1_2_4_DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2__a___or_____DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2___SemicolonKeyword_7_0_1_2_4_DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2__a_SemicolonKeyword_7_0_1_2_4__q___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4__p_DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2___SemicolonKeyword_7_0_1_2_4_DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2__a___SemicolonKeyword_7_0_1_2_4___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4__p_DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2___SemicolonKeyword_7_0_1_2_4_DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2__a__a__;
+	protected AbstractElementAlias match_ReferenceCS___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a__a;
 	protected AbstractElementAlias match_ReferenceCS___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4___DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2_SemicolonKeyword_7_0_1_2_4__a__a;
 	protected AbstractElementAlias match_ReferenceCS___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4__a;
 	protected AbstractElementAlias match_ReferenceCS___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2___SemicolonKeyword_7_0_1_3_4_InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2__a___or_____InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2___SemicolonKeyword_7_0_1_3_4_InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2__a_SemicolonKeyword_7_0_1_3_4__q___DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2_SemicolonKeyword_7_0_1_2_4__p_InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2___SemicolonKeyword_7_0_1_3_4_InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2__a___SemicolonKeyword_7_0_1_3_4___DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2_SemicolonKeyword_7_0_1_2_4__p_InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2___SemicolonKeyword_7_0_1_3_4_InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2__a__a__;
+	protected AbstractElementAlias match_ReferenceCS___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a__a;
+	protected AbstractElementAlias match_ReferenceCS___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a__a;
+	protected AbstractElementAlias match_ReferenceCS___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a__a;
+	protected AbstractElementAlias match_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a;
+	protected AbstractElementAlias match_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a;
+	protected AbstractElementAlias match_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a;
+	protected AbstractElementAlias match_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a;
+	protected AbstractElementAlias match_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a;
+	protected AbstractElementAlias match_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a;
+	protected AbstractElementAlias match_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a;
+	protected AbstractElementAlias match_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a;
 	protected AbstractElementAlias match_ReferenceCS___SemicolonKeyword_7_0_1_2_4___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4__a_DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2__a;
 	protected AbstractElementAlias match_ReferenceCS___SemicolonKeyword_7_0_1_2_4___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4__a_DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2__p;
 	protected AbstractElementAlias match_ReferenceCS___SemicolonKeyword_7_0_1_3_4___DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2_SemicolonKeyword_7_0_1_2_4__a_InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2__a;
 	protected AbstractElementAlias match_ReferenceCS___SemicolonKeyword_7_0_1_3_4___DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2_SemicolonKeyword_7_0_1_2_4__a_InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2__p;
+	protected AbstractElementAlias match_ReferenceCS___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a__a;
+	protected AbstractElementAlias match_ReferenceCS___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a__a;
+	protected AbstractElementAlias match_ReferenceCS___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a__a;
 	protected AbstractElementAlias match_ReferenceCS_____DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2_SemicolonKeyword_7_0_1_2_4___or___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4____a;
+	protected AbstractElementAlias match_ReferenceCS_______LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q___or___RightCurlyBracketKeyword_6_8_1___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q_________DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q___or___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q___or___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q___or___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q___or___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q___or___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q___or___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q____a__p;
 	protected AbstractElementAlias match_StructuredClassCS_SemicolonKeyword_7_1_or___LeftCurlyBracketKeyword_7_0_0_RightCurlyBracketKeyword_7_0_2__;
 	protected AbstractElementAlias match_StructuredClassCS___LeftCurlyBracketKeyword_6_0_RightCurlyBracketKeyword_6_2__q;
 	protected AbstractElementAlias match_TopLevelCS___ModuleKeyword_1_0_UnrestrictedNameParserRuleCall_1_1__q;
@@ -72,21 +143,49 @@
 	@Inject
 	protected void init(IGrammarAccess access) {
 		grammarAccess = (OCLinEcoreGrammarAccess) access;
+		match_AttributeCS_CommaKeyword_5_0_1_1_q = new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_0_1_1());
 		match_AttributeCS_CommaKeyword_5_1_1_q = new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_1_1());
+		match_AttributeCS_CommaKeyword_5_2_1_q = new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_2_1());
+		match_AttributeCS_CommaKeyword_5_3_1_q = new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_3_1());
+		match_AttributeCS_CommaKeyword_5_4_1_q = new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_4_1());
+		match_AttributeCS_CommaKeyword_5_5_1_q = new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_5_1());
+		match_AttributeCS_CommaKeyword_5_6_1_q = new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_6_1());
+		match_AttributeCS_IsDerivedDerivedKeyword_5_0_1_0_0_0 = new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getIsDerivedDerivedKeyword_5_0_1_0_0_0());
+		match_AttributeCS_IsVolatileVolatileKeyword_5_7_0_0_0_0 = new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getIsVolatileVolatileKeyword_5_7_0_0_0_0());
 		match_AttributeCS_SemicolonKeyword_6_1_or___LeftCurlyBracketKeyword_6_0_0_____DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2_SemicolonKeyword_6_0_1_1_4___or___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4____a_RightCurlyBracketKeyword_6_0_2__ = new AlternativeAlias(false, false, new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getLeftCurlyBracketKeyword_6_0_0()), new AlternativeAlias(true, true, new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getDerivationKeyword_6_0_1_1_0()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_1_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_1_2()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_1_4())), new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getInitialKeyword_6_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_2_2()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_2_4()))), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getRightCurlyBracketKeyword_6_0_2())), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_1()));
 		match_AttributeCS_UnrestrictedNameParserRuleCall_6_0_1_1_1_q = new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_1_1());
 		match_AttributeCS_UnrestrictedNameParserRuleCall_6_0_1_2_1_q = new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_2_1());
+		match_AttributeCS___CommaKeyword_5_1_1_q_IdKeyword_5_1_0_1__a = new GroupAlias(true, true, new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_1_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getIdKeyword_5_1_0_1()));
+		match_AttributeCS___CommaKeyword_5_2_1_q_OrderedKeyword_5_2_0_1__a = new GroupAlias(true, true, new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_2_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getOrderedKeyword_5_2_0_1()));
+		match_AttributeCS___CommaKeyword_5_3_1_q_ReadonlyKeyword_5_3_0_1__a = new GroupAlias(true, true, new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_3_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getReadonlyKeyword_5_3_0_1()));
+		match_AttributeCS___CommaKeyword_5_4_1_q_TransientKeyword_5_4_0_1__a = new GroupAlias(true, true, new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_4_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getTransientKeyword_5_4_0_1()));
+		match_AttributeCS___CommaKeyword_5_5_1_q_UniqueKeyword_5_5_0_1__a = new GroupAlias(true, true, new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_5_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getUniqueKeyword_5_5_0_1()));
+		match_AttributeCS___CommaKeyword_5_6_1_q_UnsettableKeyword_5_6_0_1__a = new GroupAlias(true, true, new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_6_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getUnsettableKeyword_5_6_0_1()));
 		match_AttributeCS___DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2_SemicolonKeyword_6_0_1_1_4___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4__a__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getDerivationKeyword_6_0_1_1_0()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_1_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_1_2()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_1_4()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getInitialKeyword_6_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_2_2()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_2_4())));
 		match_AttributeCS___DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2_SemicolonKeyword_6_0_1_1_4__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getDerivationKeyword_6_0_1_1_0()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_1_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_1_2()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_1_4()));
 		match_AttributeCS___DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2___SemicolonKeyword_6_0_1_1_4_DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2__a___or_____DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2___SemicolonKeyword_6_0_1_1_4_DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2__a_SemicolonKeyword_6_0_1_1_4__q___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4__p_DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2___SemicolonKeyword_6_0_1_1_4_DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2__a___SemicolonKeyword_6_0_1_1_4___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4__p_DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2___SemicolonKeyword_6_0_1_1_4_DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2__a__a__ = new AlternativeAlias(false, false, new GroupAlias(false, false, new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getDerivationKeyword_6_0_1_1_0()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_1_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_1_2()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_1_4()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getDerivationKeyword_6_0_1_1_0()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_1_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_1_2())), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_1_4())), new GroupAlias(true, false, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getInitialKeyword_6_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_2_2()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_2_4())), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getDerivationKeyword_6_0_1_1_0()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_1_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_1_2()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_1_4()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getDerivationKeyword_6_0_1_1_0()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_1_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_1_2())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_1_4()), new GroupAlias(true, false, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getInitialKeyword_6_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_2_2()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_2_4())), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getDerivationKeyword_6_0_1_1_0()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_1_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_1_2()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_1_4()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getDerivationKeyword_6_0_1_1_0()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_1_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_1_2())))), new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getDerivationKeyword_6_0_1_1_0()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_1_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_1_2()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_1_4()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getDerivationKeyword_6_0_1_1_0()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_1_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_1_2()))));
+		match_AttributeCS___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getIdKeyword_5_1_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_1_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getRightCurlyBracketKeyword_5_7_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getLeftCurlyBracketKeyword_5_0_0()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getDerivedKeyword_5_0_1_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_0_1_1()))), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getOrderedKeyword_5_2_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_2_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getReadonlyKeyword_5_3_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_3_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getTransientKeyword_5_4_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_4_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getUniqueKeyword_5_5_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_5_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getUnsettableKeyword_5_6_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_6_1())), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getVolatileKeyword_5_7_0_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_7_0_1()))));
 		match_AttributeCS___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4___DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2_SemicolonKeyword_6_0_1_1_4__a__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getInitialKeyword_6_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_2_2()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_2_4()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getDerivationKeyword_6_0_1_1_0()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_1_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_1_2()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_1_4())));
 		match_AttributeCS___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getInitialKeyword_6_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_2_2()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_2_4()));
 		match_AttributeCS___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2___SemicolonKeyword_6_0_1_2_4_InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2__a___or_____InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2___SemicolonKeyword_6_0_1_2_4_InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2__a_SemicolonKeyword_6_0_1_2_4__q___DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2_SemicolonKeyword_6_0_1_1_4__p_InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2___SemicolonKeyword_6_0_1_2_4_InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2__a___SemicolonKeyword_6_0_1_2_4___DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2_SemicolonKeyword_6_0_1_1_4__p_InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2___SemicolonKeyword_6_0_1_2_4_InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2__a__a__ = new AlternativeAlias(false, false, new GroupAlias(false, false, new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getInitialKeyword_6_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_2_2()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_2_4()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getInitialKeyword_6_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_2_2())), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_2_4())), new GroupAlias(true, false, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getDerivationKeyword_6_0_1_1_0()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_1_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_1_2()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_1_4())), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getInitialKeyword_6_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_2_2()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_2_4()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getInitialKeyword_6_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_2_2())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_2_4()), new GroupAlias(true, false, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getDerivationKeyword_6_0_1_1_0()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_1_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_1_2()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_1_4())), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getInitialKeyword_6_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_2_2()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_2_4()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getInitialKeyword_6_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_2_2())))), new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getInitialKeyword_6_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_2_2()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_2_4()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getInitialKeyword_6_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_2_2()))));
+		match_AttributeCS___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getOrderedKeyword_5_2_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_2_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getRightCurlyBracketKeyword_5_7_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getLeftCurlyBracketKeyword_5_0_0()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getDerivedKeyword_5_0_1_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_0_1_1()))), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getIdKeyword_5_1_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_1_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getReadonlyKeyword_5_3_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_3_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getTransientKeyword_5_4_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_4_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getUniqueKeyword_5_5_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_5_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getUnsettableKeyword_5_6_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_6_1())), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getVolatileKeyword_5_7_0_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_7_0_1()))));
+		match_AttributeCS___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getReadonlyKeyword_5_3_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_3_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getRightCurlyBracketKeyword_5_7_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getLeftCurlyBracketKeyword_5_0_0()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getDerivedKeyword_5_0_1_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_0_1_1()))), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getIdKeyword_5_1_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_1_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getOrderedKeyword_5_2_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_2_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getTransientKeyword_5_4_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_4_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getUniqueKeyword_5_5_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_5_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getUnsettableKeyword_5_6_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_6_1())), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getVolatileKeyword_5_7_0_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_7_0_1()))));
+		match_AttributeCS___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getRightCurlyBracketKeyword_5_7_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getLeftCurlyBracketKeyword_5_0_0()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getDerivedKeyword_5_0_1_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_0_1_1()))), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getIdKeyword_5_1_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_1_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getOrderedKeyword_5_2_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_2_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getReadonlyKeyword_5_3_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_3_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getTransientKeyword_5_4_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_4_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getUniqueKeyword_5_5_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_5_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getUnsettableKeyword_5_6_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_6_1())), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getVolatileKeyword_5_7_0_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_7_0_1())));
+		match_AttributeCS___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getRightCurlyBracketKeyword_5_7_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getLeftCurlyBracketKeyword_5_0_0()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getDerivedKeyword_5_0_1_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_0_1_1()))), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getIdKeyword_5_1_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_1_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getOrderedKeyword_5_2_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_2_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getReadonlyKeyword_5_3_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_3_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getTransientKeyword_5_4_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_4_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getUniqueKeyword_5_5_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_5_1())), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getVolatileKeyword_5_7_0_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_7_0_1())));
+		match_AttributeCS___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getRightCurlyBracketKeyword_5_7_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getLeftCurlyBracketKeyword_5_0_0()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getDerivedKeyword_5_0_1_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_0_1_1()))), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getIdKeyword_5_1_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_1_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getOrderedKeyword_5_2_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_2_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getReadonlyKeyword_5_3_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_3_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getTransientKeyword_5_4_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_4_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getUnsettableKeyword_5_6_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_6_1())), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getVolatileKeyword_5_7_0_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_7_0_1())));
+		match_AttributeCS___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getRightCurlyBracketKeyword_5_7_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getLeftCurlyBracketKeyword_5_0_0()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getDerivedKeyword_5_0_1_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_0_1_1()))), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getIdKeyword_5_1_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_1_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getOrderedKeyword_5_2_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_2_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getReadonlyKeyword_5_3_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_3_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getUniqueKeyword_5_5_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_5_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getUnsettableKeyword_5_6_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_6_1())), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getVolatileKeyword_5_7_0_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_7_0_1())));
+		match_AttributeCS___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getRightCurlyBracketKeyword_5_7_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getLeftCurlyBracketKeyword_5_0_0()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getDerivedKeyword_5_0_1_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_0_1_1()))), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getIdKeyword_5_1_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_1_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getOrderedKeyword_5_2_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_2_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getTransientKeyword_5_4_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_4_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getUniqueKeyword_5_5_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_5_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getUnsettableKeyword_5_6_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_6_1())), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getVolatileKeyword_5_7_0_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_7_0_1())));
+		match_AttributeCS___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getRightCurlyBracketKeyword_5_7_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getLeftCurlyBracketKeyword_5_0_0()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getDerivedKeyword_5_0_1_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_0_1_1()))), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getIdKeyword_5_1_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_1_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getReadonlyKeyword_5_3_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_3_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getTransientKeyword_5_4_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_4_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getUniqueKeyword_5_5_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_5_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getUnsettableKeyword_5_6_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_6_1())), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getVolatileKeyword_5_7_0_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_7_0_1())));
+		match_AttributeCS___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getRightCurlyBracketKeyword_5_7_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getLeftCurlyBracketKeyword_5_0_0()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getDerivedKeyword_5_0_1_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_0_1_1()))), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getOrderedKeyword_5_2_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_2_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getReadonlyKeyword_5_3_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_3_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getTransientKeyword_5_4_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_4_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getUniqueKeyword_5_5_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_5_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getUnsettableKeyword_5_6_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_6_1())), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getVolatileKeyword_5_7_0_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_7_0_1())));
 		match_AttributeCS___SemicolonKeyword_6_0_1_1_4___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4__a_DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_1_4()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getInitialKeyword_6_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_2_2()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_2_4())), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getDerivationKeyword_6_0_1_1_0()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_1_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_1_2()));
 		match_AttributeCS___SemicolonKeyword_6_0_1_1_4___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4__a_DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2__p = new GroupAlias(true, false, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_1_4()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getInitialKeyword_6_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_2_2()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_2_4())), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getDerivationKeyword_6_0_1_1_0()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_1_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_1_2()));
 		match_AttributeCS___SemicolonKeyword_6_0_1_2_4___DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2_SemicolonKeyword_6_0_1_1_4__a_InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_2_4()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getDerivationKeyword_6_0_1_1_0()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_1_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_1_2()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_1_4())), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getInitialKeyword_6_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_2_2()));
 		match_AttributeCS___SemicolonKeyword_6_0_1_2_4___DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2_SemicolonKeyword_6_0_1_1_4__a_InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2__p = new GroupAlias(true, false, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_2_4()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getDerivationKeyword_6_0_1_1_0()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_1_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_1_2()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_1_4())), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getInitialKeyword_6_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_2_2()));
+		match_AttributeCS___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getTransientKeyword_5_4_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_4_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getRightCurlyBracketKeyword_5_7_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getLeftCurlyBracketKeyword_5_0_0()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getDerivedKeyword_5_0_1_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_0_1_1()))), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getIdKeyword_5_1_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_1_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getOrderedKeyword_5_2_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_2_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getReadonlyKeyword_5_3_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_3_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getUniqueKeyword_5_5_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_5_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getUnsettableKeyword_5_6_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_6_1())), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getVolatileKeyword_5_7_0_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_7_0_1()))));
+		match_AttributeCS___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getUniqueKeyword_5_5_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_5_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getRightCurlyBracketKeyword_5_7_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getLeftCurlyBracketKeyword_5_0_0()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getDerivedKeyword_5_0_1_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_0_1_1()))), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getIdKeyword_5_1_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_1_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getOrderedKeyword_5_2_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_2_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getReadonlyKeyword_5_3_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_3_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getTransientKeyword_5_4_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_4_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getUnsettableKeyword_5_6_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_6_1())), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getVolatileKeyword_5_7_0_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_7_0_1()))));
+		match_AttributeCS___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getUnsettableKeyword_5_6_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_6_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getRightCurlyBracketKeyword_5_7_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getLeftCurlyBracketKeyword_5_0_0()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getDerivedKeyword_5_0_1_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_0_1_1()))), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getIdKeyword_5_1_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_1_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getOrderedKeyword_5_2_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_2_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getReadonlyKeyword_5_3_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_3_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getTransientKeyword_5_4_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_4_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getUniqueKeyword_5_5_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_5_1())), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getVolatileKeyword_5_7_0_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_7_0_1()))));
 		match_AttributeCS_____DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2_SemicolonKeyword_6_0_1_1_4___or___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4____a = new AlternativeAlias(true, true, new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getDerivationKeyword_6_0_1_1_0()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_1_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_1_2()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_1_4())), new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getInitialKeyword_6_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_2_2()), new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_2_4())));
+		match_AttributeCS_______LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q___or___RightCurlyBracketKeyword_5_7_1___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q_________IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q___or___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q___or___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q___or___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q___or___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q___or___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q____a__p = new GroupAlias(true, false, new AlternativeAlias(false, false, new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getLeftCurlyBracketKeyword_5_0_0()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getDerivedKeyword_5_0_1_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_0_1_1()))), new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getRightCurlyBracketKeyword_5_7_1()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getVolatileKeyword_5_7_0_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_7_0_1())))), new AlternativeAlias(true, true, new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getIdKeyword_5_1_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_1_1())), new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getOrderedKeyword_5_2_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_2_1())), new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getReadonlyKeyword_5_3_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_3_1())), new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getTransientKeyword_5_4_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_4_1())), new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getUniqueKeyword_5_5_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_5_1())), new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getAttributeCSAccess().getUnsettableKeyword_5_6_0_1()), new TokenAlias(false, true, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_6_1()))));
 		match_DataTypeCS_SemicolonKeyword_6_1_or___LeftCurlyBracketKeyword_6_0_0_RightCurlyBracketKeyword_6_0_2__ = new AlternativeAlias(false, false, new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getDataTypeCSAccess().getLeftCurlyBracketKeyword_6_0_0()), new TokenAlias(false, false, grammarAccess.getDataTypeCSAccess().getRightCurlyBracketKeyword_6_0_2())), new TokenAlias(false, false, grammarAccess.getDataTypeCSAccess().getSemicolonKeyword_6_1()));
 		match_DataTypeCS___LeftCurlyBracketKeyword_5_0_SerializableKeyword_5_1_1_q_RightCurlyBracketKeyword_5_2__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getDataTypeCSAccess().getLeftCurlyBracketKeyword_5_0()), new TokenAlias(false, true, grammarAccess.getDataTypeCSAccess().getSerializableKeyword_5_1_1()), new TokenAlias(false, false, grammarAccess.getDataTypeCSAccess().getRightCurlyBracketKeyword_5_2()));
 		match_EnumerationCS_SemicolonKeyword_5_1_or___LeftCurlyBracketKeyword_5_0_0_RightCurlyBracketKeyword_5_0_2__ = new AlternativeAlias(false, false, new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getEnumerationCSAccess().getLeftCurlyBracketKeyword_5_0_0()), new TokenAlias(false, false, grammarAccess.getEnumerationCSAccess().getRightCurlyBracketKeyword_5_0_2())), new TokenAlias(false, false, grammarAccess.getEnumerationCSAccess().getSemicolonKeyword_5_1()));
@@ -94,29 +193,72 @@
 		match_EnumerationLiteralCS_SemicolonKeyword_2_1_or___LeftCurlyBracketKeyword_2_0_0_RightCurlyBracketKeyword_2_0_2__ = new AlternativeAlias(false, false, new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getEnumerationLiteralCSAccess().getLeftCurlyBracketKeyword_2_0_0()), new TokenAlias(false, false, grammarAccess.getEnumerationLiteralCSAccess().getRightCurlyBracketKeyword_2_0_2())), new TokenAlias(false, false, grammarAccess.getEnumerationLiteralCSAccess().getSemicolonKeyword_2_1()));
 		match_InvariantConstraintCS_SemicolonKeyword_3_1_or___ColonKeyword_3_0_0_SemicolonKeyword_3_0_2__ = new AlternativeAlias(false, false, new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getInvariantConstraintCSAccess().getColonKeyword_3_0_0()), new TokenAlias(false, false, grammarAccess.getInvariantConstraintCSAccess().getSemicolonKeyword_3_0_2())), new TokenAlias(false, false, grammarAccess.getInvariantConstraintCSAccess().getSemicolonKeyword_3_1()));
 		match_OperationCS_CommaKeyword_9_1_1_q = new TokenAlias(false, true, grammarAccess.getOperationCSAccess().getCommaKeyword_9_1_1());
+		match_OperationCS_IsDerivedDerivedKeyword_9_0_1_0_0_0 = new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getIsDerivedDerivedKeyword_9_0_1_0_0_0());
+		match_OperationCS_IsNotUniqueUniqueKeyword_9_2_0_0_0_0 = new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getIsNotUniqueUniqueKeyword_9_2_0_0_0_0());
 		match_OperationCS_SemicolonKeyword_10_1_or___LeftCurlyBracketKeyword_10_0_0___BodyKeyword_10_0_1_2_0_UnrestrictedNameParserRuleCall_10_0_1_2_1_q_ColonKeyword_10_0_1_2_2_SemicolonKeyword_10_0_1_2_4__a_RightCurlyBracketKeyword_10_0_2__ = new AlternativeAlias(false, false, new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getLeftCurlyBracketKeyword_10_0_0()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getBodyKeyword_10_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getOperationCSAccess().getUnrestrictedNameParserRuleCall_10_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getColonKeyword_10_0_1_2_2()), new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getSemicolonKeyword_10_0_1_2_4())), new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getRightCurlyBracketKeyword_10_0_2())), new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getSemicolonKeyword_10_1()));
 		match_OperationCS_UnrestrictedNameParserRuleCall_10_0_1_2_1_q = new TokenAlias(false, true, grammarAccess.getOperationCSAccess().getUnrestrictedNameParserRuleCall_10_0_1_2_1());
 		match_OperationCS___BodyKeyword_10_0_1_2_0_UnrestrictedNameParserRuleCall_10_0_1_2_1_q_ColonKeyword_10_0_1_2_2_SemicolonKeyword_10_0_1_2_4__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getBodyKeyword_10_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getOperationCSAccess().getUnrestrictedNameParserRuleCall_10_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getColonKeyword_10_0_1_2_2()), new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getSemicolonKeyword_10_0_1_2_4()));
+		match_OperationCS___CommaKeyword_9_1_1_q_____LeftCurlyBracketKeyword_9_0_0___DerivedKeyword_9_0_1_0_1_CommaKeyword_9_0_1_1_q__q___or___RightCurlyBracketKeyword_9_2_1___UniqueKeyword_9_2_0_0_1_CommaKeyword_9_2_0_1_q__q____a_OrderedKeyword_9_1_0_1__a = new GroupAlias(true, true, new TokenAlias(false, true, grammarAccess.getOperationCSAccess().getCommaKeyword_9_1_1()), new AlternativeAlias(true, true, new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getLeftCurlyBracketKeyword_9_0_0()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getDerivedKeyword_9_0_1_0_1()), new TokenAlias(false, true, grammarAccess.getOperationCSAccess().getCommaKeyword_9_0_1_1()))), new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getRightCurlyBracketKeyword_9_2_1()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getUniqueKeyword_9_2_0_0_1()), new TokenAlias(false, true, grammarAccess.getOperationCSAccess().getCommaKeyword_9_2_0_1())))), new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getOrderedKeyword_9_1_0_1()));
+		match_OperationCS___OrderedKeyword_9_1_0_1_CommaKeyword_9_1_1_q___RightCurlyBracketKeyword_9_2_1___LeftCurlyBracketKeyword_9_0_0___DerivedKeyword_9_0_1_0_1_CommaKeyword_9_0_1_1_q__q__a___UniqueKeyword_9_2_0_0_1_CommaKeyword_9_2_0_1_q__q__a__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getOrderedKeyword_9_1_0_1()), new TokenAlias(false, true, grammarAccess.getOperationCSAccess().getCommaKeyword_9_1_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getRightCurlyBracketKeyword_9_2_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getLeftCurlyBracketKeyword_9_0_0()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getDerivedKeyword_9_0_1_0_1()), new TokenAlias(false, true, grammarAccess.getOperationCSAccess().getCommaKeyword_9_0_1_1()))), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getUniqueKeyword_9_2_0_0_1()), new TokenAlias(false, true, grammarAccess.getOperationCSAccess().getCommaKeyword_9_2_0_1()))));
+		match_OperationCS___RightCurlyBracketKeyword_9_2_1___LeftCurlyBracketKeyword_9_0_0___DerivedKeyword_9_0_1_0_1_CommaKeyword_9_0_1_1_q__q__a___OrderedKeyword_9_1_0_1_CommaKeyword_9_1_1_q__a___UniqueKeyword_9_2_0_0_1_CommaKeyword_9_2_0_1_q__q__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getRightCurlyBracketKeyword_9_2_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getLeftCurlyBracketKeyword_9_0_0()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getDerivedKeyword_9_0_1_0_1()), new TokenAlias(false, true, grammarAccess.getOperationCSAccess().getCommaKeyword_9_0_1_1()))), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getOrderedKeyword_9_1_0_1()), new TokenAlias(false, true, grammarAccess.getOperationCSAccess().getCommaKeyword_9_1_1())), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getUniqueKeyword_9_2_0_0_1()), new TokenAlias(false, true, grammarAccess.getOperationCSAccess().getCommaKeyword_9_2_0_1())));
+		match_OperationCS___RightCurlyBracketKeyword_9_2_1___LeftCurlyBracketKeyword_9_0_0___DerivedKeyword_9_0_1_0_1_CommaKeyword_9_0_1_1_q__q__a___UniqueKeyword_9_2_0_0_1_CommaKeyword_9_2_0_1_q__q__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getRightCurlyBracketKeyword_9_2_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getLeftCurlyBracketKeyword_9_0_0()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getDerivedKeyword_9_0_1_0_1()), new TokenAlias(false, true, grammarAccess.getOperationCSAccess().getCommaKeyword_9_0_1_1()))), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getUniqueKeyword_9_2_0_0_1()), new TokenAlias(false, true, grammarAccess.getOperationCSAccess().getCommaKeyword_9_2_0_1())));
 		match_OperationCS___SemicolonKeyword_10_0_1_2_4_BodyKeyword_10_0_1_2_0_UnrestrictedNameParserRuleCall_10_0_1_2_1_q_ColonKeyword_10_0_1_2_2__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getSemicolonKeyword_10_0_1_2_4()), new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getBodyKeyword_10_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getOperationCSAccess().getUnrestrictedNameParserRuleCall_10_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getColonKeyword_10_0_1_2_2()));
 		match_OperationCS___SemicolonKeyword_10_0_1_2_4_BodyKeyword_10_0_1_2_0_UnrestrictedNameParserRuleCall_10_0_1_2_1_q_ColonKeyword_10_0_1_2_2__p = new GroupAlias(true, false, new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getSemicolonKeyword_10_0_1_2_4()), new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getBodyKeyword_10_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getOperationCSAccess().getUnrestrictedNameParserRuleCall_10_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getColonKeyword_10_0_1_2_2()));
+		match_OperationCS_______LeftCurlyBracketKeyword_9_0_0___DerivedKeyword_9_0_1_0_1_CommaKeyword_9_0_1_1_q__q___or___RightCurlyBracketKeyword_9_2_1___UniqueKeyword_9_2_0_0_1_CommaKeyword_9_2_0_1_q__q____a_OrderedKeyword_9_1_0_1_CommaKeyword_9_1_1_q__a = new GroupAlias(true, true, new AlternativeAlias(true, true, new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getLeftCurlyBracketKeyword_9_0_0()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getDerivedKeyword_9_0_1_0_1()), new TokenAlias(false, true, grammarAccess.getOperationCSAccess().getCommaKeyword_9_0_1_1()))), new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getRightCurlyBracketKeyword_9_2_1()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getUniqueKeyword_9_2_0_0_1()), new TokenAlias(false, true, grammarAccess.getOperationCSAccess().getCommaKeyword_9_2_0_1())))), new TokenAlias(false, false, grammarAccess.getOperationCSAccess().getOrderedKeyword_9_1_0_1()), new TokenAlias(false, true, grammarAccess.getOperationCSAccess().getCommaKeyword_9_1_1()));
 		match_PackageCS_SemicolonKeyword_4_1_or___LeftCurlyBracketKeyword_4_0_0_RightCurlyBracketKeyword_4_0_2__ = new AlternativeAlias(false, false, new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getPackageCSAccess().getLeftCurlyBracketKeyword_4_0_0()), new TokenAlias(false, false, grammarAccess.getPackageCSAccess().getRightCurlyBracketKeyword_4_0_2())), new TokenAlias(false, false, grammarAccess.getPackageCSAccess().getSemicolonKeyword_4_1()));
-		match_ParameterCS_CommaKeyword_2_1_1_q = new TokenAlias(false, true, grammarAccess.getParameterCSAccess().getCommaKeyword_2_1_1());
+		match_ParameterCS_IsNotUniqueUniqueKeyword_2_1_0_0_0_0 = new TokenAlias(false, false, grammarAccess.getParameterCSAccess().getIsNotUniqueUniqueKeyword_2_1_0_0_0_0());
+		match_ParameterCS_IsOrderedOrderedKeyword_2_0_1_0_0_0 = new TokenAlias(false, false, grammarAccess.getParameterCSAccess().getIsOrderedOrderedKeyword_2_0_1_0_0_0());
+		match_ParameterCS___CommaKeyword_2_1_0_1_q___RightCurlyBracketKeyword_2_1_1___LeftCurlyBracketKeyword_2_0_0___OrderedKeyword_2_0_1_0_1_CommaKeyword_2_0_1_1_q__q__a__p_UniqueKeyword_2_1_0_0_1__a = new GroupAlias(true, true, new TokenAlias(false, true, grammarAccess.getParameterCSAccess().getCommaKeyword_2_1_0_1()), new GroupAlias(true, false, new TokenAlias(false, false, grammarAccess.getParameterCSAccess().getRightCurlyBracketKeyword_2_1_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getParameterCSAccess().getLeftCurlyBracketKeyword_2_0_0()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getParameterCSAccess().getOrderedKeyword_2_0_1_0_1()), new TokenAlias(false, true, grammarAccess.getParameterCSAccess().getCommaKeyword_2_0_1_1())))), new TokenAlias(false, false, grammarAccess.getParameterCSAccess().getUniqueKeyword_2_1_0_0_1()));
 		match_ParameterCS___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getParameterCSAccess().getLeftCurlyBracketKeyword_3_0()), new TokenAlias(false, false, grammarAccess.getParameterCSAccess().getRightCurlyBracketKeyword_3_2()));
+		match_ParameterCS___RightCurlyBracketKeyword_2_1_1___LeftCurlyBracketKeyword_2_0_0___OrderedKeyword_2_0_1_0_1_CommaKeyword_2_0_1_1_q__q__a___UniqueKeyword_2_1_0_0_1_CommaKeyword_2_1_0_1_q__q__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getParameterCSAccess().getRightCurlyBracketKeyword_2_1_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getParameterCSAccess().getLeftCurlyBracketKeyword_2_0_0()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getParameterCSAccess().getOrderedKeyword_2_0_1_0_1()), new TokenAlias(false, true, grammarAccess.getParameterCSAccess().getCommaKeyword_2_0_1_1()))), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getParameterCSAccess().getUniqueKeyword_2_1_0_0_1()), new TokenAlias(false, true, grammarAccess.getParameterCSAccess().getCommaKeyword_2_1_0_1())));
+		match_ParameterCS_____LeftCurlyBracketKeyword_2_0_0___OrderedKeyword_2_0_1_0_1_CommaKeyword_2_0_1_1_q__q___or___RightCurlyBracketKeyword_2_1_1___UniqueKeyword_2_1_0_0_1_CommaKeyword_2_1_0_1_q__q____p = new AlternativeAlias(true, false, new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getParameterCSAccess().getLeftCurlyBracketKeyword_2_0_0()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getParameterCSAccess().getOrderedKeyword_2_0_1_0_1()), new TokenAlias(false, true, grammarAccess.getParameterCSAccess().getCommaKeyword_2_0_1_1()))), new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getParameterCSAccess().getRightCurlyBracketKeyword_2_1_1()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getParameterCSAccess().getUniqueKeyword_2_1_0_0_1()), new TokenAlias(false, true, grammarAccess.getParameterCSAccess().getCommaKeyword_2_1_0_1()))));
+		match_ReferenceCS_CommaKeyword_6_0_1_1_q = new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_0_1_1());
 		match_ReferenceCS_CommaKeyword_6_1_1_q = new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_1_1());
+		match_ReferenceCS_CommaKeyword_6_2_1_q = new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_2_1());
+		match_ReferenceCS_CommaKeyword_6_3_1_q = new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_3_1());
+		match_ReferenceCS_CommaKeyword_6_4_1_q = new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_4_1());
+		match_ReferenceCS_CommaKeyword_6_5_1_q = new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_5_1());
+		match_ReferenceCS_CommaKeyword_6_6_1_q = new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_6_1());
+		match_ReferenceCS_CommaKeyword_6_7_1_q = new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_7_1());
+		match_ReferenceCS_IsComposesComposesKeyword_6_0_1_0_0_0 = new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getIsComposesComposesKeyword_6_0_1_0_0_0());
+		match_ReferenceCS_IsVolatileVolatileKeyword_6_8_0_0_0_0 = new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getIsVolatileVolatileKeyword_6_8_0_0_0_0());
 		match_ReferenceCS_SemicolonKeyword_7_1_or___LeftCurlyBracketKeyword_7_0_0_____DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2_SemicolonKeyword_7_0_1_2_4___or___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4____a_RightCurlyBracketKeyword_7_0_2__ = new AlternativeAlias(false, false, new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_7_0_0()), new AlternativeAlias(true, true, new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getDerivationKeyword_7_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_2_2()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_2_4())), new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getInitialKeyword_7_0_1_3_0()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_3_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_3_2()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_3_4()))), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_7_0_2())), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_1()));
 		match_ReferenceCS_UnrestrictedNameParserRuleCall_7_0_1_2_1_q = new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_2_1());
 		match_ReferenceCS_UnrestrictedNameParserRuleCall_7_0_1_3_1_q = new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_3_1());
+		match_ReferenceCS___CommaKeyword_6_1_1_q_DerivedKeyword_6_1_0_1__a = new GroupAlias(true, true, new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_1_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getDerivedKeyword_6_1_0_1()));
+		match_ReferenceCS___CommaKeyword_6_2_1_q_OrderedKeyword_6_2_0_1__a = new GroupAlias(true, true, new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_2_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getOrderedKeyword_6_2_0_1()));
+		match_ReferenceCS___CommaKeyword_6_3_1_q_ReadonlyKeyword_6_3_0_1__a = new GroupAlias(true, true, new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_3_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getReadonlyKeyword_6_3_0_1()));
+		match_ReferenceCS___CommaKeyword_6_4_1_q_ResolveKeyword_6_4_0_1__a = new GroupAlias(true, true, new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_4_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getResolveKeyword_6_4_0_1()));
+		match_ReferenceCS___CommaKeyword_6_5_1_q_TransientKeyword_6_5_0_1__a = new GroupAlias(true, true, new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_5_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getTransientKeyword_6_5_0_1()));
+		match_ReferenceCS___CommaKeyword_6_6_1_q_UniqueKeyword_6_6_0_1__a = new GroupAlias(true, true, new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_6_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getUniqueKeyword_6_6_0_1()));
+		match_ReferenceCS___CommaKeyword_6_7_1_q_UnsettableKeyword_6_7_0_1__a = new GroupAlias(true, true, new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_7_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getUnsettableKeyword_6_7_0_1()));
 		match_ReferenceCS___DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2_SemicolonKeyword_7_0_1_2_4___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4__a__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getDerivationKeyword_7_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_2_2()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_2_4()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getInitialKeyword_7_0_1_3_0()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_3_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_3_2()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_3_4())));
 		match_ReferenceCS___DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2_SemicolonKeyword_7_0_1_2_4__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getDerivationKeyword_7_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_2_2()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_2_4()));
 		match_ReferenceCS___DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2___SemicolonKeyword_7_0_1_2_4_DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2__a___or_____DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2___SemicolonKeyword_7_0_1_2_4_DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2__a_SemicolonKeyword_7_0_1_2_4__q___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4__p_DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2___SemicolonKeyword_7_0_1_2_4_DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2__a___SemicolonKeyword_7_0_1_2_4___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4__p_DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2___SemicolonKeyword_7_0_1_2_4_DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2__a__a__ = new AlternativeAlias(false, false, new GroupAlias(false, false, new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getDerivationKeyword_7_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_2_2()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_2_4()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getDerivationKeyword_7_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_2_2())), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_2_4())), new GroupAlias(true, false, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getInitialKeyword_7_0_1_3_0()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_3_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_3_2()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_3_4())), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getDerivationKeyword_7_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_2_2()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_2_4()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getDerivationKeyword_7_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_2_2())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_2_4()), new GroupAlias(true, false, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getInitialKeyword_7_0_1_3_0()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_3_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_3_2()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_3_4())), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getDerivationKeyword_7_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_2_2()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_2_4()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getDerivationKeyword_7_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_2_2())))), new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getDerivationKeyword_7_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_2_2()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_2_4()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getDerivationKeyword_7_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_2_2()))));
+		match_ReferenceCS___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getDerivedKeyword_6_1_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_1_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_6_8_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_6_0_0()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getComposesKeyword_6_0_1_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_0_1_1()))), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getOrderedKeyword_6_2_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_2_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getReadonlyKeyword_6_3_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_3_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getResolveKeyword_6_4_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_4_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getTransientKeyword_6_5_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_5_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getUniqueKeyword_6_6_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_6_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getUnsettableKeyword_6_7_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_7_1())), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getVolatileKeyword_6_8_0_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_8_0_1()))));
 		match_ReferenceCS___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4___DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2_SemicolonKeyword_7_0_1_2_4__a__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getInitialKeyword_7_0_1_3_0()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_3_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_3_2()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_3_4()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getDerivationKeyword_7_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_2_2()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_2_4())));
 		match_ReferenceCS___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getInitialKeyword_7_0_1_3_0()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_3_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_3_2()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_3_4()));
 		match_ReferenceCS___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2___SemicolonKeyword_7_0_1_3_4_InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2__a___or_____InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2___SemicolonKeyword_7_0_1_3_4_InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2__a_SemicolonKeyword_7_0_1_3_4__q___DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2_SemicolonKeyword_7_0_1_2_4__p_InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2___SemicolonKeyword_7_0_1_3_4_InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2__a___SemicolonKeyword_7_0_1_3_4___DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2_SemicolonKeyword_7_0_1_2_4__p_InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2___SemicolonKeyword_7_0_1_3_4_InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2__a__a__ = new AlternativeAlias(false, false, new GroupAlias(false, false, new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getInitialKeyword_7_0_1_3_0()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_3_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_3_2()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_3_4()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getInitialKeyword_7_0_1_3_0()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_3_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_3_2())), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_3_4())), new GroupAlias(true, false, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getDerivationKeyword_7_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_2_2()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_2_4())), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getInitialKeyword_7_0_1_3_0()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_3_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_3_2()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_3_4()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getInitialKeyword_7_0_1_3_0()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_3_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_3_2())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_3_4()), new GroupAlias(true, false, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getDerivationKeyword_7_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_2_2()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_2_4())), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getInitialKeyword_7_0_1_3_0()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_3_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_3_2()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_3_4()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getInitialKeyword_7_0_1_3_0()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_3_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_3_2())))), new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getInitialKeyword_7_0_1_3_0()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_3_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_3_2()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_3_4()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getInitialKeyword_7_0_1_3_0()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_3_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_3_2()))));
+		match_ReferenceCS___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getOrderedKeyword_6_2_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_2_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_6_8_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_6_0_0()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getComposesKeyword_6_0_1_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_0_1_1()))), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getDerivedKeyword_6_1_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_1_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getReadonlyKeyword_6_3_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_3_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getResolveKeyword_6_4_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_4_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getTransientKeyword_6_5_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_5_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getUniqueKeyword_6_6_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_6_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getUnsettableKeyword_6_7_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_7_1())), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getVolatileKeyword_6_8_0_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_8_0_1()))));
+		match_ReferenceCS___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getReadonlyKeyword_6_3_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_3_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_6_8_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_6_0_0()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getComposesKeyword_6_0_1_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_0_1_1()))), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getDerivedKeyword_6_1_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_1_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getOrderedKeyword_6_2_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_2_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getResolveKeyword_6_4_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_4_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getTransientKeyword_6_5_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_5_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getUniqueKeyword_6_6_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_6_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getUnsettableKeyword_6_7_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_7_1())), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getVolatileKeyword_6_8_0_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_8_0_1()))));
+		match_ReferenceCS___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getResolveKeyword_6_4_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_4_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_6_8_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_6_0_0()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getComposesKeyword_6_0_1_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_0_1_1()))), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getDerivedKeyword_6_1_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_1_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getOrderedKeyword_6_2_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_2_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getReadonlyKeyword_6_3_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_3_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getTransientKeyword_6_5_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_5_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getUniqueKeyword_6_6_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_6_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getUnsettableKeyword_6_7_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_7_1())), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getVolatileKeyword_6_8_0_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_8_0_1()))));
+		match_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_6_8_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_6_0_0()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getComposesKeyword_6_0_1_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_0_1_1()))), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getDerivedKeyword_6_1_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_1_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getOrderedKeyword_6_2_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_2_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getReadonlyKeyword_6_3_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_3_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getResolveKeyword_6_4_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_4_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getTransientKeyword_6_5_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_5_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getUniqueKeyword_6_6_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_6_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getUnsettableKeyword_6_7_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_7_1())), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getVolatileKeyword_6_8_0_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_8_0_1())));
+		match_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_6_8_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_6_0_0()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getComposesKeyword_6_0_1_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_0_1_1()))), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getDerivedKeyword_6_1_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_1_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getOrderedKeyword_6_2_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_2_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getReadonlyKeyword_6_3_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_3_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getResolveKeyword_6_4_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_4_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getTransientKeyword_6_5_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_5_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getUniqueKeyword_6_6_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_6_1())), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getVolatileKeyword_6_8_0_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_8_0_1())));
+		match_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_6_8_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_6_0_0()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getComposesKeyword_6_0_1_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_0_1_1()))), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getDerivedKeyword_6_1_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_1_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getOrderedKeyword_6_2_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_2_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getReadonlyKeyword_6_3_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_3_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getResolveKeyword_6_4_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_4_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getTransientKeyword_6_5_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_5_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getUnsettableKeyword_6_7_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_7_1())), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getVolatileKeyword_6_8_0_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_8_0_1())));
+		match_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_6_8_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_6_0_0()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getComposesKeyword_6_0_1_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_0_1_1()))), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getDerivedKeyword_6_1_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_1_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getOrderedKeyword_6_2_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_2_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getReadonlyKeyword_6_3_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_3_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getResolveKeyword_6_4_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_4_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getUniqueKeyword_6_6_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_6_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getUnsettableKeyword_6_7_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_7_1())), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getVolatileKeyword_6_8_0_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_8_0_1())));
+		match_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_6_8_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_6_0_0()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getComposesKeyword_6_0_1_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_0_1_1()))), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getDerivedKeyword_6_1_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_1_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getOrderedKeyword_6_2_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_2_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getReadonlyKeyword_6_3_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_3_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getTransientKeyword_6_5_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_5_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getUniqueKeyword_6_6_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_6_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getUnsettableKeyword_6_7_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_7_1())), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getVolatileKeyword_6_8_0_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_8_0_1())));
+		match_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_6_8_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_6_0_0()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getComposesKeyword_6_0_1_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_0_1_1()))), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getDerivedKeyword_6_1_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_1_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getOrderedKeyword_6_2_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_2_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getResolveKeyword_6_4_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_4_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getTransientKeyword_6_5_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_5_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getUniqueKeyword_6_6_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_6_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getUnsettableKeyword_6_7_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_7_1())), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getVolatileKeyword_6_8_0_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_8_0_1())));
+		match_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_6_8_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_6_0_0()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getComposesKeyword_6_0_1_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_0_1_1()))), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getDerivedKeyword_6_1_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_1_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getReadonlyKeyword_6_3_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_3_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getResolveKeyword_6_4_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_4_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getTransientKeyword_6_5_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_5_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getUniqueKeyword_6_6_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_6_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getUnsettableKeyword_6_7_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_7_1())), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getVolatileKeyword_6_8_0_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_8_0_1())));
+		match_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_6_8_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_6_0_0()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getComposesKeyword_6_0_1_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_0_1_1()))), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getOrderedKeyword_6_2_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_2_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getReadonlyKeyword_6_3_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_3_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getResolveKeyword_6_4_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_4_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getTransientKeyword_6_5_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_5_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getUniqueKeyword_6_6_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_6_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getUnsettableKeyword_6_7_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_7_1())), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getVolatileKeyword_6_8_0_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_8_0_1())));
 		match_ReferenceCS___SemicolonKeyword_7_0_1_2_4___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4__a_DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_2_4()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getInitialKeyword_7_0_1_3_0()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_3_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_3_2()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_3_4())), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getDerivationKeyword_7_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_2_2()));
 		match_ReferenceCS___SemicolonKeyword_7_0_1_2_4___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4__a_DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2__p = new GroupAlias(true, false, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_2_4()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getInitialKeyword_7_0_1_3_0()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_3_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_3_2()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_3_4())), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getDerivationKeyword_7_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_2_2()));
 		match_ReferenceCS___SemicolonKeyword_7_0_1_3_4___DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2_SemicolonKeyword_7_0_1_2_4__a_InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_3_4()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getDerivationKeyword_7_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_2_2()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_2_4())), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getInitialKeyword_7_0_1_3_0()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_3_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_3_2()));
 		match_ReferenceCS___SemicolonKeyword_7_0_1_3_4___DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2_SemicolonKeyword_7_0_1_2_4__a_InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2__p = new GroupAlias(true, false, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_3_4()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getDerivationKeyword_7_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_2_2()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_2_4())), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getInitialKeyword_7_0_1_3_0()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_3_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_3_2()));
+		match_ReferenceCS___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getTransientKeyword_6_5_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_5_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_6_8_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_6_0_0()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getComposesKeyword_6_0_1_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_0_1_1()))), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getDerivedKeyword_6_1_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_1_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getOrderedKeyword_6_2_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_2_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getReadonlyKeyword_6_3_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_3_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getResolveKeyword_6_4_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_4_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getUniqueKeyword_6_6_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_6_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getUnsettableKeyword_6_7_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_7_1())), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getVolatileKeyword_6_8_0_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_8_0_1()))));
+		match_ReferenceCS___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getUniqueKeyword_6_6_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_6_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_6_8_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_6_0_0()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getComposesKeyword_6_0_1_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_0_1_1()))), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getDerivedKeyword_6_1_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_1_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getOrderedKeyword_6_2_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_2_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getReadonlyKeyword_6_3_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_3_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getResolveKeyword_6_4_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_4_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getTransientKeyword_6_5_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_5_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getUnsettableKeyword_6_7_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_7_1())), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getVolatileKeyword_6_8_0_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_8_0_1()))));
+		match_ReferenceCS___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getUnsettableKeyword_6_7_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_7_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_6_8_1()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_6_0_0()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getComposesKeyword_6_0_1_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_0_1_1()))), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getDerivedKeyword_6_1_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_1_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getOrderedKeyword_6_2_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_2_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getReadonlyKeyword_6_3_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_3_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getResolveKeyword_6_4_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_4_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getTransientKeyword_6_5_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_5_1())), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getUniqueKeyword_6_6_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_6_1())), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getVolatileKeyword_6_8_0_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_8_0_1()))));
 		match_ReferenceCS_____DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2_SemicolonKeyword_7_0_1_2_4___or___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4____a = new AlternativeAlias(true, true, new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getDerivationKeyword_7_0_1_2_0()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_2_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_2_2()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_2_4())), new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getInitialKeyword_7_0_1_3_0()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_3_1()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_3_2()), new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_3_4())));
+		match_ReferenceCS_______LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q___or___RightCurlyBracketKeyword_6_8_1___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q_________DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q___or___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q___or___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q___or___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q___or___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q___or___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q___or___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q____a__p = new GroupAlias(true, false, new AlternativeAlias(false, false, new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_6_0_0()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getComposesKeyword_6_0_1_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_0_1_1()))), new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_6_8_1()), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getVolatileKeyword_6_8_0_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_8_0_1())))), new AlternativeAlias(true, true, new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getDerivedKeyword_6_1_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_1_1())), new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getOrderedKeyword_6_2_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_2_1())), new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getReadonlyKeyword_6_3_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_3_1())), new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getResolveKeyword_6_4_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_4_1())), new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getTransientKeyword_6_5_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_5_1())), new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getUniqueKeyword_6_6_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_6_1())), new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getReferenceCSAccess().getUnsettableKeyword_6_7_0_1()), new TokenAlias(false, true, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_7_1()))));
 		match_StructuredClassCS_SemicolonKeyword_7_1_or___LeftCurlyBracketKeyword_7_0_0_RightCurlyBracketKeyword_7_0_2__ = new AlternativeAlias(false, false, new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getStructuredClassCSAccess().getLeftCurlyBracketKeyword_7_0_0()), new TokenAlias(false, false, grammarAccess.getStructuredClassCSAccess().getRightCurlyBracketKeyword_7_0_2())), new TokenAlias(false, false, grammarAccess.getStructuredClassCSAccess().getSemicolonKeyword_7_1()));
 		match_StructuredClassCS___LeftCurlyBracketKeyword_6_0_RightCurlyBracketKeyword_6_2__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getStructuredClassCSAccess().getLeftCurlyBracketKeyword_6_0()), new TokenAlias(false, false, grammarAccess.getStructuredClassCSAccess().getRightCurlyBracketKeyword_6_2()));
 		match_TopLevelCS___ModuleKeyword_1_0_UnrestrictedNameParserRuleCall_1_1__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getTopLevelCSAccess().getModuleKeyword_1_0()), new TokenAlias(false, false, grammarAccess.getTopLevelCSAccess().getUnrestrictedNameParserRuleCall_1_1()));
@@ -153,26 +295,74 @@
 		List<INode> transitionNodes = collectNodes(fromNode, toNode);
 		for (AbstractElementAlias syntax : transition.getAmbiguousSyntaxes()) {
 			List<INode> syntaxNodes = getNodesFor(transitionNodes, syntax);
-			if(match_AttributeCS_CommaKeyword_5_1_1_q.equals(syntax))
+			if(match_AttributeCS_CommaKeyword_5_0_1_1_q.equals(syntax))
+				emit_AttributeCS_CommaKeyword_5_0_1_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_AttributeCS_CommaKeyword_5_1_1_q.equals(syntax))
 				emit_AttributeCS_CommaKeyword_5_1_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_AttributeCS_CommaKeyword_5_2_1_q.equals(syntax))
+				emit_AttributeCS_CommaKeyword_5_2_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_AttributeCS_CommaKeyword_5_3_1_q.equals(syntax))
+				emit_AttributeCS_CommaKeyword_5_3_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_AttributeCS_CommaKeyword_5_4_1_q.equals(syntax))
+				emit_AttributeCS_CommaKeyword_5_4_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_AttributeCS_CommaKeyword_5_5_1_q.equals(syntax))
+				emit_AttributeCS_CommaKeyword_5_5_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_AttributeCS_CommaKeyword_5_6_1_q.equals(syntax))
+				emit_AttributeCS_CommaKeyword_5_6_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_AttributeCS_IsDerivedDerivedKeyword_5_0_1_0_0_0.equals(syntax))
+				emit_AttributeCS_IsDerivedDerivedKeyword_5_0_1_0_0_0(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_AttributeCS_IsVolatileVolatileKeyword_5_7_0_0_0_0.equals(syntax))
+				emit_AttributeCS_IsVolatileVolatileKeyword_5_7_0_0_0_0(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_AttributeCS_SemicolonKeyword_6_1_or___LeftCurlyBracketKeyword_6_0_0_____DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2_SemicolonKeyword_6_0_1_1_4___or___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4____a_RightCurlyBracketKeyword_6_0_2__.equals(syntax))
 				emit_AttributeCS_SemicolonKeyword_6_1_or___LeftCurlyBracketKeyword_6_0_0_____DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2_SemicolonKeyword_6_0_1_1_4___or___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4____a_RightCurlyBracketKeyword_6_0_2__(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_AttributeCS_UnrestrictedNameParserRuleCall_6_0_1_1_1_q.equals(syntax))
 				emit_AttributeCS_UnrestrictedNameParserRuleCall_6_0_1_1_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_AttributeCS_UnrestrictedNameParserRuleCall_6_0_1_2_1_q.equals(syntax))
 				emit_AttributeCS_UnrestrictedNameParserRuleCall_6_0_1_2_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_AttributeCS___CommaKeyword_5_1_1_q_IdKeyword_5_1_0_1__a.equals(syntax))
+				emit_AttributeCS___CommaKeyword_5_1_1_q_IdKeyword_5_1_0_1__a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_AttributeCS___CommaKeyword_5_2_1_q_OrderedKeyword_5_2_0_1__a.equals(syntax))
+				emit_AttributeCS___CommaKeyword_5_2_1_q_OrderedKeyword_5_2_0_1__a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_AttributeCS___CommaKeyword_5_3_1_q_ReadonlyKeyword_5_3_0_1__a.equals(syntax))
+				emit_AttributeCS___CommaKeyword_5_3_1_q_ReadonlyKeyword_5_3_0_1__a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_AttributeCS___CommaKeyword_5_4_1_q_TransientKeyword_5_4_0_1__a.equals(syntax))
+				emit_AttributeCS___CommaKeyword_5_4_1_q_TransientKeyword_5_4_0_1__a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_AttributeCS___CommaKeyword_5_5_1_q_UniqueKeyword_5_5_0_1__a.equals(syntax))
+				emit_AttributeCS___CommaKeyword_5_5_1_q_UniqueKeyword_5_5_0_1__a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_AttributeCS___CommaKeyword_5_6_1_q_UnsettableKeyword_5_6_0_1__a.equals(syntax))
+				emit_AttributeCS___CommaKeyword_5_6_1_q_UnsettableKeyword_5_6_0_1__a(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_AttributeCS___DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2_SemicolonKeyword_6_0_1_1_4___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4__a__a.equals(syntax))
 				emit_AttributeCS___DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2_SemicolonKeyword_6_0_1_1_4___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4__a__a(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_AttributeCS___DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2_SemicolonKeyword_6_0_1_1_4__a.equals(syntax))
 				emit_AttributeCS___DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2_SemicolonKeyword_6_0_1_1_4__a(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_AttributeCS___DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2___SemicolonKeyword_6_0_1_1_4_DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2__a___or_____DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2___SemicolonKeyword_6_0_1_1_4_DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2__a_SemicolonKeyword_6_0_1_1_4__q___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4__p_DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2___SemicolonKeyword_6_0_1_1_4_DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2__a___SemicolonKeyword_6_0_1_1_4___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4__p_DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2___SemicolonKeyword_6_0_1_1_4_DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2__a__a__.equals(syntax))
 				emit_AttributeCS___DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2___SemicolonKeyword_6_0_1_1_4_DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2__a___or_____DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2___SemicolonKeyword_6_0_1_1_4_DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2__a_SemicolonKeyword_6_0_1_1_4__q___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4__p_DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2___SemicolonKeyword_6_0_1_1_4_DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2__a___SemicolonKeyword_6_0_1_1_4___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4__p_DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2___SemicolonKeyword_6_0_1_1_4_DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2__a__a__(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_AttributeCS___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a__a.equals(syntax))
+				emit_AttributeCS___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a__a(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_AttributeCS___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4___DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2_SemicolonKeyword_6_0_1_1_4__a__a.equals(syntax))
 				emit_AttributeCS___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4___DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2_SemicolonKeyword_6_0_1_1_4__a__a(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_AttributeCS___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4__a.equals(syntax))
 				emit_AttributeCS___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4__a(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_AttributeCS___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2___SemicolonKeyword_6_0_1_2_4_InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2__a___or_____InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2___SemicolonKeyword_6_0_1_2_4_InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2__a_SemicolonKeyword_6_0_1_2_4__q___DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2_SemicolonKeyword_6_0_1_1_4__p_InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2___SemicolonKeyword_6_0_1_2_4_InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2__a___SemicolonKeyword_6_0_1_2_4___DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2_SemicolonKeyword_6_0_1_1_4__p_InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2___SemicolonKeyword_6_0_1_2_4_InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2__a__a__.equals(syntax))
 				emit_AttributeCS___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2___SemicolonKeyword_6_0_1_2_4_InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2__a___or_____InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2___SemicolonKeyword_6_0_1_2_4_InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2__a_SemicolonKeyword_6_0_1_2_4__q___DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2_SemicolonKeyword_6_0_1_1_4__p_InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2___SemicolonKeyword_6_0_1_2_4_InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2__a___SemicolonKeyword_6_0_1_2_4___DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2_SemicolonKeyword_6_0_1_1_4__p_InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2___SemicolonKeyword_6_0_1_2_4_InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2__a__a__(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_AttributeCS___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a__a.equals(syntax))
+				emit_AttributeCS___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a__a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_AttributeCS___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a__a.equals(syntax))
+				emit_AttributeCS___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a__a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_AttributeCS___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a.equals(syntax))
+				emit_AttributeCS___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_AttributeCS___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a.equals(syntax))
+				emit_AttributeCS___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_AttributeCS___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a.equals(syntax))
+				emit_AttributeCS___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_AttributeCS___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a.equals(syntax))
+				emit_AttributeCS___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_AttributeCS___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a.equals(syntax))
+				emit_AttributeCS___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_AttributeCS___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a.equals(syntax))
+				emit_AttributeCS___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_AttributeCS___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a.equals(syntax))
+				emit_AttributeCS___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_AttributeCS___SemicolonKeyword_6_0_1_1_4___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4__a_DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2__a.equals(syntax))
 				emit_AttributeCS___SemicolonKeyword_6_0_1_1_4___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4__a_DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2__a(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_AttributeCS___SemicolonKeyword_6_0_1_1_4___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4__a_DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2__p.equals(syntax))
@@ -181,8 +371,16 @@
 				emit_AttributeCS___SemicolonKeyword_6_0_1_2_4___DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2_SemicolonKeyword_6_0_1_1_4__a_InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2__a(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_AttributeCS___SemicolonKeyword_6_0_1_2_4___DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2_SemicolonKeyword_6_0_1_1_4__a_InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2__p.equals(syntax))
 				emit_AttributeCS___SemicolonKeyword_6_0_1_2_4___DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2_SemicolonKeyword_6_0_1_1_4__a_InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2__p(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_AttributeCS___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a__a.equals(syntax))
+				emit_AttributeCS___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a__a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_AttributeCS___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a__a.equals(syntax))
+				emit_AttributeCS___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a__a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_AttributeCS___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a__a.equals(syntax))
+				emit_AttributeCS___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a__a(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_AttributeCS_____DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2_SemicolonKeyword_6_0_1_1_4___or___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4____a.equals(syntax))
 				emit_AttributeCS_____DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2_SemicolonKeyword_6_0_1_1_4___or___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4____a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_AttributeCS_______LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q___or___RightCurlyBracketKeyword_5_7_1___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q_________IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q___or___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q___or___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q___or___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q___or___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q___or___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q____a__p.equals(syntax))
+				emit_AttributeCS_______LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q___or___RightCurlyBracketKeyword_5_7_1___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q_________IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q___or___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q___or___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q___or___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q___or___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q___or___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q____a__p(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_DataTypeCS_SemicolonKeyword_6_1_or___LeftCurlyBracketKeyword_6_0_0_RightCurlyBracketKeyword_6_0_2__.equals(syntax))
 				emit_DataTypeCS_SemicolonKeyword_6_1_or___LeftCurlyBracketKeyword_6_0_0_RightCurlyBracketKeyword_6_0_2__(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_DataTypeCS___LeftCurlyBracketKeyword_5_0_SerializableKeyword_5_1_1_q_RightCurlyBracketKeyword_5_2__q.equals(syntax))
@@ -197,42 +395,120 @@
 				emit_InvariantConstraintCS_SemicolonKeyword_3_1_or___ColonKeyword_3_0_0_SemicolonKeyword_3_0_2__(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_OperationCS_CommaKeyword_9_1_1_q.equals(syntax))
 				emit_OperationCS_CommaKeyword_9_1_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_OperationCS_IsDerivedDerivedKeyword_9_0_1_0_0_0.equals(syntax))
+				emit_OperationCS_IsDerivedDerivedKeyword_9_0_1_0_0_0(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_OperationCS_IsNotUniqueUniqueKeyword_9_2_0_0_0_0.equals(syntax))
+				emit_OperationCS_IsNotUniqueUniqueKeyword_9_2_0_0_0_0(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_OperationCS_SemicolonKeyword_10_1_or___LeftCurlyBracketKeyword_10_0_0___BodyKeyword_10_0_1_2_0_UnrestrictedNameParserRuleCall_10_0_1_2_1_q_ColonKeyword_10_0_1_2_2_SemicolonKeyword_10_0_1_2_4__a_RightCurlyBracketKeyword_10_0_2__.equals(syntax))
 				emit_OperationCS_SemicolonKeyword_10_1_or___LeftCurlyBracketKeyword_10_0_0___BodyKeyword_10_0_1_2_0_UnrestrictedNameParserRuleCall_10_0_1_2_1_q_ColonKeyword_10_0_1_2_2_SemicolonKeyword_10_0_1_2_4__a_RightCurlyBracketKeyword_10_0_2__(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_OperationCS_UnrestrictedNameParserRuleCall_10_0_1_2_1_q.equals(syntax))
 				emit_OperationCS_UnrestrictedNameParserRuleCall_10_0_1_2_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_OperationCS___BodyKeyword_10_0_1_2_0_UnrestrictedNameParserRuleCall_10_0_1_2_1_q_ColonKeyword_10_0_1_2_2_SemicolonKeyword_10_0_1_2_4__a.equals(syntax))
 				emit_OperationCS___BodyKeyword_10_0_1_2_0_UnrestrictedNameParserRuleCall_10_0_1_2_1_q_ColonKeyword_10_0_1_2_2_SemicolonKeyword_10_0_1_2_4__a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_OperationCS___CommaKeyword_9_1_1_q_____LeftCurlyBracketKeyword_9_0_0___DerivedKeyword_9_0_1_0_1_CommaKeyword_9_0_1_1_q__q___or___RightCurlyBracketKeyword_9_2_1___UniqueKeyword_9_2_0_0_1_CommaKeyword_9_2_0_1_q__q____a_OrderedKeyword_9_1_0_1__a.equals(syntax))
+				emit_OperationCS___CommaKeyword_9_1_1_q_____LeftCurlyBracketKeyword_9_0_0___DerivedKeyword_9_0_1_0_1_CommaKeyword_9_0_1_1_q__q___or___RightCurlyBracketKeyword_9_2_1___UniqueKeyword_9_2_0_0_1_CommaKeyword_9_2_0_1_q__q____a_OrderedKeyword_9_1_0_1__a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_OperationCS___OrderedKeyword_9_1_0_1_CommaKeyword_9_1_1_q___RightCurlyBracketKeyword_9_2_1___LeftCurlyBracketKeyword_9_0_0___DerivedKeyword_9_0_1_0_1_CommaKeyword_9_0_1_1_q__q__a___UniqueKeyword_9_2_0_0_1_CommaKeyword_9_2_0_1_q__q__a__a.equals(syntax))
+				emit_OperationCS___OrderedKeyword_9_1_0_1_CommaKeyword_9_1_1_q___RightCurlyBracketKeyword_9_2_1___LeftCurlyBracketKeyword_9_0_0___DerivedKeyword_9_0_1_0_1_CommaKeyword_9_0_1_1_q__q__a___UniqueKeyword_9_2_0_0_1_CommaKeyword_9_2_0_1_q__q__a__a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_OperationCS___RightCurlyBracketKeyword_9_2_1___LeftCurlyBracketKeyword_9_0_0___DerivedKeyword_9_0_1_0_1_CommaKeyword_9_0_1_1_q__q__a___OrderedKeyword_9_1_0_1_CommaKeyword_9_1_1_q__a___UniqueKeyword_9_2_0_0_1_CommaKeyword_9_2_0_1_q__q__a.equals(syntax))
+				emit_OperationCS___RightCurlyBracketKeyword_9_2_1___LeftCurlyBracketKeyword_9_0_0___DerivedKeyword_9_0_1_0_1_CommaKeyword_9_0_1_1_q__q__a___OrderedKeyword_9_1_0_1_CommaKeyword_9_1_1_q__a___UniqueKeyword_9_2_0_0_1_CommaKeyword_9_2_0_1_q__q__a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_OperationCS___RightCurlyBracketKeyword_9_2_1___LeftCurlyBracketKeyword_9_0_0___DerivedKeyword_9_0_1_0_1_CommaKeyword_9_0_1_1_q__q__a___UniqueKeyword_9_2_0_0_1_CommaKeyword_9_2_0_1_q__q__a.equals(syntax))
+				emit_OperationCS___RightCurlyBracketKeyword_9_2_1___LeftCurlyBracketKeyword_9_0_0___DerivedKeyword_9_0_1_0_1_CommaKeyword_9_0_1_1_q__q__a___UniqueKeyword_9_2_0_0_1_CommaKeyword_9_2_0_1_q__q__a(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_OperationCS___SemicolonKeyword_10_0_1_2_4_BodyKeyword_10_0_1_2_0_UnrestrictedNameParserRuleCall_10_0_1_2_1_q_ColonKeyword_10_0_1_2_2__a.equals(syntax))
 				emit_OperationCS___SemicolonKeyword_10_0_1_2_4_BodyKeyword_10_0_1_2_0_UnrestrictedNameParserRuleCall_10_0_1_2_1_q_ColonKeyword_10_0_1_2_2__a(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_OperationCS___SemicolonKeyword_10_0_1_2_4_BodyKeyword_10_0_1_2_0_UnrestrictedNameParserRuleCall_10_0_1_2_1_q_ColonKeyword_10_0_1_2_2__p.equals(syntax))
 				emit_OperationCS___SemicolonKeyword_10_0_1_2_4_BodyKeyword_10_0_1_2_0_UnrestrictedNameParserRuleCall_10_0_1_2_1_q_ColonKeyword_10_0_1_2_2__p(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_OperationCS_______LeftCurlyBracketKeyword_9_0_0___DerivedKeyword_9_0_1_0_1_CommaKeyword_9_0_1_1_q__q___or___RightCurlyBracketKeyword_9_2_1___UniqueKeyword_9_2_0_0_1_CommaKeyword_9_2_0_1_q__q____a_OrderedKeyword_9_1_0_1_CommaKeyword_9_1_1_q__a.equals(syntax))
+				emit_OperationCS_______LeftCurlyBracketKeyword_9_0_0___DerivedKeyword_9_0_1_0_1_CommaKeyword_9_0_1_1_q__q___or___RightCurlyBracketKeyword_9_2_1___UniqueKeyword_9_2_0_0_1_CommaKeyword_9_2_0_1_q__q____a_OrderedKeyword_9_1_0_1_CommaKeyword_9_1_1_q__a(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_PackageCS_SemicolonKeyword_4_1_or___LeftCurlyBracketKeyword_4_0_0_RightCurlyBracketKeyword_4_0_2__.equals(syntax))
 				emit_PackageCS_SemicolonKeyword_4_1_or___LeftCurlyBracketKeyword_4_0_0_RightCurlyBracketKeyword_4_0_2__(semanticObject, getLastNavigableState(), syntaxNodes);
-			else if(match_ParameterCS_CommaKeyword_2_1_1_q.equals(syntax))
-				emit_ParameterCS_CommaKeyword_2_1_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_ParameterCS_IsNotUniqueUniqueKeyword_2_1_0_0_0_0.equals(syntax))
+				emit_ParameterCS_IsNotUniqueUniqueKeyword_2_1_0_0_0_0(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_ParameterCS_IsOrderedOrderedKeyword_2_0_1_0_0_0.equals(syntax))
+				emit_ParameterCS_IsOrderedOrderedKeyword_2_0_1_0_0_0(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_ParameterCS___CommaKeyword_2_1_0_1_q___RightCurlyBracketKeyword_2_1_1___LeftCurlyBracketKeyword_2_0_0___OrderedKeyword_2_0_1_0_1_CommaKeyword_2_0_1_1_q__q__a__p_UniqueKeyword_2_1_0_0_1__a.equals(syntax))
+				emit_ParameterCS___CommaKeyword_2_1_0_1_q___RightCurlyBracketKeyword_2_1_1___LeftCurlyBracketKeyword_2_0_0___OrderedKeyword_2_0_1_0_1_CommaKeyword_2_0_1_1_q__q__a__p_UniqueKeyword_2_1_0_0_1__a(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_ParameterCS___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q.equals(syntax))
 				emit_ParameterCS___LeftCurlyBracketKeyword_3_0_RightCurlyBracketKeyword_3_2__q(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_ParameterCS___RightCurlyBracketKeyword_2_1_1___LeftCurlyBracketKeyword_2_0_0___OrderedKeyword_2_0_1_0_1_CommaKeyword_2_0_1_1_q__q__a___UniqueKeyword_2_1_0_0_1_CommaKeyword_2_1_0_1_q__q__a.equals(syntax))
+				emit_ParameterCS___RightCurlyBracketKeyword_2_1_1___LeftCurlyBracketKeyword_2_0_0___OrderedKeyword_2_0_1_0_1_CommaKeyword_2_0_1_1_q__q__a___UniqueKeyword_2_1_0_0_1_CommaKeyword_2_1_0_1_q__q__a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_ParameterCS_____LeftCurlyBracketKeyword_2_0_0___OrderedKeyword_2_0_1_0_1_CommaKeyword_2_0_1_1_q__q___or___RightCurlyBracketKeyword_2_1_1___UniqueKeyword_2_1_0_0_1_CommaKeyword_2_1_0_1_q__q____p.equals(syntax))
+				emit_ParameterCS_____LeftCurlyBracketKeyword_2_0_0___OrderedKeyword_2_0_1_0_1_CommaKeyword_2_0_1_1_q__q___or___RightCurlyBracketKeyword_2_1_1___UniqueKeyword_2_1_0_0_1_CommaKeyword_2_1_0_1_q__q____p(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_ReferenceCS_CommaKeyword_6_0_1_1_q.equals(syntax))
+				emit_ReferenceCS_CommaKeyword_6_0_1_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_ReferenceCS_CommaKeyword_6_1_1_q.equals(syntax))
 				emit_ReferenceCS_CommaKeyword_6_1_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_ReferenceCS_CommaKeyword_6_2_1_q.equals(syntax))
+				emit_ReferenceCS_CommaKeyword_6_2_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_ReferenceCS_CommaKeyword_6_3_1_q.equals(syntax))
+				emit_ReferenceCS_CommaKeyword_6_3_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_ReferenceCS_CommaKeyword_6_4_1_q.equals(syntax))
+				emit_ReferenceCS_CommaKeyword_6_4_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_ReferenceCS_CommaKeyword_6_5_1_q.equals(syntax))
+				emit_ReferenceCS_CommaKeyword_6_5_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_ReferenceCS_CommaKeyword_6_6_1_q.equals(syntax))
+				emit_ReferenceCS_CommaKeyword_6_6_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_ReferenceCS_CommaKeyword_6_7_1_q.equals(syntax))
+				emit_ReferenceCS_CommaKeyword_6_7_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_ReferenceCS_IsComposesComposesKeyword_6_0_1_0_0_0.equals(syntax))
+				emit_ReferenceCS_IsComposesComposesKeyword_6_0_1_0_0_0(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_ReferenceCS_IsVolatileVolatileKeyword_6_8_0_0_0_0.equals(syntax))
+				emit_ReferenceCS_IsVolatileVolatileKeyword_6_8_0_0_0_0(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_ReferenceCS_SemicolonKeyword_7_1_or___LeftCurlyBracketKeyword_7_0_0_____DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2_SemicolonKeyword_7_0_1_2_4___or___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4____a_RightCurlyBracketKeyword_7_0_2__.equals(syntax))
 				emit_ReferenceCS_SemicolonKeyword_7_1_or___LeftCurlyBracketKeyword_7_0_0_____DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2_SemicolonKeyword_7_0_1_2_4___or___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4____a_RightCurlyBracketKeyword_7_0_2__(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_ReferenceCS_UnrestrictedNameParserRuleCall_7_0_1_2_1_q.equals(syntax))
 				emit_ReferenceCS_UnrestrictedNameParserRuleCall_7_0_1_2_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_ReferenceCS_UnrestrictedNameParserRuleCall_7_0_1_3_1_q.equals(syntax))
 				emit_ReferenceCS_UnrestrictedNameParserRuleCall_7_0_1_3_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_ReferenceCS___CommaKeyword_6_1_1_q_DerivedKeyword_6_1_0_1__a.equals(syntax))
+				emit_ReferenceCS___CommaKeyword_6_1_1_q_DerivedKeyword_6_1_0_1__a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_ReferenceCS___CommaKeyword_6_2_1_q_OrderedKeyword_6_2_0_1__a.equals(syntax))
+				emit_ReferenceCS___CommaKeyword_6_2_1_q_OrderedKeyword_6_2_0_1__a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_ReferenceCS___CommaKeyword_6_3_1_q_ReadonlyKeyword_6_3_0_1__a.equals(syntax))
+				emit_ReferenceCS___CommaKeyword_6_3_1_q_ReadonlyKeyword_6_3_0_1__a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_ReferenceCS___CommaKeyword_6_4_1_q_ResolveKeyword_6_4_0_1__a.equals(syntax))
+				emit_ReferenceCS___CommaKeyword_6_4_1_q_ResolveKeyword_6_4_0_1__a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_ReferenceCS___CommaKeyword_6_5_1_q_TransientKeyword_6_5_0_1__a.equals(syntax))
+				emit_ReferenceCS___CommaKeyword_6_5_1_q_TransientKeyword_6_5_0_1__a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_ReferenceCS___CommaKeyword_6_6_1_q_UniqueKeyword_6_6_0_1__a.equals(syntax))
+				emit_ReferenceCS___CommaKeyword_6_6_1_q_UniqueKeyword_6_6_0_1__a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_ReferenceCS___CommaKeyword_6_7_1_q_UnsettableKeyword_6_7_0_1__a.equals(syntax))
+				emit_ReferenceCS___CommaKeyword_6_7_1_q_UnsettableKeyword_6_7_0_1__a(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_ReferenceCS___DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2_SemicolonKeyword_7_0_1_2_4___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4__a__a.equals(syntax))
 				emit_ReferenceCS___DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2_SemicolonKeyword_7_0_1_2_4___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4__a__a(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_ReferenceCS___DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2_SemicolonKeyword_7_0_1_2_4__a.equals(syntax))
 				emit_ReferenceCS___DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2_SemicolonKeyword_7_0_1_2_4__a(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_ReferenceCS___DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2___SemicolonKeyword_7_0_1_2_4_DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2__a___or_____DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2___SemicolonKeyword_7_0_1_2_4_DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2__a_SemicolonKeyword_7_0_1_2_4__q___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4__p_DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2___SemicolonKeyword_7_0_1_2_4_DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2__a___SemicolonKeyword_7_0_1_2_4___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4__p_DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2___SemicolonKeyword_7_0_1_2_4_DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2__a__a__.equals(syntax))
 				emit_ReferenceCS___DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2___SemicolonKeyword_7_0_1_2_4_DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2__a___or_____DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2___SemicolonKeyword_7_0_1_2_4_DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2__a_SemicolonKeyword_7_0_1_2_4__q___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4__p_DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2___SemicolonKeyword_7_0_1_2_4_DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2__a___SemicolonKeyword_7_0_1_2_4___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4__p_DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2___SemicolonKeyword_7_0_1_2_4_DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2__a__a__(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_ReferenceCS___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a__a.equals(syntax))
+				emit_ReferenceCS___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a__a(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_ReferenceCS___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4___DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2_SemicolonKeyword_7_0_1_2_4__a__a.equals(syntax))
 				emit_ReferenceCS___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4___DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2_SemicolonKeyword_7_0_1_2_4__a__a(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_ReferenceCS___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4__a.equals(syntax))
 				emit_ReferenceCS___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4__a(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_ReferenceCS___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2___SemicolonKeyword_7_0_1_3_4_InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2__a___or_____InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2___SemicolonKeyword_7_0_1_3_4_InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2__a_SemicolonKeyword_7_0_1_3_4__q___DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2_SemicolonKeyword_7_0_1_2_4__p_InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2___SemicolonKeyword_7_0_1_3_4_InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2__a___SemicolonKeyword_7_0_1_3_4___DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2_SemicolonKeyword_7_0_1_2_4__p_InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2___SemicolonKeyword_7_0_1_3_4_InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2__a__a__.equals(syntax))
 				emit_ReferenceCS___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2___SemicolonKeyword_7_0_1_3_4_InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2__a___or_____InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2___SemicolonKeyword_7_0_1_3_4_InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2__a_SemicolonKeyword_7_0_1_3_4__q___DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2_SemicolonKeyword_7_0_1_2_4__p_InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2___SemicolonKeyword_7_0_1_3_4_InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2__a___SemicolonKeyword_7_0_1_3_4___DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2_SemicolonKeyword_7_0_1_2_4__p_InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2___SemicolonKeyword_7_0_1_3_4_InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2__a__a__(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_ReferenceCS___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a__a.equals(syntax))
+				emit_ReferenceCS___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a__a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_ReferenceCS___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a__a.equals(syntax))
+				emit_ReferenceCS___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a__a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_ReferenceCS___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a__a.equals(syntax))
+				emit_ReferenceCS___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a__a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a.equals(syntax))
+				emit_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a.equals(syntax))
+				emit_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a.equals(syntax))
+				emit_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a.equals(syntax))
+				emit_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a.equals(syntax))
+				emit_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a.equals(syntax))
+				emit_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a.equals(syntax))
+				emit_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a.equals(syntax))
+				emit_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_ReferenceCS___SemicolonKeyword_7_0_1_2_4___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4__a_DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2__a.equals(syntax))
 				emit_ReferenceCS___SemicolonKeyword_7_0_1_2_4___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4__a_DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2__a(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_ReferenceCS___SemicolonKeyword_7_0_1_2_4___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4__a_DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2__p.equals(syntax))
@@ -241,8 +517,16 @@
 				emit_ReferenceCS___SemicolonKeyword_7_0_1_3_4___DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2_SemicolonKeyword_7_0_1_2_4__a_InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2__a(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_ReferenceCS___SemicolonKeyword_7_0_1_3_4___DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2_SemicolonKeyword_7_0_1_2_4__a_InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2__p.equals(syntax))
 				emit_ReferenceCS___SemicolonKeyword_7_0_1_3_4___DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2_SemicolonKeyword_7_0_1_2_4__a_InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2__p(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_ReferenceCS___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a__a.equals(syntax))
+				emit_ReferenceCS___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a__a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_ReferenceCS___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a__a.equals(syntax))
+				emit_ReferenceCS___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a__a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_ReferenceCS___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a__a.equals(syntax))
+				emit_ReferenceCS___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a__a(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_ReferenceCS_____DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2_SemicolonKeyword_7_0_1_2_4___or___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4____a.equals(syntax))
 				emit_ReferenceCS_____DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2_SemicolonKeyword_7_0_1_2_4___or___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4____a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_ReferenceCS_______LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q___or___RightCurlyBracketKeyword_6_8_1___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q_________DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q___or___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q___or___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q___or___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q___or___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q___or___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q___or___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q____a__p.equals(syntax))
+				emit_ReferenceCS_______LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q___or___RightCurlyBracketKeyword_6_8_1___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q_________DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q___or___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q___or___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q___or___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q___or___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q___or___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q___or___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q____a__p(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_StructuredClassCS_SemicolonKeyword_7_1_or___LeftCurlyBracketKeyword_7_0_0_RightCurlyBracketKeyword_7_0_2__.equals(syntax))
 				emit_StructuredClassCS_SemicolonKeyword_7_1_or___LeftCurlyBracketKeyword_7_0_0_RightCurlyBracketKeyword_7_0_2__(semanticObject, getLastNavigableState(), syntaxNodes);
 			else if(match_StructuredClassCS___LeftCurlyBracketKeyword_6_0_RightCurlyBracketKeyword_6_2__q.equals(syntax))
@@ -259,12 +543,76 @@
 	 * Syntax:
 	 *     ','?
 	 */
+	protected void emit_AttributeCS_CommaKeyword_5_0_1_1_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     ','?
+	 */
 	protected void emit_AttributeCS_CommaKeyword_5_1_1_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
 		acceptNodes(transition, nodes);
 	}
 	
 	/**
 	 * Syntax:
+	 *     ','?
+	 */
+	protected void emit_AttributeCS_CommaKeyword_5_2_1_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     ','?
+	 */
+	protected void emit_AttributeCS_CommaKeyword_5_3_1_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     ','?
+	 */
+	protected void emit_AttributeCS_CommaKeyword_5_4_1_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     ','?
+	 */
+	protected void emit_AttributeCS_CommaKeyword_5_5_1_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     ','?
+	 */
+	protected void emit_AttributeCS_CommaKeyword_5_6_1_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     isDerived?='derived'
+	 */
+	protected void emit_AttributeCS_IsDerivedDerivedKeyword_5_0_1_0_0_0(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     isVolatile?='volatile'
+	 */
+	protected void emit_AttributeCS_IsVolatileVolatileKeyword_5_7_0_0_0_0(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
 	 *     ';' | ('{' (('derivation' UnrestrictedName? ':' ';') | ('initial' UnrestrictedName? ':' ';'))* '}')
 	 */
 	protected void emit_AttributeCS_SemicolonKeyword_6_1_or___LeftCurlyBracketKeyword_6_0_0_____DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2_SemicolonKeyword_6_0_1_1_4___or___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4____a_RightCurlyBracketKeyword_6_0_2__(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
@@ -289,6 +637,54 @@
 	
 	/**
 	 * Syntax:
+	 *     (','? '!id')*
+	 */
+	protected void emit_AttributeCS___CommaKeyword_5_1_1_q_IdKeyword_5_1_0_1__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     (','? '!ordered')*
+	 */
+	protected void emit_AttributeCS___CommaKeyword_5_2_1_q_OrderedKeyword_5_2_0_1__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     (','? '!readonly')*
+	 */
+	protected void emit_AttributeCS___CommaKeyword_5_3_1_q_ReadonlyKeyword_5_3_0_1__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     (','? '!transient')*
+	 */
+	protected void emit_AttributeCS___CommaKeyword_5_4_1_q_TransientKeyword_5_4_0_1__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     (','? 'unique')*
+	 */
+	protected void emit_AttributeCS___CommaKeyword_5_5_1_q_UniqueKeyword_5_5_0_1__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     (','? '!unsettable')*
+	 */
+	protected void emit_AttributeCS___CommaKeyword_5_6_1_q_UnsettableKeyword_5_6_0_1__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
 	 *     ('derivation' UnrestrictedName? ':' ';' ('initial' UnrestrictedName? ':' ';')*)*
 	 */
 	protected void emit_AttributeCS___DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2_SemicolonKeyword_6_0_1_1_4___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4__a__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
@@ -331,6 +727,27 @@
 	
 	/**
 	 * Syntax:
+	 *     (
+	     '!id' 
+	     ','? 
+	     (
+	         '}' 
+	         ('{' ('!derived' ','?)?)* 
+	         ('!ordered' ','?)* 
+	         ('!readonly' ','?)* 
+	         ('!transient' ','?)* 
+	         ('unique' ','?)* 
+	         ('!unsettable' ','?)* 
+	         ('!volatile' ','?)?
+	     )*
+	 )*
+	 */
+	protected void emit_AttributeCS___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
 	 *     ('initial' UnrestrictedName? ':' ';' ('derivation' UnrestrictedName? ':' ';')*)*
 	 */
 	protected void emit_AttributeCS___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4___DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2_SemicolonKeyword_6_0_1_1_4__a__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
@@ -373,6 +790,168 @@
 	
 	/**
 	 * Syntax:
+	 *     (
+	     '!ordered' 
+	     ','? 
+	     (
+	         '}' 
+	         ('{' ('!derived' ','?)?)* 
+	         ('!id' ','?)* 
+	         ('!readonly' ','?)* 
+	         ('!transient' ','?)* 
+	         ('unique' ','?)* 
+	         ('!unsettable' ','?)* 
+	         ('!volatile' ','?)?
+	     )*
+	 )*
+	 */
+	protected void emit_AttributeCS___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     (
+	     '!readonly' 
+	     ','? 
+	     (
+	         '}' 
+	         ('{' ('!derived' ','?)?)* 
+	         ('!id' ','?)* 
+	         ('!ordered' ','?)* 
+	         ('!transient' ','?)* 
+	         ('unique' ','?)* 
+	         ('!unsettable' ','?)* 
+	         ('!volatile' ','?)?
+	     )*
+	 )*
+	 */
+	protected void emit_AttributeCS___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     (
+	     '}' 
+	     ('{' ('!derived' ','?)?)* 
+	     ('!id' ','?)* 
+	     ('!ordered' ','?)* 
+	     ('!readonly' ','?)* 
+	     ('!transient' ','?)* 
+	     ('unique' ','?)* 
+	     ('!unsettable' ','?)* 
+	     ('!volatile' ','?)?
+	 )*
+	 */
+	protected void emit_AttributeCS___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     (
+	     '}' 
+	     ('{' ('!derived' ','?)?)* 
+	     ('!id' ','?)* 
+	     ('!ordered' ','?)* 
+	     ('!readonly' ','?)* 
+	     ('!transient' ','?)* 
+	     ('unique' ','?)* 
+	     ('!volatile' ','?)?
+	 )*
+	 */
+	protected void emit_AttributeCS___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     (
+	     '}' 
+	     ('{' ('!derived' ','?)?)* 
+	     ('!id' ','?)* 
+	     ('!ordered' ','?)* 
+	     ('!readonly' ','?)* 
+	     ('!transient' ','?)* 
+	     ('!unsettable' ','?)* 
+	     ('!volatile' ','?)?
+	 )*
+	 */
+	protected void emit_AttributeCS___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     (
+	     '}' 
+	     ('{' ('!derived' ','?)?)* 
+	     ('!id' ','?)* 
+	     ('!ordered' ','?)* 
+	     ('!readonly' ','?)* 
+	     ('unique' ','?)* 
+	     ('!unsettable' ','?)* 
+	     ('!volatile' ','?)?
+	 )*
+	 */
+	protected void emit_AttributeCS___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     (
+	     '}' 
+	     ('{' ('!derived' ','?)?)* 
+	     ('!id' ','?)* 
+	     ('!ordered' ','?)* 
+	     ('!transient' ','?)* 
+	     ('unique' ','?)* 
+	     ('!unsettable' ','?)* 
+	     ('!volatile' ','?)?
+	 )*
+	 */
+	protected void emit_AttributeCS___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     (
+	     '}' 
+	     ('{' ('!derived' ','?)?)* 
+	     ('!id' ','?)* 
+	     ('!readonly' ','?)* 
+	     ('!transient' ','?)* 
+	     ('unique' ','?)* 
+	     ('!unsettable' ','?)* 
+	     ('!volatile' ','?)?
+	 )*
+	 */
+	protected void emit_AttributeCS___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     (
+	     '}' 
+	     ('{' ('!derived' ','?)?)* 
+	     ('!ordered' ','?)* 
+	     ('!readonly' ','?)* 
+	     ('!transient' ','?)* 
+	     ('unique' ','?)* 
+	     ('!unsettable' ','?)* 
+	     ('!volatile' ','?)?
+	 )*
+	 */
+	protected void emit_AttributeCS___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
 	 *     (';' ('initial' UnrestrictedName? ':' ';')* 'derivation' UnrestrictedName? ':')*
 	 */
 	protected void emit_AttributeCS___SemicolonKeyword_6_0_1_1_4___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4__a_DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
@@ -405,6 +984,69 @@
 	
 	/**
 	 * Syntax:
+	 *     (
+	     '!transient' 
+	     ','? 
+	     (
+	         '}' 
+	         ('{' ('!derived' ','?)?)* 
+	         ('!id' ','?)* 
+	         ('!ordered' ','?)* 
+	         ('!readonly' ','?)* 
+	         ('unique' ','?)* 
+	         ('!unsettable' ','?)* 
+	         ('!volatile' ','?)?
+	     )*
+	 )*
+	 */
+	protected void emit_AttributeCS___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     (
+	     'unique' 
+	     ','? 
+	     (
+	         '}' 
+	         ('{' ('!derived' ','?)?)* 
+	         ('!id' ','?)* 
+	         ('!ordered' ','?)* 
+	         ('!readonly' ','?)* 
+	         ('!transient' ','?)* 
+	         ('!unsettable' ','?)* 
+	         ('!volatile' ','?)?
+	     )*
+	 )*
+	 */
+	protected void emit_AttributeCS___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     (
+	     '!unsettable' 
+	     ','? 
+	     (
+	         '}' 
+	         ('{' ('!derived' ','?)?)* 
+	         ('!id' ','?)* 
+	         ('!ordered' ','?)* 
+	         ('!readonly' ','?)* 
+	         ('!transient' ','?)* 
+	         ('unique' ','?)* 
+	         ('!volatile' ','?)?
+	     )*
+	 )*
+	 */
+	protected void emit_AttributeCS___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q___RightCurlyBracketKeyword_5_7_1___LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q__a___IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q__a___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q__a___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q__a___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q__a___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q__a___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q__a__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
 	 *     (('derivation' UnrestrictedName? ':' ';') | ('initial' UnrestrictedName? ':' ';'))*
 	 */
 	protected void emit_AttributeCS_____DerivationKeyword_6_0_1_1_0_UnrestrictedNameParserRuleCall_6_0_1_1_1_q_ColonKeyword_6_0_1_1_2_SemicolonKeyword_6_0_1_1_4___or___InitialKeyword_6_0_1_2_0_UnrestrictedNameParserRuleCall_6_0_1_2_1_q_ColonKeyword_6_0_1_2_2_SemicolonKeyword_6_0_1_2_4____a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
@@ -413,6 +1055,24 @@
 	
 	/**
 	 * Syntax:
+	 *     (
+	     (('}' ('!volatile' ','?)?) | ('{' ('!derived' ','?)?)) 
+	     (
+	         ('!id' ','?) | 
+	         ('!ordered' ','?) | 
+	         ('!readonly' ','?) | 
+	         ('!transient' ','?) | 
+	         ('unique' ','?) | 
+	         ('!unsettable' ','?)
+	     )*
+	 )+
+	 */
+	protected void emit_AttributeCS_______LeftCurlyBracketKeyword_5_0_0___DerivedKeyword_5_0_1_0_1_CommaKeyword_5_0_1_1_q__q___or___RightCurlyBracketKeyword_5_7_1___VolatileKeyword_5_7_0_0_1_CommaKeyword_5_7_0_1_q__q_________IdKeyword_5_1_0_1_CommaKeyword_5_1_1_q___or___OrderedKeyword_5_2_0_1_CommaKeyword_5_2_1_q___or___ReadonlyKeyword_5_3_0_1_CommaKeyword_5_3_1_q___or___TransientKeyword_5_4_0_1_CommaKeyword_5_4_1_q___or___UniqueKeyword_5_5_0_1_CommaKeyword_5_5_1_q___or___UnsettableKeyword_5_6_0_1_CommaKeyword_5_6_1_q____a__p(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
 	 *     ';' | ('{' '}')
 	 */
 	protected void emit_DataTypeCS_SemicolonKeyword_6_1_or___LeftCurlyBracketKeyword_6_0_0_RightCurlyBracketKeyword_6_0_2__(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
@@ -469,6 +1129,22 @@
 	
 	/**
 	 * Syntax:
+	 *     isDerived?='derived'
+	 */
+	protected void emit_OperationCS_IsDerivedDerivedKeyword_9_0_1_0_0_0(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     isNotUnique?='!unique'
+	 */
+	protected void emit_OperationCS_IsNotUniqueUniqueKeyword_9_2_0_0_0_0(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
 	 *     ';' | ('{' ('body' UnrestrictedName? ':' ';')* '}')
 	 */
 	protected void emit_OperationCS_SemicolonKeyword_10_1_or___LeftCurlyBracketKeyword_10_0_0___BodyKeyword_10_0_1_2_0_UnrestrictedNameParserRuleCall_10_0_1_2_1_q_ColonKeyword_10_0_1_2_2_SemicolonKeyword_10_0_1_2_4__a_RightCurlyBracketKeyword_10_0_2__(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
@@ -493,6 +1169,38 @@
 	
 	/**
 	 * Syntax:
+	 *     (','? (('}' ('unique' ','?)?) | ('{' ('!derived' ','?)?))* '!ordered')*
+	 */
+	protected void emit_OperationCS___CommaKeyword_9_1_1_q_____LeftCurlyBracketKeyword_9_0_0___DerivedKeyword_9_0_1_0_1_CommaKeyword_9_0_1_1_q__q___or___RightCurlyBracketKeyword_9_2_1___UniqueKeyword_9_2_0_0_1_CommaKeyword_9_2_0_1_q__q____a_OrderedKeyword_9_1_0_1__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     ('!ordered' ','? ('}' ('{' ('!derived' ','?)?)* ('unique' ','?)?)*)*
+	 */
+	protected void emit_OperationCS___OrderedKeyword_9_1_0_1_CommaKeyword_9_1_1_q___RightCurlyBracketKeyword_9_2_1___LeftCurlyBracketKeyword_9_0_0___DerivedKeyword_9_0_1_0_1_CommaKeyword_9_0_1_1_q__q__a___UniqueKeyword_9_2_0_0_1_CommaKeyword_9_2_0_1_q__q__a__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     ('}' ('{' ('!derived' ','?)?)* ('!ordered' ','?)* ('unique' ','?)?)*
+	 */
+	protected void emit_OperationCS___RightCurlyBracketKeyword_9_2_1___LeftCurlyBracketKeyword_9_0_0___DerivedKeyword_9_0_1_0_1_CommaKeyword_9_0_1_1_q__q__a___OrderedKeyword_9_1_0_1_CommaKeyword_9_1_1_q__a___UniqueKeyword_9_2_0_0_1_CommaKeyword_9_2_0_1_q__q__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     ('}' ('{' ('!derived' ','?)?)* ('unique' ','?)?)*
+	 */
+	protected void emit_OperationCS___RightCurlyBracketKeyword_9_2_1___LeftCurlyBracketKeyword_9_0_0___DerivedKeyword_9_0_1_0_1_CommaKeyword_9_0_1_1_q__q__a___UniqueKeyword_9_2_0_0_1_CommaKeyword_9_2_0_1_q__q__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
 	 *     (';' 'body' UnrestrictedName? ':')*
 	 */
 	protected void emit_OperationCS___SemicolonKeyword_10_0_1_2_4_BodyKeyword_10_0_1_2_0_UnrestrictedNameParserRuleCall_10_0_1_2_1_q_ColonKeyword_10_0_1_2_2__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
@@ -509,6 +1217,14 @@
 	
 	/**
 	 * Syntax:
+	 *     ((('}' ('unique' ','?)?) | ('{' ('!derived' ','?)?))* '!ordered' ','?)*
+	 */
+	protected void emit_OperationCS_______LeftCurlyBracketKeyword_9_0_0___DerivedKeyword_9_0_1_0_1_CommaKeyword_9_0_1_1_q__q___or___RightCurlyBracketKeyword_9_2_1___UniqueKeyword_9_2_0_0_1_CommaKeyword_9_2_0_1_q__q____a_OrderedKeyword_9_1_0_1_CommaKeyword_9_1_1_q__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
 	 *     ';' | ('{' '}')
 	 */
 	protected void emit_PackageCS_SemicolonKeyword_4_1_or___LeftCurlyBracketKeyword_4_0_0_RightCurlyBracketKeyword_4_0_2__(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
@@ -517,9 +1233,25 @@
 	
 	/**
 	 * Syntax:
-	 *     ','?
+	 *     isNotUnique?='!unique'
 	 */
-	protected void emit_ParameterCS_CommaKeyword_2_1_1_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+	protected void emit_ParameterCS_IsNotUniqueUniqueKeyword_2_1_0_0_0_0(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     isOrdered?='ordered'
+	 */
+	protected void emit_ParameterCS_IsOrderedOrderedKeyword_2_0_1_0_0_0(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     (','? ('}' ('{' ('!ordered' ','?)?)*)+ 'unique')*
+	 */
+	protected void emit_ParameterCS___CommaKeyword_2_1_0_1_q___RightCurlyBracketKeyword_2_1_1___LeftCurlyBracketKeyword_2_0_0___OrderedKeyword_2_0_1_0_1_CommaKeyword_2_0_1_1_q__q__a__p_UniqueKeyword_2_1_0_0_1__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
 		acceptNodes(transition, nodes);
 	}
 	
@@ -533,6 +1265,30 @@
 	
 	/**
 	 * Syntax:
+	 *     ('}' ('{' ('!ordered' ','?)?)* ('unique' ','?)?)*
+	 */
+	protected void emit_ParameterCS___RightCurlyBracketKeyword_2_1_1___LeftCurlyBracketKeyword_2_0_0___OrderedKeyword_2_0_1_0_1_CommaKeyword_2_0_1_1_q__q__a___UniqueKeyword_2_1_0_0_1_CommaKeyword_2_1_0_1_q__q__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     (('}' ('unique' ','?)?) | ('{' ('!ordered' ','?)?))+
+	 */
+	protected void emit_ParameterCS_____LeftCurlyBracketKeyword_2_0_0___OrderedKeyword_2_0_1_0_1_CommaKeyword_2_0_1_1_q__q___or___RightCurlyBracketKeyword_2_1_1___UniqueKeyword_2_1_0_0_1_CommaKeyword_2_1_0_1_q__q____p(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     ','?
+	 */
+	protected void emit_ReferenceCS_CommaKeyword_6_0_1_1_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
 	 *     ','?
 	 */
 	protected void emit_ReferenceCS_CommaKeyword_6_1_1_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
@@ -541,6 +1297,70 @@
 	
 	/**
 	 * Syntax:
+	 *     ','?
+	 */
+	protected void emit_ReferenceCS_CommaKeyword_6_2_1_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     ','?
+	 */
+	protected void emit_ReferenceCS_CommaKeyword_6_3_1_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     ','?
+	 */
+	protected void emit_ReferenceCS_CommaKeyword_6_4_1_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     ','?
+	 */
+	protected void emit_ReferenceCS_CommaKeyword_6_5_1_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     ','?
+	 */
+	protected void emit_ReferenceCS_CommaKeyword_6_6_1_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     ','?
+	 */
+	protected void emit_ReferenceCS_CommaKeyword_6_7_1_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     isComposes?='composes'
+	 */
+	protected void emit_ReferenceCS_IsComposesComposesKeyword_6_0_1_0_0_0(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     isVolatile?='volatile'
+	 */
+	protected void emit_ReferenceCS_IsVolatileVolatileKeyword_6_8_0_0_0_0(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
 	 *     ';' | ('{' (('derivation' UnrestrictedName? ':' ';') | ('initial' UnrestrictedName? ':' ';'))* '}')
 	 */
 	protected void emit_ReferenceCS_SemicolonKeyword_7_1_or___LeftCurlyBracketKeyword_7_0_0_____DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2_SemicolonKeyword_7_0_1_2_4___or___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4____a_RightCurlyBracketKeyword_7_0_2__(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
@@ -565,6 +1385,62 @@
 	
 	/**
 	 * Syntax:
+	 *     (','? '!derived')*
+	 */
+	protected void emit_ReferenceCS___CommaKeyword_6_1_1_q_DerivedKeyword_6_1_0_1__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     (','? '!ordered')*
+	 */
+	protected void emit_ReferenceCS___CommaKeyword_6_2_1_q_OrderedKeyword_6_2_0_1__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     (','? '!readonly')*
+	 */
+	protected void emit_ReferenceCS___CommaKeyword_6_3_1_q_ReadonlyKeyword_6_3_0_1__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     (','? '!resolve')*
+	 */
+	protected void emit_ReferenceCS___CommaKeyword_6_4_1_q_ResolveKeyword_6_4_0_1__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     (','? '!transient')*
+	 */
+	protected void emit_ReferenceCS___CommaKeyword_6_5_1_q_TransientKeyword_6_5_0_1__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     (','? 'unique')*
+	 */
+	protected void emit_ReferenceCS___CommaKeyword_6_6_1_q_UniqueKeyword_6_6_0_1__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     (','? '!unsettable')*
+	 */
+	protected void emit_ReferenceCS___CommaKeyword_6_7_1_q_UnsettableKeyword_6_7_0_1__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
 	 *     ('derivation' UnrestrictedName? ':' ';' ('initial' UnrestrictedName? ':' ';')*)*
 	 */
 	protected void emit_ReferenceCS___DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2_SemicolonKeyword_7_0_1_2_4___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4__a__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
@@ -607,6 +1483,28 @@
 	
 	/**
 	 * Syntax:
+	 *     (
+	     '!derived' 
+	     ','? 
+	     (
+	         '}' 
+	         ('{' ('!composes' ','?)?)* 
+	         ('!ordered' ','?)* 
+	         ('!readonly' ','?)* 
+	         ('!resolve' ','?)* 
+	         ('!transient' ','?)* 
+	         ('unique' ','?)* 
+	         ('!unsettable' ','?)* 
+	         ('!volatile' ','?)?
+	     )*
+	 )*
+	 */
+	protected void emit_ReferenceCS___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
 	 *     ('initial' UnrestrictedName? ':' ';' ('derivation' UnrestrictedName? ':' ';')*)*
 	 */
 	protected void emit_ReferenceCS___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4___DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2_SemicolonKeyword_7_0_1_2_4__a__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
@@ -649,6 +1547,217 @@
 	
 	/**
 	 * Syntax:
+	 *     (
+	     '!ordered' 
+	     ','? 
+	     (
+	         '}' 
+	         ('{' ('!composes' ','?)?)* 
+	         ('!derived' ','?)* 
+	         ('!readonly' ','?)* 
+	         ('!resolve' ','?)* 
+	         ('!transient' ','?)* 
+	         ('unique' ','?)* 
+	         ('!unsettable' ','?)* 
+	         ('!volatile' ','?)?
+	     )*
+	 )*
+	 */
+	protected void emit_ReferenceCS___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     (
+	     '!readonly' 
+	     ','? 
+	     (
+	         '}' 
+	         ('{' ('!composes' ','?)?)* 
+	         ('!derived' ','?)* 
+	         ('!ordered' ','?)* 
+	         ('!resolve' ','?)* 
+	         ('!transient' ','?)* 
+	         ('unique' ','?)* 
+	         ('!unsettable' ','?)* 
+	         ('!volatile' ','?)?
+	     )*
+	 )*
+	 */
+	protected void emit_ReferenceCS___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     (
+	     '!resolve' 
+	     ','? 
+	     (
+	         '}' 
+	         ('{' ('!composes' ','?)?)* 
+	         ('!derived' ','?)* 
+	         ('!ordered' ','?)* 
+	         ('!readonly' ','?)* 
+	         ('!transient' ','?)* 
+	         ('unique' ','?)* 
+	         ('!unsettable' ','?)* 
+	         ('!volatile' ','?)?
+	     )*
+	 )*
+	 */
+	protected void emit_ReferenceCS___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     (
+	     '}' 
+	     ('{' ('!composes' ','?)?)* 
+	     ('!derived' ','?)* 
+	     ('!ordered' ','?)* 
+	     ('!readonly' ','?)* 
+	     ('!resolve' ','?)* 
+	     ('!transient' ','?)* 
+	     ('unique' ','?)* 
+	     ('!unsettable' ','?)* 
+	     ('!volatile' ','?)?
+	 )*
+	 */
+	protected void emit_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     (
+	     '}' 
+	     ('{' ('!composes' ','?)?)* 
+	     ('!derived' ','?)* 
+	     ('!ordered' ','?)* 
+	     ('!readonly' ','?)* 
+	     ('!resolve' ','?)* 
+	     ('!transient' ','?)* 
+	     ('unique' ','?)* 
+	     ('!volatile' ','?)?
+	 )*
+	 */
+	protected void emit_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     (
+	     '}' 
+	     ('{' ('!composes' ','?)?)* 
+	     ('!derived' ','?)* 
+	     ('!ordered' ','?)* 
+	     ('!readonly' ','?)* 
+	     ('!resolve' ','?)* 
+	     ('!transient' ','?)* 
+	     ('!unsettable' ','?)* 
+	     ('!volatile' ','?)?
+	 )*
+	 */
+	protected void emit_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     (
+	     '}' 
+	     ('{' ('!composes' ','?)?)* 
+	     ('!derived' ','?)* 
+	     ('!ordered' ','?)* 
+	     ('!readonly' ','?)* 
+	     ('!resolve' ','?)* 
+	     ('unique' ','?)* 
+	     ('!unsettable' ','?)* 
+	     ('!volatile' ','?)?
+	 )*
+	 */
+	protected void emit_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     (
+	     '}' 
+	     ('{' ('!composes' ','?)?)* 
+	     ('!derived' ','?)* 
+	     ('!ordered' ','?)* 
+	     ('!readonly' ','?)* 
+	     ('!transient' ','?)* 
+	     ('unique' ','?)* 
+	     ('!unsettable' ','?)* 
+	     ('!volatile' ','?)?
+	 )*
+	 */
+	protected void emit_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     (
+	     '}' 
+	     ('{' ('!composes' ','?)?)* 
+	     ('!derived' ','?)* 
+	     ('!ordered' ','?)* 
+	     ('!resolve' ','?)* 
+	     ('!transient' ','?)* 
+	     ('unique' ','?)* 
+	     ('!unsettable' ','?)* 
+	     ('!volatile' ','?)?
+	 )*
+	 */
+	protected void emit_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     (
+	     '}' 
+	     ('{' ('!composes' ','?)?)* 
+	     ('!derived' ','?)* 
+	     ('!readonly' ','?)* 
+	     ('!resolve' ','?)* 
+	     ('!transient' ','?)* 
+	     ('unique' ','?)* 
+	     ('!unsettable' ','?)* 
+	     ('!volatile' ','?)?
+	 )*
+	 */
+	protected void emit_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     (
+	     '}' 
+	     ('{' ('!composes' ','?)?)* 
+	     ('!ordered' ','?)* 
+	     ('!readonly' ','?)* 
+	     ('!resolve' ','?)* 
+	     ('!transient' ','?)* 
+	     ('unique' ','?)* 
+	     ('!unsettable' ','?)* 
+	     ('!volatile' ','?)?
+	 )*
+	 */
+	protected void emit_ReferenceCS___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
 	 *     (';' ('initial' UnrestrictedName? ':' ';')* 'derivation' UnrestrictedName? ':')*
 	 */
 	protected void emit_ReferenceCS___SemicolonKeyword_7_0_1_2_4___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4__a_DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
@@ -681,6 +1790,72 @@
 	
 	/**
 	 * Syntax:
+	 *     (
+	     '!transient' 
+	     ','? 
+	     (
+	         '}' 
+	         ('{' ('!composes' ','?)?)* 
+	         ('!derived' ','?)* 
+	         ('!ordered' ','?)* 
+	         ('!readonly' ','?)* 
+	         ('!resolve' ','?)* 
+	         ('unique' ','?)* 
+	         ('!unsettable' ','?)* 
+	         ('!volatile' ','?)?
+	     )*
+	 )*
+	 */
+	protected void emit_ReferenceCS___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     (
+	     'unique' 
+	     ','? 
+	     (
+	         '}' 
+	         ('{' ('!composes' ','?)?)* 
+	         ('!derived' ','?)* 
+	         ('!ordered' ','?)* 
+	         ('!readonly' ','?)* 
+	         ('!resolve' ','?)* 
+	         ('!transient' ','?)* 
+	         ('!unsettable' ','?)* 
+	         ('!volatile' ','?)?
+	     )*
+	 )*
+	 */
+	protected void emit_ReferenceCS___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
+	 *     (
+	     '!unsettable' 
+	     ','? 
+	     (
+	         '}' 
+	         ('{' ('!composes' ','?)?)* 
+	         ('!derived' ','?)* 
+	         ('!ordered' ','?)* 
+	         ('!readonly' ','?)* 
+	         ('!resolve' ','?)* 
+	         ('!transient' ','?)* 
+	         ('unique' ','?)* 
+	         ('!volatile' ','?)?
+	     )*
+	 )*
+	 */
+	protected void emit_ReferenceCS___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q___RightCurlyBracketKeyword_6_8_1___LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q__a___DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q__a___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q__a___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q__a___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q__a___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q__a___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q__a___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q__a__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
 	 *     (('derivation' UnrestrictedName? ':' ';') | ('initial' UnrestrictedName? ':' ';'))*
 	 */
 	protected void emit_ReferenceCS_____DerivationKeyword_7_0_1_2_0_UnrestrictedNameParserRuleCall_7_0_1_2_1_q_ColonKeyword_7_0_1_2_2_SemicolonKeyword_7_0_1_2_4___or___InitialKeyword_7_0_1_3_0_UnrestrictedNameParserRuleCall_7_0_1_3_1_q_ColonKeyword_7_0_1_3_2_SemicolonKeyword_7_0_1_3_4____a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
@@ -689,6 +1864,25 @@
 	
 	/**
 	 * Syntax:
+	 *     (
+	     (('}' ('!volatile' ','?)?) | ('{' ('!composes' ','?)?)) 
+	     (
+	         ('!derived' ','?) | 
+	         ('!ordered' ','?) | 
+	         ('!readonly' ','?) | 
+	         ('!resolve' ','?) | 
+	         ('!transient' ','?) | 
+	         ('unique' ','?) | 
+	         ('!unsettable' ','?)
+	     )*
+	 )+
+	 */
+	protected void emit_ReferenceCS_______LeftCurlyBracketKeyword_6_0_0___ComposesKeyword_6_0_1_0_1_CommaKeyword_6_0_1_1_q__q___or___RightCurlyBracketKeyword_6_8_1___VolatileKeyword_6_8_0_0_1_CommaKeyword_6_8_0_1_q__q_________DerivedKeyword_6_1_0_1_CommaKeyword_6_1_1_q___or___OrderedKeyword_6_2_0_1_CommaKeyword_6_2_1_q___or___ReadonlyKeyword_6_3_0_1_CommaKeyword_6_3_1_q___or___ResolveKeyword_6_4_0_1_CommaKeyword_6_4_1_q___or___TransientKeyword_6_5_0_1_CommaKeyword_6_5_1_q___or___UniqueKeyword_6_6_0_1_CommaKeyword_6_6_1_q___or___UnsettableKeyword_6_7_0_1_CommaKeyword_6_7_1_q____a__p(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
+	}
+	
+	/**
+	 * Syntax:
 	 *     ';' | ('{' '}')
 	 */
 	protected void emit_StructuredClassCS_SemicolonKeyword_7_1_or___LeftCurlyBracketKeyword_7_0_0_RightCurlyBracketKeyword_7_0_2__(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
diff --git a/plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/services/OCLinEcoreGrammarAccess.java b/plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/services/OCLinEcoreGrammarAccess.java
index ca3d127..3b67b31 100644
--- a/plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/services/OCLinEcoreGrammarAccess.java
+++ b/plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/services/OCLinEcoreGrammarAccess.java
@@ -664,17 +664,11 @@
 	public class AttributeCSElements extends AbstractParserRuleElementFinder {
 		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AttributeCS");
 		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0);
-		private final Group cGroup_0_0 = (Group)cAlternatives_0.eContents().get(0);
-		private final Assignment cQualifiersAssignment_0_0_0 = (Assignment)cGroup_0_0.eContents().get(0);
-		private final Keyword cQualifiersStaticKeyword_0_0_0_0 = (Keyword)cQualifiersAssignment_0_0_0.eContents().get(0);
-		private final Assignment cQualifiersAssignment_0_0_1 = (Assignment)cGroup_0_0.eContents().get(1);
-		private final Keyword cQualifiersDefinitionKeyword_0_0_1_0 = (Keyword)cQualifiersAssignment_0_0_1.eContents().get(0);
-		private final Group cGroup_0_1 = (Group)cAlternatives_0.eContents().get(1);
-		private final Assignment cQualifiersAssignment_0_1_0 = (Assignment)cGroup_0_1.eContents().get(0);
-		private final Keyword cQualifiersDefinitionKeyword_0_1_0_0 = (Keyword)cQualifiersAssignment_0_1_0.eContents().get(0);
-		private final Assignment cQualifiersAssignment_0_1_1 = (Assignment)cGroup_0_1.eContents().get(1);
-		private final Keyword cQualifiersStaticKeyword_0_1_1_0 = (Keyword)cQualifiersAssignment_0_1_1.eContents().get(0);
+		private final UnorderedGroup cUnorderedGroup_0 = (UnorderedGroup)cGroup.eContents().get(0);
+		private final Assignment cIsStaticAssignment_0_0 = (Assignment)cUnorderedGroup_0.eContents().get(0);
+		private final Keyword cIsStaticStaticKeyword_0_0_0 = (Keyword)cIsStaticAssignment_0_0.eContents().get(0);
+		private final Assignment cIsDefinitionAssignment_0_1 = (Assignment)cUnorderedGroup_0.eContents().get(1);
+		private final Keyword cIsDefinitionDefinitionKeyword_0_1_0 = (Keyword)cIsDefinitionAssignment_0_1.eContents().get(0);
 		private final Keyword cAttributeKeyword_1 = (Keyword)cGroup.eContents().get(1);
 		private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
 		private final RuleCall cNameUnrestrictedNameParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
@@ -686,44 +680,59 @@
 		private final Keyword cEqualsSignKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
 		private final Assignment cDefaultAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
 		private final RuleCall cDefaultSINGLE_QUOTED_STRINGTerminalRuleCall_4_1_0 = (RuleCall)cDefaultAssignment_4_1.eContents().get(0);
-		private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
-		private final Keyword cLeftCurlyBracketKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
-		private final Group cGroup_5_1 = (Group)cGroup_5.eContents().get(1);
+		private final UnorderedGroup cUnorderedGroup_5 = (UnorderedGroup)cGroup.eContents().get(5);
+		private final Group cGroup_5_0 = (Group)cUnorderedGroup_5.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_5_0_0 = (Keyword)cGroup_5_0.eContents().get(0);
+		private final Group cGroup_5_0_1 = (Group)cGroup_5_0.eContents().get(1);
+		private final Alternatives cAlternatives_5_0_1_0 = (Alternatives)cGroup_5_0_1.eContents().get(0);
+		private final Assignment cIsDerivedAssignment_5_0_1_0_0 = (Assignment)cAlternatives_5_0_1_0.eContents().get(0);
+		private final Keyword cIsDerivedDerivedKeyword_5_0_1_0_0_0 = (Keyword)cIsDerivedAssignment_5_0_1_0_0.eContents().get(0);
+		private final Keyword cDerivedKeyword_5_0_1_0_1 = (Keyword)cAlternatives_5_0_1_0.eContents().get(1);
+		private final Keyword cCommaKeyword_5_0_1_1 = (Keyword)cGroup_5_0_1.eContents().get(1);
+		private final Group cGroup_5_1 = (Group)cUnorderedGroup_5.eContents().get(1);
 		private final Alternatives cAlternatives_5_1_0 = (Alternatives)cGroup_5_1.eContents().get(0);
-		private final Assignment cQualifiersAssignment_5_1_0_0 = (Assignment)cAlternatives_5_1_0.eContents().get(0);
-		private final Keyword cQualifiersDerivedKeyword_5_1_0_0_0 = (Keyword)cQualifiersAssignment_5_1_0_0.eContents().get(0);
-		private final Assignment cQualifiersAssignment_5_1_0_1 = (Assignment)cAlternatives_5_1_0.eContents().get(1);
-		private final Keyword cQualifiersDerivedKeyword_5_1_0_1_0 = (Keyword)cQualifiersAssignment_5_1_0_1.eContents().get(0);
-		private final Assignment cQualifiersAssignment_5_1_0_2 = (Assignment)cAlternatives_5_1_0.eContents().get(2);
-		private final Keyword cQualifiersIdKeyword_5_1_0_2_0 = (Keyword)cQualifiersAssignment_5_1_0_2.eContents().get(0);
-		private final Assignment cQualifiersAssignment_5_1_0_3 = (Assignment)cAlternatives_5_1_0.eContents().get(3);
-		private final Keyword cQualifiersIdKeyword_5_1_0_3_0 = (Keyword)cQualifiersAssignment_5_1_0_3.eContents().get(0);
-		private final Assignment cQualifiersAssignment_5_1_0_4 = (Assignment)cAlternatives_5_1_0.eContents().get(4);
-		private final Keyword cQualifiersOrderedKeyword_5_1_0_4_0 = (Keyword)cQualifiersAssignment_5_1_0_4.eContents().get(0);
-		private final Assignment cQualifiersAssignment_5_1_0_5 = (Assignment)cAlternatives_5_1_0.eContents().get(5);
-		private final Keyword cQualifiersOrderedKeyword_5_1_0_5_0 = (Keyword)cQualifiersAssignment_5_1_0_5.eContents().get(0);
-		private final Assignment cQualifiersAssignment_5_1_0_6 = (Assignment)cAlternatives_5_1_0.eContents().get(6);
-		private final Keyword cQualifiersReadonlyKeyword_5_1_0_6_0 = (Keyword)cQualifiersAssignment_5_1_0_6.eContents().get(0);
-		private final Assignment cQualifiersAssignment_5_1_0_7 = (Assignment)cAlternatives_5_1_0.eContents().get(7);
-		private final Keyword cQualifiersReadonlyKeyword_5_1_0_7_0 = (Keyword)cQualifiersAssignment_5_1_0_7.eContents().get(0);
-		private final Assignment cQualifiersAssignment_5_1_0_8 = (Assignment)cAlternatives_5_1_0.eContents().get(8);
-		private final Keyword cQualifiersTransientKeyword_5_1_0_8_0 = (Keyword)cQualifiersAssignment_5_1_0_8.eContents().get(0);
-		private final Assignment cQualifiersAssignment_5_1_0_9 = (Assignment)cAlternatives_5_1_0.eContents().get(9);
-		private final Keyword cQualifiersTransientKeyword_5_1_0_9_0 = (Keyword)cQualifiersAssignment_5_1_0_9.eContents().get(0);
-		private final Assignment cQualifiersAssignment_5_1_0_10 = (Assignment)cAlternatives_5_1_0.eContents().get(10);
-		private final Keyword cQualifiersUniqueKeyword_5_1_0_10_0 = (Keyword)cQualifiersAssignment_5_1_0_10.eContents().get(0);
-		private final Assignment cQualifiersAssignment_5_1_0_11 = (Assignment)cAlternatives_5_1_0.eContents().get(11);
-		private final Keyword cQualifiersUniqueKeyword_5_1_0_11_0 = (Keyword)cQualifiersAssignment_5_1_0_11.eContents().get(0);
-		private final Assignment cQualifiersAssignment_5_1_0_12 = (Assignment)cAlternatives_5_1_0.eContents().get(12);
-		private final Keyword cQualifiersUnsettableKeyword_5_1_0_12_0 = (Keyword)cQualifiersAssignment_5_1_0_12.eContents().get(0);
-		private final Assignment cQualifiersAssignment_5_1_0_13 = (Assignment)cAlternatives_5_1_0.eContents().get(13);
-		private final Keyword cQualifiersUnsettableKeyword_5_1_0_13_0 = (Keyword)cQualifiersAssignment_5_1_0_13.eContents().get(0);
-		private final Assignment cQualifiersAssignment_5_1_0_14 = (Assignment)cAlternatives_5_1_0.eContents().get(14);
-		private final Keyword cQualifiersVolatileKeyword_5_1_0_14_0 = (Keyword)cQualifiersAssignment_5_1_0_14.eContents().get(0);
-		private final Assignment cQualifiersAssignment_5_1_0_15 = (Assignment)cAlternatives_5_1_0.eContents().get(15);
-		private final Keyword cQualifiersVolatileKeyword_5_1_0_15_0 = (Keyword)cQualifiersAssignment_5_1_0_15.eContents().get(0);
+		private final Assignment cIsIdAssignment_5_1_0_0 = (Assignment)cAlternatives_5_1_0.eContents().get(0);
+		private final Keyword cIsIdIdKeyword_5_1_0_0_0 = (Keyword)cIsIdAssignment_5_1_0_0.eContents().get(0);
+		private final Keyword cIdKeyword_5_1_0_1 = (Keyword)cAlternatives_5_1_0.eContents().get(1);
 		private final Keyword cCommaKeyword_5_1_1 = (Keyword)cGroup_5_1.eContents().get(1);
-		private final Keyword cRightCurlyBracketKeyword_5_2 = (Keyword)cGroup_5.eContents().get(2);
+		private final Group cGroup_5_2 = (Group)cUnorderedGroup_5.eContents().get(2);
+		private final Alternatives cAlternatives_5_2_0 = (Alternatives)cGroup_5_2.eContents().get(0);
+		private final Assignment cIsOrderedAssignment_5_2_0_0 = (Assignment)cAlternatives_5_2_0.eContents().get(0);
+		private final Keyword cIsOrderedOrderedKeyword_5_2_0_0_0 = (Keyword)cIsOrderedAssignment_5_2_0_0.eContents().get(0);
+		private final Keyword cOrderedKeyword_5_2_0_1 = (Keyword)cAlternatives_5_2_0.eContents().get(1);
+		private final Keyword cCommaKeyword_5_2_1 = (Keyword)cGroup_5_2.eContents().get(1);
+		private final Group cGroup_5_3 = (Group)cUnorderedGroup_5.eContents().get(3);
+		private final Alternatives cAlternatives_5_3_0 = (Alternatives)cGroup_5_3.eContents().get(0);
+		private final Assignment cIsReadonlyAssignment_5_3_0_0 = (Assignment)cAlternatives_5_3_0.eContents().get(0);
+		private final Keyword cIsReadonlyReadonlyKeyword_5_3_0_0_0 = (Keyword)cIsReadonlyAssignment_5_3_0_0.eContents().get(0);
+		private final Keyword cReadonlyKeyword_5_3_0_1 = (Keyword)cAlternatives_5_3_0.eContents().get(1);
+		private final Keyword cCommaKeyword_5_3_1 = (Keyword)cGroup_5_3.eContents().get(1);
+		private final Group cGroup_5_4 = (Group)cUnorderedGroup_5.eContents().get(4);
+		private final Alternatives cAlternatives_5_4_0 = (Alternatives)cGroup_5_4.eContents().get(0);
+		private final Assignment cIsTransientAssignment_5_4_0_0 = (Assignment)cAlternatives_5_4_0.eContents().get(0);
+		private final Keyword cIsTransientTransientKeyword_5_4_0_0_0 = (Keyword)cIsTransientAssignment_5_4_0_0.eContents().get(0);
+		private final Keyword cTransientKeyword_5_4_0_1 = (Keyword)cAlternatives_5_4_0.eContents().get(1);
+		private final Keyword cCommaKeyword_5_4_1 = (Keyword)cGroup_5_4.eContents().get(1);
+		private final Group cGroup_5_5 = (Group)cUnorderedGroup_5.eContents().get(5);
+		private final Alternatives cAlternatives_5_5_0 = (Alternatives)cGroup_5_5.eContents().get(0);
+		private final Assignment cIsNotUniqueAssignment_5_5_0_0 = (Assignment)cAlternatives_5_5_0.eContents().get(0);
+		private final Keyword cIsNotUniqueUniqueKeyword_5_5_0_0_0 = (Keyword)cIsNotUniqueAssignment_5_5_0_0.eContents().get(0);
+		private final Keyword cUniqueKeyword_5_5_0_1 = (Keyword)cAlternatives_5_5_0.eContents().get(1);
+		private final Keyword cCommaKeyword_5_5_1 = (Keyword)cGroup_5_5.eContents().get(1);
+		private final Group cGroup_5_6 = (Group)cUnorderedGroup_5.eContents().get(6);
+		private final Alternatives cAlternatives_5_6_0 = (Alternatives)cGroup_5_6.eContents().get(0);
+		private final Assignment cIsUnsettableAssignment_5_6_0_0 = (Assignment)cAlternatives_5_6_0.eContents().get(0);
+		private final Keyword cIsUnsettableUnsettableKeyword_5_6_0_0_0 = (Keyword)cIsUnsettableAssignment_5_6_0_0.eContents().get(0);
+		private final Keyword cUnsettableKeyword_5_6_0_1 = (Keyword)cAlternatives_5_6_0.eContents().get(1);
+		private final Keyword cCommaKeyword_5_6_1 = (Keyword)cGroup_5_6.eContents().get(1);
+		private final Group cGroup_5_7 = (Group)cUnorderedGroup_5.eContents().get(7);
+		private final Group cGroup_5_7_0 = (Group)cGroup_5_7.eContents().get(0);
+		private final Alternatives cAlternatives_5_7_0_0 = (Alternatives)cGroup_5_7_0.eContents().get(0);
+		private final Assignment cIsVolatileAssignment_5_7_0_0_0 = (Assignment)cAlternatives_5_7_0_0.eContents().get(0);
+		private final Keyword cIsVolatileVolatileKeyword_5_7_0_0_0_0 = (Keyword)cIsVolatileAssignment_5_7_0_0_0.eContents().get(0);
+		private final Keyword cVolatileKeyword_5_7_0_0_1 = (Keyword)cAlternatives_5_7_0_0.eContents().get(1);
+		private final Keyword cCommaKeyword_5_7_0_1 = (Keyword)cGroup_5_7_0.eContents().get(1);
+		private final Keyword cRightCurlyBracketKeyword_5_7_1 = (Keyword)cGroup_5_7.eContents().get(1);
 		private final Alternatives cAlternatives_6 = (Alternatives)cGroup.eContents().get(6);
 		private final Group cGroup_6_0 = (Group)cAlternatives_6.eContents().get(0);
 		private final Keyword cLeftCurlyBracketKeyword_6_0_0 = (Keyword)cGroup_6_0.eContents().get(0);
@@ -748,59 +757,39 @@
 		private final Keyword cSemicolonKeyword_6_1 = (Keyword)cAlternatives_6.eContents().get(1);
 		
 		//AttributeCS returns base::AttributeCS:
-		//	(qualifiers+="static" qualifiers+="definition"? | qualifiers+="definition" qualifiers+="static"?)? "attribute"
-		//	name=UnrestrictedName (":" ownedType=TypedMultiplicityRefCS)? ("=" default=SINGLE_QUOTED_STRING)? ("{"
-		//	((qualifiers+="derived" | qualifiers+="!derived" | qualifiers+="id" | qualifiers+="!id" | qualifiers+="ordered" |
-		//	qualifiers+="!ordered" | qualifiers+="readonly" | qualifiers+="!readonly" | qualifiers+="transient" |
-		//	qualifiers+="!transient" | qualifiers+="unique" | qualifiers+="!unique" | qualifiers+="unsettable" |
-		//	qualifiers+="!unsettable" | qualifiers+="volatile" | qualifiers+="!volatile") ","?)+ "}")? ("{"
+		//	(isStatic?="static"? & isDefinition?="definition"?) "attribute" name=UnrestrictedName (":"
+		//	ownedType=TypedMultiplicityRefCS)? ("=" default=SINGLE_QUOTED_STRING)? ("{" ((isDerived?="derived" | "!derived")
+		//	","?)? & ((isId?="id" | "!id") ","?)? & ((isOrdered?="ordered" | "!ordered") ","?)? & ((isReadonly?="readonly" |
+		//	"!readonly") ","?)? & ((isTransient?="transient" | "!transient") ","?)? & ((isNotUnique?="!unique" | "unique") ","?)?
+		//	& ((isUnsettable?="unsettable" | "!unsettable") ","?)? & ((isVolatile?="volatile" | "!volatile") ","?)? "}")? ("{"
 		//	(ownedAnnotations+=AnnotationElementCS | "derivation" UnrestrictedName? ":" ownedDefaultExpressions+=SpecificationCS?
 		//	";" | "initial" UnrestrictedName? ":" ownedDefaultExpressions+=SpecificationCS? ";")* "}" | ";");
 		@Override
 		public ParserRule getRule() { return rule; }
 
-		//(qualifiers+="static" qualifiers+="definition"? | qualifiers+="definition" qualifiers+="static"?)? "attribute"
-		//name=UnrestrictedName (":" ownedType=TypedMultiplicityRefCS)? ("=" default=SINGLE_QUOTED_STRING)? ("{"
-		//((qualifiers+="derived" | qualifiers+="!derived" | qualifiers+="id" | qualifiers+="!id" | qualifiers+="ordered" |
-		//qualifiers+="!ordered" | qualifiers+="readonly" | qualifiers+="!readonly" | qualifiers+="transient" |
-		//qualifiers+="!transient" | qualifiers+="unique" | qualifiers+="!unique" | qualifiers+="unsettable" |
-		//qualifiers+="!unsettable" | qualifiers+="volatile" | qualifiers+="!volatile") ","?)+ "}")? ("{"
+		//(isStatic?="static"? & isDefinition?="definition"?) "attribute" name=UnrestrictedName (":"
+		//ownedType=TypedMultiplicityRefCS)? ("=" default=SINGLE_QUOTED_STRING)? ("{" ((isDerived?="derived" | "!derived")
+		//","?)? & ((isId?="id" | "!id") ","?)? & ((isOrdered?="ordered" | "!ordered") ","?)? & ((isReadonly?="readonly" |
+		//"!readonly") ","?)? & ((isTransient?="transient" | "!transient") ","?)? & ((isNotUnique?="!unique" | "unique") ","?)?
+		//& ((isUnsettable?="unsettable" | "!unsettable") ","?)? & ((isVolatile?="volatile" | "!volatile") ","?)? "}")? ("{"
 		//(ownedAnnotations+=AnnotationElementCS | "derivation" UnrestrictedName? ":" ownedDefaultExpressions+=SpecificationCS?
 		//";" | "initial" UnrestrictedName? ":" ownedDefaultExpressions+=SpecificationCS? ";")* "}" | ";")
 		public Group getGroup() { return cGroup; }
 
-		//(qualifiers+="static" qualifiers+="definition"? | qualifiers+="definition" qualifiers+="static"?)?
-		public Alternatives getAlternatives_0() { return cAlternatives_0; }
+		//isStatic?="static"? & isDefinition?="definition"?
+		public UnorderedGroup getUnorderedGroup_0() { return cUnorderedGroup_0; }
 
-		//qualifiers+="static" qualifiers+="definition"?
-		public Group getGroup_0_0() { return cGroup_0_0; }
-
-		//qualifiers+="static"
-		public Assignment getQualifiersAssignment_0_0_0() { return cQualifiersAssignment_0_0_0; }
+		//isStatic?="static"?
+		public Assignment getIsStaticAssignment_0_0() { return cIsStaticAssignment_0_0; }
 
 		//"static"
-		public Keyword getQualifiersStaticKeyword_0_0_0_0() { return cQualifiersStaticKeyword_0_0_0_0; }
+		public Keyword getIsStaticStaticKeyword_0_0_0() { return cIsStaticStaticKeyword_0_0_0; }
 
-		//qualifiers+="definition"?
-		public Assignment getQualifiersAssignment_0_0_1() { return cQualifiersAssignment_0_0_1; }
+		//isDefinition?="definition"?
+		public Assignment getIsDefinitionAssignment_0_1() { return cIsDefinitionAssignment_0_1; }
 
 		//"definition"
-		public Keyword getQualifiersDefinitionKeyword_0_0_1_0() { return cQualifiersDefinitionKeyword_0_0_1_0; }
-
-		//qualifiers+="definition" qualifiers+="static"?
-		public Group getGroup_0_1() { return cGroup_0_1; }
-
-		//qualifiers+="definition"
-		public Assignment getQualifiersAssignment_0_1_0() { return cQualifiersAssignment_0_1_0; }
-
-		//"definition"
-		public Keyword getQualifiersDefinitionKeyword_0_1_0_0() { return cQualifiersDefinitionKeyword_0_1_0_0; }
-
-		//qualifiers+="static"?
-		public Assignment getQualifiersAssignment_0_1_1() { return cQualifiersAssignment_0_1_1; }
-
-		//"static"
-		public Keyword getQualifiersStaticKeyword_0_1_1_0() { return cQualifiersStaticKeyword_0_1_1_0; }
+		public Keyword getIsDefinitionDefinitionKeyword_0_1_0() { return cIsDefinitionDefinitionKeyword_0_1_0; }
 
 		//"attribute"
 		public Keyword getAttributeKeyword_1() { return cAttributeKeyword_1; }
@@ -835,128 +824,167 @@
 		//SINGLE_QUOTED_STRING
 		public RuleCall getDefaultSINGLE_QUOTED_STRINGTerminalRuleCall_4_1_0() { return cDefaultSINGLE_QUOTED_STRINGTerminalRuleCall_4_1_0; }
 
-		//("{" ((qualifiers+="derived" | qualifiers+="!derived" | qualifiers+="id" | qualifiers+="!id" | qualifiers+="ordered" |
-		//qualifiers+="!ordered" | qualifiers+="readonly" | qualifiers+="!readonly" | qualifiers+="transient" |
-		//qualifiers+="!transient" | qualifiers+="unique" | qualifiers+="!unique" | qualifiers+="unsettable" |
-		//qualifiers+="!unsettable" | qualifiers+="volatile" | qualifiers+="!volatile") ","?)+ "}")?
-		public Group getGroup_5() { return cGroup_5; }
+		//("{" ((isDerived?="derived" | "!derived") ","?)? & ((isId?="id" | "!id") ","?)? & ((isOrdered?="ordered" | "!ordered")
+		//","?)? & ((isReadonly?="readonly" | "!readonly") ","?)? & ((isTransient?="transient" | "!transient") ","?)? &
+		//((isNotUnique?="!unique" | "unique") ","?)? & ((isUnsettable?="unsettable" | "!unsettable") ","?)? &
+		//((isVolatile?="volatile" | "!volatile") ","?)? "}")?
+		public UnorderedGroup getUnorderedGroup_5() { return cUnorderedGroup_5; }
+
+		//"{" ((isDerived?="derived" | "!derived") ","?)?
+		public Group getGroup_5_0() { return cGroup_5_0; }
 
 		//"{"
-		public Keyword getLeftCurlyBracketKeyword_5_0() { return cLeftCurlyBracketKeyword_5_0; }
+		public Keyword getLeftCurlyBracketKeyword_5_0_0() { return cLeftCurlyBracketKeyword_5_0_0; }
 
-		//((qualifiers+="derived" | qualifiers+="!derived" | qualifiers+="id" | qualifiers+="!id" | qualifiers+="ordered" |
-		//qualifiers+="!ordered" | qualifiers+="readonly" | qualifiers+="!readonly" | qualifiers+="transient" |
-		//qualifiers+="!transient" | qualifiers+="unique" | qualifiers+="!unique" | qualifiers+="unsettable" |
-		//qualifiers+="!unsettable" | qualifiers+="volatile" | qualifiers+="!volatile") ","?)+
-		public Group getGroup_5_1() { return cGroup_5_1; }
+		//((isDerived?="derived" | "!derived") ","?)?
+		public Group getGroup_5_0_1() { return cGroup_5_0_1; }
 
-		//qualifiers+="derived" | qualifiers+="!derived" | qualifiers+="id" | qualifiers+="!id" | qualifiers+="ordered" |
-		//qualifiers+="!ordered" | qualifiers+="readonly" | qualifiers+="!readonly" | qualifiers+="transient" |
-		//qualifiers+="!transient" | qualifiers+="unique" | qualifiers+="!unique" | qualifiers+="unsettable" |
-		//qualifiers+="!unsettable" | qualifiers+="volatile" | qualifiers+="!volatile"
-		public Alternatives getAlternatives_5_1_0() { return cAlternatives_5_1_0; }
+		//isDerived?="derived" | "!derived"
+		public Alternatives getAlternatives_5_0_1_0() { return cAlternatives_5_0_1_0; }
 
-		//qualifiers+="derived"
-		public Assignment getQualifiersAssignment_5_1_0_0() { return cQualifiersAssignment_5_1_0_0; }
+		//isDerived?="derived"
+		public Assignment getIsDerivedAssignment_5_0_1_0_0() { return cIsDerivedAssignment_5_0_1_0_0; }
 
 		//"derived"
-		public Keyword getQualifiersDerivedKeyword_5_1_0_0_0() { return cQualifiersDerivedKeyword_5_1_0_0_0; }
-
-		//qualifiers+="!derived"
-		public Assignment getQualifiersAssignment_5_1_0_1() { return cQualifiersAssignment_5_1_0_1; }
+		public Keyword getIsDerivedDerivedKeyword_5_0_1_0_0_0() { return cIsDerivedDerivedKeyword_5_0_1_0_0_0; }
 
 		//"!derived"
-		public Keyword getQualifiersDerivedKeyword_5_1_0_1_0() { return cQualifiersDerivedKeyword_5_1_0_1_0; }
+		public Keyword getDerivedKeyword_5_0_1_0_1() { return cDerivedKeyword_5_0_1_0_1; }
 
-		//qualifiers+="id"
-		public Assignment getQualifiersAssignment_5_1_0_2() { return cQualifiersAssignment_5_1_0_2; }
+		//","?
+		public Keyword getCommaKeyword_5_0_1_1() { return cCommaKeyword_5_0_1_1; }
+
+		//((isId?="id" | "!id") ","?)?
+		public Group getGroup_5_1() { return cGroup_5_1; }
+
+		//isId?="id" | "!id"
+		public Alternatives getAlternatives_5_1_0() { return cAlternatives_5_1_0; }
+
+		//isId?="id"
+		public Assignment getIsIdAssignment_5_1_0_0() { return cIsIdAssignment_5_1_0_0; }
 
 		//"id"
-		public Keyword getQualifiersIdKeyword_5_1_0_2_0() { return cQualifiersIdKeyword_5_1_0_2_0; }
-
-		//qualifiers+="!id"
-		public Assignment getQualifiersAssignment_5_1_0_3() { return cQualifiersAssignment_5_1_0_3; }
+		public Keyword getIsIdIdKeyword_5_1_0_0_0() { return cIsIdIdKeyword_5_1_0_0_0; }
 
 		//"!id"
-		public Keyword getQualifiersIdKeyword_5_1_0_3_0() { return cQualifiersIdKeyword_5_1_0_3_0; }
-
-		//qualifiers+="ordered"
-		public Assignment getQualifiersAssignment_5_1_0_4() { return cQualifiersAssignment_5_1_0_4; }
-
-		//"ordered"
-		public Keyword getQualifiersOrderedKeyword_5_1_0_4_0() { return cQualifiersOrderedKeyword_5_1_0_4_0; }
-
-		//qualifiers+="!ordered"
-		public Assignment getQualifiersAssignment_5_1_0_5() { return cQualifiersAssignment_5_1_0_5; }
-
-		//"!ordered"
-		public Keyword getQualifiersOrderedKeyword_5_1_0_5_0() { return cQualifiersOrderedKeyword_5_1_0_5_0; }
-
-		//qualifiers+="readonly"
-		public Assignment getQualifiersAssignment_5_1_0_6() { return cQualifiersAssignment_5_1_0_6; }
-
-		//"readonly"
-		public Keyword getQualifiersReadonlyKeyword_5_1_0_6_0() { return cQualifiersReadonlyKeyword_5_1_0_6_0; }
-
-		//qualifiers+="!readonly"
-		public Assignment getQualifiersAssignment_5_1_0_7() { return cQualifiersAssignment_5_1_0_7; }
-
-		//"!readonly"
-		public Keyword getQualifiersReadonlyKeyword_5_1_0_7_0() { return cQualifiersReadonlyKeyword_5_1_0_7_0; }
-
-		//qualifiers+="transient"
-		public Assignment getQualifiersAssignment_5_1_0_8() { return cQualifiersAssignment_5_1_0_8; }
-
-		//"transient"
-		public Keyword getQualifiersTransientKeyword_5_1_0_8_0() { return cQualifiersTransientKeyword_5_1_0_8_0; }
-
-		//qualifiers+="!transient"
-		public Assignment getQualifiersAssignment_5_1_0_9() { return cQualifiersAssignment_5_1_0_9; }
-
-		//"!transient"
-		public Keyword getQualifiersTransientKeyword_5_1_0_9_0() { return cQualifiersTransientKeyword_5_1_0_9_0; }
-
-		//qualifiers+="unique"
-		public Assignment getQualifiersAssignment_5_1_0_10() { return cQualifiersAssignment_5_1_0_10; }
-
-		//"unique"
-		public Keyword getQualifiersUniqueKeyword_5_1_0_10_0() { return cQualifiersUniqueKeyword_5_1_0_10_0; }
-
-		//qualifiers+="!unique"
-		public Assignment getQualifiersAssignment_5_1_0_11() { return cQualifiersAssignment_5_1_0_11; }
-
-		//"!unique"
-		public Keyword getQualifiersUniqueKeyword_5_1_0_11_0() { return cQualifiersUniqueKeyword_5_1_0_11_0; }
-
-		//qualifiers+="unsettable"
-		public Assignment getQualifiersAssignment_5_1_0_12() { return cQualifiersAssignment_5_1_0_12; }
-
-		//"unsettable"
-		public Keyword getQualifiersUnsettableKeyword_5_1_0_12_0() { return cQualifiersUnsettableKeyword_5_1_0_12_0; }
-
-		//qualifiers+="!unsettable"
-		public Assignment getQualifiersAssignment_5_1_0_13() { return cQualifiersAssignment_5_1_0_13; }
-
-		//"!unsettable"
-		public Keyword getQualifiersUnsettableKeyword_5_1_0_13_0() { return cQualifiersUnsettableKeyword_5_1_0_13_0; }
-
-		//qualifiers+="volatile"
-		public Assignment getQualifiersAssignment_5_1_0_14() { return cQualifiersAssignment_5_1_0_14; }
-
-		//"volatile"
-		public Keyword getQualifiersVolatileKeyword_5_1_0_14_0() { return cQualifiersVolatileKeyword_5_1_0_14_0; }
-
-		//qualifiers+="!volatile"
-		public Assignment getQualifiersAssignment_5_1_0_15() { return cQualifiersAssignment_5_1_0_15; }
-
-		//"!volatile"
-		public Keyword getQualifiersVolatileKeyword_5_1_0_15_0() { return cQualifiersVolatileKeyword_5_1_0_15_0; }
+		public Keyword getIdKeyword_5_1_0_1() { return cIdKeyword_5_1_0_1; }
 
 		//","?
 		public Keyword getCommaKeyword_5_1_1() { return cCommaKeyword_5_1_1; }
 
+		//((isOrdered?="ordered" | "!ordered") ","?)?
+		public Group getGroup_5_2() { return cGroup_5_2; }
+
+		//isOrdered?="ordered" | "!ordered"
+		public Alternatives getAlternatives_5_2_0() { return cAlternatives_5_2_0; }
+
+		//isOrdered?="ordered"
+		public Assignment getIsOrderedAssignment_5_2_0_0() { return cIsOrderedAssignment_5_2_0_0; }
+
+		//"ordered"
+		public Keyword getIsOrderedOrderedKeyword_5_2_0_0_0() { return cIsOrderedOrderedKeyword_5_2_0_0_0; }
+
+		//"!ordered"
+		public Keyword getOrderedKeyword_5_2_0_1() { return cOrderedKeyword_5_2_0_1; }
+
+		//","?
+		public Keyword getCommaKeyword_5_2_1() { return cCommaKeyword_5_2_1; }
+
+		//((isReadonly?="readonly" | "!readonly") ","?)?
+		public Group getGroup_5_3() { return cGroup_5_3; }
+
+		//isReadonly?="readonly" | "!readonly"
+		public Alternatives getAlternatives_5_3_0() { return cAlternatives_5_3_0; }
+
+		//isReadonly?="readonly"
+		public Assignment getIsReadonlyAssignment_5_3_0_0() { return cIsReadonlyAssignment_5_3_0_0; }
+
+		//"readonly"
+		public Keyword getIsReadonlyReadonlyKeyword_5_3_0_0_0() { return cIsReadonlyReadonlyKeyword_5_3_0_0_0; }
+
+		//"!readonly"
+		public Keyword getReadonlyKeyword_5_3_0_1() { return cReadonlyKeyword_5_3_0_1; }
+
+		//","?
+		public Keyword getCommaKeyword_5_3_1() { return cCommaKeyword_5_3_1; }
+
+		//((isTransient?="transient" | "!transient") ","?)?
+		public Group getGroup_5_4() { return cGroup_5_4; }
+
+		//isTransient?="transient" | "!transient"
+		public Alternatives getAlternatives_5_4_0() { return cAlternatives_5_4_0; }
+
+		//isTransient?="transient"
+		public Assignment getIsTransientAssignment_5_4_0_0() { return cIsTransientAssignment_5_4_0_0; }
+
+		//"transient"
+		public Keyword getIsTransientTransientKeyword_5_4_0_0_0() { return cIsTransientTransientKeyword_5_4_0_0_0; }
+
+		//"!transient"
+		public Keyword getTransientKeyword_5_4_0_1() { return cTransientKeyword_5_4_0_1; }
+
+		//","?
+		public Keyword getCommaKeyword_5_4_1() { return cCommaKeyword_5_4_1; }
+
+		//((isNotUnique?="!unique" | "unique") ","?)?
+		public Group getGroup_5_5() { return cGroup_5_5; }
+
+		//isNotUnique?="!unique" | "unique"
+		public Alternatives getAlternatives_5_5_0() { return cAlternatives_5_5_0; }
+
+		//isNotUnique?="!unique"
+		public Assignment getIsNotUniqueAssignment_5_5_0_0() { return cIsNotUniqueAssignment_5_5_0_0; }
+
+		//"!unique"
+		public Keyword getIsNotUniqueUniqueKeyword_5_5_0_0_0() { return cIsNotUniqueUniqueKeyword_5_5_0_0_0; }
+
+		//"unique"
+		public Keyword getUniqueKeyword_5_5_0_1() { return cUniqueKeyword_5_5_0_1; }
+
+		//","?
+		public Keyword getCommaKeyword_5_5_1() { return cCommaKeyword_5_5_1; }
+
+		//((isUnsettable?="unsettable" | "!unsettable") ","?)?
+		public Group getGroup_5_6() { return cGroup_5_6; }
+
+		//isUnsettable?="unsettable" | "!unsettable"
+		public Alternatives getAlternatives_5_6_0() { return cAlternatives_5_6_0; }
+
+		//isUnsettable?="unsettable"
+		public Assignment getIsUnsettableAssignment_5_6_0_0() { return cIsUnsettableAssignment_5_6_0_0; }
+
+		//"unsettable"
+		public Keyword getIsUnsettableUnsettableKeyword_5_6_0_0_0() { return cIsUnsettableUnsettableKeyword_5_6_0_0_0; }
+
+		//"!unsettable"
+		public Keyword getUnsettableKeyword_5_6_0_1() { return cUnsettableKeyword_5_6_0_1; }
+
+		//","?
+		public Keyword getCommaKeyword_5_6_1() { return cCommaKeyword_5_6_1; }
+
+		//((isVolatile?="volatile" | "!volatile") ","?)? "}"
+		public Group getGroup_5_7() { return cGroup_5_7; }
+
+		//((isVolatile?="volatile" | "!volatile") ","?)?
+		public Group getGroup_5_7_0() { return cGroup_5_7_0; }
+
+		//isVolatile?="volatile" | "!volatile"
+		public Alternatives getAlternatives_5_7_0_0() { return cAlternatives_5_7_0_0; }
+
+		//isVolatile?="volatile"
+		public Assignment getIsVolatileAssignment_5_7_0_0_0() { return cIsVolatileAssignment_5_7_0_0_0; }
+
+		//"volatile"
+		public Keyword getIsVolatileVolatileKeyword_5_7_0_0_0_0() { return cIsVolatileVolatileKeyword_5_7_0_0_0_0; }
+
+		//"!volatile"
+		public Keyword getVolatileKeyword_5_7_0_0_1() { return cVolatileKeyword_5_7_0_0_1; }
+
+		//","?
+		public Keyword getCommaKeyword_5_7_0_1() { return cCommaKeyword_5_7_0_1; }
+
 		//"}"
-		public Keyword getRightCurlyBracketKeyword_5_2() { return cRightCurlyBracketKeyword_5_2; }
+		public Keyword getRightCurlyBracketKeyword_5_7_1() { return cRightCurlyBracketKeyword_5_7_1; }
 
 		//"{" (ownedAnnotations+=AnnotationElementCS | "derivation" UnrestrictedName? ":"
 		//ownedDefaultExpressions+=SpecificationCS? ";" | "initial" UnrestrictedName? ":"
@@ -1689,17 +1717,11 @@
 	public class OperationCSElements extends AbstractParserRuleElementFinder {
 		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "OperationCS");
 		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0);
-		private final Group cGroup_0_0 = (Group)cAlternatives_0.eContents().get(0);
-		private final Assignment cQualifiersAssignment_0_0_0 = (Assignment)cGroup_0_0.eContents().get(0);
-		private final Keyword cQualifiersStaticKeyword_0_0_0_0 = (Keyword)cQualifiersAssignment_0_0_0.eContents().get(0);
-		private final Assignment cQualifiersAssignment_0_0_1 = (Assignment)cGroup_0_0.eContents().get(1);
-		private final Keyword cQualifiersDefinitionKeyword_0_0_1_0 = (Keyword)cQualifiersAssignment_0_0_1.eContents().get(0);
-		private final Group cGroup_0_1 = (Group)cAlternatives_0.eContents().get(1);
-		private final Assignment cQualifiersAssignment_0_1_0 = (Assignment)cGroup_0_1.eContents().get(0);
-		private final Keyword cQualifiersDefinitionKeyword_0_1_0_0 = (Keyword)cQualifiersAssignment_0_1_0.eContents().get(0);
-		private final Assignment cQualifiersAssignment_0_1_1 = (Assignment)cGroup_0_1.eContents().get(1);
-		private final Keyword cQualifiersStaticKeyword_0_1_1_0 = (Keyword)cQualifiersAssignment_0_1_1.eContents().get(0);
+		private final UnorderedGroup cUnorderedGroup_0 = (UnorderedGroup)cGroup.eContents().get(0);
+		private final Assignment cIsStaticAssignment_0_0 = (Assignment)cUnorderedGroup_0.eContents().get(0);
+		private final Keyword cIsStaticStaticKeyword_0_0_0 = (Keyword)cIsStaticAssignment_0_0.eContents().get(0);
+		private final Assignment cIsDefinitionAssignment_0_1 = (Assignment)cUnorderedGroup_0.eContents().get(1);
+		private final Keyword cIsDefinitionDefinitionKeyword_0_1_0 = (Keyword)cIsDefinitionAssignment_0_1.eContents().get(0);
 		private final Keyword cOperationKeyword_1 = (Keyword)cGroup.eContents().get(1);
 		private final Assignment cOwnedSignatureAssignment_2 = (Assignment)cGroup.eContents().get(2);
 		private final RuleCall cOwnedSignatureTemplateSignatureCSParserRuleCall_2_0 = (RuleCall)cOwnedSignatureAssignment_2.eContents().get(0);
@@ -1726,24 +1748,29 @@
 		private final Keyword cCommaKeyword_8_2_0 = (Keyword)cGroup_8_2.eContents().get(0);
 		private final Assignment cOwnedExceptionsAssignment_8_2_1 = (Assignment)cGroup_8_2.eContents().get(1);
 		private final RuleCall cOwnedExceptionsTypedRefCSParserRuleCall_8_2_1_0 = (RuleCall)cOwnedExceptionsAssignment_8_2_1.eContents().get(0);
-		private final Group cGroup_9 = (Group)cGroup.eContents().get(9);
-		private final Keyword cLeftCurlyBracketKeyword_9_0 = (Keyword)cGroup_9.eContents().get(0);
-		private final Group cGroup_9_1 = (Group)cGroup_9.eContents().get(1);
+		private final UnorderedGroup cUnorderedGroup_9 = (UnorderedGroup)cGroup.eContents().get(9);
+		private final Group cGroup_9_0 = (Group)cUnorderedGroup_9.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_9_0_0 = (Keyword)cGroup_9_0.eContents().get(0);
+		private final Group cGroup_9_0_1 = (Group)cGroup_9_0.eContents().get(1);
+		private final Alternatives cAlternatives_9_0_1_0 = (Alternatives)cGroup_9_0_1.eContents().get(0);
+		private final Assignment cIsDerivedAssignment_9_0_1_0_0 = (Assignment)cAlternatives_9_0_1_0.eContents().get(0);
+		private final Keyword cIsDerivedDerivedKeyword_9_0_1_0_0_0 = (Keyword)cIsDerivedAssignment_9_0_1_0_0.eContents().get(0);
+		private final Keyword cDerivedKeyword_9_0_1_0_1 = (Keyword)cAlternatives_9_0_1_0.eContents().get(1);
+		private final Keyword cCommaKeyword_9_0_1_1 = (Keyword)cGroup_9_0_1.eContents().get(1);
+		private final Group cGroup_9_1 = (Group)cUnorderedGroup_9.eContents().get(1);
 		private final Alternatives cAlternatives_9_1_0 = (Alternatives)cGroup_9_1.eContents().get(0);
-		private final Assignment cQualifiersAssignment_9_1_0_0 = (Assignment)cAlternatives_9_1_0.eContents().get(0);
-		private final Keyword cQualifiersDerivedKeyword_9_1_0_0_0 = (Keyword)cQualifiersAssignment_9_1_0_0.eContents().get(0);
-		private final Assignment cQualifiersAssignment_9_1_0_1 = (Assignment)cAlternatives_9_1_0.eContents().get(1);
-		private final Keyword cQualifiersDerivedKeyword_9_1_0_1_0 = (Keyword)cQualifiersAssignment_9_1_0_1.eContents().get(0);
-		private final Assignment cQualifiersAssignment_9_1_0_2 = (Assignment)cAlternatives_9_1_0.eContents().get(2);
-		private final Keyword cQualifiersOrderedKeyword_9_1_0_2_0 = (Keyword)cQualifiersAssignment_9_1_0_2.eContents().get(0);
-		private final Assignment cQualifiersAssignment_9_1_0_3 = (Assignment)cAlternatives_9_1_0.eContents().get(3);
-		private final Keyword cQualifiersOrderedKeyword_9_1_0_3_0 = (Keyword)cQualifiersAssignment_9_1_0_3.eContents().get(0);
-		private final Assignment cQualifiersAssignment_9_1_0_4 = (Assignment)cAlternatives_9_1_0.eContents().get(4);
-		private final Keyword cQualifiersUniqueKeyword_9_1_0_4_0 = (Keyword)cQualifiersAssignment_9_1_0_4.eContents().get(0);
-		private final Assignment cQualifiersAssignment_9_1_0_5 = (Assignment)cAlternatives_9_1_0.eContents().get(5);
-		private final Keyword cQualifiersUniqueKeyword_9_1_0_5_0 = (Keyword)cQualifiersAssignment_9_1_0_5.eContents().get(0);
+		private final Assignment cIsOrderedAssignment_9_1_0_0 = (Assignment)cAlternatives_9_1_0.eContents().get(0);
+		private final Keyword cIsOrderedOrderedKeyword_9_1_0_0_0 = (Keyword)cIsOrderedAssignment_9_1_0_0.eContents().get(0);
+		private final Keyword cOrderedKeyword_9_1_0_1 = (Keyword)cAlternatives_9_1_0.eContents().get(1);
 		private final Keyword cCommaKeyword_9_1_1 = (Keyword)cGroup_9_1.eContents().get(1);
-		private final Keyword cRightCurlyBracketKeyword_9_2 = (Keyword)cGroup_9.eContents().get(2);
+		private final Group cGroup_9_2 = (Group)cUnorderedGroup_9.eContents().get(2);
+		private final Group cGroup_9_2_0 = (Group)cGroup_9_2.eContents().get(0);
+		private final Alternatives cAlternatives_9_2_0_0 = (Alternatives)cGroup_9_2_0.eContents().get(0);
+		private final Assignment cIsNotUniqueAssignment_9_2_0_0_0 = (Assignment)cAlternatives_9_2_0_0.eContents().get(0);
+		private final Keyword cIsNotUniqueUniqueKeyword_9_2_0_0_0_0 = (Keyword)cIsNotUniqueAssignment_9_2_0_0_0.eContents().get(0);
+		private final Keyword cUniqueKeyword_9_2_0_0_1 = (Keyword)cAlternatives_9_2_0_0.eContents().get(1);
+		private final Keyword cCommaKeyword_9_2_0_1 = (Keyword)cGroup_9_2_0.eContents().get(1);
+		private final Keyword cRightCurlyBracketKeyword_9_2_1 = (Keyword)cGroup_9_2.eContents().get(1);
 		private final Alternatives cAlternatives_10 = (Alternatives)cGroup.eContents().get(10);
 		private final Group cGroup_10_0 = (Group)cAlternatives_10.eContents().get(0);
 		private final Keyword cLeftCurlyBracketKeyword_10_0_0 = (Keyword)cGroup_10_0.eContents().get(0);
@@ -1765,57 +1792,39 @@
 		private final Keyword cSemicolonKeyword_10_1 = (Keyword)cAlternatives_10.eContents().get(1);
 		
 		//OperationCS returns base::OperationCS:
-		//	(qualifiers+="static" qualifiers+="definition"? | qualifiers+="definition" qualifiers+="static"?)? "operation"
-		//	ownedSignature=TemplateSignatureCS? name=UnrestrictedName "(" (ownedParameters+=ParameterCS (","
-		//	ownedParameters+=ParameterCS)*)? ")" (":" ownedType=TypedMultiplicityRefCS)? ("throws" ownedExceptions+=TypedRefCS
-		//	("," ownedExceptions+=TypedRefCS)*)? ("{" ((qualifiers+="derived" | qualifiers+="!derived" | qualifiers+="ordered" |
-		//	qualifiers+="!ordered" | qualifiers+="unique" | qualifiers+="!unique") ","?)+ "}")? ("{"
-		//	(ownedAnnotations+=AnnotationElementCS | ownedPreconditions+=PreconditionConstraintCS | "body" UnrestrictedName? ":"
-		//	ownedBodyExpressions+=SpecificationCS? ";" | ownedPostconditions+=PostconditionConstraintCS)* "}" | ";");
+		//	(isStatic?="static"? & isDefinition?="definition"?) "operation" ownedSignature=TemplateSignatureCS?
+		//	name=UnrestrictedName "(" (ownedParameters+=ParameterCS ("," ownedParameters+=ParameterCS)*)? ")" (":"
+		//	ownedType=TypedMultiplicityRefCS)? ("throws" ownedExceptions+=TypedRefCS ("," ownedExceptions+=TypedRefCS)*)? ("{"
+		//	((isDerived?="derived" | "!derived") ","?)? & ((isOrdered?="ordered" | "!ordered") ","?)? & ((isNotUnique?="!unique"
+		//	| "unique") ","?)? "}")? ("{" (ownedAnnotations+=AnnotationElementCS | ownedPreconditions+=PreconditionConstraintCS |
+		//	"body" UnrestrictedName? ":" ownedBodyExpressions+=SpecificationCS? ";" |
+		//	ownedPostconditions+=PostconditionConstraintCS)* "}" | ";");
 		@Override
 		public ParserRule getRule() { return rule; }
 
-		//(qualifiers+="static" qualifiers+="definition"? | qualifiers+="definition" qualifiers+="static"?)? "operation"
-		//ownedSignature=TemplateSignatureCS? name=UnrestrictedName "(" (ownedParameters+=ParameterCS (","
-		//ownedParameters+=ParameterCS)*)? ")" (":" ownedType=TypedMultiplicityRefCS)? ("throws" ownedExceptions+=TypedRefCS
-		//("," ownedExceptions+=TypedRefCS)*)? ("{" ((qualifiers+="derived" | qualifiers+="!derived" | qualifiers+="ordered" |
-		//qualifiers+="!ordered" | qualifiers+="unique" | qualifiers+="!unique") ","?)+ "}")? ("{"
-		//(ownedAnnotations+=AnnotationElementCS | ownedPreconditions+=PreconditionConstraintCS | "body" UnrestrictedName? ":"
-		//ownedBodyExpressions+=SpecificationCS? ";" | ownedPostconditions+=PostconditionConstraintCS)* "}" | ";")
+		//(isStatic?="static"? & isDefinition?="definition"?) "operation" ownedSignature=TemplateSignatureCS?
+		//name=UnrestrictedName "(" (ownedParameters+=ParameterCS ("," ownedParameters+=ParameterCS)*)? ")" (":"
+		//ownedType=TypedMultiplicityRefCS)? ("throws" ownedExceptions+=TypedRefCS ("," ownedExceptions+=TypedRefCS)*)? ("{"
+		//((isDerived?="derived" | "!derived") ","?)? & ((isOrdered?="ordered" | "!ordered") ","?)? & ((isNotUnique?="!unique" |
+		//"unique") ","?)? "}")? ("{" (ownedAnnotations+=AnnotationElementCS | ownedPreconditions+=PreconditionConstraintCS |
+		//"body" UnrestrictedName? ":" ownedBodyExpressions+=SpecificationCS? ";" |
+		//ownedPostconditions+=PostconditionConstraintCS)* "}" | ";")
 		public Group getGroup() { return cGroup; }
 
-		//(qualifiers+="static" qualifiers+="definition"? | qualifiers+="definition" qualifiers+="static"?)?
-		public Alternatives getAlternatives_0() { return cAlternatives_0; }
+		//isStatic?="static"? & isDefinition?="definition"?
+		public UnorderedGroup getUnorderedGroup_0() { return cUnorderedGroup_0; }
 
-		//qualifiers+="static" qualifiers+="definition"?
-		public Group getGroup_0_0() { return cGroup_0_0; }
-
-		//qualifiers+="static"
-		public Assignment getQualifiersAssignment_0_0_0() { return cQualifiersAssignment_0_0_0; }
+		//isStatic?="static"?
+		public Assignment getIsStaticAssignment_0_0() { return cIsStaticAssignment_0_0; }
 
 		//"static"
-		public Keyword getQualifiersStaticKeyword_0_0_0_0() { return cQualifiersStaticKeyword_0_0_0_0; }
+		public Keyword getIsStaticStaticKeyword_0_0_0() { return cIsStaticStaticKeyword_0_0_0; }
 
-		//qualifiers+="definition"?
-		public Assignment getQualifiersAssignment_0_0_1() { return cQualifiersAssignment_0_0_1; }
+		//isDefinition?="definition"?
+		public Assignment getIsDefinitionAssignment_0_1() { return cIsDefinitionAssignment_0_1; }
 
 		//"definition"
-		public Keyword getQualifiersDefinitionKeyword_0_0_1_0() { return cQualifiersDefinitionKeyword_0_0_1_0; }
-
-		//qualifiers+="definition" qualifiers+="static"?
-		public Group getGroup_0_1() { return cGroup_0_1; }
-
-		//qualifiers+="definition"
-		public Assignment getQualifiersAssignment_0_1_0() { return cQualifiersAssignment_0_1_0; }
-
-		//"definition"
-		public Keyword getQualifiersDefinitionKeyword_0_1_0_0() { return cQualifiersDefinitionKeyword_0_1_0_0; }
-
-		//qualifiers+="static"?
-		public Assignment getQualifiersAssignment_0_1_1() { return cQualifiersAssignment_0_1_1; }
-
-		//"static"
-		public Keyword getQualifiersStaticKeyword_0_1_1_0() { return cQualifiersStaticKeyword_0_1_1_0; }
+		public Keyword getIsDefinitionDefinitionKeyword_0_1_0() { return cIsDefinitionDefinitionKeyword_0_1_0; }
 
 		//"operation"
 		public Keyword getOperationKeyword_1() { return cOperationKeyword_1; }
@@ -1895,62 +1904,75 @@
 		//TypedRefCS
 		public RuleCall getOwnedExceptionsTypedRefCSParserRuleCall_8_2_1_0() { return cOwnedExceptionsTypedRefCSParserRuleCall_8_2_1_0; }
 
-		//("{" ((qualifiers+="derived" | qualifiers+="!derived" | qualifiers+="ordered" | qualifiers+="!ordered" |
-		//qualifiers+="unique" | qualifiers+="!unique") ","?)+ "}")?
-		public Group getGroup_9() { return cGroup_9; }
+		//("{" ((isDerived?="derived" | "!derived") ","?)? & ((isOrdered?="ordered" | "!ordered") ","?)? &
+		//((isNotUnique?="!unique" | "unique") ","?)? "}")?
+		public UnorderedGroup getUnorderedGroup_9() { return cUnorderedGroup_9; }
+
+		//"{" ((isDerived?="derived" | "!derived") ","?)?
+		public Group getGroup_9_0() { return cGroup_9_0; }
 
 		//"{"
-		public Keyword getLeftCurlyBracketKeyword_9_0() { return cLeftCurlyBracketKeyword_9_0; }
+		public Keyword getLeftCurlyBracketKeyword_9_0_0() { return cLeftCurlyBracketKeyword_9_0_0; }
 
-		//((qualifiers+="derived" | qualifiers+="!derived" | qualifiers+="ordered" | qualifiers+="!ordered" | qualifiers+="unique"
-		//| qualifiers+="!unique") ","?)+
-		public Group getGroup_9_1() { return cGroup_9_1; }
+		//((isDerived?="derived" | "!derived") ","?)?
+		public Group getGroup_9_0_1() { return cGroup_9_0_1; }
 
-		//qualifiers+="derived" | qualifiers+="!derived" | qualifiers+="ordered" | qualifiers+="!ordered" | qualifiers+="unique" |
-		//qualifiers+="!unique"
-		public Alternatives getAlternatives_9_1_0() { return cAlternatives_9_1_0; }
+		//isDerived?="derived" | "!derived"
+		public Alternatives getAlternatives_9_0_1_0() { return cAlternatives_9_0_1_0; }
 
-		//qualifiers+="derived"
-		public Assignment getQualifiersAssignment_9_1_0_0() { return cQualifiersAssignment_9_1_0_0; }
+		//isDerived?="derived"
+		public Assignment getIsDerivedAssignment_9_0_1_0_0() { return cIsDerivedAssignment_9_0_1_0_0; }
 
 		//"derived"
-		public Keyword getQualifiersDerivedKeyword_9_1_0_0_0() { return cQualifiersDerivedKeyword_9_1_0_0_0; }
-
-		//qualifiers+="!derived"
-		public Assignment getQualifiersAssignment_9_1_0_1() { return cQualifiersAssignment_9_1_0_1; }
+		public Keyword getIsDerivedDerivedKeyword_9_0_1_0_0_0() { return cIsDerivedDerivedKeyword_9_0_1_0_0_0; }
 
 		//"!derived"
-		public Keyword getQualifiersDerivedKeyword_9_1_0_1_0() { return cQualifiersDerivedKeyword_9_1_0_1_0; }
+		public Keyword getDerivedKeyword_9_0_1_0_1() { return cDerivedKeyword_9_0_1_0_1; }
 
-		//qualifiers+="ordered"
-		public Assignment getQualifiersAssignment_9_1_0_2() { return cQualifiersAssignment_9_1_0_2; }
+		//","?
+		public Keyword getCommaKeyword_9_0_1_1() { return cCommaKeyword_9_0_1_1; }
+
+		//((isOrdered?="ordered" | "!ordered") ","?)?
+		public Group getGroup_9_1() { return cGroup_9_1; }
+
+		//isOrdered?="ordered" | "!ordered"
+		public Alternatives getAlternatives_9_1_0() { return cAlternatives_9_1_0; }
+
+		//isOrdered?="ordered"
+		public Assignment getIsOrderedAssignment_9_1_0_0() { return cIsOrderedAssignment_9_1_0_0; }
 
 		//"ordered"
-		public Keyword getQualifiersOrderedKeyword_9_1_0_2_0() { return cQualifiersOrderedKeyword_9_1_0_2_0; }
-
-		//qualifiers+="!ordered"
-		public Assignment getQualifiersAssignment_9_1_0_3() { return cQualifiersAssignment_9_1_0_3; }
+		public Keyword getIsOrderedOrderedKeyword_9_1_0_0_0() { return cIsOrderedOrderedKeyword_9_1_0_0_0; }
 
 		//"!ordered"
-		public Keyword getQualifiersOrderedKeyword_9_1_0_3_0() { return cQualifiersOrderedKeyword_9_1_0_3_0; }
-
-		//qualifiers+="unique"
-		public Assignment getQualifiersAssignment_9_1_0_4() { return cQualifiersAssignment_9_1_0_4; }
-
-		//"unique"
-		public Keyword getQualifiersUniqueKeyword_9_1_0_4_0() { return cQualifiersUniqueKeyword_9_1_0_4_0; }
-
-		//qualifiers+="!unique"
-		public Assignment getQualifiersAssignment_9_1_0_5() { return cQualifiersAssignment_9_1_0_5; }
-
-		//"!unique"
-		public Keyword getQualifiersUniqueKeyword_9_1_0_5_0() { return cQualifiersUniqueKeyword_9_1_0_5_0; }
+		public Keyword getOrderedKeyword_9_1_0_1() { return cOrderedKeyword_9_1_0_1; }
 
 		//","?
 		public Keyword getCommaKeyword_9_1_1() { return cCommaKeyword_9_1_1; }
 
+		//((isNotUnique?="!unique" | "unique") ","?)? "}"
+		public Group getGroup_9_2() { return cGroup_9_2; }
+
+		//((isNotUnique?="!unique" | "unique") ","?)?
+		public Group getGroup_9_2_0() { return cGroup_9_2_0; }
+
+		//isNotUnique?="!unique" | "unique"
+		public Alternatives getAlternatives_9_2_0_0() { return cAlternatives_9_2_0_0; }
+
+		//isNotUnique?="!unique"
+		public Assignment getIsNotUniqueAssignment_9_2_0_0_0() { return cIsNotUniqueAssignment_9_2_0_0_0; }
+
+		//"!unique"
+		public Keyword getIsNotUniqueUniqueKeyword_9_2_0_0_0_0() { return cIsNotUniqueUniqueKeyword_9_2_0_0_0_0; }
+
+		//"unique"
+		public Keyword getUniqueKeyword_9_2_0_0_1() { return cUniqueKeyword_9_2_0_0_1; }
+
+		//","?
+		public Keyword getCommaKeyword_9_2_0_1() { return cCommaKeyword_9_2_0_1; }
+
 		//"}"
-		public Keyword getRightCurlyBracketKeyword_9_2() { return cRightCurlyBracketKeyword_9_2; }
+		public Keyword getRightCurlyBracketKeyword_9_2_1() { return cRightCurlyBracketKeyword_9_2_1; }
 
 		//"{" (ownedAnnotations+=AnnotationElementCS | ownedPreconditions+=PreconditionConstraintCS | "body" UnrestrictedName? ":"
 		//ownedBodyExpressions+=SpecificationCS? ";" | ownedPostconditions+=PostconditionConstraintCS)* "}" | ";"
@@ -2129,20 +2151,23 @@
 		private final Keyword cColonKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
 		private final Assignment cOwnedTypeAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
 		private final RuleCall cOwnedTypeTypedMultiplicityRefCSParserRuleCall_1_1_0 = (RuleCall)cOwnedTypeAssignment_1_1.eContents().get(0);
-		private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
-		private final Keyword cLeftCurlyBracketKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
-		private final Group cGroup_2_1 = (Group)cGroup_2.eContents().get(1);
-		private final Alternatives cAlternatives_2_1_0 = (Alternatives)cGroup_2_1.eContents().get(0);
-		private final Assignment cQualifiersAssignment_2_1_0_0 = (Assignment)cAlternatives_2_1_0.eContents().get(0);
-		private final Keyword cQualifiersOrderedKeyword_2_1_0_0_0 = (Keyword)cQualifiersAssignment_2_1_0_0.eContents().get(0);
-		private final Assignment cQualifiersAssignment_2_1_0_1 = (Assignment)cAlternatives_2_1_0.eContents().get(1);
-		private final Keyword cQualifiersOrderedKeyword_2_1_0_1_0 = (Keyword)cQualifiersAssignment_2_1_0_1.eContents().get(0);
-		private final Assignment cQualifiersAssignment_2_1_0_2 = (Assignment)cAlternatives_2_1_0.eContents().get(2);
-		private final Keyword cQualifiersUniqueKeyword_2_1_0_2_0 = (Keyword)cQualifiersAssignment_2_1_0_2.eContents().get(0);
-		private final Assignment cQualifiersAssignment_2_1_0_3 = (Assignment)cAlternatives_2_1_0.eContents().get(3);
-		private final Keyword cQualifiersUniqueKeyword_2_1_0_3_0 = (Keyword)cQualifiersAssignment_2_1_0_3.eContents().get(0);
-		private final Keyword cCommaKeyword_2_1_1 = (Keyword)cGroup_2_1.eContents().get(1);
-		private final Keyword cRightCurlyBracketKeyword_2_2 = (Keyword)cGroup_2.eContents().get(2);
+		private final UnorderedGroup cUnorderedGroup_2 = (UnorderedGroup)cGroup.eContents().get(2);
+		private final Group cGroup_2_0 = (Group)cUnorderedGroup_2.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_2_0_0 = (Keyword)cGroup_2_0.eContents().get(0);
+		private final Group cGroup_2_0_1 = (Group)cGroup_2_0.eContents().get(1);
+		private final Alternatives cAlternatives_2_0_1_0 = (Alternatives)cGroup_2_0_1.eContents().get(0);
+		private final Assignment cIsOrderedAssignment_2_0_1_0_0 = (Assignment)cAlternatives_2_0_1_0.eContents().get(0);
+		private final Keyword cIsOrderedOrderedKeyword_2_0_1_0_0_0 = (Keyword)cIsOrderedAssignment_2_0_1_0_0.eContents().get(0);
+		private final Keyword cOrderedKeyword_2_0_1_0_1 = (Keyword)cAlternatives_2_0_1_0.eContents().get(1);
+		private final Keyword cCommaKeyword_2_0_1_1 = (Keyword)cGroup_2_0_1.eContents().get(1);
+		private final Group cGroup_2_1 = (Group)cUnorderedGroup_2.eContents().get(1);
+		private final Group cGroup_2_1_0 = (Group)cGroup_2_1.eContents().get(0);
+		private final Alternatives cAlternatives_2_1_0_0 = (Alternatives)cGroup_2_1_0.eContents().get(0);
+		private final Assignment cIsNotUniqueAssignment_2_1_0_0_0 = (Assignment)cAlternatives_2_1_0_0.eContents().get(0);
+		private final Keyword cIsNotUniqueUniqueKeyword_2_1_0_0_0_0 = (Keyword)cIsNotUniqueAssignment_2_1_0_0_0.eContents().get(0);
+		private final Keyword cUniqueKeyword_2_1_0_0_1 = (Keyword)cAlternatives_2_1_0_0.eContents().get(1);
+		private final Keyword cCommaKeyword_2_1_0_1 = (Keyword)cGroup_2_1_0.eContents().get(1);
+		private final Keyword cRightCurlyBracketKeyword_2_1_1 = (Keyword)cGroup_2_1.eContents().get(1);
 		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
 		private final Keyword cLeftCurlyBracketKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
 		private final Assignment cOwnedAnnotationsAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
@@ -2150,13 +2175,13 @@
 		private final Keyword cRightCurlyBracketKeyword_3_2 = (Keyword)cGroup_3.eContents().get(2);
 		
 		//ParameterCS returns base::ParameterCS:
-		//	name=UnrestrictedName (":" ownedType=TypedMultiplicityRefCS)? ("{" ((qualifiers+="ordered" | qualifiers+="!ordered" |
-		//	qualifiers+="unique" | qualifiers+="!unique") ","?)+ "}")? ("{" ownedAnnotations+=AnnotationElementCS* "}")?;
+		//	name=UnrestrictedName (":" ownedType=TypedMultiplicityRefCS)? ("{" ((isOrdered?="ordered" | "!ordered") ","?)? &
+		//	((isNotUnique?="!unique" | "unique") ","?)? "}")? ("{" ownedAnnotations+=AnnotationElementCS* "}")?;
 		@Override
 		public ParserRule getRule() { return rule; }
 
-		//name=UnrestrictedName (":" ownedType=TypedMultiplicityRefCS)? ("{" ((qualifiers+="ordered" | qualifiers+="!ordered" |
-		//qualifiers+="unique" | qualifiers+="!unique") ","?)+ "}")? ("{" ownedAnnotations+=AnnotationElementCS* "}")?
+		//name=UnrestrictedName (":" ownedType=TypedMultiplicityRefCS)? ("{" ((isOrdered?="ordered" | "!ordered") ","?)? &
+		//((isNotUnique?="!unique" | "unique") ","?)? "}")? ("{" ownedAnnotations+=AnnotationElementCS* "}")?
 		public Group getGroup() { return cGroup; }
 
 		//name=UnrestrictedName
@@ -2177,47 +2202,56 @@
 		//TypedMultiplicityRefCS
 		public RuleCall getOwnedTypeTypedMultiplicityRefCSParserRuleCall_1_1_0() { return cOwnedTypeTypedMultiplicityRefCSParserRuleCall_1_1_0; }
 
-		//("{" ((qualifiers+="ordered" | qualifiers+="!ordered" | qualifiers+="unique" | qualifiers+="!unique") ","?)+ "}")?
-		public Group getGroup_2() { return cGroup_2; }
+		//("{" ((isOrdered?="ordered" | "!ordered") ","?)? & ((isNotUnique?="!unique" | "unique") ","?)? "}")?
+		public UnorderedGroup getUnorderedGroup_2() { return cUnorderedGroup_2; }
+
+		//"{" ((isOrdered?="ordered" | "!ordered") ","?)?
+		public Group getGroup_2_0() { return cGroup_2_0; }
 
 		//"{"
-		public Keyword getLeftCurlyBracketKeyword_2_0() { return cLeftCurlyBracketKeyword_2_0; }
+		public Keyword getLeftCurlyBracketKeyword_2_0_0() { return cLeftCurlyBracketKeyword_2_0_0; }
 
-		//((qualifiers+="ordered" | qualifiers+="!ordered" | qualifiers+="unique" | qualifiers+="!unique") ","?)+
-		public Group getGroup_2_1() { return cGroup_2_1; }
+		//((isOrdered?="ordered" | "!ordered") ","?)?
+		public Group getGroup_2_0_1() { return cGroup_2_0_1; }
 
-		//qualifiers+="ordered" | qualifiers+="!ordered" | qualifiers+="unique" | qualifiers+="!unique"
-		public Alternatives getAlternatives_2_1_0() { return cAlternatives_2_1_0; }
+		//isOrdered?="ordered" | "!ordered"
+		public Alternatives getAlternatives_2_0_1_0() { return cAlternatives_2_0_1_0; }
 
-		//qualifiers+="ordered"
-		public Assignment getQualifiersAssignment_2_1_0_0() { return cQualifiersAssignment_2_1_0_0; }
+		//isOrdered?="ordered"
+		public Assignment getIsOrderedAssignment_2_0_1_0_0() { return cIsOrderedAssignment_2_0_1_0_0; }
 
 		//"ordered"
-		public Keyword getQualifiersOrderedKeyword_2_1_0_0_0() { return cQualifiersOrderedKeyword_2_1_0_0_0; }
-
-		//qualifiers+="!ordered"
-		public Assignment getQualifiersAssignment_2_1_0_1() { return cQualifiersAssignment_2_1_0_1; }
+		public Keyword getIsOrderedOrderedKeyword_2_0_1_0_0_0() { return cIsOrderedOrderedKeyword_2_0_1_0_0_0; }
 
 		//"!ordered"
-		public Keyword getQualifiersOrderedKeyword_2_1_0_1_0() { return cQualifiersOrderedKeyword_2_1_0_1_0; }
-
-		//qualifiers+="unique"
-		public Assignment getQualifiersAssignment_2_1_0_2() { return cQualifiersAssignment_2_1_0_2; }
-
-		//"unique"
-		public Keyword getQualifiersUniqueKeyword_2_1_0_2_0() { return cQualifiersUniqueKeyword_2_1_0_2_0; }
-
-		//qualifiers+="!unique"
-		public Assignment getQualifiersAssignment_2_1_0_3() { return cQualifiersAssignment_2_1_0_3; }
-
-		//"!unique"
-		public Keyword getQualifiersUniqueKeyword_2_1_0_3_0() { return cQualifiersUniqueKeyword_2_1_0_3_0; }
+		public Keyword getOrderedKeyword_2_0_1_0_1() { return cOrderedKeyword_2_0_1_0_1; }
 
 		//","?
-		public Keyword getCommaKeyword_2_1_1() { return cCommaKeyword_2_1_1; }
+		public Keyword getCommaKeyword_2_0_1_1() { return cCommaKeyword_2_0_1_1; }
+
+		//((isNotUnique?="!unique" | "unique") ","?)? "}"
+		public Group getGroup_2_1() { return cGroup_2_1; }
+
+		//((isNotUnique?="!unique" | "unique") ","?)?
+		public Group getGroup_2_1_0() { return cGroup_2_1_0; }
+
+		//isNotUnique?="!unique" | "unique"
+		public Alternatives getAlternatives_2_1_0_0() { return cAlternatives_2_1_0_0; }
+
+		//isNotUnique?="!unique"
+		public Assignment getIsNotUniqueAssignment_2_1_0_0_0() { return cIsNotUniqueAssignment_2_1_0_0_0; }
+
+		//"!unique"
+		public Keyword getIsNotUniqueUniqueKeyword_2_1_0_0_0_0() { return cIsNotUniqueUniqueKeyword_2_1_0_0_0_0; }
+
+		//"unique"
+		public Keyword getUniqueKeyword_2_1_0_0_1() { return cUniqueKeyword_2_1_0_0_1; }
+
+		//","?
+		public Keyword getCommaKeyword_2_1_0_1() { return cCommaKeyword_2_1_0_1; }
 
 		//"}"
-		public Keyword getRightCurlyBracketKeyword_2_2() { return cRightCurlyBracketKeyword_2_2; }
+		public Keyword getRightCurlyBracketKeyword_2_1_1() { return cRightCurlyBracketKeyword_2_1_1; }
 
 		//("{" ownedAnnotations+=AnnotationElementCS* "}")?
 		public Group getGroup_3() { return cGroup_3; }
@@ -2238,17 +2272,11 @@
 	public class ReferenceCSElements extends AbstractParserRuleElementFinder {
 		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ReferenceCS");
 		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0);
-		private final Group cGroup_0_0 = (Group)cAlternatives_0.eContents().get(0);
-		private final Assignment cQualifiersAssignment_0_0_0 = (Assignment)cGroup_0_0.eContents().get(0);
-		private final Keyword cQualifiersStaticKeyword_0_0_0_0 = (Keyword)cQualifiersAssignment_0_0_0.eContents().get(0);
-		private final Assignment cQualifiersAssignment_0_0_1 = (Assignment)cGroup_0_0.eContents().get(1);
-		private final Keyword cQualifiersDefinitionKeyword_0_0_1_0 = (Keyword)cQualifiersAssignment_0_0_1.eContents().get(0);
-		private final Group cGroup_0_1 = (Group)cAlternatives_0.eContents().get(1);
-		private final Assignment cQualifiersAssignment_0_1_0 = (Assignment)cGroup_0_1.eContents().get(0);
-		private final Keyword cQualifiersDefinitionKeyword_0_1_0_0 = (Keyword)cQualifiersAssignment_0_1_0.eContents().get(0);
-		private final Assignment cQualifiersAssignment_0_1_1 = (Assignment)cGroup_0_1.eContents().get(1);
-		private final Keyword cQualifiersStaticKeyword_0_1_1_0 = (Keyword)cQualifiersAssignment_0_1_1.eContents().get(0);
+		private final UnorderedGroup cUnorderedGroup_0 = (UnorderedGroup)cGroup.eContents().get(0);
+		private final Assignment cIsStaticAssignment_0_0 = (Assignment)cUnorderedGroup_0.eContents().get(0);
+		private final Keyword cIsStaticStaticKeyword_0_0_0 = (Keyword)cIsStaticAssignment_0_0.eContents().get(0);
+		private final Assignment cIsDefinitionAssignment_0_1 = (Assignment)cUnorderedGroup_0.eContents().get(1);
+		private final Keyword cIsDefinitionDefinitionKeyword_0_1_0 = (Keyword)cIsDefinitionAssignment_0_1.eContents().get(0);
 		private final Keyword cPropertyKeyword_1 = (Keyword)cGroup.eContents().get(1);
 		private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
 		private final RuleCall cNameUnrestrictedNameParserRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
@@ -2265,48 +2293,65 @@
 		private final Keyword cEqualsSignKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
 		private final Assignment cDefaultAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1);
 		private final RuleCall cDefaultSINGLE_QUOTED_STRINGTerminalRuleCall_5_1_0 = (RuleCall)cDefaultAssignment_5_1.eContents().get(0);
-		private final Group cGroup_6 = (Group)cGroup.eContents().get(6);
-		private final Keyword cLeftCurlyBracketKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0);
-		private final Group cGroup_6_1 = (Group)cGroup_6.eContents().get(1);
+		private final UnorderedGroup cUnorderedGroup_6 = (UnorderedGroup)cGroup.eContents().get(6);
+		private final Group cGroup_6_0 = (Group)cUnorderedGroup_6.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_6_0_0 = (Keyword)cGroup_6_0.eContents().get(0);
+		private final Group cGroup_6_0_1 = (Group)cGroup_6_0.eContents().get(1);
+		private final Alternatives cAlternatives_6_0_1_0 = (Alternatives)cGroup_6_0_1.eContents().get(0);
+		private final Assignment cIsComposesAssignment_6_0_1_0_0 = (Assignment)cAlternatives_6_0_1_0.eContents().get(0);
+		private final Keyword cIsComposesComposesKeyword_6_0_1_0_0_0 = (Keyword)cIsComposesAssignment_6_0_1_0_0.eContents().get(0);
+		private final Keyword cComposesKeyword_6_0_1_0_1 = (Keyword)cAlternatives_6_0_1_0.eContents().get(1);
+		private final Keyword cCommaKeyword_6_0_1_1 = (Keyword)cGroup_6_0_1.eContents().get(1);
+		private final Group cGroup_6_1 = (Group)cUnorderedGroup_6.eContents().get(1);
 		private final Alternatives cAlternatives_6_1_0 = (Alternatives)cGroup_6_1.eContents().get(0);
-		private final Assignment cQualifiersAssignment_6_1_0_0 = (Assignment)cAlternatives_6_1_0.eContents().get(0);
-		private final Keyword cQualifiersComposesKeyword_6_1_0_0_0 = (Keyword)cQualifiersAssignment_6_1_0_0.eContents().get(0);
-		private final Assignment cQualifiersAssignment_6_1_0_1 = (Assignment)cAlternatives_6_1_0.eContents().get(1);
-		private final Keyword cQualifiersComposesKeyword_6_1_0_1_0 = (Keyword)cQualifiersAssignment_6_1_0_1.eContents().get(0);
-		private final Assignment cQualifiersAssignment_6_1_0_2 = (Assignment)cAlternatives_6_1_0.eContents().get(2);
-		private final Keyword cQualifiersDerivedKeyword_6_1_0_2_0 = (Keyword)cQualifiersAssignment_6_1_0_2.eContents().get(0);
-		private final Assignment cQualifiersAssignment_6_1_0_3 = (Assignment)cAlternatives_6_1_0.eContents().get(3);
-		private final Keyword cQualifiersDerivedKeyword_6_1_0_3_0 = (Keyword)cQualifiersAssignment_6_1_0_3.eContents().get(0);
-		private final Assignment cQualifiersAssignment_6_1_0_4 = (Assignment)cAlternatives_6_1_0.eContents().get(4);
-		private final Keyword cQualifiersOrderedKeyword_6_1_0_4_0 = (Keyword)cQualifiersAssignment_6_1_0_4.eContents().get(0);
-		private final Assignment cQualifiersAssignment_6_1_0_5 = (Assignment)cAlternatives_6_1_0.eContents().get(5);
-		private final Keyword cQualifiersOrderedKeyword_6_1_0_5_0 = (Keyword)cQualifiersAssignment_6_1_0_5.eContents().get(0);
-		private final Assignment cQualifiersAssignment_6_1_0_6 = (Assignment)cAlternatives_6_1_0.eContents().get(6);
-		private final Keyword cQualifiersReadonlyKeyword_6_1_0_6_0 = (Keyword)cQualifiersAssignment_6_1_0_6.eContents().get(0);
-		private final Assignment cQualifiersAssignment_6_1_0_7 = (Assignment)cAlternatives_6_1_0.eContents().get(7);
-		private final Keyword cQualifiersReadonlyKeyword_6_1_0_7_0 = (Keyword)cQualifiersAssignment_6_1_0_7.eContents().get(0);
-		private final Assignment cQualifiersAssignment_6_1_0_8 = (Assignment)cAlternatives_6_1_0.eContents().get(8);
-		private final Keyword cQualifiersResolveKeyword_6_1_0_8_0 = (Keyword)cQualifiersAssignment_6_1_0_8.eContents().get(0);
-		private final Assignment cQualifiersAssignment_6_1_0_9 = (Assignment)cAlternatives_6_1_0.eContents().get(9);
-		private final Keyword cQualifiersResolveKeyword_6_1_0_9_0 = (Keyword)cQualifiersAssignment_6_1_0_9.eContents().get(0);
-		private final Assignment cQualifiersAssignment_6_1_0_10 = (Assignment)cAlternatives_6_1_0.eContents().get(10);
-		private final Keyword cQualifiersTransientKeyword_6_1_0_10_0 = (Keyword)cQualifiersAssignment_6_1_0_10.eContents().get(0);
-		private final Assignment cQualifiersAssignment_6_1_0_11 = (Assignment)cAlternatives_6_1_0.eContents().get(11);
-		private final Keyword cQualifiersTransientKeyword_6_1_0_11_0 = (Keyword)cQualifiersAssignment_6_1_0_11.eContents().get(0);
-		private final Assignment cQualifiersAssignment_6_1_0_12 = (Assignment)cAlternatives_6_1_0.eContents().get(12);
-		private final Keyword cQualifiersUniqueKeyword_6_1_0_12_0 = (Keyword)cQualifiersAssignment_6_1_0_12.eContents().get(0);
-		private final Assignment cQualifiersAssignment_6_1_0_13 = (Assignment)cAlternatives_6_1_0.eContents().get(13);
-		private final Keyword cQualifiersUniqueKeyword_6_1_0_13_0 = (Keyword)cQualifiersAssignment_6_1_0_13.eContents().get(0);
-		private final Assignment cQualifiersAssignment_6_1_0_14 = (Assignment)cAlternatives_6_1_0.eContents().get(14);
-		private final Keyword cQualifiersUnsettableKeyword_6_1_0_14_0 = (Keyword)cQualifiersAssignment_6_1_0_14.eContents().get(0);
-		private final Assignment cQualifiersAssignment_6_1_0_15 = (Assignment)cAlternatives_6_1_0.eContents().get(15);
-		private final Keyword cQualifiersUnsettableKeyword_6_1_0_15_0 = (Keyword)cQualifiersAssignment_6_1_0_15.eContents().get(0);
-		private final Assignment cQualifiersAssignment_6_1_0_16 = (Assignment)cAlternatives_6_1_0.eContents().get(16);
-		private final Keyword cQualifiersVolatileKeyword_6_1_0_16_0 = (Keyword)cQualifiersAssignment_6_1_0_16.eContents().get(0);
-		private final Assignment cQualifiersAssignment_6_1_0_17 = (Assignment)cAlternatives_6_1_0.eContents().get(17);
-		private final Keyword cQualifiersVolatileKeyword_6_1_0_17_0 = (Keyword)cQualifiersAssignment_6_1_0_17.eContents().get(0);
+		private final Assignment cIsDerivedAssignment_6_1_0_0 = (Assignment)cAlternatives_6_1_0.eContents().get(0);
+		private final Keyword cIsDerivedDerivedKeyword_6_1_0_0_0 = (Keyword)cIsDerivedAssignment_6_1_0_0.eContents().get(0);
+		private final Keyword cDerivedKeyword_6_1_0_1 = (Keyword)cAlternatives_6_1_0.eContents().get(1);
 		private final Keyword cCommaKeyword_6_1_1 = (Keyword)cGroup_6_1.eContents().get(1);
-		private final Keyword cRightCurlyBracketKeyword_6_2 = (Keyword)cGroup_6.eContents().get(2);
+		private final Group cGroup_6_2 = (Group)cUnorderedGroup_6.eContents().get(2);
+		private final Alternatives cAlternatives_6_2_0 = (Alternatives)cGroup_6_2.eContents().get(0);
+		private final Assignment cIsOrderedAssignment_6_2_0_0 = (Assignment)cAlternatives_6_2_0.eContents().get(0);
+		private final Keyword cIsOrderedOrderedKeyword_6_2_0_0_0 = (Keyword)cIsOrderedAssignment_6_2_0_0.eContents().get(0);
+		private final Keyword cOrderedKeyword_6_2_0_1 = (Keyword)cAlternatives_6_2_0.eContents().get(1);
+		private final Keyword cCommaKeyword_6_2_1 = (Keyword)cGroup_6_2.eContents().get(1);
+		private final Group cGroup_6_3 = (Group)cUnorderedGroup_6.eContents().get(3);
+		private final Alternatives cAlternatives_6_3_0 = (Alternatives)cGroup_6_3.eContents().get(0);
+		private final Assignment cIsReadonlyAssignment_6_3_0_0 = (Assignment)cAlternatives_6_3_0.eContents().get(0);
+		private final Keyword cIsReadonlyReadonlyKeyword_6_3_0_0_0 = (Keyword)cIsReadonlyAssignment_6_3_0_0.eContents().get(0);
+		private final Keyword cReadonlyKeyword_6_3_0_1 = (Keyword)cAlternatives_6_3_0.eContents().get(1);
+		private final Keyword cCommaKeyword_6_3_1 = (Keyword)cGroup_6_3.eContents().get(1);
+		private final Group cGroup_6_4 = (Group)cUnorderedGroup_6.eContents().get(4);
+		private final Alternatives cAlternatives_6_4_0 = (Alternatives)cGroup_6_4.eContents().get(0);
+		private final Assignment cIsResolveAssignment_6_4_0_0 = (Assignment)cAlternatives_6_4_0.eContents().get(0);
+		private final Keyword cIsResolveResolveKeyword_6_4_0_0_0 = (Keyword)cIsResolveAssignment_6_4_0_0.eContents().get(0);
+		private final Keyword cResolveKeyword_6_4_0_1 = (Keyword)cAlternatives_6_4_0.eContents().get(1);
+		private final Keyword cCommaKeyword_6_4_1 = (Keyword)cGroup_6_4.eContents().get(1);
+		private final Group cGroup_6_5 = (Group)cUnorderedGroup_6.eContents().get(5);
+		private final Alternatives cAlternatives_6_5_0 = (Alternatives)cGroup_6_5.eContents().get(0);
+		private final Assignment cIsTransientAssignment_6_5_0_0 = (Assignment)cAlternatives_6_5_0.eContents().get(0);
+		private final Keyword cIsTransientTransientKeyword_6_5_0_0_0 = (Keyword)cIsTransientAssignment_6_5_0_0.eContents().get(0);
+		private final Keyword cTransientKeyword_6_5_0_1 = (Keyword)cAlternatives_6_5_0.eContents().get(1);
+		private final Keyword cCommaKeyword_6_5_1 = (Keyword)cGroup_6_5.eContents().get(1);
+		private final Group cGroup_6_6 = (Group)cUnorderedGroup_6.eContents().get(6);
+		private final Alternatives cAlternatives_6_6_0 = (Alternatives)cGroup_6_6.eContents().get(0);
+		private final Assignment cIsNotUniqueAssignment_6_6_0_0 = (Assignment)cAlternatives_6_6_0.eContents().get(0);
+		private final Keyword cIsNotUniqueUniqueKeyword_6_6_0_0_0 = (Keyword)cIsNotUniqueAssignment_6_6_0_0.eContents().get(0);
+		private final Keyword cUniqueKeyword_6_6_0_1 = (Keyword)cAlternatives_6_6_0.eContents().get(1);
+		private final Keyword cCommaKeyword_6_6_1 = (Keyword)cGroup_6_6.eContents().get(1);
+		private final Group cGroup_6_7 = (Group)cUnorderedGroup_6.eContents().get(7);
+		private final Alternatives cAlternatives_6_7_0 = (Alternatives)cGroup_6_7.eContents().get(0);
+		private final Assignment cIsUnsettableAssignment_6_7_0_0 = (Assignment)cAlternatives_6_7_0.eContents().get(0);
+		private final Keyword cIsUnsettableUnsettableKeyword_6_7_0_0_0 = (Keyword)cIsUnsettableAssignment_6_7_0_0.eContents().get(0);
+		private final Keyword cUnsettableKeyword_6_7_0_1 = (Keyword)cAlternatives_6_7_0.eContents().get(1);
+		private final Keyword cCommaKeyword_6_7_1 = (Keyword)cGroup_6_7.eContents().get(1);
+		private final Group cGroup_6_8 = (Group)cUnorderedGroup_6.eContents().get(8);
+		private final Group cGroup_6_8_0 = (Group)cGroup_6_8.eContents().get(0);
+		private final Alternatives cAlternatives_6_8_0_0 = (Alternatives)cGroup_6_8_0.eContents().get(0);
+		private final Assignment cIsVolatileAssignment_6_8_0_0_0 = (Assignment)cAlternatives_6_8_0_0.eContents().get(0);
+		private final Keyword cIsVolatileVolatileKeyword_6_8_0_0_0_0 = (Keyword)cIsVolatileAssignment_6_8_0_0_0.eContents().get(0);
+		private final Keyword cVolatileKeyword_6_8_0_0_1 = (Keyword)cAlternatives_6_8_0_0.eContents().get(1);
+		private final Keyword cCommaKeyword_6_8_0_1 = (Keyword)cGroup_6_8_0.eContents().get(1);
+		private final Keyword cRightCurlyBracketKeyword_6_8_1 = (Keyword)cGroup_6_8.eContents().get(1);
 		private final Alternatives cAlternatives_7 = (Alternatives)cGroup.eContents().get(7);
 		private final Group cGroup_7_0 = (Group)cAlternatives_7.eContents().get(0);
 		private final Keyword cLeftCurlyBracketKeyword_7_0_0 = (Keyword)cGroup_7_0.eContents().get(0);
@@ -2342,65 +2387,45 @@
 		private final Keyword cSemicolonKeyword_7_1 = (Keyword)cAlternatives_7.eContents().get(1);
 		
 		//ReferenceCS returns base::ReferenceCS:
-		//	(qualifiers+="static" qualifiers+="definition"? | qualifiers+="definition" qualifiers+="static"?)? "property"
-		//	name=UnrestrictedName ("#" referredOpposite=[pivot::Property|UnrestrictedName])? (":"
-		//	ownedType=TypedMultiplicityRefCS)? ("=" default=SINGLE_QUOTED_STRING)? ("{" ((qualifiers+="composes" |
-		//	qualifiers+="!composes" | qualifiers+="derived" | qualifiers+="!derived" | qualifiers+="ordered" |
-		//	qualifiers+="!ordered" | qualifiers+="readonly" | qualifiers+="!readonly" | qualifiers+="resolve" |
-		//	qualifiers+="!resolve" | qualifiers+="transient" | qualifiers+="!transient" | qualifiers+="unique" |
-		//	qualifiers+="!unique" | qualifiers+="unsettable" | qualifiers+="!unsettable" | qualifiers+="volatile" |
-		//	qualifiers+="!volatile") ","?)+ "}")? ("{" (ownedAnnotations+=AnnotationElementCS | "key"
+		//	(isStatic?="static"? & isDefinition?="definition"?) "property" name=UnrestrictedName ("#"
+		//	referredOpposite=[pivot::Property|UnrestrictedName])? (":" ownedType=TypedMultiplicityRefCS)? ("="
+		//	default=SINGLE_QUOTED_STRING)? ("{" ((isComposes?="composes" | "!composes") ","?)? & ((isDerived?="derived" |
+		//	"!derived") ","?)? & ((isOrdered?="ordered" | "!ordered") ","?)? & ((isReadonly?="readonly" | "!readonly") ","?)? &
+		//	((isResolve?="resolve" | "!resolve") ","?)? & ((isTransient?="transient" | "!transient") ","?)? &
+		//	((isNotUnique?="!unique" | "unique") ","?)? & ((isUnsettable?="unsettable" | "!unsettable") ","?)? &
+		//	((isVolatile?="volatile" | "!volatile") ","?)? "}")? ("{" (ownedAnnotations+=AnnotationElementCS | "key"
 		//	referredKeys+=[pivot::Property|UnrestrictedName] ("," referredKeys+=[pivot::Property|UnrestrictedName])* ";" |
 		//	"derivation" UnrestrictedName? ":" ownedDefaultExpressions+=SpecificationCS? ";" | "initial" UnrestrictedName? ":"
 		//	ownedDefaultExpressions+=SpecificationCS? ";")* "}" | ";");
 		@Override
 		public ParserRule getRule() { return rule; }
 
-		//(qualifiers+="static" qualifiers+="definition"? | qualifiers+="definition" qualifiers+="static"?)? "property"
-		//name=UnrestrictedName ("#" referredOpposite=[pivot::Property|UnrestrictedName])? (":"
-		//ownedType=TypedMultiplicityRefCS)? ("=" default=SINGLE_QUOTED_STRING)? ("{" ((qualifiers+="composes" |
-		//qualifiers+="!composes" | qualifiers+="derived" | qualifiers+="!derived" | qualifiers+="ordered" |
-		//qualifiers+="!ordered" | qualifiers+="readonly" | qualifiers+="!readonly" | qualifiers+="resolve" |
-		//qualifiers+="!resolve" | qualifiers+="transient" | qualifiers+="!transient" | qualifiers+="unique" |
-		//qualifiers+="!unique" | qualifiers+="unsettable" | qualifiers+="!unsettable" | qualifiers+="volatile" |
-		//qualifiers+="!volatile") ","?)+ "}")? ("{" (ownedAnnotations+=AnnotationElementCS | "key"
+		//(isStatic?="static"? & isDefinition?="definition"?) "property" name=UnrestrictedName ("#"
+		//referredOpposite=[pivot::Property|UnrestrictedName])? (":" ownedType=TypedMultiplicityRefCS)? ("="
+		//default=SINGLE_QUOTED_STRING)? ("{" ((isComposes?="composes" | "!composes") ","?)? & ((isDerived?="derived" |
+		//"!derived") ","?)? & ((isOrdered?="ordered" | "!ordered") ","?)? & ((isReadonly?="readonly" | "!readonly") ","?)? &
+		//((isResolve?="resolve" | "!resolve") ","?)? & ((isTransient?="transient" | "!transient") ","?)? &
+		//((isNotUnique?="!unique" | "unique") ","?)? & ((isUnsettable?="unsettable" | "!unsettable") ","?)? &
+		//((isVolatile?="volatile" | "!volatile") ","?)? "}")? ("{" (ownedAnnotations+=AnnotationElementCS | "key"
 		//referredKeys+=[pivot::Property|UnrestrictedName] ("," referredKeys+=[pivot::Property|UnrestrictedName])* ";" |
 		//"derivation" UnrestrictedName? ":" ownedDefaultExpressions+=SpecificationCS? ";" | "initial" UnrestrictedName? ":"
 		//ownedDefaultExpressions+=SpecificationCS? ";")* "}" | ";")
 		public Group getGroup() { return cGroup; }
 
-		//(qualifiers+="static" qualifiers+="definition"? | qualifiers+="definition" qualifiers+="static"?)?
-		public Alternatives getAlternatives_0() { return cAlternatives_0; }
+		//isStatic?="static"? & isDefinition?="definition"?
+		public UnorderedGroup getUnorderedGroup_0() { return cUnorderedGroup_0; }
 
-		//qualifiers+="static" qualifiers+="definition"?
-		public Group getGroup_0_0() { return cGroup_0_0; }
-
-		//qualifiers+="static"
-		public Assignment getQualifiersAssignment_0_0_0() { return cQualifiersAssignment_0_0_0; }
+		//isStatic?="static"?
+		public Assignment getIsStaticAssignment_0_0() { return cIsStaticAssignment_0_0; }
 
 		//"static"
-		public Keyword getQualifiersStaticKeyword_0_0_0_0() { return cQualifiersStaticKeyword_0_0_0_0; }
+		public Keyword getIsStaticStaticKeyword_0_0_0() { return cIsStaticStaticKeyword_0_0_0; }
 
-		//qualifiers+="definition"?
-		public Assignment getQualifiersAssignment_0_0_1() { return cQualifiersAssignment_0_0_1; }
+		//isDefinition?="definition"?
+		public Assignment getIsDefinitionAssignment_0_1() { return cIsDefinitionAssignment_0_1; }
 
 		//"definition"
-		public Keyword getQualifiersDefinitionKeyword_0_0_1_0() { return cQualifiersDefinitionKeyword_0_0_1_0; }
-
-		//qualifiers+="definition" qualifiers+="static"?
-		public Group getGroup_0_1() { return cGroup_0_1; }
-
-		//qualifiers+="definition"
-		public Assignment getQualifiersAssignment_0_1_0() { return cQualifiersAssignment_0_1_0; }
-
-		//"definition"
-		public Keyword getQualifiersDefinitionKeyword_0_1_0_0() { return cQualifiersDefinitionKeyword_0_1_0_0; }
-
-		//qualifiers+="static"?
-		public Assignment getQualifiersAssignment_0_1_1() { return cQualifiersAssignment_0_1_1; }
-
-		//"static"
-		public Keyword getQualifiersStaticKeyword_0_1_1_0() { return cQualifiersStaticKeyword_0_1_1_0; }
+		public Keyword getIsDefinitionDefinitionKeyword_0_1_0() { return cIsDefinitionDefinitionKeyword_0_1_0; }
 
 		//"property"
 		public Keyword getPropertyKeyword_1() { return cPropertyKeyword_1; }
@@ -2450,143 +2475,185 @@
 		//SINGLE_QUOTED_STRING
 		public RuleCall getDefaultSINGLE_QUOTED_STRINGTerminalRuleCall_5_1_0() { return cDefaultSINGLE_QUOTED_STRINGTerminalRuleCall_5_1_0; }
 
-		//("{" ((qualifiers+="composes" | qualifiers+="!composes" | qualifiers+="derived" | qualifiers+="!derived" |
-		//qualifiers+="ordered" | qualifiers+="!ordered" | qualifiers+="readonly" | qualifiers+="!readonly" |
-		//qualifiers+="resolve" | qualifiers+="!resolve" | qualifiers+="transient" | qualifiers+="!transient" |
-		//qualifiers+="unique" | qualifiers+="!unique" | qualifiers+="unsettable" | qualifiers+="!unsettable" |
-		//qualifiers+="volatile" | qualifiers+="!volatile") ","?)+ "}")?
-		public Group getGroup_6() { return cGroup_6; }
+		//("{" ((isComposes?="composes" | "!composes") ","?)? & ((isDerived?="derived" | "!derived") ","?)? &
+		//((isOrdered?="ordered" | "!ordered") ","?)? & ((isReadonly?="readonly" | "!readonly") ","?)? & ((isResolve?="resolve"
+		//| "!resolve") ","?)? & ((isTransient?="transient" | "!transient") ","?)? & ((isNotUnique?="!unique" | "unique") ","?)?
+		//& ((isUnsettable?="unsettable" | "!unsettable") ","?)? & ((isVolatile?="volatile" | "!volatile") ","?)? "}")?
+		public UnorderedGroup getUnorderedGroup_6() { return cUnorderedGroup_6; }
+
+		//"{" ((isComposes?="composes" | "!composes") ","?)?
+		public Group getGroup_6_0() { return cGroup_6_0; }
 
 		//"{"
-		public Keyword getLeftCurlyBracketKeyword_6_0() { return cLeftCurlyBracketKeyword_6_0; }
+		public Keyword getLeftCurlyBracketKeyword_6_0_0() { return cLeftCurlyBracketKeyword_6_0_0; }
 
-		//((qualifiers+="composes" | qualifiers+="!composes" | qualifiers+="derived" | qualifiers+="!derived" |
-		//qualifiers+="ordered" | qualifiers+="!ordered" | qualifiers+="readonly" | qualifiers+="!readonly" |
-		//qualifiers+="resolve" | qualifiers+="!resolve" | qualifiers+="transient" | qualifiers+="!transient" |
-		//qualifiers+="unique" | qualifiers+="!unique" | qualifiers+="unsettable" | qualifiers+="!unsettable" |
-		//qualifiers+="volatile" | qualifiers+="!volatile") ","?)+
-		public Group getGroup_6_1() { return cGroup_6_1; }
+		//((isComposes?="composes" | "!composes") ","?)?
+		public Group getGroup_6_0_1() { return cGroup_6_0_1; }
 
-		//qualifiers+="composes" | qualifiers+="!composes" | qualifiers+="derived" | qualifiers+="!derived" |
-		//qualifiers+="ordered" | qualifiers+="!ordered" | qualifiers+="readonly" | qualifiers+="!readonly" |
-		//qualifiers+="resolve" | qualifiers+="!resolve" | qualifiers+="transient" | qualifiers+="!transient" |
-		//qualifiers+="unique" | qualifiers+="!unique" | qualifiers+="unsettable" | qualifiers+="!unsettable" |
-		//qualifiers+="volatile" | qualifiers+="!volatile"
-		public Alternatives getAlternatives_6_1_0() { return cAlternatives_6_1_0; }
+		//isComposes?="composes" | "!composes"
+		public Alternatives getAlternatives_6_0_1_0() { return cAlternatives_6_0_1_0; }
 
-		//qualifiers+="composes"
-		public Assignment getQualifiersAssignment_6_1_0_0() { return cQualifiersAssignment_6_1_0_0; }
+		//isComposes?="composes"
+		public Assignment getIsComposesAssignment_6_0_1_0_0() { return cIsComposesAssignment_6_0_1_0_0; }
 
 		//"composes"
-		public Keyword getQualifiersComposesKeyword_6_1_0_0_0() { return cQualifiersComposesKeyword_6_1_0_0_0; }
-
-		//qualifiers+="!composes"
-		public Assignment getQualifiersAssignment_6_1_0_1() { return cQualifiersAssignment_6_1_0_1; }
+		public Keyword getIsComposesComposesKeyword_6_0_1_0_0_0() { return cIsComposesComposesKeyword_6_0_1_0_0_0; }
 
 		//"!composes"
-		public Keyword getQualifiersComposesKeyword_6_1_0_1_0() { return cQualifiersComposesKeyword_6_1_0_1_0; }
+		public Keyword getComposesKeyword_6_0_1_0_1() { return cComposesKeyword_6_0_1_0_1; }
 
-		//qualifiers+="derived"
-		public Assignment getQualifiersAssignment_6_1_0_2() { return cQualifiersAssignment_6_1_0_2; }
+		//","?
+		public Keyword getCommaKeyword_6_0_1_1() { return cCommaKeyword_6_0_1_1; }
+
+		//((isDerived?="derived" | "!derived") ","?)?
+		public Group getGroup_6_1() { return cGroup_6_1; }
+
+		//isDerived?="derived" | "!derived"
+		public Alternatives getAlternatives_6_1_0() { return cAlternatives_6_1_0; }
+
+		//isDerived?="derived"
+		public Assignment getIsDerivedAssignment_6_1_0_0() { return cIsDerivedAssignment_6_1_0_0; }
 
 		//"derived"
-		public Keyword getQualifiersDerivedKeyword_6_1_0_2_0() { return cQualifiersDerivedKeyword_6_1_0_2_0; }
-
-		//qualifiers+="!derived"
-		public Assignment getQualifiersAssignment_6_1_0_3() { return cQualifiersAssignment_6_1_0_3; }
+		public Keyword getIsDerivedDerivedKeyword_6_1_0_0_0() { return cIsDerivedDerivedKeyword_6_1_0_0_0; }
 
 		//"!derived"
-		public Keyword getQualifiersDerivedKeyword_6_1_0_3_0() { return cQualifiersDerivedKeyword_6_1_0_3_0; }
-
-		//qualifiers+="ordered"
-		public Assignment getQualifiersAssignment_6_1_0_4() { return cQualifiersAssignment_6_1_0_4; }
-
-		//"ordered"
-		public Keyword getQualifiersOrderedKeyword_6_1_0_4_0() { return cQualifiersOrderedKeyword_6_1_0_4_0; }
-
-		//qualifiers+="!ordered"
-		public Assignment getQualifiersAssignment_6_1_0_5() { return cQualifiersAssignment_6_1_0_5; }
-
-		//"!ordered"
-		public Keyword getQualifiersOrderedKeyword_6_1_0_5_0() { return cQualifiersOrderedKeyword_6_1_0_5_0; }
-
-		//qualifiers+="readonly"
-		public Assignment getQualifiersAssignment_6_1_0_6() { return cQualifiersAssignment_6_1_0_6; }
-
-		//"readonly"
-		public Keyword getQualifiersReadonlyKeyword_6_1_0_6_0() { return cQualifiersReadonlyKeyword_6_1_0_6_0; }
-
-		//qualifiers+="!readonly"
-		public Assignment getQualifiersAssignment_6_1_0_7() { return cQualifiersAssignment_6_1_0_7; }
-
-		//"!readonly"
-		public Keyword getQualifiersReadonlyKeyword_6_1_0_7_0() { return cQualifiersReadonlyKeyword_6_1_0_7_0; }
-
-		//qualifiers+="resolve"
-		public Assignment getQualifiersAssignment_6_1_0_8() { return cQualifiersAssignment_6_1_0_8; }
-
-		//"resolve"
-		public Keyword getQualifiersResolveKeyword_6_1_0_8_0() { return cQualifiersResolveKeyword_6_1_0_8_0; }
-
-		//qualifiers+="!resolve"
-		public Assignment getQualifiersAssignment_6_1_0_9() { return cQualifiersAssignment_6_1_0_9; }
-
-		//"!resolve"
-		public Keyword getQualifiersResolveKeyword_6_1_0_9_0() { return cQualifiersResolveKeyword_6_1_0_9_0; }
-
-		//qualifiers+="transient"
-		public Assignment getQualifiersAssignment_6_1_0_10() { return cQualifiersAssignment_6_1_0_10; }
-
-		//"transient"
-		public Keyword getQualifiersTransientKeyword_6_1_0_10_0() { return cQualifiersTransientKeyword_6_1_0_10_0; }
-
-		//qualifiers+="!transient"
-		public Assignment getQualifiersAssignment_6_1_0_11() { return cQualifiersAssignment_6_1_0_11; }
-
-		//"!transient"
-		public Keyword getQualifiersTransientKeyword_6_1_0_11_0() { return cQualifiersTransientKeyword_6_1_0_11_0; }
-
-		//qualifiers+="unique"
-		public Assignment getQualifiersAssignment_6_1_0_12() { return cQualifiersAssignment_6_1_0_12; }
-
-		//"unique"
-		public Keyword getQualifiersUniqueKeyword_6_1_0_12_0() { return cQualifiersUniqueKeyword_6_1_0_12_0; }
-
-		//qualifiers+="!unique"
-		public Assignment getQualifiersAssignment_6_1_0_13() { return cQualifiersAssignment_6_1_0_13; }
-
-		//"!unique"
-		public Keyword getQualifiersUniqueKeyword_6_1_0_13_0() { return cQualifiersUniqueKeyword_6_1_0_13_0; }
-
-		//qualifiers+="unsettable"
-		public Assignment getQualifiersAssignment_6_1_0_14() { return cQualifiersAssignment_6_1_0_14; }
-
-		//"unsettable"
-		public Keyword getQualifiersUnsettableKeyword_6_1_0_14_0() { return cQualifiersUnsettableKeyword_6_1_0_14_0; }
-
-		//qualifiers+="!unsettable"
-		public Assignment getQualifiersAssignment_6_1_0_15() { return cQualifiersAssignment_6_1_0_15; }
-
-		//"!unsettable"
-		public Keyword getQualifiersUnsettableKeyword_6_1_0_15_0() { return cQualifiersUnsettableKeyword_6_1_0_15_0; }
-
-		//qualifiers+="volatile"
-		public Assignment getQualifiersAssignment_6_1_0_16() { return cQualifiersAssignment_6_1_0_16; }
-
-		//"volatile"
-		public Keyword getQualifiersVolatileKeyword_6_1_0_16_0() { return cQualifiersVolatileKeyword_6_1_0_16_0; }
-
-		//qualifiers+="!volatile"
-		public Assignment getQualifiersAssignment_6_1_0_17() { return cQualifiersAssignment_6_1_0_17; }
-
-		//"!volatile"
-		public Keyword getQualifiersVolatileKeyword_6_1_0_17_0() { return cQualifiersVolatileKeyword_6_1_0_17_0; }
+		public Keyword getDerivedKeyword_6_1_0_1() { return cDerivedKeyword_6_1_0_1; }
 
 		//","?
 		public Keyword getCommaKeyword_6_1_1() { return cCommaKeyword_6_1_1; }
 
+		//((isOrdered?="ordered" | "!ordered") ","?)?
+		public Group getGroup_6_2() { return cGroup_6_2; }
+
+		//isOrdered?="ordered" | "!ordered"
+		public Alternatives getAlternatives_6_2_0() { return cAlternatives_6_2_0; }
+
+		//isOrdered?="ordered"
+		public Assignment getIsOrderedAssignment_6_2_0_0() { return cIsOrderedAssignment_6_2_0_0; }
+
+		//"ordered"
+		public Keyword getIsOrderedOrderedKeyword_6_2_0_0_0() { return cIsOrderedOrderedKeyword_6_2_0_0_0; }
+
+		//"!ordered"
+		public Keyword getOrderedKeyword_6_2_0_1() { return cOrderedKeyword_6_2_0_1; }
+
+		//","?
+		public Keyword getCommaKeyword_6_2_1() { return cCommaKeyword_6_2_1; }
+
+		//((isReadonly?="readonly" | "!readonly") ","?)?
+		public Group getGroup_6_3() { return cGroup_6_3; }
+
+		//isReadonly?="readonly" | "!readonly"
+		public Alternatives getAlternatives_6_3_0() { return cAlternatives_6_3_0; }
+
+		//isReadonly?="readonly"
+		public Assignment getIsReadonlyAssignment_6_3_0_0() { return cIsReadonlyAssignment_6_3_0_0; }
+
+		//"readonly"
+		public Keyword getIsReadonlyReadonlyKeyword_6_3_0_0_0() { return cIsReadonlyReadonlyKeyword_6_3_0_0_0; }
+
+		//"!readonly"
+		public Keyword getReadonlyKeyword_6_3_0_1() { return cReadonlyKeyword_6_3_0_1; }
+
+		//","?
+		public Keyword getCommaKeyword_6_3_1() { return cCommaKeyword_6_3_1; }
+
+		//((isResolve?="resolve" | "!resolve") ","?)?
+		public Group getGroup_6_4() { return cGroup_6_4; }
+
+		//isResolve?="resolve" | "!resolve"
+		public Alternatives getAlternatives_6_4_0() { return cAlternatives_6_4_0; }
+
+		//isResolve?="resolve"
+		public Assignment getIsResolveAssignment_6_4_0_0() { return cIsResolveAssignment_6_4_0_0; }
+
+		//"resolve"
+		public Keyword getIsResolveResolveKeyword_6_4_0_0_0() { return cIsResolveResolveKeyword_6_4_0_0_0; }
+
+		//"!resolve"
+		public Keyword getResolveKeyword_6_4_0_1() { return cResolveKeyword_6_4_0_1; }
+
+		//","?
+		public Keyword getCommaKeyword_6_4_1() { return cCommaKeyword_6_4_1; }
+
+		//((isTransient?="transient" | "!transient") ","?)?
+		public Group getGroup_6_5() { return cGroup_6_5; }
+
+		//isTransient?="transient" | "!transient"
+		public Alternatives getAlternatives_6_5_0() { return cAlternatives_6_5_0; }
+
+		//isTransient?="transient"
+		public Assignment getIsTransientAssignment_6_5_0_0() { return cIsTransientAssignment_6_5_0_0; }
+
+		//"transient"
+		public Keyword getIsTransientTransientKeyword_6_5_0_0_0() { return cIsTransientTransientKeyword_6_5_0_0_0; }
+
+		//"!transient"
+		public Keyword getTransientKeyword_6_5_0_1() { return cTransientKeyword_6_5_0_1; }
+
+		//","?
+		public Keyword getCommaKeyword_6_5_1() { return cCommaKeyword_6_5_1; }
+
+		//((isNotUnique?="!unique" | "unique") ","?)?
+		public Group getGroup_6_6() { return cGroup_6_6; }
+
+		//isNotUnique?="!unique" | "unique"
+		public Alternatives getAlternatives_6_6_0() { return cAlternatives_6_6_0; }
+
+		//isNotUnique?="!unique"
+		public Assignment getIsNotUniqueAssignment_6_6_0_0() { return cIsNotUniqueAssignment_6_6_0_0; }
+
+		//"!unique"
+		public Keyword getIsNotUniqueUniqueKeyword_6_6_0_0_0() { return cIsNotUniqueUniqueKeyword_6_6_0_0_0; }
+
+		//"unique"
+		public Keyword getUniqueKeyword_6_6_0_1() { return cUniqueKeyword_6_6_0_1; }
+
+		//","?
+		public Keyword getCommaKeyword_6_6_1() { return cCommaKeyword_6_6_1; }
+
+		//((isUnsettable?="unsettable" | "!unsettable") ","?)?
+		public Group getGroup_6_7() { return cGroup_6_7; }
+
+		//isUnsettable?="unsettable" | "!unsettable"
+		public Alternatives getAlternatives_6_7_0() { return cAlternatives_6_7_0; }
+
+		//isUnsettable?="unsettable"
+		public Assignment getIsUnsettableAssignment_6_7_0_0() { return cIsUnsettableAssignment_6_7_0_0; }
+
+		//"unsettable"
+		public Keyword getIsUnsettableUnsettableKeyword_6_7_0_0_0() { return cIsUnsettableUnsettableKeyword_6_7_0_0_0; }
+
+		//"!unsettable"
+		public Keyword getUnsettableKeyword_6_7_0_1() { return cUnsettableKeyword_6_7_0_1; }
+
+		//","?
+		public Keyword getCommaKeyword_6_7_1() { return cCommaKeyword_6_7_1; }
+
+		//((isVolatile?="volatile" | "!volatile") ","?)? "}"
+		public Group getGroup_6_8() { return cGroup_6_8; }
+
+		//((isVolatile?="volatile" | "!volatile") ","?)?
+		public Group getGroup_6_8_0() { return cGroup_6_8_0; }
+
+		//isVolatile?="volatile" | "!volatile"
+		public Alternatives getAlternatives_6_8_0_0() { return cAlternatives_6_8_0_0; }
+
+		//isVolatile?="volatile"
+		public Assignment getIsVolatileAssignment_6_8_0_0_0() { return cIsVolatileAssignment_6_8_0_0_0; }
+
+		//"volatile"
+		public Keyword getIsVolatileVolatileKeyword_6_8_0_0_0_0() { return cIsVolatileVolatileKeyword_6_8_0_0_0_0; }
+
+		//"!volatile"
+		public Keyword getVolatileKeyword_6_8_0_0_1() { return cVolatileKeyword_6_8_0_0_1; }
+
+		//","?
+		public Keyword getCommaKeyword_6_8_0_1() { return cCommaKeyword_6_8_0_1; }
+
 		//"}"
-		public Keyword getRightCurlyBracketKeyword_6_2() { return cRightCurlyBracketKeyword_6_2; }
+		public Keyword getRightCurlyBracketKeyword_6_8_1() { return cRightCurlyBracketKeyword_6_8_1; }
 
 		//"{" (ownedAnnotations+=AnnotationElementCS | "key" referredKeys+=[pivot::Property|UnrestrictedName] (","
 		//referredKeys+=[pivot::Property|UnrestrictedName])* ";" | "derivation" UnrestrictedName? ":"
@@ -3499,12 +3566,11 @@
 	}
 
 	//AttributeCS returns base::AttributeCS:
-	//	(qualifiers+="static" qualifiers+="definition"? | qualifiers+="definition" qualifiers+="static"?)? "attribute"
-	//	name=UnrestrictedName (":" ownedType=TypedMultiplicityRefCS)? ("=" default=SINGLE_QUOTED_STRING)? ("{"
-	//	((qualifiers+="derived" | qualifiers+="!derived" | qualifiers+="id" | qualifiers+="!id" | qualifiers+="ordered" |
-	//	qualifiers+="!ordered" | qualifiers+="readonly" | qualifiers+="!readonly" | qualifiers+="transient" |
-	//	qualifiers+="!transient" | qualifiers+="unique" | qualifiers+="!unique" | qualifiers+="unsettable" |
-	//	qualifiers+="!unsettable" | qualifiers+="volatile" | qualifiers+="!volatile") ","?)+ "}")? ("{"
+	//	(isStatic?="static"? & isDefinition?="definition"?) "attribute" name=UnrestrictedName (":"
+	//	ownedType=TypedMultiplicityRefCS)? ("=" default=SINGLE_QUOTED_STRING)? ("{" ((isDerived?="derived" | "!derived")
+	//	","?)? & ((isId?="id" | "!id") ","?)? & ((isOrdered?="ordered" | "!ordered") ","?)? & ((isReadonly?="readonly" |
+	//	"!readonly") ","?)? & ((isTransient?="transient" | "!transient") ","?)? & ((isNotUnique?="!unique" | "unique") ","?)?
+	//	& ((isUnsettable?="unsettable" | "!unsettable") ","?)? & ((isVolatile?="volatile" | "!volatile") ","?)? "}")? ("{"
 	//	(ownedAnnotations+=AnnotationElementCS | "derivation" UnrestrictedName? ":" ownedDefaultExpressions+=SpecificationCS?
 	//	";" | "initial" UnrestrictedName? ":" ownedDefaultExpressions+=SpecificationCS? ";")* "}" | ";");
 	public AttributeCSElements getAttributeCSAccess() {
@@ -3622,13 +3688,13 @@
 	}
 
 	//OperationCS returns base::OperationCS:
-	//	(qualifiers+="static" qualifiers+="definition"? | qualifiers+="definition" qualifiers+="static"?)? "operation"
-	//	ownedSignature=TemplateSignatureCS? name=UnrestrictedName "(" (ownedParameters+=ParameterCS (","
-	//	ownedParameters+=ParameterCS)*)? ")" (":" ownedType=TypedMultiplicityRefCS)? ("throws" ownedExceptions+=TypedRefCS
-	//	("," ownedExceptions+=TypedRefCS)*)? ("{" ((qualifiers+="derived" | qualifiers+="!derived" | qualifiers+="ordered" |
-	//	qualifiers+="!ordered" | qualifiers+="unique" | qualifiers+="!unique") ","?)+ "}")? ("{"
-	//	(ownedAnnotations+=AnnotationElementCS | ownedPreconditions+=PreconditionConstraintCS | "body" UnrestrictedName? ":"
-	//	ownedBodyExpressions+=SpecificationCS? ";" | ownedPostconditions+=PostconditionConstraintCS)* "}" | ";");
+	//	(isStatic?="static"? & isDefinition?="definition"?) "operation" ownedSignature=TemplateSignatureCS?
+	//	name=UnrestrictedName "(" (ownedParameters+=ParameterCS ("," ownedParameters+=ParameterCS)*)? ")" (":"
+	//	ownedType=TypedMultiplicityRefCS)? ("throws" ownedExceptions+=TypedRefCS ("," ownedExceptions+=TypedRefCS)*)? ("{"
+	//	((isDerived?="derived" | "!derived") ","?)? & ((isOrdered?="ordered" | "!ordered") ","?)? & ((isNotUnique?="!unique"
+	//	| "unique") ","?)? "}")? ("{" (ownedAnnotations+=AnnotationElementCS | ownedPreconditions+=PreconditionConstraintCS |
+	//	"body" UnrestrictedName? ":" ownedBodyExpressions+=SpecificationCS? ";" |
+	//	ownedPostconditions+=PostconditionConstraintCS)* "}" | ";");
 	public OperationCSElements getOperationCSAccess() {
 		return pOperationCS;
 	}
@@ -3649,8 +3715,8 @@
 	}
 
 	//ParameterCS returns base::ParameterCS:
-	//	name=UnrestrictedName (":" ownedType=TypedMultiplicityRefCS)? ("{" ((qualifiers+="ordered" | qualifiers+="!ordered" |
-	//	qualifiers+="unique" | qualifiers+="!unique") ","?)+ "}")? ("{" ownedAnnotations+=AnnotationElementCS* "}")?;
+	//	name=UnrestrictedName (":" ownedType=TypedMultiplicityRefCS)? ("{" ((isOrdered?="ordered" | "!ordered") ","?)? &
+	//	((isNotUnique?="!unique" | "unique") ","?)? "}")? ("{" ownedAnnotations+=AnnotationElementCS* "}")?;
 	public ParameterCSElements getParameterCSAccess() {
 		return pParameterCS;
 	}
@@ -3660,14 +3726,13 @@
 	}
 
 	//ReferenceCS returns base::ReferenceCS:
-	//	(qualifiers+="static" qualifiers+="definition"? | qualifiers+="definition" qualifiers+="static"?)? "property"
-	//	name=UnrestrictedName ("#" referredOpposite=[pivot::Property|UnrestrictedName])? (":"
-	//	ownedType=TypedMultiplicityRefCS)? ("=" default=SINGLE_QUOTED_STRING)? ("{" ((qualifiers+="composes" |
-	//	qualifiers+="!composes" | qualifiers+="derived" | qualifiers+="!derived" | qualifiers+="ordered" |
-	//	qualifiers+="!ordered" | qualifiers+="readonly" | qualifiers+="!readonly" | qualifiers+="resolve" |
-	//	qualifiers+="!resolve" | qualifiers+="transient" | qualifiers+="!transient" | qualifiers+="unique" |
-	//	qualifiers+="!unique" | qualifiers+="unsettable" | qualifiers+="!unsettable" | qualifiers+="volatile" |
-	//	qualifiers+="!volatile") ","?)+ "}")? ("{" (ownedAnnotations+=AnnotationElementCS | "key"
+	//	(isStatic?="static"? & isDefinition?="definition"?) "property" name=UnrestrictedName ("#"
+	//	referredOpposite=[pivot::Property|UnrestrictedName])? (":" ownedType=TypedMultiplicityRefCS)? ("="
+	//	default=SINGLE_QUOTED_STRING)? ("{" ((isComposes?="composes" | "!composes") ","?)? & ((isDerived?="derived" |
+	//	"!derived") ","?)? & ((isOrdered?="ordered" | "!ordered") ","?)? & ((isReadonly?="readonly" | "!readonly") ","?)? &
+	//	((isResolve?="resolve" | "!resolve") ","?)? & ((isTransient?="transient" | "!transient") ","?)? &
+	//	((isNotUnique?="!unique" | "unique") ","?)? & ((isUnsettable?="unsettable" | "!unsettable") ","?)? &
+	//	((isVolatile?="volatile" | "!volatile") ","?)? "}")? ("{" (ownedAnnotations+=AnnotationElementCS | "key"
 	//	referredKeys+=[pivot::Property|UnrestrictedName] ("," referredKeys+=[pivot::Property|UnrestrictedName])* ";" |
 	//	"derivation" UnrestrictedName? ":" ownedDefaultExpressions+=SpecificationCS? ";" | "initial" UnrestrictedName? ":"
 	//	ownedDefaultExpressions+=SpecificationCS? ";")* "}" | ";");
diff --git a/plugins/org.eclipse.ocl.xtext.oclinecore/src/org/eclipse/ocl/xtext/oclinecore/OCLinEcore.xtext b/plugins/org.eclipse.ocl.xtext.oclinecore/src/org/eclipse/ocl/xtext/oclinecore/OCLinEcore.xtext
index 690fa2b..bb0eeef 100644
--- a/plugins/org.eclipse.ocl.xtext.oclinecore/src/org/eclipse/ocl/xtext/oclinecore/OCLinEcore.xtext
+++ b/plugins/org.eclipse.ocl.xtext.oclinecore/src/org/eclipse/ocl/xtext/oclinecore/OCLinEcore.xtext
@@ -106,19 +106,18 @@
 ;
 
 AttributeCS returns base::AttributeCS:
-	((qualifiers+='static' (qualifiers+='definition')?) | (qualifiers+='definition' (qualifiers+='static')?))?
+	(isStatic?='static'? & isDefinition?='definition'?)
 	'attribute' name=UnrestrictedName
 	(':' ownedType=TypedMultiplicityRefCS)?
 	('=' default=SINGLE_QUOTED_STRING)?
-	('{'((qualifiers+='derived' | qualifiers+='!derived' |
-		  qualifiers+='id' | qualifiers+='!id' |
-		  qualifiers+='ordered' | qualifiers+='!ordered' |
-		  qualifiers+='readonly' | qualifiers+='!readonly' |
-		  qualifiers+='transient' | qualifiers+='!transient' |
-		  qualifiers+='unique' | qualifiers+='!unique' |
-		  qualifiers+='unsettable' | qualifiers+='!unsettable' |
-		  qualifiers+='volatile' | qualifiers+='!volatile'
-	    ) ','? )+
+	('{'((isDerived?='derived' | '!derived') ','?)? &
+		((isId?='id' | '!id') ','?)? &
+		((isOrdered?='ordered' | '!ordered') ','?)? &
+		((isReadonly?='readonly' | '!readonly') ','?)? &
+		((isTransient?='transient' | '!transient') ','?)? &
+		((isNotUnique?='!unique' | 'unique') ','?)? &
+		((isUnsettable?='unsettable' | '!unsettable') ','?)? &
+		((isVolatile?='volatile' | '!volatile') ','?)?
 	'}')?
 	(	('{' (ownedAnnotations+=AnnotationElementCS
 	      | ('derivation' UnrestrictedName? ':' ownedDefaultExpressions+=SpecificationCS? ';') 
@@ -188,15 +187,14 @@
 ;
 
 OperationCS returns base::OperationCS:
-	((qualifiers+='static' (qualifiers+='definition')?) | (qualifiers+='definition' (qualifiers+='static')?))?
+	(isStatic?='static'? & isDefinition?='definition'?)
 	'operation' (ownedSignature=TemplateSignatureCS)? name=UnrestrictedName
 	'(' (ownedParameters+=ParameterCS (',' ownedParameters+=ParameterCS)*)? ')'
 	(':' ownedType=TypedMultiplicityRefCS)?
 	('throws' ownedExceptions+=TypedRefCS (',' ownedExceptions+=TypedRefCS)*)?
-	('{'((qualifiers+='derived' | qualifiers+='!derived' |
-		  qualifiers+='ordered' | qualifiers+='!ordered' |
-		  qualifiers+='unique' | qualifiers+='!unique'
-		) ','? )+
+	('{'((isDerived?='derived' | '!derived') ','?)? &
+		((isOrdered?='ordered' | '!ordered') ','?)? &
+		((isNotUnique?='!unique' | 'unique') ','?)?
 	'}')?
 	(	('{' (ownedAnnotations+=AnnotationElementCS
 	        | ownedPreconditions+=PreconditionConstraintCS
@@ -219,29 +217,27 @@
 ParameterCS returns base::ParameterCS:
 	name=UnrestrictedName
 	(':' ownedType=TypedMultiplicityRefCS)?
-	('{'(( qualifiers+='ordered' | qualifiers+='!ordered' |
-		   qualifiers+='unique' | qualifiers+='!unique'
-		  ) ','?)+
+	('{'((isOrdered?='ordered' | '!ordered') ','?)? &
+		((isNotUnique?='!unique' | 'unique') ','?)?
 	 '}')?
 	('{' ownedAnnotations+=AnnotationElementCS* '}')?
 ;
 
 ReferenceCS returns base::ReferenceCS:
-	((qualifiers+='static' (qualifiers+='definition')?) | (qualifiers+='definition' (qualifiers+='static')?))?
+	(isStatic?='static'? & isDefinition?='definition'?)
 	'property' name=UnrestrictedName
 	('#' referredOpposite=[pivot::Property|UnrestrictedName])?
 	(':' ownedType=TypedMultiplicityRefCS)?
 	('=' default=SINGLE_QUOTED_STRING)?
-	('{'((qualifiers+='composes' | qualifiers+='!composes' |
-		  qualifiers+='derived' | qualifiers+='!derived' |
-		  qualifiers+='ordered' | qualifiers+='!ordered' |
-		  qualifiers+='readonly' | qualifiers+='!readonly' |
-		  qualifiers+='resolve' | qualifiers+='!resolve' |
-		  qualifiers+='transient' | qualifiers+='!transient' |
-		  qualifiers+='unique' | qualifiers+='!unique' |
-		  qualifiers+='unsettable' | qualifiers+='!unsettable' |
-		  qualifiers+='volatile' | qualifiers+='!volatile'
-		) ','? )+
+	('{'((isComposes?='composes' | '!composes') ','?)? &
+		((isDerived?='derived' | '!derived') ','?)? &
+		((isOrdered?='ordered' | '!ordered') ','?)? &
+		((isReadonly?='readonly' | '!readonly') ','?)? &
+		((isResolve?='resolve' | '!resolve') ','?)? &
+		((isTransient?='transient' | '!transient') ','?)? &
+		((isNotUnique?='!unique' | 'unique') ','?)? &
+		((isUnsettable?='unsettable' | '!unsettable') ','?)? &
+		((isVolatile?='volatile' | '!volatile') ','?)?
 	'}')?
 	(	('{' (ownedAnnotations+=AnnotationElementCS
 			| ('key' referredKeys+=[pivot::Property|UnrestrictedName] (',' referredKeys+=[pivot::Property|UnrestrictedName])* ';')
diff --git a/plugins/org.eclipse.ocl.xtext.oclinecore/src/org/eclipse/ocl/xtext/oclinecore/formatting/OCLinEcoreFormatter.java b/plugins/org.eclipse.ocl.xtext.oclinecore/src/org/eclipse/ocl/xtext/oclinecore/formatting/OCLinEcoreFormatter.java
index 927167d..e7b356d 100644
--- a/plugins/org.eclipse.ocl.xtext.oclinecore/src/org/eclipse/ocl/xtext/oclinecore/formatting/OCLinEcoreFormatter.java
+++ b/plugins/org.eclipse.ocl.xtext.oclinecore/src/org/eclipse/ocl/xtext/oclinecore/formatting/OCLinEcoreFormatter.java
@@ -96,8 +96,15 @@
 	    }		
 	    {	// AttributeCS
 			AttributeCSElements a = f.getAttributeCSAccess();
-			c.setNoSpace().between(a.getLeftCurlyBracketKeyword_5_0(), a.getRightCurlyBracketKeyword_5_2());
+			c.setNoSpace().between(a.getLeftCurlyBracketKeyword_5_0_0(), a.getRightCurlyBracketKeyword_5_7_1());
+			c.setNoSpace().around(a.getCommaKeyword_5_0_1_1());
 			c.setNoSpace().around(a.getCommaKeyword_5_1_1());
+			c.setNoSpace().around(a.getCommaKeyword_5_2_1());
+			c.setNoSpace().around(a.getCommaKeyword_5_3_1());
+			c.setNoSpace().around(a.getCommaKeyword_5_4_1());
+			c.setNoSpace().around(a.getCommaKeyword_5_5_1());
+			c.setNoSpace().around(a.getCommaKeyword_5_6_1());
+			c.setNoSpace().around(a.getCommaKeyword_5_7_0_1());
 			setNoSpaceLineWrap(c, a.getSemicolonKeyword_6_1());
 			setBraces(c, a.getLeftCurlyBracketKeyword_6_0_0(), a.getRightCurlyBracketKeyword_6_0_2());
 			//
@@ -159,8 +166,10 @@
 			c.setNoSpace().around(a.getLeftParenthesisKeyword_4());	
 			c.setNoSpace().before(a.getCommaKeyword_5_1_0());
 			c.setNoSpace().before(a.getRightParenthesisKeyword_6());	
-			c.setNoSpace().between(a.getLeftCurlyBracketKeyword_9_0(), a.getRightCurlyBracketKeyword_9_2());
+			c.setNoSpace().between(a.getLeftCurlyBracketKeyword_9_0_0(), a.getRightCurlyBracketKeyword_9_2_1());
+			c.setNoSpace().around(a.getCommaKeyword_9_0_1_1());
 			c.setNoSpace().around(a.getCommaKeyword_9_1_1());
+			c.setNoSpace().around(a.getCommaKeyword_9_2_0_1());
 			setBraces(c, a.getLeftCurlyBracketKeyword_10_0_0(), a.getRightCurlyBracketKeyword_10_0_2());
 			setNoSpaceLineWrap(c, a.getSemicolonKeyword_10_1());
 		    c.setIndentation(a.getLeftParenthesisKeyword_4(), a.getRightParenthesisKeyword_6());
@@ -178,8 +187,9 @@
 	    }
 	    {
 			ParameterCSElements a = f.getParameterCSAccess();
-			c.setNoSpace().between(a.getLeftCurlyBracketKeyword_2_0(), a.getRightCurlyBracketKeyword_2_2());
-			c.setNoSpace().around(a.getCommaKeyword_2_1_1());
+			c.setNoSpace().between(a.getLeftCurlyBracketKeyword_2_0_0(), a.getRightCurlyBracketKeyword_2_1_1());
+			c.setNoSpace().around(a.getCommaKeyword_2_0_1_1());
+			c.setNoSpace().around(a.getCommaKeyword_2_1_0_1());
 			setBraces(c, a.getLeftCurlyBracketKeyword_3_0(), a.getRightCurlyBracketKeyword_3_2());
 	    }
 	    {
@@ -203,8 +213,16 @@
 	    {
 			ReferenceCSElements a = f.getReferenceCSAccess();
 			c.setNoSpace().around(a.getNumberSignKeyword_3_0());
-			c.setNoSpace().between(a.getLeftCurlyBracketKeyword_6_0(), a.getRightCurlyBracketKeyword_6_2());
+			c.setNoSpace().between(a.getLeftCurlyBracketKeyword_6_0_0(), a.getRightCurlyBracketKeyword_6_8_1());
+			c.setNoSpace().around(a.getCommaKeyword_6_0_1_1());
 			c.setNoSpace().around(a.getCommaKeyword_6_1_1());
+			c.setNoSpace().around(a.getCommaKeyword_6_2_1());
+			c.setNoSpace().around(a.getCommaKeyword_6_3_1());
+			c.setNoSpace().around(a.getCommaKeyword_6_4_1());
+			c.setNoSpace().around(a.getCommaKeyword_6_5_1());
+			c.setNoSpace().around(a.getCommaKeyword_6_6_1());
+			c.setNoSpace().around(a.getCommaKeyword_6_7_1());
+			c.setNoSpace().around(a.getCommaKeyword_6_8_0_1());
 			setBraces(c, a.getLeftCurlyBracketKeyword_7_0_0(), a.getRightCurlyBracketKeyword_7_0_2());
 			c.setNoSpace().before(a.getCommaKeyword_7_0_1_1_2_0());
 			//
diff --git a/plugins/org.eclipse.ocl.xtext.oclstdlib/emf-gen/org/eclipse/ocl/xtext/oclstdlibcs/LibOperationCS.java b/plugins/org.eclipse.ocl.xtext.oclstdlib/emf-gen/org/eclipse/ocl/xtext/oclstdlibcs/LibOperationCS.java
index 407b2ca..94c9e59 100644
--- a/plugins/org.eclipse.ocl.xtext.oclstdlib/emf-gen/org/eclipse/ocl/xtext/oclstdlibcs/LibOperationCS.java
+++ b/plugins/org.eclipse.ocl.xtext.oclstdlib/emf-gen/org/eclipse/ocl/xtext/oclstdlibcs/LibOperationCS.java
@@ -24,7 +24,6 @@
  * </p>
  * <ul>
  *   <li>{@link org.eclipse.ocl.xtext.oclstdlibcs.LibOperationCS#isIsInvalidating <em>Is Invalidating</em>}</li>
- *   <li>{@link org.eclipse.ocl.xtext.oclstdlibcs.LibOperationCS#isIsStatic <em>Is Static</em>}</li>
  *   <li>{@link org.eclipse.ocl.xtext.oclstdlibcs.LibOperationCS#isIsValidating <em>Is Validating</em>}</li>
  *   <li>{@link org.eclipse.ocl.xtext.oclstdlibcs.LibOperationCS#getPrecedence <em>Precedence</em>}</li>
  * </ul>
@@ -90,33 +89,6 @@
 	void setIsInvalidating(boolean value);
 
 	/**
-	 * Returns the value of the '<em><b>Is Static</b></em>' attribute.
-	 * The default value is <code>"false"</code>.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Is Static</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Is Static</em>' attribute.
-	 * @see #setIsStatic(boolean)
-	 * @see org.eclipse.ocl.xtext.oclstdlibcs.OCLstdlibCSPackage#getLibOperationCS_IsStatic()
-	 * @model default="false" dataType="org.eclipse.ocl.pivot.Boolean"
-	 * @generated
-	 */
-	boolean isIsStatic();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ocl.xtext.oclstdlibcs.LibOperationCS#isIsStatic <em>Is Static</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Is Static</em>' attribute.
-	 * @see #isIsStatic()
-	 * @generated
-	 */
-	void setIsStatic(boolean value);
-
-	/**
 	 * Returns the value of the '<em><b>Is Validating</b></em>' attribute.
 	 * The default value is <code>"false"</code>.
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.ocl.xtext.oclstdlib/emf-gen/org/eclipse/ocl/xtext/oclstdlibcs/LibPropertyCS.java b/plugins/org.eclipse.ocl.xtext.oclstdlib/emf-gen/org/eclipse/ocl/xtext/oclstdlibcs/LibPropertyCS.java
index c179ea9..20921c6 100644
--- a/plugins/org.eclipse.ocl.xtext.oclstdlib/emf-gen/org/eclipse/ocl/xtext/oclstdlibcs/LibPropertyCS.java
+++ b/plugins/org.eclipse.ocl.xtext.oclstdlib/emf-gen/org/eclipse/ocl/xtext/oclstdlibcs/LibPropertyCS.java
@@ -18,12 +18,6 @@
  * A representation of the model object '<em><b>Lib Property CS</b></em>'.
  * <!-- end-user-doc -->
  *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.ocl.xtext.oclstdlibcs.LibPropertyCS#isIsStatic <em>Is Static</em>}</li>
- * </ul>
  *
  * @see org.eclipse.ocl.xtext.oclstdlibcs.OCLstdlibCSPackage#getLibPropertyCS()
  * @model
@@ -32,31 +26,4 @@
 public interface LibPropertyCS
 		extends AttributeCS, JavaImplementationCS {
 
-	/**
-	 * Returns the value of the '<em><b>Is Static</b></em>' attribute.
-	 * The default value is <code>"false"</code>.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Static</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Is Static</em>' attribute.
-	 * @see #setIsStatic(boolean)
-	 * @see org.eclipse.ocl.xtext.oclstdlibcs.OCLstdlibCSPackage#getLibPropertyCS_IsStatic()
-	 * @model default="false" dataType="org.eclipse.ocl.pivot.Boolean"
-	 * @generated
-	 */
-	boolean isIsStatic();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.ocl.xtext.oclstdlibcs.LibPropertyCS#isIsStatic <em>Is Static</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Is Static</em>' attribute.
-	 * @see #isIsStatic()
-	 * @generated
-	 */
-	void setIsStatic(boolean value);
-
 } // LibPropertyCS
diff --git a/plugins/org.eclipse.ocl.xtext.oclstdlib/emf-gen/org/eclipse/ocl/xtext/oclstdlibcs/OCLstdlibCSPackage.java b/plugins/org.eclipse.ocl.xtext.oclstdlib/emf-gen/org/eclipse/ocl/xtext/oclstdlibcs/OCLstdlibCSPackage.java
index 97cf7ca..5170327 100644
--- a/plugins/org.eclipse.ocl.xtext.oclstdlib/emf-gen/org/eclipse/ocl/xtext/oclstdlibcs/OCLstdlibCSPackage.java
+++ b/plugins/org.eclipse.ocl.xtext.oclstdlib/emf-gen/org/eclipse/ocl/xtext/oclstdlibcs/OCLstdlibCSPackage.java
@@ -463,6 +463,15 @@
 	int LIB_COERCION_CS__NAME = BaseCSPackage.OPERATION_CS__NAME;
 
 	/**
+	 * The feature id for the '<em><b>Is Not Unique</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LIB_COERCION_CS__IS_NOT_UNIQUE = BaseCSPackage.OPERATION_CS__IS_NOT_UNIQUE;
+
+	/**
 	 * The feature id for the '<em><b>Is Optional</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -472,6 +481,15 @@
 	int LIB_COERCION_CS__IS_OPTIONAL = BaseCSPackage.OPERATION_CS__IS_OPTIONAL;
 
 	/**
+	 * The feature id for the '<em><b>Is Ordered</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LIB_COERCION_CS__IS_ORDERED = BaseCSPackage.OPERATION_CS__IS_ORDERED;
+
+	/**
 	 * The feature id for the '<em><b>Owned Type</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -481,13 +499,31 @@
 	int LIB_COERCION_CS__OWNED_TYPE = BaseCSPackage.OPERATION_CS__OWNED_TYPE;
 
 	/**
-	 * The feature id for the '<em><b>Qualifiers</b></em>' attribute list.
+	 * The feature id for the '<em><b>Is Definition</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int LIB_COERCION_CS__QUALIFIERS = BaseCSPackage.OPERATION_CS__QUALIFIERS;
+	int LIB_COERCION_CS__IS_DEFINITION = BaseCSPackage.OPERATION_CS__IS_DEFINITION;
+
+	/**
+	 * The feature id for the '<em><b>Is Derived</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LIB_COERCION_CS__IS_DERIVED = BaseCSPackage.OPERATION_CS__IS_DERIVED;
+
+	/**
+	 * The feature id for the '<em><b>Is Static</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LIB_COERCION_CS__IS_STATIC = BaseCSPackage.OPERATION_CS__IS_STATIC;
 
 	/**
 	 * The feature id for the '<em><b>Owned Signature</b></em>' containment reference.
@@ -715,6 +751,15 @@
 	int LIB_ITERATION_CS__NAME = BaseCSPackage.OPERATION_CS__NAME;
 
 	/**
+	 * The feature id for the '<em><b>Is Not Unique</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LIB_ITERATION_CS__IS_NOT_UNIQUE = BaseCSPackage.OPERATION_CS__IS_NOT_UNIQUE;
+
+	/**
 	 * The feature id for the '<em><b>Is Optional</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -724,6 +769,15 @@
 	int LIB_ITERATION_CS__IS_OPTIONAL = BaseCSPackage.OPERATION_CS__IS_OPTIONAL;
 
 	/**
+	 * The feature id for the '<em><b>Is Ordered</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LIB_ITERATION_CS__IS_ORDERED = BaseCSPackage.OPERATION_CS__IS_ORDERED;
+
+	/**
 	 * The feature id for the '<em><b>Owned Type</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -733,13 +787,31 @@
 	int LIB_ITERATION_CS__OWNED_TYPE = BaseCSPackage.OPERATION_CS__OWNED_TYPE;
 
 	/**
-	 * The feature id for the '<em><b>Qualifiers</b></em>' attribute list.
+	 * The feature id for the '<em><b>Is Definition</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int LIB_ITERATION_CS__QUALIFIERS = BaseCSPackage.OPERATION_CS__QUALIFIERS;
+	int LIB_ITERATION_CS__IS_DEFINITION = BaseCSPackage.OPERATION_CS__IS_DEFINITION;
+
+	/**
+	 * The feature id for the '<em><b>Is Derived</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LIB_ITERATION_CS__IS_DERIVED = BaseCSPackage.OPERATION_CS__IS_DERIVED;
+
+	/**
+	 * The feature id for the '<em><b>Is Static</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LIB_ITERATION_CS__IS_STATIC = BaseCSPackage.OPERATION_CS__IS_STATIC;
 
 	/**
 	 * The feature id for the '<em><b>Owned Signature</b></em>' containment reference.
@@ -913,6 +985,15 @@
 	int LIB_OPERATION_CS__NAME = BaseCSPackage.OPERATION_CS__NAME;
 
 	/**
+	 * The feature id for the '<em><b>Is Not Unique</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LIB_OPERATION_CS__IS_NOT_UNIQUE = BaseCSPackage.OPERATION_CS__IS_NOT_UNIQUE;
+
+	/**
 	 * The feature id for the '<em><b>Is Optional</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -922,6 +1003,15 @@
 	int LIB_OPERATION_CS__IS_OPTIONAL = BaseCSPackage.OPERATION_CS__IS_OPTIONAL;
 
 	/**
+	 * The feature id for the '<em><b>Is Ordered</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LIB_OPERATION_CS__IS_ORDERED = BaseCSPackage.OPERATION_CS__IS_ORDERED;
+
+	/**
 	 * The feature id for the '<em><b>Owned Type</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -931,13 +1021,31 @@
 	int LIB_OPERATION_CS__OWNED_TYPE = BaseCSPackage.OPERATION_CS__OWNED_TYPE;
 
 	/**
-	 * The feature id for the '<em><b>Qualifiers</b></em>' attribute list.
+	 * The feature id for the '<em><b>Is Definition</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int LIB_OPERATION_CS__QUALIFIERS = BaseCSPackage.OPERATION_CS__QUALIFIERS;
+	int LIB_OPERATION_CS__IS_DEFINITION = BaseCSPackage.OPERATION_CS__IS_DEFINITION;
+
+	/**
+	 * The feature id for the '<em><b>Is Derived</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LIB_OPERATION_CS__IS_DERIVED = BaseCSPackage.OPERATION_CS__IS_DERIVED;
+
+	/**
+	 * The feature id for the '<em><b>Is Static</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LIB_OPERATION_CS__IS_STATIC = BaseCSPackage.OPERATION_CS__IS_STATIC;
 
 	/**
 	 * The feature id for the '<em><b>Owned Signature</b></em>' containment reference.
@@ -1021,22 +1129,13 @@
 	int LIB_OPERATION_CS__IS_INVALIDATING = BaseCSPackage.OPERATION_CS_FEATURE_COUNT + 1;
 
 	/**
-	 * The feature id for the '<em><b>Is Static</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LIB_OPERATION_CS__IS_STATIC = BaseCSPackage.OPERATION_CS_FEATURE_COUNT + 2;
-
-	/**
 	 * The feature id for the '<em><b>Is Validating</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int LIB_OPERATION_CS__IS_VALIDATING = BaseCSPackage.OPERATION_CS_FEATURE_COUNT + 3;
+	int LIB_OPERATION_CS__IS_VALIDATING = BaseCSPackage.OPERATION_CS_FEATURE_COUNT + 2;
 
 	/**
 	 * The feature id for the '<em><b>Precedence</b></em>' reference.
@@ -1045,7 +1144,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int LIB_OPERATION_CS__PRECEDENCE = BaseCSPackage.OPERATION_CS_FEATURE_COUNT + 4;
+	int LIB_OPERATION_CS__PRECEDENCE = BaseCSPackage.OPERATION_CS_FEATURE_COUNT + 3;
 
 	/**
 	 * The number of structural features of the '<em>Lib Operation CS</em>' class.
@@ -1054,7 +1153,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int LIB_OPERATION_CS_FEATURE_COUNT = BaseCSPackage.OPERATION_CS_FEATURE_COUNT + 5;
+	int LIB_OPERATION_CS_FEATURE_COUNT = BaseCSPackage.OPERATION_CS_FEATURE_COUNT + 4;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.ocl.xtext.oclstdlibcs.impl.LibPackageCSImpl <em>Lib Package CS</em>}' class.
@@ -1229,6 +1328,15 @@
 	int LIB_PROPERTY_CS__NAME = BaseCSPackage.ATTRIBUTE_CS__NAME;
 
 	/**
+	 * The feature id for the '<em><b>Is Not Unique</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LIB_PROPERTY_CS__IS_NOT_UNIQUE = BaseCSPackage.ATTRIBUTE_CS__IS_NOT_UNIQUE;
+
+	/**
 	 * The feature id for the '<em><b>Is Optional</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1238,6 +1346,15 @@
 	int LIB_PROPERTY_CS__IS_OPTIONAL = BaseCSPackage.ATTRIBUTE_CS__IS_OPTIONAL;
 
 	/**
+	 * The feature id for the '<em><b>Is Ordered</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LIB_PROPERTY_CS__IS_ORDERED = BaseCSPackage.ATTRIBUTE_CS__IS_ORDERED;
+
+	/**
 	 * The feature id for the '<em><b>Owned Type</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1247,13 +1364,31 @@
 	int LIB_PROPERTY_CS__OWNED_TYPE = BaseCSPackage.ATTRIBUTE_CS__OWNED_TYPE;
 
 	/**
-	 * The feature id for the '<em><b>Qualifiers</b></em>' attribute list.
+	 * The feature id for the '<em><b>Is Definition</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int LIB_PROPERTY_CS__QUALIFIERS = BaseCSPackage.ATTRIBUTE_CS__QUALIFIERS;
+	int LIB_PROPERTY_CS__IS_DEFINITION = BaseCSPackage.ATTRIBUTE_CS__IS_DEFINITION;
+
+	/**
+	 * The feature id for the '<em><b>Is Derived</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LIB_PROPERTY_CS__IS_DERIVED = BaseCSPackage.ATTRIBUTE_CS__IS_DERIVED;
+
+	/**
+	 * The feature id for the '<em><b>Is Static</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LIB_PROPERTY_CS__IS_STATIC = BaseCSPackage.ATTRIBUTE_CS__IS_STATIC;
 
 	/**
 	 * The feature id for the '<em><b>Default</b></em>' attribute.
@@ -1265,6 +1400,42 @@
 	int LIB_PROPERTY_CS__DEFAULT = BaseCSPackage.ATTRIBUTE_CS__DEFAULT;
 
 	/**
+	 * The feature id for the '<em><b>Is Readonly</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LIB_PROPERTY_CS__IS_READONLY = BaseCSPackage.ATTRIBUTE_CS__IS_READONLY;
+
+	/**
+	 * The feature id for the '<em><b>Is Transient</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LIB_PROPERTY_CS__IS_TRANSIENT = BaseCSPackage.ATTRIBUTE_CS__IS_TRANSIENT;
+
+	/**
+	 * The feature id for the '<em><b>Is Unsettable</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LIB_PROPERTY_CS__IS_UNSETTABLE = BaseCSPackage.ATTRIBUTE_CS__IS_UNSETTABLE;
+
+	/**
+	 * The feature id for the '<em><b>Is Volatile</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LIB_PROPERTY_CS__IS_VOLATILE = BaseCSPackage.ATTRIBUTE_CS__IS_VOLATILE;
+
+	/**
 	 * The feature id for the '<em><b>Owned Default Expressions</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1283,6 +1454,15 @@
 	int LIB_PROPERTY_CS__OWNING_CLASS = BaseCSPackage.ATTRIBUTE_CS__OWNING_CLASS;
 
 	/**
+	 * The feature id for the '<em><b>Is Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LIB_PROPERTY_CS__IS_ID = BaseCSPackage.ATTRIBUTE_CS__IS_ID;
+
+	/**
 	 * The feature id for the '<em><b>Implementation</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1292,22 +1472,13 @@
 	int LIB_PROPERTY_CS__IMPLEMENTATION = BaseCSPackage.ATTRIBUTE_CS_FEATURE_COUNT + 0;
 
 	/**
-	 * The feature id for the '<em><b>Is Static</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LIB_PROPERTY_CS__IS_STATIC = BaseCSPackage.ATTRIBUTE_CS_FEATURE_COUNT + 1;
-
-	/**
 	 * The number of structural features of the '<em>Lib Property CS</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int LIB_PROPERTY_CS_FEATURE_COUNT = BaseCSPackage.ATTRIBUTE_CS_FEATURE_COUNT + 2;
+	int LIB_PROPERTY_CS_FEATURE_COUNT = BaseCSPackage.ATTRIBUTE_CS_FEATURE_COUNT + 1;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.ocl.xtext.oclstdlibcs.impl.LibRootPackageCSImpl <em>Lib Root Package CS</em>}' class.
@@ -1666,17 +1837,6 @@
 	EAttribute getLibOperationCS_IsInvalidating();
 
 	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ocl.xtext.oclstdlibcs.LibOperationCS#isIsStatic <em>Is Static</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Is Static</em>'.
-	 * @see org.eclipse.ocl.xtext.oclstdlibcs.LibOperationCS#isIsStatic()
-	 * @see #getLibOperationCS()
-	 * @generated
-	 */
-	EAttribute getLibOperationCS_IsStatic();
-
-	/**
 	 * Returns the meta object for the attribute '{@link org.eclipse.ocl.xtext.oclstdlibcs.LibOperationCS#isIsValidating <em>Is Validating</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1719,17 +1879,6 @@
 	EClass getLibPropertyCS();
 
 	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.ocl.xtext.oclstdlibcs.LibPropertyCS#isIsStatic <em>Is Static</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Is Static</em>'.
-	 * @see org.eclipse.ocl.xtext.oclstdlibcs.LibPropertyCS#isIsStatic()
-	 * @see #getLibPropertyCS()
-	 * @generated
-	 */
-	EAttribute getLibPropertyCS_IsStatic();
-
-	/**
 	 * Returns the meta object for class '{@link org.eclipse.ocl.xtext.oclstdlibcs.LibRootPackageCS <em>Lib Root Package CS</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1942,14 +2091,6 @@
 		EAttribute LIB_OPERATION_CS__IS_INVALIDATING = eINSTANCE.getLibOperationCS_IsInvalidating();
 
 		/**
-		 * The meta object literal for the '<em><b>Is Static</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute LIB_OPERATION_CS__IS_STATIC = eINSTANCE.getLibOperationCS_IsStatic();
-
-		/**
 		 * The meta object literal for the '<em><b>Is Validating</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
@@ -1986,14 +2127,6 @@
 		EClass LIB_PROPERTY_CS = eINSTANCE.getLibPropertyCS();
 
 		/**
-		 * The meta object literal for the '<em><b>Is Static</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute LIB_PROPERTY_CS__IS_STATIC = eINSTANCE.getLibPropertyCS_IsStatic();
-
-		/**
 		 * The meta object literal for the '{@link org.eclipse.ocl.xtext.oclstdlibcs.impl.LibRootPackageCSImpl <em>Lib Root Package CS</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.ocl.xtext.oclstdlib/emf-gen/org/eclipse/ocl/xtext/oclstdlibcs/impl/LibOperationCSImpl.java b/plugins/org.eclipse.ocl.xtext.oclstdlib/emf-gen/org/eclipse/ocl/xtext/oclstdlibcs/impl/LibOperationCSImpl.java
index 6615646..ac4446f 100644
--- a/plugins/org.eclipse.ocl.xtext.oclstdlib/emf-gen/org/eclipse/ocl/xtext/oclstdlibcs/impl/LibOperationCSImpl.java
+++ b/plugins/org.eclipse.ocl.xtext.oclstdlib/emf-gen/org/eclipse/ocl/xtext/oclstdlibcs/impl/LibOperationCSImpl.java
@@ -37,7 +37,6 @@
  * <ul>
  *   <li>{@link org.eclipse.ocl.xtext.oclstdlibcs.impl.LibOperationCSImpl#getImplementation <em>Implementation</em>}</li>
  *   <li>{@link org.eclipse.ocl.xtext.oclstdlibcs.impl.LibOperationCSImpl#isIsInvalidating <em>Is Invalidating</em>}</li>
- *   <li>{@link org.eclipse.ocl.xtext.oclstdlibcs.impl.LibOperationCSImpl#isIsStatic <em>Is Static</em>}</li>
  *   <li>{@link org.eclipse.ocl.xtext.oclstdlibcs.impl.LibOperationCSImpl#isIsValidating <em>Is Validating</em>}</li>
  *   <li>{@link org.eclipse.ocl.xtext.oclstdlibcs.impl.LibOperationCSImpl#getPrecedence <em>Precedence</em>}</li>
  * </ul>
@@ -79,26 +78,6 @@
 	protected boolean isInvalidating = IS_INVALIDATING_EDEFAULT;
 
 	/**
-	 * The default value of the '{@link #isIsStatic() <em>Is Static</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isIsStatic()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean IS_STATIC_EDEFAULT = false;
-
-	/**
-	 * The cached value of the '{@link #isIsStatic() <em>Is Static</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isIsStatic()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean isStatic = IS_STATIC_EDEFAULT;
-
-	/**
 	 * The default value of the '{@link #isIsValidating() <em>Is Validating</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -264,31 +243,6 @@
 	 * @generated
 	 */
 	@Override
-	public boolean isIsStatic()
-	{
-		return isStatic;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void setIsStatic(boolean newIsStatic)
-	{
-		boolean oldIsStatic = isStatic;
-		isStatic = newIsStatic;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, OCLstdlibCSPackage.LIB_OPERATION_CS__IS_STATIC, oldIsStatic, isStatic));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
 	public boolean isIsValidating()
 	{
 		return isValidating;
@@ -322,8 +276,6 @@
 				return basicGetImplementation();
 			case OCLstdlibCSPackage.LIB_OPERATION_CS__IS_INVALIDATING:
 				return isIsInvalidating();
-			case OCLstdlibCSPackage.LIB_OPERATION_CS__IS_STATIC:
-				return isIsStatic();
 			case OCLstdlibCSPackage.LIB_OPERATION_CS__IS_VALIDATING:
 				return isIsValidating();
 			case OCLstdlibCSPackage.LIB_OPERATION_CS__PRECEDENCE:
@@ -348,9 +300,6 @@
 			case OCLstdlibCSPackage.LIB_OPERATION_CS__IS_INVALIDATING:
 				setIsInvalidating((Boolean)newValue);
 				return;
-			case OCLstdlibCSPackage.LIB_OPERATION_CS__IS_STATIC:
-				setIsStatic((Boolean)newValue);
-				return;
 			case OCLstdlibCSPackage.LIB_OPERATION_CS__IS_VALIDATING:
 				setIsValidating((Boolean)newValue);
 				return;
@@ -376,9 +325,6 @@
 			case OCLstdlibCSPackage.LIB_OPERATION_CS__IS_INVALIDATING:
 				setIsInvalidating(IS_INVALIDATING_EDEFAULT);
 				return;
-			case OCLstdlibCSPackage.LIB_OPERATION_CS__IS_STATIC:
-				setIsStatic(IS_STATIC_EDEFAULT);
-				return;
 			case OCLstdlibCSPackage.LIB_OPERATION_CS__IS_VALIDATING:
 				setIsValidating(IS_VALIDATING_EDEFAULT);
 				return;
@@ -402,8 +348,6 @@
 				return implementation != null;
 			case OCLstdlibCSPackage.LIB_OPERATION_CS__IS_INVALIDATING:
 				return isInvalidating != IS_INVALIDATING_EDEFAULT;
-			case OCLstdlibCSPackage.LIB_OPERATION_CS__IS_STATIC:
-				return isStatic != IS_STATIC_EDEFAULT;
 			case OCLstdlibCSPackage.LIB_OPERATION_CS__IS_VALIDATING:
 				return isValidating != IS_VALIDATING_EDEFAULT;
 			case OCLstdlibCSPackage.LIB_OPERATION_CS__PRECEDENCE:
diff --git a/plugins/org.eclipse.ocl.xtext.oclstdlib/emf-gen/org/eclipse/ocl/xtext/oclstdlibcs/impl/LibPropertyCSImpl.java b/plugins/org.eclipse.ocl.xtext.oclstdlib/emf-gen/org/eclipse/ocl/xtext/oclstdlibcs/impl/LibPropertyCSImpl.java
index 012fa8a..719208e 100644
--- a/plugins/org.eclipse.ocl.xtext.oclstdlib/emf-gen/org/eclipse/ocl/xtext/oclstdlibcs/impl/LibPropertyCSImpl.java
+++ b/plugins/org.eclipse.ocl.xtext.oclstdlib/emf-gen/org/eclipse/ocl/xtext/oclstdlibcs/impl/LibPropertyCSImpl.java
@@ -35,7 +35,6 @@
  * </p>
  * <ul>
  *   <li>{@link org.eclipse.ocl.xtext.oclstdlibcs.impl.LibPropertyCSImpl#getImplementation <em>Implementation</em>}</li>
- *   <li>{@link org.eclipse.ocl.xtext.oclstdlibcs.impl.LibPropertyCSImpl#isIsStatic <em>Is Static</em>}</li>
  * </ul>
  *
  * @generated
@@ -55,26 +54,6 @@
 	protected JavaClassCS implementation;
 
 	/**
-	 * The default value of the '{@link #isIsStatic() <em>Is Static</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isIsStatic()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean IS_STATIC_EDEFAULT = false;
-
-	/**
-	 * The cached value of the '{@link #isIsStatic() <em>Is Static</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isIsStatic()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean isStatic = IS_STATIC_EDEFAULT;
-
-	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -143,37 +122,12 @@
 	 * @generated
 	 */
 	@Override
-	public boolean isIsStatic() {
-		return isStatic;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void setIsStatic(boolean newIsStatic) {
-		boolean oldIsStatic = isStatic;
-		isStatic = newIsStatic;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, OCLstdlibCSPackage.LIB_PROPERTY_CS__IS_STATIC, oldIsStatic, isStatic));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID)
 		{
 			case OCLstdlibCSPackage.LIB_PROPERTY_CS__IMPLEMENTATION:
 				if (resolve) return getImplementation();
 				return basicGetImplementation();
-			case OCLstdlibCSPackage.LIB_PROPERTY_CS__IS_STATIC:
-				return isIsStatic();
 		}
 		return super.eGet(featureID, resolve, coreType);
 	}
@@ -190,9 +144,6 @@
 			case OCLstdlibCSPackage.LIB_PROPERTY_CS__IMPLEMENTATION:
 				setImplementation((JavaClassCS)newValue);
 				return;
-			case OCLstdlibCSPackage.LIB_PROPERTY_CS__IS_STATIC:
-				setIsStatic((Boolean)newValue);
-				return;
 		}
 		super.eSet(featureID, newValue);
 	}
@@ -209,9 +160,6 @@
 			case OCLstdlibCSPackage.LIB_PROPERTY_CS__IMPLEMENTATION:
 				setImplementation((JavaClassCS)null);
 				return;
-			case OCLstdlibCSPackage.LIB_PROPERTY_CS__IS_STATIC:
-				setIsStatic(IS_STATIC_EDEFAULT);
-				return;
 		}
 		super.eUnset(featureID);
 	}
@@ -227,8 +175,6 @@
 		{
 			case OCLstdlibCSPackage.LIB_PROPERTY_CS__IMPLEMENTATION:
 				return implementation != null;
-			case OCLstdlibCSPackage.LIB_PROPERTY_CS__IS_STATIC:
-				return isStatic != IS_STATIC_EDEFAULT;
 		}
 		return super.eIsSet(featureID);
 	}
@@ -278,15 +224,4 @@
 	public @Nullable <R> R accept(@NonNull BaseCSVisitor<R> visitor) {
 		return (R) ((OCLstdlibCSVisitor<?>)visitor).visitLibPropertyCS(this);
 	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String toString()
-	{
-		return super.toString();
-	}
 } //LibPropertyCSImpl
diff --git a/plugins/org.eclipse.ocl.xtext.oclstdlib/emf-gen/org/eclipse/ocl/xtext/oclstdlibcs/impl/OCLstdlibCSPackageImpl.java b/plugins/org.eclipse.ocl.xtext.oclstdlib/emf-gen/org/eclipse/ocl/xtext/oclstdlibcs/impl/OCLstdlibCSPackageImpl.java
index e2b50c4..9afcae7 100644
--- a/plugins/org.eclipse.ocl.xtext.oclstdlib/emf-gen/org/eclipse/ocl/xtext/oclstdlibcs/impl/OCLstdlibCSPackageImpl.java
+++ b/plugins/org.eclipse.ocl.xtext.oclstdlib/emf-gen/org/eclipse/ocl/xtext/oclstdlibcs/impl/OCLstdlibCSPackageImpl.java
@@ -316,7 +316,7 @@
 	 */
 	@Override
 	public EReference getLibOperationCS_Precedence() {
-		return (EReference)libOperationCSEClass.getEStructuralFeatures().get(3);
+		return (EReference)libOperationCSEClass.getEStructuralFeatures().get(2);
 	}
 
 	/**
@@ -336,20 +336,9 @@
 	 * @generated
 	 */
 	@Override
-	public EAttribute getLibOperationCS_IsStatic()
-	{
-		return (EAttribute)libOperationCSEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
 	public EAttribute getLibOperationCS_IsValidating()
 	{
-		return (EAttribute)libOperationCSEClass.getEStructuralFeatures().get(2);
+		return (EAttribute)libOperationCSEClass.getEStructuralFeatures().get(1);
 	}
 
 	/**
@@ -390,17 +379,6 @@
 	 * @generated
 	 */
 	@Override
-	public EAttribute getLibPropertyCS_IsStatic()
-	{
-		return (EAttribute)libPropertyCSEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
 	public EClass getLibRootPackageCS()
 	{
 		return libRootPackageCSEClass;
@@ -519,7 +497,6 @@
 
 		libOperationCSEClass = createEClass(LIB_OPERATION_CS);
 		createEAttribute(libOperationCSEClass, LIB_OPERATION_CS__IS_INVALIDATING);
-		createEAttribute(libOperationCSEClass, LIB_OPERATION_CS__IS_STATIC);
 		createEAttribute(libOperationCSEClass, LIB_OPERATION_CS__IS_VALIDATING);
 		createEReference(libOperationCSEClass, LIB_OPERATION_CS__PRECEDENCE);
 
@@ -527,7 +504,6 @@
 		createEReference(libPackageCSEClass, LIB_PACKAGE_CS__OWNED_PRECEDENCES);
 
 		libPropertyCSEClass = createEClass(LIB_PROPERTY_CS);
-		createEAttribute(libPropertyCSEClass, LIB_PROPERTY_CS__IS_STATIC);
 
 		libRootPackageCSEClass = createEClass(LIB_ROOT_PACKAGE_CS);
 
@@ -609,7 +585,6 @@
 
 		initEClass(libOperationCSEClass, LibOperationCS.class, "LibOperationCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEAttribute(getLibOperationCS_IsInvalidating(), thePivotPackage.getBoolean(), "isInvalidating", "false", 0, 1, LibOperationCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getLibOperationCS_IsStatic(), thePivotPackage.getBoolean(), "isStatic", "false", 0, 1, LibOperationCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEAttribute(getLibOperationCS_IsValidating(), thePivotPackage.getBoolean(), "isValidating", "false", 0, 1, LibOperationCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEReference(getLibOperationCS_Precedence(), thePivotPackage.getPrecedence(), null, "precedence", null, 0, 1, LibOperationCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
@@ -617,7 +592,6 @@
 		initEReference(getLibPackageCS_OwnedPrecedences(), this.getPrecedenceCS(), null, "ownedPrecedences", null, 0, -1, LibPackageCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
 		initEClass(libPropertyCSEClass, LibPropertyCS.class, "LibPropertyCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getLibPropertyCS_IsStatic(), thePivotPackage.getBoolean(), "isStatic", "false", 0, 1, LibPropertyCS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
 		initEClass(libRootPackageCSEClass, LibRootPackageCS.class, "LibRootPackageCS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 
diff --git a/plugins/org.eclipse.ocl.xtext.oclstdlib/model/OCLstdlibCS.ecore b/plugins/org.eclipse.ocl.xtext.oclstdlib/model/OCLstdlibCS.ecore
index c9b5d82..a9dbcb2 100644
--- a/plugins/org.eclipse.ocl.xtext.oclstdlib/model/OCLstdlibCS.ecore
+++ b/plugins/org.eclipse.ocl.xtext.oclstdlib/model/OCLstdlibCS.ecore
@@ -27,8 +27,6 @@
   <eClassifiers xsi:type="ecore:EClass" name="LibOperationCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//OperationCS #//JavaImplementationCS">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="isInvalidating" eType="ecore:EDataType ../../org.eclipse.ocl.pivot.internal/model/Pivot.ecore#//Boolean"
         defaultValueLiteral="false"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isStatic" eType="ecore:EDataType ../../org.eclipse.ocl.pivot.internal/model/Pivot.ecore#//Boolean"
-        defaultValueLiteral="false"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="isValidating" eType="ecore:EDataType ../../org.eclipse.ocl.pivot.internal/model/Pivot.ecore#//Boolean"
         defaultValueLiteral="false"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="precedence" eType="ecore:EClass ../../org.eclipse.ocl.pivot.internal/model/Pivot.ecore#//Precedence"/>
@@ -37,10 +35,7 @@
     <eStructuralFeatures xsi:type="ecore:EReference" name="ownedPrecedences" upperBound="-1"
         eType="#//PrecedenceCS" containment="true"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="LibPropertyCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//AttributeCS #//JavaImplementationCS">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isStatic" eType="ecore:EDataType ../../org.eclipse.ocl.pivot.internal/model/Pivot.ecore#//Boolean"
-        defaultValueLiteral="false"/>
-  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="LibPropertyCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//AttributeCS #//JavaImplementationCS"/>
   <eClassifiers xsi:type="ecore:EClass" name="LibRootPackageCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//RootPackageCS"/>
   <eClassifiers xsi:type="ecore:EClass" name="MetaclassNameCS" eSuperTypes="../../org.eclipse.ocl.xtext.base/model/BaseCS.ecore#//ElementCS ../../org.eclipse.ocl.pivot.internal/model/Pivot.ecore#//Nameable">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>